
:root{color-scheme:dark;--bg:#101626;--panel:#192133;--line:#30394b;--text:#f3f3ed;--muted:#a0aabd;--lime:#dcf788;--violet:#b9a0f7;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100dvh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:4px}button{transition:background .2s,transform .2s}button:hover:not(:disabled){transform:translateY(-2px)}[hidden]{display:none!important}.ambient{position:fixed;z-index:-1;inset:0;background:radial-gradient(ellipse at 90% 20%,#4f416a28,transparent 50%),radial-gradient(ellipse at 10% 70%,#63816a12,transparent 50%);pointer-events:none}.topbar{max-width:1280px;margin:auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff10}.brand{text-decoration:none;color:var(--text);display:flex;gap:12px;align-items:center;font-weight:800;font-size:18px;letter-spacing:4px}.brand small{display:block;font-size:9px;letter-spacing:3px;font-weight:500;color:var(--muted);margin-top:5px}.brand-icon{width:42px;height:44px;border:1px solid #75805b;border-radius:10px;display:grid;place-content:center;position:relative;font-size:29px;color:var(--lime);letter-spacing:0}.brand-icon span{position:absolute;right:4px;bottom:-3px;font-size:25px}.topbar nav{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.live-dot,.available i{width:6px;height:6px;border-radius:50%;background:var(--lime);display:inline-block;box-shadow:0 0 10px #dcf78860}.icon-button{border:1px solid var(--line);border-radius:10px;background:transparent;width:42px;height:42px;font-size:22px}.topbar .icon-button{margin-left:24px}main{max-width:1184px;margin:auto;padding:42px 24px}.home{display:grid;grid-template-columns:1.1fr 1fr;column-gap:70px}.hero{padding-top:25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.4px;color:var(--lime);display:flex;align-items:center;gap:9px}.eyebrow>span:first-child:empty{width:20px;height:1px;background:var(--lime)}h1{font-size:clamp(36px,4.3vw,60px);line-height:1.12;font-weight:650;letter-spacing:-2.5px;margin:25px 0 20px}h1 em{font-style:normal;color:var(--lime)}.hero p{color:var(--muted);font-size:15px;line-height:1.8;max-width:400px}.hero-stats{display:flex;gap:35px;margin-top:32px}.hero-stats>div{display:flex;flex-direction:column;gap:7px}.hero-stats b{font-size:26px;font-weight:500}.hero-stats b span{font-size:15px}.hero-stats>div>span{font-size:11px;color:var(--muted)}.hero-art{overflow:hidden;position:relative;height:340px;perspective:800px;align-self:center}.orbital{position:absolute;left:50%;top:50%;border:1px solid #aab59416;border-radius:50%;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one{width:370px;height:270px}.orbit-two{width:450px;height:320px}.answer-gem{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%) rotate(-8deg);width:125px;height:146px;border-radius:18px;border:1px solid #e6ffab;background:linear-gradient(145deg,#e1fa9a,#9bb64e);box-shadow:0 25px 70px #d4ef8040,8px 10px 0 #6a7c3b;color:#202a18;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:86px;font-weight:500;animation:float 5s ease-in-out infinite}.answer-gem span{font-size:9px;letter-spacing:2px;margin-top:-3px}.art-card{position:absolute;width:76px;height:96px;border:1px solid #77638e;border-radius:10px;background:linear-gradient(150deg,#39324b,#202637);color:#cdbbe8;padding:10px;font-size:11px;box-shadow:0 12px 25px #0004}.art-card span{display:block;font-size:32px;text-align:center;margin-top:9px}.c1{left:8%;top:25%;transform:rotate(-22deg)}.c2{left:28%;top:2%;transform:rotate(-12deg)}.c3{right:29%;top:1%;transform:rotate(12deg)}.c4{right:7%;top:26%;transform:rotate(22deg)}.c5{right:18%;bottom:4%;transform:rotate(34deg)}.art-caption{position:absolute;bottom:0;left:12%;font-size:9px;letter-spacing:3px;color:var(--muted)}.play-panel{grid-column:1/-1;background:linear-gradient(110deg,#1d2637,#181f30);border:1px solid var(--line);border-radius:18px;margin-top:40px;padding:25px 30px;display:grid;grid-template-columns:240px 1fr;gap:18px 28px}.panel-title{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.available{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px}.name-field{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:10px;justify-content:center}input:not([type=checkbox]),select{background:#101727;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:13px 14px;min-width:0;width:100%}input::placeholder{color:#9ba6b8;font-size:12px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{border:1px solid #5d6c46;border-radius:12px;background:#28332d;display:flex;align-items:center;gap:13px;text-align:left;padding:19px 18px}.mode-card+button{background:#29293b;border-color:#51455f}.mode-card strong{display:block;font-weight:600;font-size:15px}.mode-card small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.mode-card>b{margin-left:auto;color:var(--lime)}.mode-icon{font-size:32px;color:var(--lime)}.violet{color:var(--violet)}.join-row{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid var(--line);padding-top:16px}.join-row input{max-width:170px;padding:9px 12px}.text-button{border:0;background:transparent;font-size:12px;padding:8px 0;color:var(--muted)}.home-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:20px;color:#7e899d;font-size:11px}.menu{position:fixed;right:24px;top:88px;z-index:20;width:290px;background:#1c2538;border:1px solid #465169;border-radius:16px;box-shadow:0 25px 100px #0009;padding:20px;display:flex;flex-direction:column;gap:15px}.menu label,.menu-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.menu select{width:105px;padding:7px}.menu small{color:var(--muted);font-size:10px}.menu input[type=checkbox]{accent-color:var(--lime);width:19px;height:19px}.secondary,.primary{border:1px solid var(--line);background:#252e40;border-radius:10px;padding:12px 18px;font-weight:600;font-size:13px}.primary{background:var(--lime);color:#1a2514;border-color:var(--lime)}.loading{position:fixed;inset:0;background:#101626;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px}.loading strong{font-size:18px}.loading>span{font-size:10px;color:var(--muted)}.loader-mark{display:flex;gap:7px}.loader-mark i{background:var(--lime);width:15px;height:42px;border-radius:4px;animation:pulse 1s infinite alternate}.loader-mark i:nth-child(2){animation-delay:.2s}.loader-mark i:nth-child(3){animation-delay:.4s}@keyframes pulse{to{transform:scaleY(.4);opacity:.3}}@keyframes float{50%{translate:0 -12px}}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.room-label{font-size:10px;color:var(--muted);display:flex;gap:15px}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px}.stage{background:linear-gradient(120deg,#1c2739,#181f30);border:1px solid var(--line);border-radius:20px;padding:28px}.score-strip{display:flex;justify-content:space-between;align-items:center}.score-strip>div>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.score-strip strong{display:block;font-size:26px;color:var(--lime);margin-top:5px}.timer{width:57px;height:57px;display:grid;place-items:center;border:2px solid var(--lime);border-radius:50%;font-size:23px;font-variant-numeric:tabular-nums}.timer.urgent{border-color:#ff9c99;color:#ff9c99;animation:pulse .6s alternate infinite}.clues{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:22px 0}.clue{border:1px solid #4b455d;background:#2b2a3d;border-radius:9px;padding:14px 4px;text-align:center;font-size:11px;font-weight:600;overflow-wrap:anywhere;min-height:48px;color:#e3d1ff}.clue.locked{color:#6e7890;background:#182031;border-color:var(--line)}#content{animation:reveal .35s}#content h2{font-size:clamp(20px,2.5vw,30px);font-weight:550;line-height:1.4;margin:15px 0 24px}#content .category{color:var(--muted);font-size:10px;letter-spacing:1px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:10px}.answer{display:flex;align-items:center;text-align:left;gap:12px;padding:15px;border:1px solid #3f4c63;border-radius:10px;background:#202b3e;font-size:14px;min-height:60px;overflow-wrap:anywhere}.answer b{border:1px solid #57617a;border-radius:6px;padding:6px 8px;font-size:11px;color:var(--muted)}.answer.correct{background:#314832;border-color:var(--lime);opacity:1}.answer.wrong{background:#522f3b;border-color:#ef9a9a;opacity:1}.feedback{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0}.game-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.players-panel{border:1px solid var(--line);border-radius:18px;padding:22px;height:fit-content}.player{display:flex;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#3d3750;color:#d2b9fa;flex-shrink:0}.player-name{overflow-wrap:anywhere;flex:1}.player b{color:var(--lime);font-size:12px}.side-tip{margin-top:28px}.side-tip span{color:var(--lime);font-size:30px}.side-tip p{color:var(--muted);font-size:12px;line-height:1.8}.lobby-code{font-size:35px;letter-spacing:7px;color:var(--lime);margin:20px 0}.muted{color:var(--muted);font-size:13px;line-height:1.7}.guess-form{display:flex;gap:10px}.guess-form input{flex:1}.result-score{font-size:70px;color:var(--lime);letter-spacing:-3px}.result-label{color:var(--muted);font-size:13px}.ranking-list{padding:0;list-style:none}.ranking-list li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:16px}.ranking-list b{color:var(--lime)}dialog{background:#1c2639;color:var(--text);border:1px solid var(--line);border-radius:18px;padding:32px;max-width:560px;width:calc(100% - 32px);max-height:85dvh}dialog::backdrop{background:#070c18bb;backdrop-filter:blur(5px)}dialog h2{margin-top:10px;font-size:25px}dialog p,dialog li{line-height:1.8;font-size:14px;color:#bbc4d4}.dialog-close{float:right;margin:-15px -15px 5px 10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#dff59d;color:#1d2918;border-radius:10px;padding:14px 20px;box-shadow:0 12px 40px #0006;z-index:110;max-width:90vw;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){main{padding-top:65px}.hero-art{height:370px}.play-panel{margin-top:60px}}
@media(max-width:1000px){.home{gap:30px}.topbar{padding:20px 25px}.play-panel{grid-template-columns:1fr;margin-top:25px}.mode-grid{grid-column:1/-1}.name-field{max-width:100%;flex-direction:row;align-items:center;justify-content:flex-start}.name-field input{max-width:300px}.hero-art{height:300px}.orbit-two{width:330px}.orbit-one{width:260px}.art-card{width:60px;height:80px}.answer-gem{width:110px;height:130px}.hero-stats{gap:25px}.game-grid{grid-template-columns:minmax(0,1fr) 190px}.stage{padding:22px}.players-panel{padding:16px}}
@media(max-width:650px){.topbar{padding:14px 18px}.brand{font-size:15px;letter-spacing:3px}.brand-icon{width:35px;height:36px;font-size:24px}.brand small{font-size:8px}.desktop-only{display:none}.topbar .icon-button{margin-left:6px}main{padding:20px 16px}.home{display:block}.hero{padding:4px 0}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:37px;letter-spacing:-1.7px;margin:17px 0 10px}.hero p{font-size:12px;line-height:1.6;max-width:320px;margin:0}.hero-stats{gap:24px;margin-top:18px}.hero-stats b{font-size:20px}.hero-stats>div>span{font-size:9px}.hero-art{display:none}.play-panel{padding:18px;margin-top:23px;gap:14px}.name-field{display:block;font-size:10px}.name-field input{max-width:none;margin-top:7px;padding:11px}.mode-grid{gap:8px}.mode-card{padding:13px 10px;gap:7px}.mode-card strong{font-size:12px}.mode-card small{font-size:9px;line-height:1.4}.mode-icon{font-size:25px}.mode-card>b{display:none}.available{font-size:9px}.join-row{padding-top:12px;gap:12px}.join-row input{width:45%;max-width:none}.join-row button{font-size:11px}.home-footer{padding-top:12px}.home-footer>span{display:none}.home-footer .text-button{font-size:11px}.menu{right:12px;top:68px;max-height:calc(100dvh - 80px);overflow:auto}.game-top{margin-bottom:12px;gap:10px}.room-label{gap:8px;font-size:8px}.game-grid{display:flex;flex-direction:column;gap:12px}.stage{padding:17px;border-radius:14px}.score-strip strong{font-size:22px}.timer{width:46px;height:46px;font-size:19px}.clues{margin:14px 0;gap:4px}.clue{font-size:8px;padding:10px 2px;min-height:34px}#content h2{font-size:19px;margin:12px 0 17px}.answers{gap:7px}.answer{padding:10px 8px;gap:7px;font-size:12px;min-height:56px}.answer b{padding:4px 6px;font-size:10px}.players-panel{padding:12px 16px;border-radius:12px}.players-panel>.eyebrow{display:none}#players{display:flex;gap:13px;overflow-x:auto}.player{min-width:90px;padding:4px 0;border:0;font-size:10px}.player .avatar{width:24px;height:24px;font-size:10px}.side-tip{display:none}.player b{font-size:10px}.feedback{font-size:11px;margin:12px 0}.game-actions{margin-top:12px}.primary,.secondary{padding:11px 14px;font-size:12px}.guess-form{flex-direction:column}.lobby-code{font-size:28px;letter-spacing:5px}.result-score{font-size:55px}}
@media(max-height:700px) and (max-width:650px){main{padding-top:12px}.hero-stats{display:none}.play-panel{margin-top:16px}h1{font-size:31px}.hero p{font-size:11px}.game .stage{padding:12px}.clues{margin:10px 0}#content h2{font-size:17px;margin:10px 0 12px}.answer{min-height:49px}.feedback{line-height:1.4}.players-panel{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
