:root{color-scheme:dark;--void: #08080f;--void-2: #0c0c16;--panel: #1b130d;--panel-2: #281c13;--line: #3c2c1e;--line-bright: #66492e;--panel-rgb: 27, 19, 13;--line-rgb: 60, 44, 30;--cyan: #4deeea;--violet: #b14eff;--room-light: #ffb02e;--room-light-rgb: 255, 176, 46;--room-light-deep-rgb: 178, 92, 18;--accent: #4deeea;--accent-deep: #b14eff;--accent-rgb: 77, 238, 234;--accent-deep-rgb: 177, 78, 255;--ink: #eef0ff;--ink-dim: #a89076;--wm-size: .9rem;--head-width: var(--width-column);--head-pad: var(--space-9);--space-1: .2rem;--space-2: .3rem;--space-3: .4rem;--space-4: .5rem;--space-5: .6rem;--space-6: .75rem;--space-7: 1rem;--space-8: 1.5rem;--space-9: 2rem;--text-2xs: .62rem;--text-xs: .72rem;--text-sm: .8rem;--text-md: .85rem;--text-lg: .95rem;--text-xl: 1.15rem;--text-2xl: 1.35rem;--text-3xl: 1.5rem;--width-column: min(clamp(72rem, 66vw, 84rem), 100%);--width-side: clamp(20rem, 24vw, 28rem);--width-dialog: 30rem;--width-lesson: 16rem;--width-transport: 66rem;--width-prose: 68ch;--cell-cap: 74px;--cell-floor: 18px;--board-rows: 13;--bezel-pad: .55rem;--next-pad: .5rem;--board-gap: var(--space-8);--stage-pad-top: var(--space-5);--stage-pad-x: var(--space-7);--stage-pad-bottom: var(--space-8);--stage-head: 3.3rem;--stage-foot: 5.4rem;--stage-slack: .6rem;--stage-chrome-y: calc( var(--stage-pad-top) + var(--stage-head) + var(--bezel-pad) * 2 + var(--stage-foot) + var(--stage-pad-bottom) + var(--stage-slack) );--stage-drop: max(0px, calc((100vh - var(--stage-chrome-y) - var(--cell-cap) * var(--board-rows)) / 2));--mono: ui-monospace, "Cascadia Code", "SF Mono", Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Chakra Petch", var(--sans);--admin-sheen: linear-gradient( 90deg, #4deeea 0%, #7f8cff 17%, #b14eff 33%, #7f8cff 42%, #4deeea 50%, #7f8cff 67%, #b14eff 83%, #7f8cff 92%, #4deeea 100% )}html{font-size:clamp(100%,min(.8333vw,1.4815vh),150%)}[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0;min-height:100vh;overflow-x:clip;display:flex;align-items:center;justify-content:center;background:var(--void);color:var(--ink);font-family:var(--sans);user-select:none;-webkit-user-select:none}input,textarea,[contenteditable],.chat-log{user-select:text;-webkit-user-select:text}#bg-shader{position:fixed;inset:0;z-index:-2;width:100vw;height:100vh;border:none;box-shadow:none;image-rendering:auto;pointer-events:none}:root[data-shape=wide] body{align-items:flex-start}@media(min-width:761px)and (min-height:560px){:root[data-shape=stage] body{align-items:flex-start}:root[data-shape=stage] #app{padding-top:var(--stage-pad-top)}:root[data-shape=stage]{--head-width: 100%;--head-pad: 0px}}:root[data-shape=wide] #app{padding-top:var(--stage-pad-top)}#app{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--stage-pad-bottom) var(--stage-pad-x);width:100%}:root[data-shape=wide]{--head-width: 100%;--head-pad: 0px}h1{font-family:var(--display);font-size:var(--wm-size);line-height:.92;letter-spacing:.01em;margin:0;font-weight:700;text-transform:none;color:#fff;position:relative;isolation:isolate;align-self:center;width:var(--head-width);padding-left:var(--head-pad);text-align:left}.screen-head>h1{flex:0 0 auto;width:auto;padding-left:0;margin:0}#app>h1{font-size:clamp(3.2rem,min(8.5vw,15vh),8rem);margin:var(--space-3) 0 1.4rem;text-shadow:0 .05em .3em rgba(0,0,0,.8)}.wm-line{display:block;position:relative}.wm-chain{z-index:0}.wm-break{z-index:1;margin-top:-.62em}.screen-head>h1 .wm-break{margin-top:0}.wm{display:inline-block}.wm-cap{font-size:1.5em;color:#fff}.wm-chain .wm-cap{color:#9296a8}.wm-tail{color:#9498a8}.wm-chain .wm-tail{font-size:.82em;color:#6f7386}.wm-break .wm-tail{font-size:1.02em;color:#d7dae6}#app>h1 .wm{transform:translate(calc(var(--px, 0px) * var(--d)),calc(var(--py, 0px) * var(--d)));--d: 1}#app>h1 .wm-cap{--d: 1.45}#app>h1 .wm-tail{--d: .7}#app>h1 .wm-chain .wm-cap{--d: -.45}#app>h1 .wm-chain .wm-tail{--d: -.3}#app>h1 .wm-break .wm-cap{--d: 1.9}#app>h1 .wm-break .wm-tail{--d: 1.2}@supports (-webkit-background-clip: text) or (background-clip: text){#app>h1 .wm-break .wm-tail{background:linear-gradient(100deg,#d7dae6 0% 45%,#f2f6ff 49%,#fff,#f2f6ff 51%,#d7dae6 55% 100%);background-size:300% 100%;background-position:150% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wm-sheen 11s linear infinite}}@keyframes wm-sheen{0%{background-position:150% 0}to{background-position:-150% 0}}#app>h1 .wm-chain .wm-cap{text-shadow:calc(var(--px, 0px) * -.09) 0 0 rgba(var(--accent-rgb),.5),calc(var(--px, 0px) * .09) 0 0 rgba(var(--accent-deep-rgb),.5)}:root[data-mode=menu] #app>h1{--accent-rgb: var(--room-light-rgb);--accent-deep-rgb: var(--room-light-deep-rgb)}#app>h1 .wm-break .wm{text-shadow:none}@supports (-webkit-text-stroke: 1px #fff){#app>h1 .wm-break .wm-cap{color:transparent;-webkit-text-stroke:.04em #fff}#app>h1 .wm-chain .wm-tail{color:transparent;-webkit-text-stroke:.028em #9296a8}}h2{font-family:var(--display);font-size:var(--text-sm);margin:0 0 var(--space-4);text-align:center;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.screen-head{width:var(--head-width);display:flex;align-items:center;gap:var(--space-4);padding-bottom:.25rem;border-bottom:1px solid var(--line);font-size:var(--text-md)}.screen-head .back{align-self:auto}.screen-foot{width:var(--head-width);display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--line)}.head-field{display:flex;align-items:center;gap:var(--space-3);font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.head-field select{padding:.25rem .45rem;font-size:var(--text-sm)}.panel{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;padding:var(--space-7) var(--space-7);background:var(--panel);border:1px solid var(--line);text-align:left}.panel>h2{margin:0 0 .15rem;padding-bottom:var(--space-4);border-bottom:1px solid var(--line);text-align:left}.menu-card-eyebrow,.screen-title,.panel>h2{font-family:var(--mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.screen-title{margin:0;text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel>label,.panel .bind-row{display:flex;align-items:center;gap:var(--space-5);font-size:var(--text-md);color:var(--ink-dim)}.panel>label>input[type=text],.panel>label>input[type=password],.panel>label>input:not([type]),.panel>label>select,.panel>label>textarea{flex:1;min-width:0}.panel>label>input[type=number],.panel>label>input[type=range],.panel .bind-row>button{margin-left:auto}.panel>label.checkbox-label{justify-content:flex-start}.panel input[type=text],.panel input[type=password],.panel input[type=number],.panel input:not([type]),.panel select,.panel textarea{font:inherit;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);padding:var(--space-2) var(--space-4)}.panel input[type=number]{font-family:var(--mono);width:5rem}.panel textarea{resize:vertical}.panel>p{margin:0;max-width:var(--width-prose)}.panel>.auth-actions,.panel>button{align-self:flex-start}#menu{position:relative;z-index:0;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-7);width:var(--width-column);padding:var(--space-9) var(--space-9) 2.5rem}.menu-modes{display:flex;flex-direction:column;gap:var(--space-4)}.menu-secondary{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-6)}.menu-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);text-align:left;padding:var(--space-7) 1.3rem;border-left:3px solid var(--accent);background-color:var(--panel);background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.07),var(--panel) 42%)}.menu-card:hover{background-color:var(--panel-2);background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.16),var(--panel-2) 48%);border-color:var(--line-bright);border-left-color:var(--accent)}.menu-card-primary{padding:var(--space-9) 2.2rem;border-left-width:5px;background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.22),var(--panel) 72%)}.menu-card-primary:hover{background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.34),var(--panel-2) 72%)}.menu-card-title{font-family:var(--display);font-weight:700;font-size:clamp(1.05rem,1.6vw,1.35rem);letter-spacing:.05em}.menu-card-primary .menu-card-title{font-size:clamp(2.2rem,3.4vw,3.2rem);line-height:1.1;letter-spacing:.03em}.menu-card-desc{font-family:var(--sans);font-size:var(--text-md);font-weight:400;line-height:1.35;letter-spacing:0;color:var(--ink-dim)}.menu-card-primary .menu-card-desc{font-size:var(--text-lg)}:root[data-mode=menu] .identity-strip button{--accent: var(--room-light);--accent-rgb: var(--room-light-rgb)}:root[data-mode=menu] .identity-strip button:hover{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 9px -5px rgba(var(--accent-rgb),.95)}.menu-utility{padding:var(--space-2) var(--space-6);font-size:var(--text-sm);color:var(--ink-dim)}.room-backdrop{position:fixed;inset:0;z-index:-1;width:100vw;height:100vh;pointer-events:none;border:none;box-shadow:none}button{font:inherit;padding:var(--space-4) var(--space-7);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .1s ease}button:hover{background:var(--panel-2);border-color:var(--line-bright);box-shadow:0 0 14px -4px var(--accent)}button:active{transform:translateY(1px) scale(.98)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root[data-pad] button:focus,:root[data-pad] input:focus,:root[data-pad] select:focus,:root[data-pad] textarea:focus,:root[data-pad] a:focus{outline:2px solid var(--accent);outline-offset:2px}.back{align-self:flex-start;padding:var(--space-2) var(--space-6);font-size:var(--text-sm);color:var(--ink-dim)}#solo-screen,#ranked-screen,#quickplay-screen,#vscpu-screen,#localversus-screen,#character-select-screen,#settings-screen,#profile-screen,#replay-screen,#howto-screen,#gate-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);align-self:stretch}#gate-screen,#settings-screen,#profile-screen,#howto-screen,#character-select-screen{align-self:center;width:var(--width-column);padding:0 var(--space-9) var(--space-9)}#solo-screen{align-self:center;width:var(--width-column);padding:0 var(--space-9)}@media(min-width:761px)and (min-height:560px){:root[data-shape=stage] #solo-screen{align-self:stretch;width:auto;padding:0}}#quickplay-screen{position:relative}#ranked-match{align-self:stretch;text-align:center}.board-column p{margin:0;padding:.35rem var(--space-6);background:var(--panel);border:1px solid var(--line);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.03em}select{font:inherit;padding:var(--space-3) var(--space-5);border:1px solid var(--line);background:var(--panel);color:var(--ink)}canvas{display:block;height:auto;border:1px solid var(--line);box-shadow:0 0 0 1px #0009,0 0 40px -12px var(--accent-deep)}.board-with-next>canvas{width:calc(var(--cell-size) * 6)!important;height:auto!important}.board-stack{position:relative;width:calc(var(--cell-size) * 6)}.board-stack canvas{width:100%!important;height:auto!important}.board-text{position:absolute;inset:0;border:none;box-shadow:none;pointer-events:none}.board-stack .board-text{top:calc(-100% * var(--board-bleed-y, 0));left:calc(-100% * var(--board-bleed-x, 0));right:auto;bottom:auto;width:calc(100% + 200% * var(--board-bleed-x, 0))!important;height:auto!important}.next-piece canvas{width:calc(var(--cell-size) * 2)!important;height:auto!important}#solo-screen,.boards,.qp-layout,.replay-boards{--fit-cell: max( var(--cell-floor), min( calc((100vw - var(--fit-chrome-x)) / var(--fit-cols)), calc((100vw - var(--fit-chrome-x-2, var(--fit-chrome-x))) / var(--fit-cols-2, var(--fit-cols))), calc((100vw - var(--fit-chrome-x-3, var(--fit-chrome-x))) / var(--fit-cols-3, var(--fit-cols))), calc((100vh - var(--fit-chrome-y)) / var(--board-rows)), var(--cell-cap) ) )}.boards,.qp-layout,.replay-boards{margin-top:var(--stage-drop)}@media(min-width:761px)and (min-height:560px){:root[data-shape=stage] #solo-screen>.board-field-row{margin-top:var(--stage-drop)}:root[data-shape=stage] #solo-screen:not([data-lesson])>.hint{padding-right:calc(max(var(--cell-size) * 2 + var(--next-pad) * 2 + 2px,6.5rem) + var(--board-gap))}}#solo-screen,.replay-boards{--cell-size: var(--fit-cell)}.boards,.qp-layout{--own-cell-size: var(--fit-cell)}#solo-screen{--fit-chrome-x: calc( var(--stage-pad-x) * 2 + var(--bezel-pad) * 2 + var(--board-gap) + var(--next-pad) * 2 + 2px );--fit-cols: 8;--fit-chrome-y: 35vh;--cell-floor: 0px}@media(min-width:761px)and (min-height:560px){:root[data-shape=stage] #solo-screen{--fit-chrome-y: var(--stage-chrome-y);--cell-floor: 18px}}.qp-layout{--fit-chrome-x: calc( var(--stage-pad-x) * 2 + var(--board-gap) * 3 + var(--width-side) * 2 + var(--bezel-pad) * 2 + var(--next-pad) * 2 + 2px );--fit-cols: 8;--fit-chrome-y: var(--stage-chrome-y)}.boards,.qp-layout{--opp-scale: .6;--cell-size: var(--own-cell-size);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;justify-items:center;gap:var(--board-gap);width:100%}.qp-layout{--sidebar-span: calc(var(--cell-size) * 2 + var(--next-pad) * 2 + 2px + var(--board-gap))}#quickplay-screen[data-qp-state=climbing] .qp-layout{--sidebar-span: calc(max(var(--cell-size) * 2 + var(--next-pad) * 2 + 2px, 6.5rem) + var(--board-gap))}.boards>.board-column,.qp-layout>.board-column{grid-column:2}.qp-layout>.chat-host,.qp-layout>.qp-roster-panel{align-self:stretch;contain:size}.qp-layout>.chat-host{display:flex;justify-self:start}.qp-layout>.chat-host>*{flex:1;min-height:0}.qp-layout .chat-log{flex:1;min-height:0;max-height:none}.board-side{grid-column:3;justify-self:start;display:flex;align-items:flex-start;gap:var(--board-gap)}.chat-host{grid-column:1;justify-self:end;width:100%;max-width:var(--width-side);position:relative;z-index:2}.board-side .board-column{--cell-size: calc(var(--own-cell-size) * var(--opp-scale))}.hint{font-size:var(--text-sm);color:var(--ink-dim);margin:0}.boards{--fit-chrome-x: 51rem;--fit-cols: 17.6;--fit-chrome-x-2: 58.5rem;--fit-cols-2: 15.2;--fit-chrome-x-3: 62.2rem;--fit-cols-3: 13.2;--fit-chrome-y: var(--stage-chrome-y)}#vscpu-screen .boards{--opp-scale: 1;--fit-chrome-x: 25.6rem;--fit-cols: 16;--fit-chrome-x-2: 30.9rem;--fit-cols-2: 14;--fit-chrome-x-3: 34.8rem;--fit-cols-3: 12;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)}#vscpu-screen,#ranked-screen,#quickplay-screen,#replay-screen{overflow:clip;min-height:calc(100vh - var(--stage-pad-top) - var(--stage-pad-bottom))}@media(min-width:761px)and (min-height:560px){:root[data-shape=stage] #solo-screen{overflow:clip;min-height:calc(100vh - var(--stage-pad-top) - var(--stage-pad-bottom))}}#vscpu-screen .boards>.board-column{grid-column:1;justify-self:end}#vscpu-screen .board-side{display:contents}#vscpu-screen .versus-gutter{grid-column:2}#vscpu-screen .board-side .board-column{grid-column:3;justify-self:start}#vscpu-screen .board-side .board-field-row{flex-direction:row-reverse}#localversus-screen .boards{--opp-scale: 1;--own-cell-size: max( 18px, min( calc((100vw - 410px)/16) , calc((100vw - 582px) / 12), calc((100vh - 9rem) / 13), 74px ) );grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr)}@media(max-width:899px){#localversus-screen .boards{--own-cell-size: max( 18px, min( calc((100vw - 410px)/16) , calc((100vw - 534px) / 12), calc((100vh - 9rem) / 13), 74px ) )}#localversus-screen .stat-rail-host{display:none}}#localversus-screen{overflow:clip}#localversus-screen .boards>.board-column{grid-column:1;justify-self:end}#localversus-screen .board-side{display:contents}#localversus-screen .versus-gutter{grid-column:2}#localversus-screen .board-side .board-column{grid-column:3;justify-self:start}#localversus-screen .board-side .board-field-row{flex-direction:row-reverse}.local-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 2rem}.local-controls-tag{font-family:var(--mono);font-weight:800}.local-controls-tag-0{color:var(--cyan)}.local-controls-tag-1{color:var(--violet)}.board-with-next{position:relative;display:flex;align-items:flex-start;gap:var(--space-5);padding:var(--bezel-pad);background:linear-gradient(135deg,var(--accent),var(--accent-deep))}.board-with-next:before{content:"";position:absolute;inset:3px;background:linear-gradient(165deg,var(--panel-2),var(--void-2));box-shadow:inset 0 1px #ffffff0d,inset 0 0 28px -10px #000000b3}.board-with-next>*{position:relative}.next-piece{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--next-pad);background:#00000047;border:1px solid rgba(var(--accent-rgb),.45)}.board-field-row{display:flex;align-items:flex-start;gap:var(--board-gap)}.board-sidebar{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5)}.lesson{width:var(--width-lesson)}.lesson-text{margin:0;font-size:var(--text-lg);line-height:1.45;color:var(--ink)}.lesson[data-state=retry] .lesson-text{color:var(--accent)}.lesson>.back{align-self:flex-start}#solo-screen[data-lesson]{--fit-chrome-x: calc( var(--stage-pad-x) * 2 + var(--bezel-pad) * 2 + var(--board-gap) * 2 + var(--next-pad) * 2 + 2px + var(--width-lesson) )}.howto-tutorial{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3) var(--space-7);width:var(--head-width);margin:var(--space-2) 0 var(--space-3)}.next-piece-label{margin:0;font-family:var(--mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.board-column{display:flex;flex-direction:column;align-items:center;gap:.35rem}.board-column p{color:var(--ink-dim);font-size:var(--text-md)}.versus-gutter{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;padding-top:0}.danger-gutter{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:5px}.versus-gutter[data-floor] .versus-stage{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.versus-stage{position:relative}.danger-bar{width:8px;background:#ffffff0d;overflow:hidden;display:flex;align-items:flex-end}.danger-bar-fill{width:100%;height:0%;background:linear-gradient(180deg,#ff4d5e,#7a1420);box-shadow:0 0 10px -2px #ff4d5ecc;transition:height .15s ease-out}#ranked-result{font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.match-countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--display);font-size:calc(var(--cell-size) * .95);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-shadow:0 0 18px rgba(0,0,0,.85)}.match-countdown-go{color:var(--accent)}@media(prefers-reduced-motion:no-preference){.match-countdown{animation:match-countdown-in .28s ease-out}.match-countdown-go{animation:match-countdown-go .55s ease-out forwards}}@keyframes match-countdown-in{0%{opacity:0;transform:scale(1.25)}}@keyframes match-countdown-go{0%{transform:scale(.85)}60%{opacity:1}to{opacity:0;transform:scale(1.15)}}.match-result{position:absolute;left:.6rem;right:.6rem;top:50%;transform:translateY(-50%);gap:.45rem;box-shadow:0 10px 40px -8px #000000e6}.match-result-headline{margin:0;font-family:var(--display);font-size:var(--text-2xl);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.match-result-win .match-result-headline{color:var(--accent)}.match-result>p{margin:0 0 var(--space-1);padding:0;background:none;border:0;font-size:var(--text-xs);line-height:1.35;letter-spacing:normal;color:var(--ink-dim)}.match-stats{display:flex;flex-direction:column;margin-bottom:.2rem;border-top:1px solid var(--line);font-family:var(--mono);font-variant-numeric:tabular-nums}.match-stats-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--match-stat-columns, 1),minmax(2.6rem,auto));align-items:baseline;column-gap:.5rem;padding:.16rem 0;border-bottom:1px solid var(--line);line-height:1.2}.match-stats-label,.match-stats-head{font-size:.58rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}.match-stats-head,.match-stats-value{text-align:right}.match-stats-value{font-size:.8rem;font-weight:700;color:var(--ink)}.match-stats-rate{font-weight:400;color:var(--accent)}.match-stats-player-0{color:var(--cyan)}.match-stats-player-1{color:var(--violet)}.match-result>button{align-self:stretch;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-5);padding:.45rem var(--space-6);font-size:var(--text-md);text-align:left}.match-result>.match-result-primary{border-color:var(--accent);background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.22),var(--panel) 80%);font-weight:700}.match-result kbd{font-family:var(--mono);font-size:var(--text-2xs);color:var(--ink-dim)}.lobby-panel{width:min(30rem,100%);align-self:flex-start}.auth-actions{display:flex;align-items:center;gap:var(--space-3)}.settings-columns{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));align-items:start;gap:var(--space-6)}@media(min-width:761px){.settings-columns{display:block;columns:17rem;column-gap:var(--space-6)}.settings-columns>.panel{break-inside:avoid;margin-bottom:var(--space-6)}}.howto-columns{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:var(--space-6)}@media(min-width:1750px){.howto-columns{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}.howto-columns .howto-figure{flex-wrap:nowrap}.howto-columns .howto-figure canvas{flex:0 1 auto;min-width:0;height:auto!important}}.howto-lede{width:var(--head-width);margin:var(--space-6) 0 var(--space-1);font-size:var(--text-lg);color:var(--ink)}.howto-figure{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-4);margin:.1rem 0 .35rem}.howto-figure canvas{display:block}.howto-arrow{font-family:var(--mono);font-size:var(--text-xl);color:var(--accent)}.bind-list{display:flex;flex-direction:column;gap:var(--space-2)}.bind-row button{min-width:5.5rem;padding:var(--space-2) var(--space-5);font-family:var(--mono)}.character-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-5);width:100%}.character-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:var(--space-5) var(--space-4);border-color:color-mix(in srgb,var(--card-hue, var(--line)) 50%,var(--line));background:linear-gradient(to bottom,color-mix(in srgb,var(--card-hue, transparent) 30%,var(--panel)),color-mix(in srgb,var(--card-hue, transparent) 9%,var(--panel)) 75%)}.character-card:hover,.character-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-hue, var(--line-bright)) 85%,var(--line-bright));background:linear-gradient(to bottom,color-mix(in srgb,var(--card-hue, transparent) 42%,var(--panel-2)),color-mix(in srgb,var(--card-hue, transparent) 14%,var(--panel-2)) 75%);box-shadow:0 0 16px -4px var(--card-hue, var(--accent))}.character-card-picked{animation:character-pick-pulse .25s ease-out}@keyframes character-pick-pulse{0%,to{transform:scale(1);box-shadow:none}40%{transform:scale(1.08);box-shadow:0 0 22px 0 var(--accent)}}.character-portrait{width:100%!important;height:auto!important;max-width:3.5rem;border-radius:50%;background:#ffffff08}.character-card .character-portrait{max-width:9rem}.character-pattern{max-width:100%;image-rendering:pixelated;box-shadow:0 0 0 1px #0009,0 0 16px -8px var(--accent-deep)}.character-name{font-weight:700;font-size:var(--text-md);letter-spacing:.03em}.character-element{font-size:var(--text-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center}.character-pattern-note{font-size:var(--text-2xs);line-height:1.3;color:var(--ink-dim);text-align:center;text-wrap:balance}.character-note{font-size:var(--text-xs);color:var(--ink-dim);text-align:center}.character-badge{position:absolute;top:.35rem;right:.35rem;padding:.1rem var(--space-3);font-size:var(--text-2xs);font-weight:800;letter-spacing:.04em;color:var(--void);pointer-events:none}.player-accent-0{background:var(--cyan)}.player-accent-1{background:var(--violet)}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.qp-layout{position:relative}.qp-backdrop{position:fixed;inset:0;z-index:-1;width:100vw;height:100vh;border:none;box-shadow:none;image-rendering:auto;pointer-events:none}#quickplay-screen.qp-over-mini{cursor:pointer}.qp-altitude-bar{--floor-light: var(--accent);display:flex;align-items:baseline;gap:var(--space-5);padding:var(--space-2) var(--space-6);background:var(--panel);border:1px solid var(--floor-light);box-shadow:0 0 18px -8px var(--floor-light);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--ink-dim);transition:border-color .8s ease,box-shadow .8s ease}.qp-altitude-value{font-family:var(--display);font-size:var(--text-xl);font-weight:700;letter-spacing:.03em;color:var(--floor-light);transition:color .8s ease}.qp-altitude-unit{font-size:var(--text-xs);opacity:.7}.qp-altitude-floor{flex:1;font-family:var(--sans);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-altitude-pops{position:absolute;inset:0;overflow:hidden;pointer-events:none}.qp-altitude-pop{position:absolute;left:50%;top:62%;font-family:var(--display);font-size:var(--text-xl);font-weight:700;letter-spacing:.04em;color:#ff5ad0;text-shadow:0 0 12px rgba(255,90,208,.65);white-space:nowrap;animation:qp-altitude-pop .9s ease-out forwards}@keyframes qp-altitude-pop{0%{opacity:0;transform:translate(-50%) scale(.8)}18%{opacity:1;transform:translate(-50%,-.4rem) scale(1.12)}to{opacity:0;transform:translate(-50%,-3.2rem) scale(1)}}.qp-beams{position:absolute;inset:0;overflow:visible;pointer-events:none;z-index:2}.qp-beam{--qp-beam-angle: 0deg;position:absolute;top:0;left:0;height:3px;transform-origin:0 50%;background:linear-gradient(90deg,transparent,currentColor 20%,currentColor 80%,transparent);box-shadow:0 0 12px 1px currentColor;animation:qp-beam .42s ease-out forwards}.qp-beam-out{color:#ff5ad0}.qp-beam-in{color:#ff4d5e}.qp-beam-watch{color:var(--accent)}@keyframes qp-beam{0%{opacity:0;transform:rotate(var(--qp-beam-angle)) scaleX(0)}15%{opacity:1;transform:rotate(var(--qp-beam-angle)) scaleX(1)}65%{opacity:1;transform:rotate(var(--qp-beam-angle)) scaleX(1)}to{opacity:0;transform:rotate(var(--qp-beam-angle)) scaleX(1)}}.qp-floor-card{position:absolute;left:0;right:0;bottom:100%;margin-bottom:.35rem;z-index:2;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-1) var(--space-6);text-align:center;pointer-events:none;animation:qp-floor-card 2.6s ease-out forwards}.qp-floor-card-index,.qp-floor-card-name{margin:0;font-family:var(--display);text-transform:uppercase;text-shadow:0 0 24px rgba(0,0,0,.9)}.qp-floor-card-index{font-size:var(--text-3xl);font-weight:700;letter-spacing:.18em;color:var(--floor-light, var(--accent))}.qp-floor-card-name{font-size:var(--text-sm);font-weight:700;letter-spacing:.32em;color:var(--ink)}@keyframes qp-floor-card{0%{opacity:0;transform:scale(1.14)}12%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@media(prefers-reduced-motion:reduce){.qp-floor-card,.qp-altitude-pop,.qp-beam{animation:none;opacity:1}.qp-altitude-pop{transform:translate(-50%,-1.2rem)}.qp-beam{transform:rotate(var(--qp-beam-angle)) scaleX(1)}}.qp-roster-panel{grid-column:3;justify-self:end;width:var(--width-side)}.qp-roster{position:relative;display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-height:0;overflow-y:auto}.qp-tower-header{display:flex;align-items:baseline;gap:var(--space-3)}.qp-tower-count{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-xl);letter-spacing:0;color:var(--ink)}.qp-tower-cpu{color:var(--ink-dim)}.qp-tower-row{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);padding:.45rem var(--space-6);border:1px solid transparent;background:#0003;font-size:var(--text-md);text-align:left;transition:opacity .6s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .1s ease}.qp-tower-rank{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);text-align:right;color:var(--ink-dim)}.qp-tower-who{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.qp-tower-name{min-width:0;font-weight:700;letter-spacing:.02em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.qp-cpu-tag{flex:none;padding:0 .3em;border:1px solid currentColor;font-family:var(--mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.12em;opacity:.6}.qp-tower-floor{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-dim);opacity:.7}.qp-tower-altitude{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-dim)}.qp-tower-row-medal{color:#150f06}.qp-tower-row-medal .qp-tower-rank,.qp-tower-row-medal .qp-tower-floor,.qp-tower-row-medal .qp-tower-altitude{color:#150f06b8}.qp-tower-row-medal .qp-tower-rank,.qp-tower-row-medal .qp-tower-floor{opacity:1}.qp-tower-row-medal .qp-tower-rank{font-weight:700}.qp-tower-row-r1{background:linear-gradient(90deg,#ffd86b,#f0a01e)}.qp-tower-row-r2{background:linear-gradient(90deg,#ffab55,#e8761c)}.qp-tower-row-r3{background:linear-gradient(90deg,#ff7f5c,#d43a1c)}.qp-tower-row-you{border-color:var(--accent)}.qp-tower-row-dead{opacity:.35}.qp-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;padding-right:var(--sidebar-span)}.qp-watch{display:flex;align-items:center;justify-content:center;gap:var(--space-6);width:100%;padding-right:var(--sidebar-span)}.qp-play-bar{width:min(28rem,100%)}.qp-play-now{padding:var(--space-6) 2.05rem var(--space-6) 2.2rem;font-family:var(--display);font-size:var(--text-xl);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-color:var(--accent);background-color:var(--panel);background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.22),var(--panel) 72%);box-shadow:0 0 20px -10px var(--accent)}.qp-play-now:hover{background-color:var(--panel-2);background-image:linear-gradient(90deg,rgba(var(--accent-rgb),.34),var(--panel-2) 72%);border-color:var(--accent);box-shadow:0 0 22px -6px var(--accent)}.qp-watch-label{margin:0;min-height:1.1em;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-md);color:var(--ink-dim)}.qp-watch-label strong{font-weight:500;color:var(--ink)}.qp-summary{gap:.25rem;padding:var(--space-4) var(--space-5);width:calc(var(--cell-size) * 2 + 1rem + 2px)}.qp-summary>h2{margin:0;padding-bottom:var(--space-2);font-size:var(--text-2xs);letter-spacing:.18em}.qp-summary>p{padding:0;background:none;border:0;letter-spacing:normal}.qp-summary>.qp-summary-reached,.qp-summary>.qp-summary-best{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums}.qp-summary>.qp-summary-reached{font-size:var(--text-xl);line-height:1.15;white-space:nowrap;color:var(--accent)}.qp-summary>.qp-summary-best{font-size:var(--text-xs);line-height:1.3;color:var(--ink-dim)}.qp-summary-best span{color:var(--ink)}.qp-summary>.qp-summary-stats{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);line-height:1.35;color:var(--ink-dim)}.qp-summary>.qp-summary-ko{width:100%;height:auto;margin-bottom:var(--space-2)}.qp-summary>.qp-summary-by{margin:0 0 var(--space-2);font-size:var(--text-xs);line-height:1.3;color:var(--ink-dim);overflow-wrap:anywhere}.qp-summary-by strong{color:var(--ink);font-weight:600}#quickplay-screen .board-field-row{position:relative}.qp-fighter{position:absolute;bottom:0;left:calc(100% - var(--sidebar-span));pointer-events:none}.qp-fighter-stage{border:0;box-shadow:none}#quickplay-screen[data-qp-state=climbing] .qp-face-watch,#quickplay-screen[data-qp-state=climbing] .qp-face-spectate,#quickplay-screen[data-qp-state=climbing] .qp-face-press,#quickplay-screen[data-qp-state=climbing] .qp-face-summary,#quickplay-screen[data-qp-state=spectating] .qp-face-climb,#quickplay-screen[data-qp-state=spectating] .qp-face-summary,#quickplay-screen[data-qp-state=eliminated] .qp-face-climb,#quickplay-screen[data-qp-state=eliminated] .qp-face-spectate{display:none}#quickplay-screen .chat-host,#quickplay-screen .qp-roster-panel{opacity:.85;filter:saturate(.8);transition:opacity .25s ease,filter .25s ease;position:relative;z-index:0}#quickplay-screen .chat-host .chat-title,#quickplay-screen .chat-host .chat-status,#quickplay-screen .chat-host .chat-composer,#quickplay-screen .qp-roster-panel>.qp-tower-header{opacity:.65;transition:opacity .25s ease}#quickplay-screen .chat-host .chat-panel,#quickplay-screen .qp-roster-panel{background:rgba(var(--panel-rgb),.65);border-color:rgba(var(--line-rgb),.65);transition:background-color .25s ease,border-color .25s ease}#quickplay-screen .chat-host:hover,#quickplay-screen .chat-host:focus-within,#quickplay-screen .qp-roster-panel:hover,#quickplay-screen .qp-roster-panel:focus-within{opacity:1;filter:none}#quickplay-screen .chat-host:hover .chat-title,#quickplay-screen .chat-host:hover .chat-status,#quickplay-screen .chat-host:hover .chat-composer,#quickplay-screen .chat-host:focus-within .chat-title,#quickplay-screen .chat-host:focus-within .chat-status,#quickplay-screen .chat-host:focus-within .chat-composer,#quickplay-screen .qp-roster-panel:hover>.qp-tower-header,#quickplay-screen .qp-roster-panel:focus-within>.qp-tower-header{opacity:1}#quickplay-screen .chat-host:hover .chat-panel,#quickplay-screen .chat-host:focus-within .chat-panel,#quickplay-screen .qp-roster-panel:hover,#quickplay-screen .qp-roster-panel:focus-within{background:var(--panel);border-color:var(--line)}#quickplay-screen .chat-host,#quickplay-screen .qp-roster-panel,#quickplay-screen .qp-altitude-bar{transform:translate(calc(var(--px, 0px) * var(--d)),calc(var(--py, 0px) * var(--d)))}#quickplay-screen .chat-host,#quickplay-screen .qp-roster-panel{--d: .6}#quickplay-screen .qp-altitude-bar{--d: -.35}.stat-rail-host{align-self:stretch;display:flex;align-items:flex-start}.stat-rail-host>.stat-rail{flex:1}.stat-rail{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) .55rem;min-width:6.5rem;background:var(--panel);border:1px solid var(--line)}.stat-row{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}.stat-label{font-family:var(--mono);font-size:var(--text-2xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}.stat-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-xl);font-weight:700;color:var(--ink)}.stat-rate{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--accent)}.stat-frac{font-size:.62em;opacity:.75}.qp-connection{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:3;margin:0;padding:.45rem var(--space-7);background:var(--panel-2);border:1px solid var(--line-bright);color:var(--ink);font-family:var(--mono);font-size:var(--text-sm);text-align:center}.chat-panel{gap:var(--space-4)}.chat-log{display:flex;flex-direction:column;gap:.25rem;min-height:6rem;max-height:min(26rem,42vh);overflow-y:auto;padding:var(--space-3);background:#00000047;border:1px solid var(--line)}.chat-line{margin:0;font-family:var(--sans);font-size:var(--text-sm);line-height:1.35;color:var(--ink);overflow-wrap:anywhere;animation:chat-line-in .16s ease-out}.chat-name{margin-right:var(--space-3);font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-dim)}.chat-name:after{content:":"}.chat-line-mine .chat-name{color:var(--cyan)}.chat-name-admin{background-image:var(--admin-sheen);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 4px rgba(255,255,255,.35));animation:chat-admin-sheen 4s linear infinite}.chat-badge{margin-right:.35rem;padding:0 .25rem;font-family:var(--mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:.08em;color:var(--void);background-image:var(--admin-sheen);background-size:200% 100%;animation:chat-admin-sheen 4s linear infinite}@keyframes chat-admin-sheen{0%{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.chat-name-admin,.chat-badge{animation:none}}.chat-status{margin:0;font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-dim)}.chat-composer{display:flex;gap:var(--space-3)}.chat-input{flex:1;min-width:0;padding:var(--space-3) var(--space-4);background:#00000052;border:1px solid var(--line);color:var(--ink);font-family:var(--sans);font-size:var(--text-sm)}.chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.35)}.chat-send{padding:var(--space-3) var(--space-6);font-size:var(--text-sm)}@keyframes chat-line-in{0%{opacity:0;transform:translateY(.3rem)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.chat-line{animation:none}}#gate-choice,#gate-account,#gate-guest{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-7)}#gate-account>.panel,#gate-guest>.panel{width:min(28rem,100%)}.gate-status{margin:0;min-height:1.1em;font-family:var(--mono);font-size:var(--text-xs);color:var(--accent)}.gate-note{margin:0;font-size:var(--text-xs);line-height:1.4;color:var(--ink-dim)}.identity-gap{flex:1}.identity-name{font-family:var(--mono);color:var(--ink);letter-spacing:.04em}.identity-guest{color:var(--ink-dim)}.identity-strip .back{align-self:auto}.chat-lock{margin:0;font-size:var(--text-xs);line-height:1.35;color:var(--ink-dim)}.chat-input:disabled,.chat-send:disabled{opacity:.45;cursor:not-allowed}.chat-lock-link{padding:0;border:none;background:none;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.chat-lock-link:hover{background:none;border:none;box-shadow:none;color:var(--ink)}.chat-lock-link:active{transform:none}.profile-panels{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:var(--space-6)}.profile-card{display:flex;gap:var(--space-7);align-items:center;padding:var(--space-7);background:var(--panel);border:1px solid var(--line);width:100%;margin:0 0 var(--space-6);text-align:left}.profile-card-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.profile-name{font-size:var(--text-2xl);font-weight:800;letter-spacing:.02em;margin:0}.profile-tagline{margin:0;font-size:var(--text-md);color:var(--ink)}.profile-bio{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--ink-dim);white-space:pre-wrap}.profile-placeholder{color:var(--ink-dim);font-style:italic}.profile-panel .hint{margin:0}.profile-accents{display:inline-flex;gap:var(--space-3)}.profile-swatch{width:1.5rem;height:1.5rem;padding:0;border:1px solid rgba(0,0,0,.5);cursor:pointer}.profile-swatch:hover{box-shadow:0 0 10px -2px currentColor}.profile-swatch.selected{box-shadow:0 0 0 2px var(--void),0 0 0 4px var(--ink)}.profile-bio-label{align-items:flex-start}.profile-import{display:block;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--ink-dim)}.replay-count{font-size:var(--text-xs);letter-spacing:.08em;color:var(--ink-dim);font-weight:500}.replay-list{list-style:none;margin:var(--space-4) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.replay-row{display:flex;gap:var(--space-6);align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--panel-2);border:1px solid var(--line);text-align:left}.replay-row-text{min-width:0}.replay-row-title{margin:0;font-weight:700;font-size:var(--text-md)}.replay-row-meta{margin:0;font-size:var(--text-xs);color:var(--ink-dim)}.replay-rename{font:inherit;font-weight:700;color:var(--ink);background:var(--panel);border:1px solid var(--accent);padding:.1rem var(--space-2)}.replay-row-actions{display:flex;gap:var(--space-2);flex-shrink:0}.replay-boards{--replay-foot-extra: 3rem;--fit-chrome-x: 15rem;--fit-cols: 16;--fit-chrome-y: calc(var(--stage-chrome-y) + var(--replay-foot-extra));display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:var(--board-gap)}@media(max-width:70rem){.replay-boards{--replay-foot-extra: 6rem}}.replay-title{letter-spacing:.06em;text-transform:none;font-size:var(--text-md)}.replay-seat-label{font-weight:700}@media(min-width:761px){.replay-seat-label{order:1}}.replay-transport{width:min(var(--width-transport),100%);flex-direction:row;flex-wrap:wrap;gap:var(--space-5);justify-content:center;margin-top:var(--space-6)}@media(min-width:761px){.replay-transport{align-items:center;margin-top:var(--space-3);padding:var(--space-4) var(--space-6)}}.replay-scrub{flex:1 1 16rem;min-width:10rem}.replay-time{font-variant-numeric:tabular-nums;font-size:var(--text-md);color:var(--ink-dim)}:root{--touch-pad-h: 0px}body.touch-pad-open{--touch-pad-h: calc(4.4rem + env(safe-area-inset-bottom, 0px)) }body{min-height:100dvh;overscroll-behavior:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#bg-shader,.room-backdrop{height:100dvh}#app{padding-bottom:calc(1.5rem + var(--touch-pad-h))}button:disabled{opacity:.4;cursor:default}button:disabled:hover{background:var(--panel);border-color:var(--line);box-shadow:none}.menu-small-screen{width:100%;text-align:center;line-height:1.45}.touch-pad{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;gap:.75rem;padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,var(--void) 40%,rgba(8,8,15,.86));border-top:1px solid rgba(var(--accent-rgb),.35);touch-action:none;user-select:none;-webkit-user-select:none}.touch-cluster{display:flex;flex:1;gap:.4rem}.touch-pad button{flex:1;min-width:0;min-height:3.2rem;padding:0;font-size:1.25rem;line-height:1;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid rgba(var(--accent-rgb),.4);touch-action:none}.touch-pad button.touch-key-down{background:linear-gradient(160deg,rgba(var(--accent-rgb),.38),var(--panel-2));border-color:var(--accent);box-shadow:0 0 18px -6px var(--accent);transform:none}.touch-gestures{touch-action:none}@media(pointer:coarse){#solo-screen>.hint{display:none}}@media(max-width:760px){body{align-items:flex-start}#app{padding:.7rem .6rem calc(.9rem + var(--touch-pad-h));gap:.45rem}:root{--head-width: min(24rem, 100%);--head-pad: .2rem}#app>h1{font-size:clamp(1.6rem,7.5vw,2.4rem);margin:.2rem 0 .7rem;width:100%;max-width:24rem;padding-left:.2rem}#menu{width:100%;max-width:24rem;padding:1rem .2rem}.menu-secondary{grid-auto-flow:row}.menu-card{padding:.8rem 1rem}.menu-card-primary{padding:1.1rem 1rem}.menu-card-primary .menu-card-title{font-size:1.4rem}.screen-head{flex-wrap:wrap}.identity-strip{justify-content:center}.identity-gap{display:none}#gate-screen,#settings-screen,#profile-screen,#howto-screen,#character-select-screen{width:100%;max-width:24rem;padding:0 .2rem 1rem}#solo-screen{width:100%;padding:0}.board-with-next{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:start;gap:.45rem;padding:.45rem}.board-with-next>.board-stack{grid-column:1;grid-row:1 / span 2}.board-with-next>.next-piece{grid-column:2;grid-row:1}.board-with-next>.stat-rail-host{grid-column:2;grid-row:2}.board-field-row{gap:.5rem}.qp-watch{padding-right:calc(var(--cell-size) * 2 + 1.5rem + 2px)}.stat-rail{min-width:5.5rem}#solo-screen{--cell-size: min( calc((100vw - 30px)/8) , calc((100dvh - 9.6rem - var(--touch-pad-h)) / 13), 74px)}#solo-screen[data-lesson] .board-field-row{display:grid;grid-template-columns:auto auto;justify-content:center}.lesson{grid-column:1 / -1;width:auto;padding:.6rem .8rem;gap:.4rem}#solo-screen[data-lesson]{--cell-size: min( calc((100vw - 30px)/8) , calc((100dvh - 9.6rem - 12rem - var(--touch-pad-h)) / 13), 74px )}.settings-columns,.profile-panels{grid-template-columns:1fr}.profile-card{flex-direction:column;text-align:center;padding:.8rem}.replay-row{flex-wrap:wrap}.replay-boards{--cell-size: min( calc((100vw - 30px)/8) , calc((100dvh - 16.7rem) / 13), 64px)}.character-grid{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));gap:.4rem}}@media(max-height:460px)and (orientation:landscape)and (pointer:coarse){body.touch-pad-open{--touch-pad-h: 0px}.touch-pad{top:0;justify-content:space-between;align-items:flex-end;padding:.5rem calc(.5rem + env(safe-area-inset-right,0px)) calc(.6rem + env(safe-area-inset-bottom,0px)) calc(.5rem + env(safe-area-inset-left,0px));background:none;border-top:none;pointer-events:none}.touch-cluster{flex:0 0 auto;pointer-events:auto}.touch-pad button{width:3.4rem;min-height:2.9rem}#app{padding-top:.4rem}#solo-screen>.hint{display:none}#solo-screen{--cell-size: min( calc((100vw - 16rem)/8) , calc((100dvh - 6.3rem) / 13), 74px)}#solo-screen[data-lesson]{--cell-size: min( calc((100vw - 33.5rem)/8) , calc((100dvh - 6.3rem) / 13), 74px)}}
