@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@600;700;800&display=swap";:root{font-family:DM Mono,monospace;color:#f4f2eb;background:#0b0d0e;--acid:#d6ff58;--coral:#ff755f;--muted:#858b87;--line:#29312e}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:#0b0d0e}button{font:inherit;touch-action:manipulation}.phone-shell{width:min(100%,460px);height:100svh;min-height:0;margin:auto;padding:clamp(10px,2.2svh,20px) 16px 8px;display:flex;flex-direction:column;gap:clamp(5px,1.2svh,11px);position:relative;overflow:hidden;background:radial-gradient(circle at 50% 12%,#203629 0,#0d1110 34%,#0b0d0e 72%)}.phone-shell:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:linear-gradient(120deg,transparent 0 47%,#d6ff5812 47.2% 47.5%,transparent 47.7%),linear-gradient(#fff00008 1px,transparent 1px);background-size:100% 100%,100% 28px}.topbar,.status-strip,.game-stage,.gesture-tip,footer{position:relative;z-index:1}.topbar{display:flex;justify-content:space-between;align-items:center;flex:none}.brand{display:flex;gap:10px;align-items:center}.brand-glyph{width:23px;display:flex;gap:3px;align-items:end;transform:skewY(-16deg)}.brand-glyph i{width:5px;height:22px;background:var(--acid);box-shadow:0 0 12px #d6ff5888}.brand-glyph i:nth-child(2){height:16px;background:var(--coral)}.brand-glyph i:nth-child(3){height:10px;background:#62e8e1}.eyebrow,.status-strip span,.board-meta,footer{font-size:8px;letter-spacing:.14em;color:var(--muted)}h1{font:800 clamp(17px,5vw,20px)/1 "Syne",sans-serif;letter-spacing:-.05em;margin:3px 0 0}.top-actions{display:flex;gap:5px}.restart-button,.music-button,.collapse-button{width:34px;height:34px;border:1px solid var(--line);background:#111715;color:#d4d8d1;font-size:18px}.music-button{font-size:15px;color:var(--acid)}.music-button.muted{color:#77817a}.collapse-button{color:var(--muted);font-size:15px}.status-strip{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;flex:none}.status-strip strong{display:block;margin-top:4px;font:700 clamp(20px,6vw,25px)/1 "Syne",sans-serif;letter-spacing:.04em}.signal{font-size:8px;color:var(--acid);padding-bottom:3px}.signal b{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);margin-right:6px}.signal b.offline{background:var(--coral);box-shadow:0 0 10px var(--coral)}.game-stage{min-height:0;flex:1;display:flex;justify-content:center;align-items:center}.board-card{position:relative;width:min(100%,calc((100svh - 140px)*.545));aspect-ratio:auto;padding:8px;border:1px solid #34413a;background:#111715;box-shadow:0 20px 60px #0008}.board-meta{display:flex;justify-content:space-between;padding:0 2px 6px;height:16px}.board{width:100%;height:auto;aspect-ratio:12/22;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(22,1fr);gap:2px;padding:4px;background:#080a09;border:1px solid #26322c;-webkit-user-select:none;user-select:none;touch-action:none}.board.frozen{filter:saturate(.65)}.cell{width:100%;height:100%;min-width:0;min-height:0;background:#121a16;border-radius:2px}.cell-lime{background:#d6ff58;box-shadow:inset 0 -2px #7ca526,0 0 7px #d6ff5877}.cell-coral{background:#ff755f;box-shadow:inset 0 -2px #a93f35,0 0 7px #ff755f77}.cell-iris{background:#a89bff;box-shadow:inset 0 -2px #6259a5,0 0 7px #a89bff77}.cell-amber{background:#f4c95d;box-shadow:inset 0 -2px #a57725,0 0 7px #f4c95d77}.cell-mint{background:#74e1a0;box-shadow:inset 0 -2px #318559,0 0 7px #74e1a077}.cell-rose{background:#ee91c2;box-shadow:inset 0 -2px #9b4f7a,0 0 7px #ee91c277}.cell-sky{background:#78c5ed;box-shadow:inset 0 -2px #3c779d,0 0 7px #78c5ed77}.next-float{position:absolute;right:13px;top:32px;padding:5px 5px 4px;background:#151e1a59;border:1px solid #46574b88;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none}.next-float>span{display:block;color:var(--acid);font-size:7px;letter-spacing:.14em;margin-bottom:5px}.next-preview{display:grid;grid-template-columns:repeat(4,9px);grid-auto-rows:9px;gap:2px}.preview-cell{background:#26332b66;border-radius:2px}.pause-float{position:absolute;left:13px;top:32px;width:31px;height:31px;border:1px solid #46574b88;background:#151e1a59;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#dce5d8;font-size:12px;opacity:.7}.scrim{position:absolute;z-index:4;inset:24px 8px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#09100ddd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scrim span{font-size:9px;letter-spacing:.2em;color:var(--acid)}.scrim strong{font:800 clamp(34px,10vw,44px) "Syne",sans-serif;margin:10px 0 14px}.lime-button{border:0;background:var(--acid);color:#11170d;padding:11px 17px;font-size:9px;letter-spacing:.08em}.gesture-tip{display:flex;justify-content:center;align-items:center;gap:7px;color:#8d9992;font-size:8px;flex:none}.tip-icon{color:var(--acid);font-size:13px}.run-chip{color:var(--acid);border:1px solid #40513f;padding:3px 5px;font-size:7px}footer{display:flex;justify-content:space-between;padding-top:5px;border-top:1px solid #202a25;font-size:7px;flex:none}@media(max-height:650px){.phone-shell{padding-top:7px;gap:4px}.board-card{width:min(100%,calc((100svh - 100px)*.545))}.next-float,.pause-float{top:25px}}@media(max-width:360px){.phone-shell{padding-left:11px;padding-right:11px}.board-card{width:min(100%,calc((100svh - 105px)*.545))}}.top-actions{margin-left:auto}.game-stage{container-type:size}.board-card{width:min(100cqw,calc((100cqh - 24px)*.5454 + 24px))}.expand-float{position:absolute;z-index:6;top:8px;right:12px;width:34px;height:30px;border:1px solid #46574b88;background:#151e1a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--acid);font-size:15px;opacity:.8}.phone-shell.collapsed{padding-top:8px}.phone-shell.collapsed .status-strip{padding-right:40px}.controls{position:relative;z-index:2;flex:none;display:flex;justify-content:space-between;align-items:center;padding:4px 6px 2px;height:clamp(112px,17svh,136px);--k:clamp(48px,14vw,60px)}.dpad{display:grid;grid-template-columns:repeat(3,var(--k));grid-template-rows:repeat(2,var(--k));gap:4px}.key{border:1px solid #4a5a50;background:#18241e;color:#e3e8df;font-size:22px;padding:0;border-radius:12px;box-shadow:0 3px #0a0f0c}.key-left{grid-column:1;grid-row:1}.key-right{grid-column:3;grid-row:1}.key-down{grid-column:2;grid-row:2}.key:active,.act:active{transform:translateY(2px);box-shadow:none;background:#d6ff58;color:#11170d}.actions{position:relative;width:calc(var(--k)*2.5);height:calc(var(--k)*2 + 4px)}.act{position:absolute;border-radius:50%;padding:0;border:1px solid #4a5a50;box-shadow:0 3px #0a0f0c}.act-turn{right:0;bottom:0;width:calc(var(--k)*1.3);height:calc(var(--k)*1.3);background:#d6ff58;color:#11170d;font-size:30px;border-color:#d6ff58}.act-drop{left:0;top:0;width:var(--k);height:var(--k);background:#ff755f;color:#21120f;border-color:#ff755f;font-size:9px;letter-spacing:.04em}html,body,#app{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}button{touch-action:manipulation}.act-turn{display:flex;align-items:center;justify-content:center;padding:0}.act-turn svg{display:block;flex:none;width:calc(var(--k)*.52);height:calc(var(--k)*.52);max-width:30px;max-height:30px}*,*:before,*:after{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}::selection{background:transparent;color:inherit}input{-webkit-user-select:text;user-select:text}.auth-layer{position:absolute;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0b0d0ef2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.auth-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:6px}.auth-card h2{font:800 28px/1.1 Syne,sans-serif;letter-spacing:-.04em;margin:2px 0 14px}.auth-card form{display:flex;flex-direction:column;gap:10px}.auth-msg{color:var(--muted);font-size:12px;margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.auth-tabs button{height:38px;border:0;background:transparent;color:var(--muted);font-size:12px;letter-spacing:.1em}.auth-tabs button.on{background:var(--acid);color:#11170d}.auth-card input{height:46px;padding:0 12px;border:1px solid #3a4a41;background:#111715;color:#f4f2eb;font:inherit;font-size:16px;border-radius:0;outline:0}.auth-card input:focus{border-color:var(--acid)}.auth-error{margin:0;color:var(--coral);font-size:11px;line-height:1.5}.auth-submit{height:46px;font-size:12px}.auth-submit:disabled{opacity:.6}.auth-link{border:0;background:transparent;color:var(--muted);font-size:11px;padding:6px}.user-chip{display:block;margin:4px 0 0 auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;padding:0;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand h1{font-size:clamp(13px,4vw,16px);white-space:nowrap;margin-top:2px}.brand{min-width:0}.brand>div{min-width:0}.user-brand{display:flex;align-items:center;gap:8px;min-width:0;max-width:60%;padding:0;border:0;background:transparent;color:#f4f2eb;font:inherit}.user-nick{font:800 clamp(13px,4vw,16px)/1 "Syne",sans-serif;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-brand i{font-style:normal;color:var(--muted);font-size:12px}.avatar{position:relative;flex:none;width:30px;height:30px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#1c2a22;border:1px solid #46574b;padding:0;color:var(--acid);font:800 14px Syne,sans-serif}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.avatar b{font-weight:800}.avatar-lg{width:92px;height:92px;margin:0 auto 6px;font-size:36px}.avatar-lg em{position:absolute;left:0;right:0;bottom:0;padding:3px 0;background:#000a;color:#fff;font-style:normal;font-size:10px;letter-spacing:.1em}.file-hidden{display:none}.profile-layer{z-index:30}.logout-link{color:var(--coral)}.edit-tag{flex:none;padding:3px 8px;border:1px solid var(--acid);background:#d6ff5822;color:var(--acid);font-size:11px;line-height:1;letter-spacing:.06em}
