:root{--ink:#1f2340;--muted:#5f6687;--panel:#fffcf5b8;--panel-border:#ffffff8c;--accent:#ff6b4a;--accent-dark:#ea4c2d;--secondary:#89efd2;--secondary-dark:#173e46;--shadow:0 20px 40px #3221521f, 0 6px 18px #ff7c501a;--hairline:#29254a1a}*{box-sizing:border-box}html{background:radial-gradient(circle at 18% 20%,#ffffffc7,#0000 16%),radial-gradient(circle at 82% 16%,#ff7e5c47,#0000 18%),radial-gradient(circle at 22% 80%,#89efd252,#0000 20%),radial-gradient(circle at 76% 74%,#b9c4ff3d,#0000 18%),#ffd9bf linear-gradient(145deg,#fff5c7 0%,#ffd9bf 35%,#ffc9d5 68%,#d9dfff 100%);min-height:100%}body{min-height:100vh;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background-color:#0000;background-image:radial-gradient(circle at 18% 20%,#ffffffc7,#0000 16%),radial-gradient(circle at 82% 16%,#ff7e5c47,#0000 18%),radial-gradient(circle at 22% 80%,#89efd252,#0000 20%),radial-gradient(circle at 76% 74%,#b9c4ff3d,#0000 18%),linear-gradient(145deg,#fff5c7 0%,#ffd9bf 35%,#ffc9d5 68%,#d9dfff 100%);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:140% 140%,130% 130%,135% 135%,125% 125%,100% 100%;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;margin:0;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;overflow-x:hidden}body:before,body:after{content:"";pointer-events:none;z-index:0;border-radius:50%;position:fixed}body:before{filter:blur(4px);background:radial-gradient(circle at 35% 35%,#ffffff6b,#89efd242 48%,#0000 72%);width:220px;height:220px;animation:14s ease-in-out infinite orb-float-a;top:5rem;right:4rem}body:after{filter:blur(6px);background:radial-gradient(circle at 40% 38%,#ffffff5c,#ff6b4a38 46%,#0000 74%);width:260px;height:260px;animation:16s ease-in-out infinite orb-float-b;bottom:4rem;left:3rem}button,input,label,.card,select{font:inherit;-webkit-tap-highlight-color:transparent}input,select{-webkit-user-select:text;user-select:text}textarea{font:inherit;-webkit-tap-highlight-color:transparent;-webkit-user-select:text;user-select:text;resize:vertical;width:100%}button{cursor:pointer;background:linear-gradient(180deg, #ff7f61 0%, var(--accent) 100%);color:#fff9f2;letter-spacing:.01em;border:1px solid #ffffff9e;border-radius:999px;padding:.85rem 1.3rem;font-weight:800;transition:transform .16s,opacity .16s,background .16s,box-shadow .16s,border-color .16s;box-shadow:0 10px 24px #ff6b4a47,inset 0 1px #ffffff47}@media (hover:hover){button:not(.card):not(.emoji-option):hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 14px 28px #ff6b4a4d,inset 0 1px #fff3}}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button.secondary{color:var(--secondary-dark);background:linear-gradient(#fffffff5,#f6faffd1);box-shadow:0 8px 22px #25365d1a,inset 0 1px #ffffffb8}.page-shell{z-index:1;width:min(1080px,100vw - 1.2rem);margin:0 auto;padding:1.2rem 0 2rem;position:relative}.page-shell:before,.page-shell:after{content:"";pointer-events:none;z-index:-1;position:fixed;inset:auto}.page-shell:before{filter:blur(8px);opacity:.78;background:radial-gradient(circle,#ffffff3d,#89efd22e 48%,#0000 72%);border-radius:50%;width:32vw;min-width:180px;max-width:340px;height:32vw;min-height:180px;max-height:340px;animation:20s ease-in-out infinite orb-drift-left;top:14vh;left:-8vw}.page-shell:after{opacity:.46;filter:blur(10px);background:radial-gradient(circle,#ffffff38,#ff6b4a2e 52%,#0000 74%);border-radius:50%;width:28vw;min-width:180px;max-width:320px;height:24vw;min-height:160px;max-height:260px;animation:18s ease-in-out infinite orb-drift-right;bottom:10vh;right:-7vw;transform:none}.hero{text-align:center;justify-items:center;gap:.5rem;max-width:760px;margin:0 auto;padding:1.35rem 0 1.9rem;display:grid}.hero-logo{filter:drop-shadow(0 20px 28px #00000038)drop-shadow(0 8px #ffffff2e);width:min(88vw,520px);height:auto;display:block}body.playing-game .hero{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}h1,h2,h3{letter-spacing:.015em;margin:0;font-family:Avenir Next Condensed,Arial Narrow Bold,Trebuchet MS,sans-serif}h1{text-shadow:0 10px 24px #ffffff52,0 2px #ffffff73;transform-origin:50%;width:fit-content;max-width:10ch;margin-inline:auto;font-size:clamp(2.9rem,6vw,4.9rem);line-height:.88;animation:3.8s ease-in-out infinite title-racket;transform:rotate(-1deg)}.subtitle{max-width:60ch;color:var(--muted);background:#ffffff6b;border:1px solid #ffffff94;border-radius:22px;margin-inline:auto;padding:.8rem 1.05rem;font-size:1rem;line-height:1.45;display:inline-block;box-shadow:0 12px 30px #312c5c14}.layout{gap:1.2rem;display:grid}body:not(.playing-game) .layout{align-content:start;justify-items:center;min-height:calc(100vh - 8rem)}.panel{background:var(--panel);-webkit-backdrop-filter:blur(20px);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:28px}.stack{gap:1rem;display:grid}.stack.tight{gap:.45rem}.landing-tools{display:grid}.workshop-entry{padding-top:.25rem}#landing{text-align:center;justify-self:center;width:min(520px,100%);padding:1.6rem;position:relative;overflow:hidden;transform:rotate(-.45deg)}#landing:before{content:"";filter:blur(10px);background:#ff5b3633;border-radius:999px;width:140px;height:48px;animation:6.8s ease-in-out infinite landing-scoot;position:absolute;inset:auto auto -18px -16px}.field{gap:.4rem;display:grid}.field-label{letter-spacing:.12em;text-transform:uppercase;color:#6b7280;font-size:.75rem;font-weight:800}.emoji-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.emoji-option{color:#111827;background:#ffffffeb;border:1px solid #ffffffc7;border-radius:18px;min-height:3.4rem;padding:0;font-size:1.7rem;line-height:1;box-shadow:0 10px 18px #1f234014,inset 0 1px #ffffffad}.emoji-option.active{color:#fff;background:#111827;border-color:#111827;box-shadow:0 12px 24px #11182729,inset 0 1px #ffffff14}@media (hover:hover){.emoji-option:hover{color:#111827;background:#ffffffeb;border-color:#ffffffc7;transform:none;box-shadow:0 10px 18px #1f234014,inset 0 1px #ffffffad}.emoji-option.active:hover{color:#fff;background:#111827;border-color:#111827;box-shadow:0 12px 24px #11182729,inset 0 1px #ffffff14}}.profile-summary{justify-items:center;gap:.45rem;padding:.25rem 0 .5rem;display:grid}.profile-summary-emoji{background:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.75rem;line-height:1;display:inline-flex}.profile-summary-name{color:#111827;text-align:center;font-weight:800}.chooser-button{text-align:left;justify-content:space-between;padding-inline:1rem}.game-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.6rem;display:grid}#lobby-options-panel{margin-top:.2rem}.puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.puzzle-option{padding:.8rem .9rem}.puzzle-option.active{color:#fff;background:#111827;border-color:#111827}.field input::placeholder{color:#5f6687b3}.field input,.field select{width:100%;color:var(--ink);background:#ffffffe6;border:1px solid #ffffffbf;border-radius:18px;padding:.95rem 1rem;box-shadow:inset 0 1px #ffffffa6}.field textarea{width:100%;color:var(--ink);resize:vertical;background:#ffffffe6;border:1px solid #ffffffbf;border-radius:18px;min-height:110px;padding:.95rem 1rem;box-shadow:inset 0 1px #ffffffa6}.field textarea::placeholder,.field select:invalid,.field input::placeholder{color:#5f6687b3}.toggle-row{cursor:pointer;background:#fff9;border:1px solid #ffffffb3;border-radius:18px;justify-content:center;align-items:center;gap:.55rem;padding:.7rem .9rem;display:inline-flex}.toggle-row input{width:1rem;height:1rem}.create-actions{grid-template-columns:1fr;gap:.6rem;display:grid}.group-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.panel-lite{background:#ffffff6b;border:1px solid #ffffffad;border-radius:20px;padding:.75rem;box-shadow:inset 0 1px #fff6}.invite-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.game-launcher{gap:.8rem;display:grid}.game-card{background:#f9fafb;border:1px solid #d1d5db;gap:.8rem;padding:1rem;display:grid}.invite-room-code{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.84rem;font-weight:800}#invite-link[readonly]{font-size:.88rem}button.ghost{box-shadow:none;background:0 0;border-color:#1f23401f}.custom-puzzle-list{gap:.7rem;display:grid}.custom-puzzle-card{background:#ffffff8f;border:1px solid #ffffffbd;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.85rem .95rem;display:grid;box-shadow:0 12px 22px #28264b0f}.custom-puzzle-copy{gap:.2rem;display:grid}.custom-puzzle-copy strong{font-size:.98rem}.custom-puzzle-copy span{color:var(--muted);font-size:.84rem}.custom-puzzle-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.empty-state{text-align:center;color:var(--muted);background:#ffffff75;border-radius:20px;margin:0;padding:1rem}.field-hint{color:var(--muted);margin:-.35rem 0 0;font-size:.84rem;line-height:1.35}.divider{background:linear-gradient(90deg,#0000,#1d2a3624,#0000);height:1px}.hidden{display:none!important}.toast-stack{z-index:50;gap:.5rem;width:min(320px,100vw - 2rem);display:grid;position:fixed;top:1rem;right:1rem}.toast{color:#fff;opacity:.98;background:#111827;border:1px solid #111827;padding:.75rem .9rem;font-size:.88rem;line-height:1.35}.toast-exit{opacity:0;transition:opacity .18s,transform .18s;transform:translateY(-4px)}.game-grid{display:grid}.board-panel{padding:1rem;animation:12s ease-in-out infinite panel-wobble;position:relative;overflow:hidden}.board-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff75,#0000 66%);border-radius:50%;width:180px;height:180px;animation:5s steps(8,end) infinite board-sheen;position:absolute;inset:-35% auto auto -10%}.board-meta{margin-bottom:.8rem}.hearts{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.heart{color:#ff3b30;filter:drop-shadow(0 2px #221b3a2e);font-size:1.7rem;line-height:1}.heart.spent{opacity:.28;filter:grayscale()}.solved-list{gap:.8rem;margin-bottom:1rem;display:grid}.submission-feedback{color:#4b5563;margin:.75rem 0 0;font-size:.88rem;line-height:1.4}.timer-pill{color:#111827;letter-spacing:.08em;white-space:nowrap;background:#f9fafb;border:1px solid #d1d5db;justify-content:center;align-items:center;min-width:5.6rem;padding:.45rem .8rem;font-size:.95rem;font-weight:800;display:inline-flex}.solved-group{color:#20303d;border:1px solid #ffffff59;border-radius:20px;padding:.95rem 1rem;animation:.52s solved-bounce;box-shadow:inset 0 1px #ffffff61,0 12px 26px #29254a14}.solved-group h3{margin-bottom:.25rem;font-size:1rem}.board{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.card{min-height:92px;color:var(--ink);background:linear-gradient(#fffffff5,#fffbf3e0);border:1px solid #ffffffb8;border-radius:20px;justify-content:center;align-items:center;padding:.9rem .55rem;transition:transform .18s,background .18s,box-shadow .18s,opacity .18s;animation:.26s card-pop;display:flex;box-shadow:inset 0 1px #ffffffb8,0 12px 26px #28264b17}.card.assigned{background:var(--card-fill);color:var(--card-ink);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff42,0 14px 28px #28264b1f}.card.pressed:not(:disabled){transform:translateY(1px)scale(.98)}.card.just-locked{animation:.7s cubic-bezier(.2,.9,.2,1) lock-burst}.card-word{text-align:center;text-transform:uppercase;letter-spacing:.01em;text-shadow:0 1px #ffffff38;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-wrap:balance;width:100%;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;font-size:clamp(1.02rem,2vw,1.34rem);font-weight:900;line-height:.98;display:block}.game-dock{gap:.65rem;margin-top:1rem;padding:.85rem;display:grid;position:relative;overflow:hidden}.game-dock:before{content:"";pointer-events:none;background:radial-gradient(circle,#7ef0cb2e,#0000 68%);border-radius:50%;width:180px;height:180px;animation:5.8s steps(5,end) infinite dock-bubble;position:absolute;inset:auto -5% -45% auto}.color-picker{grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;gap:.18rem;display:grid}.color-swatch{width:auto;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.color-swatch.pressed .swatch-dot,button.pressed:not(:disabled){transform:translateY(2px)scale(.98)}.color-swatch.locked{opacity:.78}.swatch-dot{background:var(--swatch-fill);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:inset 0 1px #ffffff73,0 10px 18px #221b3a29}.color-swatch.active .swatch-dot{box-shadow:inset 0 1px #ffffff73,0 0 0 4px #fffffff2,0 0 0 8px #1f234029,0 12px 20px #221b3a2e}.color-swatch.locked .swatch-dot{box-shadow:inset 0 -4px #ffffff29,0 0 0 4px #221b3a38}.swatch-count{color:#221b3af2;min-width:0;font-size:.95rem;font-weight:900;line-height:1}.submit-row{display:grid}.submit-row button{width:100%}.dock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.player-list{flex-wrap:nowrap;gap:.55rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.player-chip{white-space:nowrap;background:#ffffffc2;border:1px solid #fffc;border-radius:999px;padding:.48rem .8rem;font-size:.8rem;font-weight:700;box-shadow:0 10px 20px #28264b14}.player-chip.you{background:#ff6b4a2e;border:1px solid #ff6b4a57}.room-code{text-align:center;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;opacity:.82;margin:0;font-size:.78rem}@media (width<=700px){.page-shell{width:min(100vw - .8rem,100%);padding-bottom:1.25rem}h1,#landing{transform:none}h1{width:auto}.board{gap:.42rem}.card{min-height:78px;padding:.45rem .15rem}.card-word{font-size:clamp(.94rem,3.1vw,1.12rem);line-height:.92}.game-dock{gap:.45rem;padding:.55rem}.color-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:.12rem}.swatch-dot{width:36px;height:36px}.swatch-count{font-size:.8rem}.dock-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.dock-actions button{padding:.55rem .3rem;font-size:.72rem;box-shadow:0 8px 18px #221b3a1f}.invite-actions{grid-template-columns:1fr}.lobby-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.group-editor-grid,.custom-puzzle-card{grid-template-columns:1fr}.custom-puzzle-actions{justify-content:stretch}.player-list{gap:.4rem}.player-chip{padding:.35rem .6rem;font-size:.74rem}}@keyframes card-pop{0%{opacity:0;transform:scale(.92)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes lock-burst{0%{transform:scale(.92)rotate(-4deg)}45%{transform:scale(1.08)rotate(2deg)}to{transform:scale(1)rotate(-1deg)}}@keyframes solved-bounce{0%{opacity:0;transform:translateY(18px)rotate(2deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes panel-wobble{0%,to{transform:rotate(0)}50%{transform:rotate(.4deg)}}@keyframes orb-field{0%{background-position:12% 18%,82% 14%,22% 80%,76% 74%,50%}50%{background-position:18% 12%,76% 20%,28% 72%,70% 80%,50%}to{background-position:10% 24%,84% 10%,18% 84%,80% 68%,50%}}@keyframes orb-float-a{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-24px,18px)scale(1.08)}}@keyframes orb-float-b{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(18px,-22px)scale(.94)}}@keyframes orb-drift-left{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(28px,24px)scale(1.06)}}@keyframes orb-drift-right{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-26px,-18px)scale(1.08)}}@keyframes title-racket{0%,to{transform:rotate(-2deg)scale(1)}18%{transform:rotate(1deg)scale(1.04)}32%{transform:rotate(-3deg)scale(.99)}52%{transform:rotate(2deg)scale(1.03)}74%{transform:rotate(-1deg)scale(1)}}@keyframes subtitle-bob{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(-1deg)translateY(-4px)}}@keyframes eyebrow-jitter{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-1px)rotate(-1deg)}22%{transform:translate(1px)rotate(1deg)}24%{transform:translate(0)rotate(0)}70%{transform:translate(1px)rotate(1deg)}}@keyframes landing-scoot{0%,to{transform:translate(0)scaleX(1)}50%{transform:translate(22px)scaleX(1.12)}}@keyframes board-sheen{0%{transform:translate(-20px,-10px)}50%{transform:translate(36px,22px)}to{transform:translate(84px,36px)}}@keyframes dock-bubble{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(-16px,-12px)scale(1.08)}}:root{--ink:#111827;--muted:#6b7280;--panel:#fff;--panel-border:#d1d5db;--accent:#111827;--accent-dark:#000;--secondary-dark:#111827;--shadow:none;--hairline:#d1d5db}html,body{background:#f3f4f6}body:before,body:after,.page-shell:before,.page-shell:after,.board-panel:before,.game-dock:before,#landing:before{display:none}body,button,input,select,textarea{font-family:SF Pro Display,Inter,Helvetica Neue,Arial,sans-serif}h1,h2,h3{letter-spacing:-.02em;font-family:SF Pro Display,Inter,Helvetica Neue,Arial,sans-serif}h1{text-shadow:none;max-width:none;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1;animation:none;transform:none}.hero,#landing,.board-panel,.game-dock,.panel,.panel-lite,.card,.solved-group,.player-chip,.toggle-row,.custom-puzzle-card,.empty-state,.field input,.field select,.field textarea,button,.swatch-dot{border-radius:0}.page-shell{width:min(1120px,100vw - 2rem);padding:1.5rem 0 2rem}.hero{gap:.35rem;padding:0 0 1.5rem}.eyebrow{letter-spacing:.14em;color:#6b7280}.panel{box-shadow:none;-webkit-backdrop-filter:none;background:#fff;border:1px solid #d1d5db}#landing{text-align:left;width:min(560px,100%);padding:1.5rem;transform:none}#room-lobby{width:min(720px,100%);padding:1.25rem}.field input,.field select,.field textarea{box-shadow:none;color:#111827;background:#fff;border:1px solid #cbd5e1;padding:.85rem .9rem}.field input:focus,.field select:focus,.field textarea:focus{outline-offset:-2px;outline:2px solid #111827}.compact-field{min-width:0}.toggle-row{background:#f9fafb;border:1px solid #d1d5db;justify-content:flex-start}button{color:#fff;box-shadow:none;background:#111827;border:1px solid #111827;padding:.8rem 1rem;transition:background .14s,color .14s,border-color .14s,transform .14s}@media (hover:hover){button:not(.card):not(.emoji-option):hover{box-shadow:none;background:#1f2937;transform:none}button.secondary:not(.card):hover,button.ghost:not(.card):hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}.card:hover{color:#111827;background:#fff;border-color:#d1d5db}}button.secondary{color:#111827;box-shadow:none;background:#fff;border:1px solid #cbd5e1}button.ghost{background:0 0;border-color:#d1d5db}.custom-puzzle-card,.empty-state{box-shadow:none;background:#f9fafb;border:1px solid #d1d5db}.board-panel,.game-dock{padding:1rem;animation:none;overflow:visible}.board{gap:.5rem}.card{min-height:88px;box-shadow:none;background:#fff;border:1px solid #d1d5db;animation:none}.card.assigned{box-shadow:none;border-color:#1118272e;transform:none}.card.locked{box-shadow:none;border-color:#111827}.card.just-locked,.solved-group{animation:none}.card-word{text-shadow:none;line-height:1.04}.solved-group{color:#111827;box-shadow:none;border:1px solid #d1d5db}.host-controls{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.board-meta{gap:.75rem;flex-flow:row!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.hearts{flex-wrap:nowrap;flex:none;justify-content:flex-start;gap:.4rem;width:auto!important;display:flex!important}.heart{background:#000;border-radius:50%;width:.8rem;height:.8rem;display:inline-block}.heart.spent{opacity:.18}.color-picker{grid-template-columns:repeat(5,auto);justify-content:center;justify-items:center;gap:.06rem;width:fit-content;margin:0 auto}.color-swatch.active{transform:none}.swatch-dot{width:40px;height:40px;box-shadow:none;border:1px solid #1118271f}.color-swatch.active .swatch-dot{box-shadow:none;border:2px solid #111827}.color-swatch.pressed .swatch-dot,button.pressed:not(:disabled){filter:brightness(.96);transform:none}.color-swatch.locked .swatch-dot{box-shadow:none;border:2px solid #11182780}.clear-dot{color:#111827;background:#fff;border:1px solid #9ca3af}.player-chip{box-shadow:none;background:#f9fafb;border:1px solid #d1d5db}.player-chip-avatar{min-width:72px;box-shadow:none;background:0 0;border:0;justify-items:center;gap:.25rem;padding:0;display:grid}.player-chip.leader{border-color:#111827}.player-list{flex:0 auto;justify-content:flex-end;gap:.35rem;min-width:0;margin-left:auto;width:auto!important;display:flex!important}#lobby-player-list{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-left:0;width:100%!important}.player-avatar{background:#f3f4f6;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.85rem;line-height:1;display:inline-flex}.player-chip-avatar.you .player-avatar{background:#f3f4f6;border-color:#d1d5db}.player-chip-avatar.leader .player-avatar{border-color:#d1d5db}.player-chip-avatar.you,.player-chip-avatar.leader,.player-chip-avatar.you.leader{box-shadow:none;background:0 0;border:0}.player-name{color:#111827;text-align:center;word-break:break-word;max-width:82px;font-size:.78rem;font-weight:700;line-height:1.15}.room-code,.field-hint,.invite-room-code,.custom-puzzle-copy span{color:#6b7280}.record-board{gap:.75rem;display:grid}.record-list{gap:.55rem;display:grid}.record-row{background:#f9fafb;border:1px solid #d1d5db;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.75rem .85rem;display:grid}.record-rank{text-align:center;color:#6b7280;min-width:2rem;font-weight:800}.record-copy{gap:.18rem;min-width:0;display:grid}.record-copy strong,.record-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-copy span{color:#6b7280;font-size:.85rem}.divider{background:#d1d5db}@media (width<=700px){.host-controls,.puzzle-grid{grid-template-columns:1fr}.card{min-height:76px}.player-list{justify-content:flex-end;gap:.3rem;width:auto}.board-meta{gap:.45rem}.timer-pill{min-width:4.9rem;padding:.35rem .55rem;font-size:.82rem}}:root{--vibe-bg:#eef2ff;--vibe-surface:#ffffffeb;--vibe-line:#0f172a24;--vibe-strong-line:#0f172a57;--vibe-ink:#0f172a;--vibe-soft-ink:#475569;--vibe-accent:#2563eb;--vibe-accent-soft:#2563eb1f;--vibe-warm:#f973161f;--vibe-shadow:0 14px 38px #0f172a14}html,body{background:radial-gradient(circle at top left, #2563eb1f, transparent 28%), radial-gradient(circle at 85% 16%, #f973161a, transparent 24%), repeating-linear-gradient(90deg, #0f172a00, #0f172a00 22px, #0f172a06 22px, #0f172a06 23px), linear-gradient(180deg, #f8fbff 0%, var(--vibe-bg) 100%);background-color:var(--vibe-bg);color:var(--vibe-ink)}.hero{gap:.55rem;padding-bottom:1.9rem;position:relative}.hero:after{content:"";background:linear-gradient(90deg,#0f172a 0%,#2563eb 58%,#f97316 100%);width:min(140px,34vw);height:6px;display:block}.eyebrow{letter-spacing:.2em;color:var(--vibe-soft-ink);font-family:SF Mono,JetBrains Mono,Menlo,monospace;font-size:.68rem}h1,h2,h3{color:var(--vibe-ink)}h1{letter-spacing:-.06em;font-size:clamp(2.6rem,7vw,4.5rem);font-weight:900}.panel,.panel-lite,.custom-puzzle-card,.record-row,.empty-state,.player-chip,.field input,.field textarea,.field select,.emoji-option,.card,.timer-pill,.solved-group{border-radius:18px}.panel{background:var(--vibe-surface);box-shadow:var(--vibe-shadow);border:1px solid #ffffffb8}.panel-lite{background:linear-gradient(#ffffffeb,#f8fafce6);border:1px solid #ffffffc7;box-shadow:inset 0 1px #ffffffeb}#landing,#room-lobby,.board-panel,.game-dock{position:relative}#landing:after,#room-lobby:after,.board-panel:after,.game-dock:after{content:"";border-radius:inherit;border:1px solid var(--vibe-line);pointer-events:none;position:absolute;inset:0}.profile-summary{padding:.4rem 0 .8rem}.profile-summary-emoji{background:linear-gradient(#fffffffa,#f1f5f9eb);border:1px solid #0f172a1a;box-shadow:0 8px 24px #0f172a14}.profile-summary-name{letter-spacing:-.03em;font-size:1.05rem}.landing-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.field{gap:.5rem}.field-label{color:var(--vibe-soft-ink);letter-spacing:.18em;font-size:.7rem}.field input,.field textarea,.field select{background:#fffffff5;border:1px solid #0f172a1a;box-shadow:inset 0 1px #fffffff5,0 1px #0f172a05}.field input:focus,.field textarea:focus,.field select:focus{border-color:#2563eb5c;outline:2px solid #2563ebe6}button{background:linear-gradient(#1e293b 0%,#0f172a 100%);border-color:#0f172a;border-radius:14px;box-shadow:0 10px 22px #0f172a24,inset 0 1px #ffffff14}button.secondary{color:var(--vibe-ink);background:linear-gradient(#fffffffa,#f8fafcf5);border-color:#0f172a1f}button.ghost{background:#ffffff6b}@media (hover:hover){button:not(.card):not(.emoji-option):hover{background:linear-gradient(#334155 0%,#111827 100%);transform:translateY(-1px);box-shadow:0 12px 24px #0f172a29}button.secondary:not(.card):hover,button.ghost:not(.card):hover{background:#fffffffa;border-color:#0f172a38}}.game-launcher{gap:1rem}.game-card{background:linear-gradient(#fffffffa,#f8fafceb);border:1px solid #0f172a14;padding:1.1rem;box-shadow:inset 0 1px #fffffffa}.game-card h3{letter-spacing:-.04em;font-size:1.24rem}#lobby-options-panel{background:#f1f5f9b8;border:1px dashed #0f172a2e;border-radius:14px;padding:.85rem}.puzzle-option.active,.emoji-option.active{color:#fff;background:linear-gradient(#1d4ed8 0%,#1e40af 100%);border-color:#1d4ed8}.toast{background:#0f172af5;border-color:#ffffff14;border-radius:14px;box-shadow:0 12px 28px #0f172a38}.board-panel{box-shadow:var(--vibe-shadow);background:linear-gradient(#fffffff7,#f8fafcf0)}.board-meta{border-bottom:1px solid #0f172a14;margin-bottom:1rem;padding-bottom:.8rem}.timer-pill{background:linear-gradient(#fffffffa,#f1f5f9fa);border-color:#0f172a1f;box-shadow:0 6px 18px #0f172a0f}.submission-feedback{color:#1e3a8a;background:#2563eb0f;border:1px solid #2563eb24;border-radius:14px;padding:.7rem .85rem}.card{background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #0f172a14;box-shadow:inset 0 1px #fffffff5,0 6px 16px #0f172a0f}@media (hover:hover){.card:hover{border-color:#2563eb38;transform:translateY(-1px);box-shadow:inset 0 1px #fffffffa,0 10px 22px #0f172a14}}.card.assigned{box-shadow:inset 0 1px #ffffff2e,0 10px 18px #0f172a14}.card.locked{border-color:#0f172a66;box-shadow:inset 0 1px #ffffff29,0 10px 18px #0f172a14}.game-dock{box-shadow:var(--vibe-shadow);background:linear-gradient(#fffffff5,#f8fafcf0)}.swatch-dot{box-shadow:inset 0 1px #ffffff73,0 8px 16px #0f172a14}.color-swatch.active .swatch-dot{border-color:#0f172acc;box-shadow:inset 0 1px #ffffff73,0 0 0 3px #fffffff5,0 0 0 6px #2563eb2e,0 10px 20px #0f172a1a}.player-chip{background:linear-gradient(#fffffffa,#f8fafcf0);border-color:#0f172a14;box-shadow:0 6px 18px #0f172a0d}.player-chip.you{background:#2563eb14;border-color:#2563eb42}.player-avatar{background:linear-gradient(#fffffffa,#f1f5f9f0);border-color:#0f172a14;box-shadow:0 8px 20px #0f172a0f}.record-row{background:linear-gradient(#fffffff5,#f8fafcf0);border-color:#0f172a14;box-shadow:0 6px 18px #0f172a0a}.record-rank{color:#1d4ed8}@media (width<=700px){.landing-tools{grid-template-columns:1fr}.hero{padding-bottom:1.4rem}.hero:after{width:min(112px,36vw)}h1{font-size:clamp(2.15rem,12vw,3rem)}.panel,.panel-lite,.custom-puzzle-card,.record-row,.empty-state,.player-chip,.field input,.field textarea,.field select,.emoji-option,.card,.timer-pill,.solved-group,button{border-radius:14px}}
