:root{--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--brand:#6d5efc;--brand-2:#9b6bff;--brand-ink:#fff;--gold:#ffc24b;--mint:#2fd6a3;--rose:#ff5d73;--bg:#f3f4f9;--surface:#fff;--surface-2:#f6f7fb;--surface-3:#eceef6;--line:#e2e5ef;--line-strong:#cfd4e3;--text:#171a2c;--muted:#687089;--faint:#9aa1b8;--accent:var(--brand);--accent-soft:#eeecff;--ok:#17a673;--warn:#c98712;--err:#e0445b;--shadow-1:0 1px 2px #1418320f, 0 1px 1px #1418320a;--shadow-2:0 6px 24px #1418321a, 0 2px 6px #1418320f;--shadow-3:0 18px 50px #0f122838;--radius-s:8px;--radius:12px;--radius-l:18px;--ring:0 0 0 3px color-mix(in srgb, var(--brand) 35%, transparent);--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1020;--surface:#171a2d;--surface-2:#1d2136;--surface-3:#252a44;--line:#2a2f4a;--line-strong:#3a4066;--text:#eef0fa;--muted:#a0a7c2;--faint:#6f7695;--accent-soft:#2a2752;--ok:#3fd29c;--warn:#f2b84b;--err:#ff7186;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 8px 28px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}#app{height:100%}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--ring);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-1);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:var(--brand-ink);box-shadow:0 6px 16px color-mix(in srgb, var(--brand) 35%, transparent);border-color:#0000}.btn.primary:hover{filter:brightness(1.06)}.btn.accent{background:var(--accent-soft);border-color:color-mix(in srgb, var(--brand) 30%, transparent);color:var(--brand)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3)}.btn.small{min-height:30px;padding:0 10px;font-size:12.5px}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;flex:none;place-items:center;width:32px;height:32px;font-size:15px;line-height:1;transition:background .15s,border-color .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong)}.icon-btn.ghost{background:0 0;border-color:#0000}.icon-btn.ghost:hover{background:var(--surface-3)}.icon-btn.danger:hover{color:var(--err)}.icon-btn:disabled{opacity:.4;cursor:default}.link-btn{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.link-btn.danger{color:var(--err)}.btn-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.seg{background:var(--surface-3);border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex}.seg-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:5px 11px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s}.seg-btn:hover{color:var(--text)}.seg-btn.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;display:flex;position:relative}.toggle input{opacity:0;pointer-events:none;width:36px;height:21px;margin:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.switch{background:var(--line-strong);width:36px;height:21px;transition:background .2s var(--ease);border-radius:999px;flex:none;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2.5px;left:2.5px;box-shadow:0 1px 3px #0000004d}.toggle input:checked+.switch{background:var(--brand)}.toggle input:checked+.switch:after{transform:translate(15px)}.toggle input:focus-visible+.switch{box-shadow:var(--ring)}.range{grid-template-columns:56px minmax(0,1fr) 46px;align-items:center;gap:10px;margin:6px 0;display:grid}.range-label{color:var(--muted);font-size:13px}.range output{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}input[type=range]{width:100%;accent-color:var(--brand)}input[type=color]{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;width:34px;height:30px;padding:2px}.select{border:1px solid var(--line);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;cursor:pointer;border-radius:10px;min-height:34px;padding:0 30px 0 10px;font-size:13px}.select.small{background-position:right 8px center;min-height:28px;padding-left:8px;padding-right:24px;font-size:12.5px}.help{color:var(--muted);margin:6px 0;font-size:12.5px;line-height:1.55}.fine-print{color:var(--faint);margin:12px 4px;font-size:12px;line-height:1.6}.empty-note{border:1.5px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center;margin:8px 0;padding:18px 14px;font-size:13px}.chip{background:var(--surface-3);height:20px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.chip.ok{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.chip.warn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.chip.bad{background:color-mix(in srgb, var(--err) 14%, transparent);color:var(--err)}kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:22px;font:600 11.5px/1.5 var(--font-mono);text-align:center;border-bottom-width:2px;border-radius:6px;padding:1px 6px;display:inline-block}.toast-host{z-index:80;pointer-events:none;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{color:#fff;max-width:min(560px,100vw - 32px);box-shadow:var(--shadow-3);animation:toast-in .25s var(--ease);background:#1c1f35;border-radius:12px;padding:10px 16px;font-size:13.5px}.toast.ok{background:#0f5c45}.toast.error{background:#8f2234}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.spinner{border:3px solid color-mix(in srgb, currentColor 20%, transparent);border-top-color:currentColor;border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.route-loading{height:100%;color:var(--brand);place-items:center;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.face-dialog{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:min(960px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);box-shadow:var(--shadow-3);padding:24px;overflow:auto}.face-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0c1e99}.face-dialog h2{letter-spacing:-.01em;margin:0 0 8px;font-size:22px}.face-dialog h3{margin:12px 0;font-size:15px}.face-columns{grid-template-columns:1fr 1.2fr;gap:24px;display:grid}.face-columns section{min-width:0}.face-dialog canvas{border-radius:var(--radius);background:repeating-conic-gradient(#e1e5e8 0% 25%,#f7f8fa 0% 50%) 0/16px 16px;max-width:100%;height:auto;display:block}.face-dialog canvas[tabindex]{cursor:grab;touch-action:none}.face-dialog canvas[tabindex]:active{cursor:grabbing}.face-columns>section>canvas{width:100%;max-width:300px;margin:12px auto 0}.face-previews{grid-template-columns:2fr 1fr;align-items:start;gap:8px;max-width:390px;margin-inline:auto;display:grid}.face-previews canvas{width:100%}.face-dialog .range{grid-template-columns:100px minmax(0,1fr) 46px;margin:10px 0}.face-dialog .range-label{min-width:0}.face-dialog .help{line-height:1.6}.face-dialog footer{z-index:1;background:var(--surface);justify-content:flex-end;gap:10px;padding:12px 0;display:flex;position:sticky;bottom:-24px}.face-cutout{align-items:center;gap:14px;margin-top:12px;display:flex}.face-cutout canvas{flex:none;width:56px}.face-cutout strong{font-size:13px}.face-cutout .help{margin:6px 0;font-size:12px}.face-adjustments summary{color:var(--muted);cursor:pointer;margin-block:10px;font-size:13px}.face-status{min-height:1.6em;color:var(--muted);font-size:13px}@media (max-width:620px){.face-dialog{padding:16px}.face-columns{grid-template-columns:1fr;gap:12px}.face-previews{max-width:380px}.face-dialog footer{bottom:-16px}}.game-screen{--g-ink:#f4f5ff;--g-dim:#e8ecffa8;--g-glass:#1012289e;--g-glass-2:#1c1f42c7;--g-edge:#ffffff1f;--g-edge-2:#fff3;--g-gold:#ffd166;--g-rose:#ff5d73;--g-mint:#3ee6b0;--g-sky:#5cc8ff;--g-brand:#7b6cff;--g-blur:blur(14px) saturate(140%);height:100dvh;min-height:320px;color:var(--g-ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#0b0d1c;position:relative;overflow:hidden}.game-screen:focus,.game-screen:focus-visible{box-shadow:none;outline:none}.game-canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.gbtn{border:1px solid var(--g-edge-2);min-height:44px;color:var(--g-ink);letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .15s, border-color .15s, transform .1s var(--ease), box-shadow .15s;background:#ffffff12;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:700;display:inline-flex}.gbtn:hover{background:#ffffff24;border-color:#ffffff57}.gbtn:active{transform:translateY(1px)scale(.98)}.gbtn:focus-visible{box-shadow:0 0 0 3px #7b6cff99}.gbtn.primary{color:#fff;text-shadow:0 1px 1px #500a1e59;background:linear-gradient(135deg,#ffb547,#ff6a5c 55%,#e8478c);border-color:#0000;box-shadow:0 8px 22px #ff6a5c61,inset 0 1px #ffffff59}.gbtn.primary:hover{filter:brightness(1.07)}.gbtn.ghost{color:var(--g-dim);background:0 0;border-color:#0000}.gbtn.ghost:hover{color:var(--g-ink);background:#ffffff14}.gbtn.big{border-radius:14px;min-height:54px;padding:0 28px;font-size:17px}.gbtn.wide{width:100%}.gbtn.square{border-radius:14px;width:54px;min-height:54px;padding:0}.gbtn.square .gbtn-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.gbtn.gbtn-editor{border-radius:14px;min-height:54px}.gbtn-icon{font-size:1.1em;line-height:1}.game-screen .seg{border:1px solid var(--g-edge);background:#ffffff14}.game-screen .seg-btn{color:var(--g-dim);padding:6px 14px;font-size:13px}.game-screen .seg-btn:hover{color:var(--g-ink)}.game-screen .seg-btn.on{background:var(--g-ink);color:#14162e}.game-screen kbd{border-color:var(--g-edge-2);color:var(--g-ink);background:#ffffff14}.game-layer{z-index:20;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));pointer-events:none;place-items:center;transition:background .25s;display:grid;position:absolute;inset:0}.game-layer:empty{display:none}.game-layer>*{pointer-events:auto}.phase-title .game-layer{background:linear-gradient(#0809189e 0%,#08091800 28%),linear-gradient(#08091800 84%,#08091861 100%)}.phase-pause .game-layer,.phase-settings .game-layer,.phase-records .game-layer,.phase-backgrounds .game-layer,.phase-results .game-layer{-webkit-backdrop-filter:blur(6px);background:#0708168c;overflow-y:auto}.gt-title{grid-template-rows:auto 1fr auto;justify-items:center;width:100%;max-width:1120px;height:100%;display:grid;pointer-events:none!important}.gt-title button,.gt-dock,.gt-quick-menu{pointer-events:auto}.gt-logo{text-align:center;animation:logo-in .7s var(--ease) both;margin-top:clamp(8px,4vh,40px)}.gt-logo h1{letter-spacing:-.04em;color:#fff;text-shadow:0 4px #14103c8c,0 14px 40px #00000073;margin:0;font-size:clamp(46px,9vw,104px);font-weight:900;line-height:.95}.gt-logo h1 b{background:linear-gradient(135deg,#ffd166,#ff6a5c 60%,#e8478c);color:#0000;text-shadow:none;filter:drop-shadow(0 4px #3c0a2880);-webkit-background-clip:text;background-clip:text;margin-left:.04em}.gt-logo p{color:var(--g-dim);letter-spacing:.02em;text-shadow:0 1px 6px #0009;margin:10px 0 0;font-size:clamp(13px,1.6vw,16px);font-weight:600}.gt-logo.small h1{font-size:44px}.gt-press{color:#fff;letter-spacing:.06em;background:#08091873;border-radius:999px;align-self:end;margin:0 0 10px;padding:6px 14px;font-size:12px;font-weight:700;animation:1.6s ease-in-out infinite press}@keyframes press{50%{opacity:.35}}@keyframes logo-in{0%{opacity:0;transform:translateY(-14px)scale(.97)}}.gt-dock{border:1px solid var(--g-edge);background:var(--g-glass);width:max-content;max-width:100%;-webkit-backdrop-filter:var(--g-blur);animation:dock-in .6s .1s var(--ease) both;border-radius:18px;align-self:end;align-items:center;gap:8px;padding:8px;display:flex;box-shadow:0 8px 24px #0000004d}@keyframes dock-in{0%{opacity:0;transform:translateY(18px)}}.gt-hero{align-items:center;gap:4px;display:flex}.gt-portrait{width:100%;height:100%;display:block}.gt-thumb{border:1px solid var(--g-edge-2);cursor:pointer;background:radial-gradient(circle at 50% 35%,#ffffff38,#ffffff0a);border-radius:10px;flex:none;width:44px;height:44px;padding:0;transition:border-color .15s;position:relative;overflow:hidden}.gt-thumb:hover{border-color:#ffffffa6}.gt-background-thumb{width:80px}.gt-background-thumb canvas{object-fit:cover;width:100%;height:100%;display:block}.gt-level{color:#fff;pointer-events:none;background:#080918b3;border-radius:4px;padding:1px 4px;font:700 9px/1.3 system-ui,sans-serif;position:absolute;bottom:2px;right:3px}.gt-kicker{color:var(--g-dim);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.gt-arrow{width:32px;height:44px;color:var(--g-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;padding:0 0 3px;font-size:22px;line-height:1;transition:background .15s;display:grid}.gt-arrow:hover{background:#ffffff29}.gt-play{border-radius:10px;min-height:44px;padding:0 14px}.gt-more-button{border:1px solid var(--g-edge);width:40px;height:44px;color:var(--g-ink);cursor:pointer;background:#ffffff12;border-radius:10px;padding:0;font-size:24px}.gt-more-button:hover,.gt-more-button[aria-expanded=true]{background:#ffffff29}.gt-thumb:focus-visible,.gt-arrow:focus-visible,.gt-more-button:focus-visible{outline:2px solid var(--g-gold);outline-offset:2px}.gt-quick-menu{inset:auto auto max(88px, calc(env(safe-area-inset-bottom) + 72px)) 50%;width:min(300px,100vw - 32px);max-height:calc(100dvh - var(--project-bar-height,0px) - 112px);border:1px solid var(--g-edge-2);color:var(--g-ink);background:#161830f5;border-radius:16px;margin:0;padding:16px;position:fixed;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 32px #00000059}.gt-quick-menu:popover-open{gap:8px;display:grid}.gt-quick-links{gap:6px;margin-top:6px;display:grid}.gt-quick-links .gbtn{justify-content:flex-start}.gt-best{color:var(--g-gold);font-variant-numeric:tabular-nums;margin:0;font-size:12.5px;font-weight:700}.gt-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gt-card{border:1px solid var(--g-edge);background:var(--g-glass-2);width:min(400px,100%);-webkit-backdrop-filter:var(--g-blur);animation:card-in .28s var(--ease) both;border-radius:22px;gap:10px;margin:auto;padding:26px;display:grid;box-shadow:0 24px 70px #0000008c}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}.gt-card h2{letter-spacing:-.01em;text-align:center;margin:0 0 6px;font-size:24px;font-weight:900}.gt-card h3{color:var(--g-dim);letter-spacing:.12em;text-transform:uppercase;margin:12px 0 0;font-size:12px;font-weight:800}.gt-note{color:var(--g-dim);text-align:center;margin:4px 0 0;font-size:12.5px;line-height:1.55}.gt-card .gt-actions{justify-content:center;margin-top:8px}.gt-settings{row-gap:4px;width:min(460px,100%)}@media (min-width:760px){.gt-settings{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:32px;width:min(780px,100%)}.gt-settings>*{grid-column:1}.gt-settings>h2,.gt-settings>.gbtn{grid-column:1/-1}.gt-settings>h3{grid-area:2/2;align-self:center;margin:0}.gt-settings>.gt-keys{grid-area:3/2/span 6;align-self:start;margin:0}.gt-settings>.gbtn{justify-self:center;width:min(320px,100%);margin-top:10px}}.gt-row{grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:42px;font-size:14px;font-weight:600;display:grid}.gt-row input[type=range]{width:160px;accent-color:var(--g-gold)}.gt-row output{min-width:40px;color:var(--g-dim);font-variant-numeric:tabular-nums;text-align:right}.gt-row .seg{grid-column:2/-1}.gt-switch{cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;font-size:14px;font-weight:600;display:flex;position:relative}.gt-switch input{opacity:0;pointer-events:none;position:absolute}.gt-switch i{width:42px;height:24px;transition:background .2s var(--ease);background:#ffffff2e;border-radius:999px;position:relative}.gt-switch i:after{content:"";width:18px;height:18px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0006}.gt-switch input:checked+i{background:linear-gradient(135deg,#ffb547,#ff6a5c)}.gt-switch input:checked+i:after{transform:translate(18px)}.gt-switch input:focus-visible+i{box-shadow:0 0 0 3px #7b6cff99}.gt-keys{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;margin:4px 0 8px;font-size:13px;display:grid}.gt-keys dt{text-align:right;white-space:nowrap}.gt-keys dd{color:var(--g-dim);margin:0}.gt-result{text-align:center;gap:16px;width:min(520px,100%)}.gt-result-head{letter-spacing:.02em;margin:0;font-size:clamp(30px,5vw,42px);font-weight:900;line-height:1}.gt-result.clear .gt-result-head{background:linear-gradient(135deg, #fff1b8, var(--g-gold) 45%, #ff9f43);color:#0000;-webkit-background-clip:text;background-clip:text}.gt-result.over .gt-result-head{color:var(--g-rose)}.gt-result-main{justify-content:center;align-items:center;gap:22px;display:flex}.gt-rank{background:color-mix(in srgb, currentColor 14%, transparent);border:2px solid;border-radius:24px;place-items:center;width:92px;height:92px;font-size:58px;font-weight:900;line-height:1;animation:.6s cubic-bezier(.2,1.6,.4,1) .15s both rank-in;display:grid}@keyframes rank-in{0%{opacity:0;transform:scale(2.2)rotate(-12deg)}}.rank-S{color:var(--g-gold)}.rank-A{color:var(--g-mint)}.rank-B{color:var(--g-sky)}.rank-C{color:#b9a6ff}.rank-D,.rank-none{color:#ffffff8c}.gt-result-score{text-align:left;justify-items:start;display:grid}.gt-result-score span{color:var(--g-dim);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:800}.gt-result-score strong{font-variant-numeric:tabular-nums;font-size:40px;font-weight:900;line-height:1.1}.gt-result-score em{background:var(--g-gold);color:#3a2500;letter-spacing:.06em;border-radius:999px;padding:2px 10px;font-size:12px;font-style:normal;font-weight:900;animation:1.2s ease-in-out infinite press}.gt-result-score small{color:var(--g-dim);font-variant-numeric:tabular-nums;font-size:12.5px}.gt-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.gt-stat{border:1px solid var(--g-edge);background:#ffffff0a;border-radius:14px;padding:10px 6px}.gt-stat dt{color:var(--g-dim);font-size:11.5px;font-weight:700}.gt-stat dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:19px;font-weight:800}.gt-records{width:min(640px,100%)}.gt-records table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13.5px}.gt-records th,.gt-records td{border-bottom:1px solid var(--g-edge);text-align:left;white-space:nowrap;padding:10px 8px}.gt-records thead th{color:var(--g-dim);letter-spacing:.06em;font-size:11.5px;font-weight:800}.gt-records .num,.gt-records thead th:not(:first-child){text-align:right}.gt-records .rank-cell{font-size:18px;font-weight:900}.game-banners{z-index:15;pointer-events:none;place-items:start center;padding-top:24vh;display:grid;position:absolute;inset:0}.gt-banner{animation:banner 1.6s var(--ease) both;background:linear-gradient(90deg,#0000,#080918b3 20% 80%,#0000);justify-items:center;gap:4px;padding:12px 40px;display:grid}.gt-banner strong{letter-spacing:.08em;text-shadow:0 4px 20px #0009;font-size:clamp(26px,5vw,46px);font-weight:900}.gt-banner span{color:var(--g-dim);font-size:14px;font-weight:700}.gt-banner.boss strong{color:var(--g-rose);animation:.5s .15s 2 boss-shake}@keyframes banner{0%{opacity:0;transform:scaleX(.6)}14%,78%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@keyframes boss-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.game-hint{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:12;max-width:calc(100% - 32px);color:var(--g-dim);text-align:center;pointer-events:none;animation:card-in .4s var(--ease) both;background:#08091899;border-radius:999px;margin:0;padding:8px 16px;font-size:13px;font-weight:600;position:absolute;transform:translate(-50%)}.game-hint:empty{display:none}.game-loading{z-index:40;color:var(--g-dim);background:radial-gradient(circle at 50% 40%,#1d1f45,#0b0d1c 70%);place-content:center;justify-items:center;gap:14px;display:grid;position:absolute;inset:0}.game-loading p{margin:0;font-weight:600}.game-loading .spinner{color:var(--g-gold)}.ghud{z-index:10;padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));pointer-events:none;text-shadow:0 1px 4px #0000008c;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;display:grid;position:absolute;top:0;left:0;right:0}.game-screen[data-mode=demo] .ghud,.phase-title .ghud,.phase-loading .ghud{display:none}.ghud-left{border:1px solid var(--g-edge);background:var(--g-glass);min-width:0;-webkit-backdrop-filter:var(--g-blur);border-radius:16px;justify-self:start;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.ghud-portrait{background:radial-gradient(circle at 50% 35%,#ffffff38,#ffffff0a);border-radius:12px;flex:none;width:46px;height:46px}.ghud-id{min-width:0;display:grid}.ghud-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13.5px;font-weight:800;overflow:hidden}.ghud-hearts{gap:1px;font-size:18px;line-height:1.1;display:flex}.heart{color:var(--g-rose);filter:drop-shadow(0 0 4px #ff5d7399);transition:color .2s,transform .2s}.heart.empty{color:#fff3;filter:none;transform:scale(.85)}.ghud-center{justify-items:center;display:grid}.ghud-score-label{color:var(--g-dim);letter-spacing:.16em;font-size:10.5px;font-weight:800}.ghud-score{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:clamp(24px,3.4vw,34px);font-weight:900;line-height:1.05}.ghud-combo{color:var(--g-gold);grid-template-columns:auto auto auto;place-items:baseline center;gap:2px 6px;margin-top:4px;display:grid}.ghud-combo strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.ghud-combo-label{letter-spacing:.14em;font-size:11px;font-weight:900}.ghud-mult{color:#fff;font-size:13px;font-weight:900}.ghud-combo-bar{background:#ffffff26;border-radius:2px;grid-column:1/-1;width:100%;min-width:90px;height:3px;overflow:hidden}.ghud-combo-bar i{background:var(--g-gold);height:100%;display:block}.ghud-combo.bump strong{animation:bump .25s var(--ease)}@keyframes bump{40%{transform:scale(1.35)}}.ghud-right{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ghud-wave,.ghud-badge{border:1px solid var(--g-edge);background:var(--g-glass);letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:800}.ghud-badge{color:var(--g-sky);border-color:#5cc8ff80}.ghud-pause{border:1px solid var(--g-edge);background:var(--g-glass);width:40px;height:40px;color:var(--g-ink);cursor:pointer;pointer-events:auto;border-radius:12px;place-items:center;font-size:14px;font-weight:900;display:grid}.ghud-pause:hover{background:#ffffff29}.ghud-boss{width:min(520px,72vw);animation:card-in .4s var(--ease) both;grid-column:1/-1;justify-self:center;margin-top:4px}.ghud-boss-label{color:#ffb3bd;letter-spacing:.1em;text-align:center;margin-bottom:4px;font-size:12px;font-weight:900}.ghud-boss-track{background:#080918b3;border:1px solid #ff5d7380;border-radius:999px;height:10px;padding:2px}.ghud-boss-track i{height:100%;transition:width .25s var(--ease);background:linear-gradient(90deg,#ff3d5f,#ff8a5c);border-radius:999px;display:block;box-shadow:0 0 10px #ff3d5fb3}.ghud-vignette{z-index:5;opacity:0;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 120px 30px #ff1e3cbf}.ghud-vignette.hurt{animation:.45s ease-out hurt}.ghud-vignette.low{animation:1.1s ease-in-out infinite low}@keyframes hurt{0%{opacity:1}to{opacity:0}}@keyframes low{50%{opacity:.55}}.touch-pad{left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:18;pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute}.touch-actions{pointer-events:auto;align-items:flex-end;gap:10px;display:flex}.touch-btn{border:1px solid var(--g-edge-2);width:clamp(52px,13vw,66px);height:clamp(52px,13vw,66px);color:var(--g-ink);touch-action:none;-webkit-backdrop-filter:blur(6px);background:#10122873;border-radius:50%;place-items:center;font-size:22px;display:grid}.touch-btn.big{width:clamp(62px,16vw,78px);height:clamp(62px,16vw,78px);font-size:26px}.touch-btn.small{width:clamp(42px,10vw,50px);height:clamp(42px,10vw,50px);font-size:16px}.touch-btn:active,.touch-btn.on{background:#ffffff47}@media (pointer:coarse),(max-width:720px){.phase-play .touch-pad{display:flex}.phase-play .game-hint{top:96px;bottom:auto}}@media (max-width:820px){.gt-actions{justify-content:stretch}}@media (max-width:560px){.gt-background-thumb{width:68px}.gt-play{gap:6px;padding:0 10px}.ghud{grid-template-columns:1fr auto;gap:8px}.ghud-center{grid-area:2/1/auto/-1;justify-items:start}.ghud-name{max-width:110px}.ghud-wave{padding:5px 9px;font-size:11.5px}.gt-card{padding:20px 16px}.gt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-result-main{gap:14px}.gt-rank{width:74px;height:74px;font-size:46px}.gt-result-score strong{font-size:32px}.gt-records th:last-child,.gt-records td:last-child{display:none}.gt-row{grid-template-columns:1fr auto}.gt-row input[type=range]{width:120px}.gt-row output{display:none}}@media (max-width:380px){.phase-title .game-layer{padding-inline:max(10px, env(safe-area-inset-left)) max(10px, env(safe-area-inset-right))}.gt-dock{gap:6px;padding:6px}.gt-arrow{width:28px}.gt-hero-thumb{width:40px}.gt-background-thumb{width:56px}.gt-play{gap:0;width:44px;padding:0}.gt-play-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gt-more-button{width:36px}}@media (max-height:520px){.gt-logo{margin-top:0}.gt-logo h1{font-size:40px}.gt-logo p,.gt-press{display:none}}@media (prefers-reduced-motion:reduce){.gt-press,.ghud-vignette.low{animation:none}}.gb-menu{width:min(1060px,100%);max-height:calc(100dvh - var(--project-bar-height,0px) - 32px);grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:12px;min-height:0;overflow:hidden}.gb-header,.gb-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.gb-header h2{text-align:left}.gb-active{color:var(--g-dim);margin:6px 0 0;font-size:13px}.gb-filters{grid-template-columns:1.5fr 1fr 1fr;gap:10px;display:grid}.gb-filters input,.gb-filters select{color:#f1f5ff;width:100%;min-width:0;font:inherit;background:#252e49;border:1px solid #fff3;border-radius:12px;padding:10px 12px;font-size:13px}.gb-filters input::placeholder{color:#b6c2d6}.gb-count{color:var(--g-dim);font-size:12px}.gb-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;padding:4px;display:grid;overflow-y:auto}.gb-design{color:#edf2ff;text-align:left;cursor:pointer;background:#161d34;border:2px solid #ffffff24;border-radius:12px;min-width:0;padding:0;position:relative;overflow:hidden}.gb-design canvas{aspect-ratio:2;width:100%;height:auto;display:block}.gb-design span{white-space:nowrap;text-overflow:ellipsis;padding:8px 10px;font-size:12px;display:block;overflow:hidden}.gb-design i{color:#18213b;text-align:center;background:#ffd166;border-radius:50%;width:24px;height:24px;font-style:normal;font-weight:900;line-height:24px;display:none;position:absolute;top:7px;right:7px}.gb-design[aria-pressed=true]{border-color:#ffd166}.gb-design[aria-pressed=true] i{display:block}.gb-design:hover{border-color:#a5cde8}.gb-menu :focus-visible{outline-offset:3px;outline:3px solid #a4dfff}.gb-pager{align-items:center;gap:12px;display:flex}.gb-pages{text-align:center;font-variant-numeric:tabular-nums;min-width:52px}.gb-empty{text-align:center;color:var(--g-dim);grid-column:1/-1;padding:50px 16px}.gb-menu .gbtn:disabled{opacity:.35;cursor:default}.gt-settings>.gb-open{width:100%;margin-top:8px}@media (max-width:740px){.gb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gb-filters{grid-template-columns:1fr 1fr}.gb-filters input{grid-column:1/-1}}@media (max-width:480px){.gb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gb-header{align-items:flex-start;gap:8px}.gb-header .gbtn{padding:10px;font-size:12px}.gb-footer{flex-wrap:wrap}}.game-location{z-index:4;color:#e7effc;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0d172899;border-radius:10px;max-width:260px;margin:0;padding:6px 10px;font-size:11px;display:none;position:absolute;top:66px;right:16px;overflow:hidden}.phase-play .game-location{display:block}@media (max-width:480px){.game-location{max-width:210px;font-size:10px;top:61px;right:10px}}.gt-level-stars{color:var(--g-gold);letter-spacing:-.5px;pointer-events:none;background:#080918b3;border-radius:4px;padding:0 3px;font:700 8px/1.4 system-ui,sans-serif;position:absolute;top:2px;left:3px}.lv-menu{width:min(1120px,100%);max-height:calc(100dvh - var(--project-bar-height,0px) - 32px);grid-template-rows:auto auto minmax(0,1fr);gap:12px;min-height:0;overflow:hidden}.lv-head{align-items:center;gap:12px;display:flex}.lv-head h2{text-align:left;margin:0}.lv-total{color:var(--g-gold);font-variant-numeric:tabular-nums;background:#ffd16624;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}.lv-close{min-height:36px;margin-left:auto;padding:0 12px}.lv-chapters{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.lv-tab{border:1px solid var(--g-edge);min-width:0;color:var(--g-dim);text-align:left;cursor:pointer;background:#ffffff0d;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:7px;padding:6px 8px;display:grid}.lv-tab b{width:26px;height:26px;color:var(--g-ink);background:#ffffff1a;border-radius:8px;grid-row:1/3;place-items:center;font-size:13px;display:grid}.lv-tab-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.lv-tab small{color:var(--g-gold);font-size:11px;font-weight:700}.lv-tab[aria-selected=true]{border-color:var(--g-gold);color:var(--g-ink);background:#ffd1661f}.lv-tab[aria-selected=true] b{background:var(--g-gold);color:#2b1d00}.lv-tab.locked{opacity:.55}.lv-body{grid-template-columns:minmax(0,1fr) 320px;gap:14px;min-height:0;display:grid}.lv-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;min-height:0;padding:3px;display:grid;overflow-y:auto}.lv-card{min-width:0;color:var(--g-ink);text-align:left;cursor:pointer;transition:border-color .15s, transform .15s var(--ease);background:#161d34;border:2px solid #ffffff1f;border-radius:12px;padding:0 0 8px;display:grid;position:relative;overflow:hidden}.lv-card:hover{border-color:#a5cde8;transform:translateY(-2px)}.lv-card canvas{aspect-ratio:240/132;width:100%;height:auto;display:block}.lv-card-num{background:#080918b8;border-radius:6px;padding:1px 6px;font:800 11px/1.4 system-ui,sans-serif;position:absolute;top:6px;left:6px}.lv-card-badge{filter:drop-shadow(0 1px 2px #0009);font-size:16px;position:absolute;top:5px;right:6px}.lv-card-name{text-overflow:ellipsis;white-space:nowrap;padding:6px 8px 0;font-size:12px;font-weight:700;overflow:hidden}.lv-card-stars{color:var(--g-gold);letter-spacing:1px;padding:0 8px;font-size:13px}.lv-card.locked canvas{filter:grayscale(.85)brightness(.45)}.lv-card.locked .lv-card-name{color:var(--g-dim)}.lv-card[aria-pressed=true]{border-color:var(--g-gold);box-shadow:0 0 0 3px #ffd16640}.lv-detail{border:1px solid var(--g-edge);background:#08091859;border-radius:16px;flex-direction:column;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.lv-detail-preview{border-radius:10px;width:100%;height:auto;display:block}.lv-detail-kicker{color:var(--g-dim);margin:4px 0 0;font-size:12px;font-weight:700}.lv-detail h3{color:var(--g-ink);letter-spacing:0;text-transform:none;margin:0;font-size:17px;font-weight:900}.lv-facts,.lv-traits,.gt-banner-traits{flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none;display:flex}.lv-facts li,.lv-traits li,.gt-banner-traits li{color:var(--g-ink);background:#ffffff14;border-radius:999px;padding:3px 8px;font-size:11.5px;font-weight:700}.lv-traits .tone-boss,.gt-banner-traits .tone-boss{color:#ffb3bd;background:#ff5d7333}.lv-traits .tone-mod,.gt-banner-traits .tone-mod{color:#bfe9ff;background:#5cc8ff2e}.lv-traits .tone-new,.gt-banner-traits .tone-new{color:var(--g-gold);background:#ffd1662e}.lv-traits .tone-hp,.gt-banner-traits .tone-hp{color:var(--g-mint);background:#3ee6b02e}.lv-criteria{color:var(--g-dim);gap:4px;margin:2px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.lv-criteria li{gap:6px;display:flex}.lv-criteria li span{color:#ffffff59}.lv-criteria li.ok{color:var(--g-ink)}.lv-criteria li.ok span{color:var(--g-gold)}.lv-record,.lv-locked-note{color:var(--g-dim);margin:0;font-size:12px}.lv-play{width:100%;margin-top:auto}.gt-result-level{color:var(--g-dim);margin:0 0 -8px;font-size:13px;font-weight:800}.gt-stars{gap:2px;font-size:44px;line-height:1;display:flex}.gt-stars span{color:#ffffff2e}.gt-stars span.on{color:var(--g-gold);text-shadow:0 0 18px #ffd1668c;animation:star-in .5s calc(.25s + var(--i) * .22s) cubic-bezier(.2, 1.6, .4, 1) both}@keyframes star-in{0%{opacity:0;transform:scale(2.4)rotate(-25deg)}}.gt-criteria{color:var(--g-dim);text-align:left;gap:3px;margin:0 auto;padding:0;font-size:13px;list-style:none;display:grid}.gt-criteria li{gap:8px;display:flex}.gt-criteria li span{text-align:center;width:14px}.gt-criteria li.ok{color:var(--g-ink)}.gt-criteria li.ok span{color:var(--g-mint);font-weight:900}.gt-unlocked{color:var(--g-mint);margin:0;font-weight:800}.gt-menu-level{color:var(--g-dim);text-align:center;margin:-6px 0 4px;font-size:13px}.gt-progress-sum{justify-content:center;gap:14px;margin:0;display:flex}.gt-progress-sum strong{color:var(--g-gold)}.gt-banner.level{animation:banner-level 2.6s var(--ease) both;gap:6px;padding:16px 56px}.gt-banner.level small{color:var(--g-dim);letter-spacing:.08em;font-size:12px;font-weight:800}.gt-banner.level strong{color:var(--g-gold)}.gt-banner.level>span{color:var(--g-ink);font-size:clamp(16px,2.6vw,22px);font-weight:800}.gt-banner.level em{color:var(--g-dim);font-size:13px;font-style:normal}@keyframes banner-level{0%{opacity:0;transform:translateY(10px)}12%,85%{opacity:1;transform:none}to{opacity:0}}@media (max-width:900px){.lv-chapters{scrollbar-width:none;display:flex;overflow-x:auto}.lv-tab{flex:none}.lv-body{grid-template-columns:1fr;grid-auto-rows:max-content;overflow-y:auto}.lv-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-height:auto;overflow:visible}.lv-detail{min-height:auto;overflow:visible}.lv-detail-preview{display:none}}@media (max-width:560px){.lv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-tab-name{display:none}.gt-banner.level{padding:12px 24px}}.gt-star-total{color:var(--g-gold);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin:0;font-size:14px;font-weight:800;display:flex}.gt-star-total b{background:var(--g-gold);color:#3a2500;border-radius:999px;padding:1px 9px;font-size:12px;animation:.5s cubic-bezier(.2,1.6,.4,1) .9s both star-in}.gt-star-total.unsaved{color:#ffb3bd;flex-direction:column;font-size:13px}.gt-star-total.unsaved small{color:var(--g-dim);font-weight:700}.gt-stars.unsaved span.on{color:#ffd16659;text-shadow:none}html,body{overscroll-behavior:none}.game-screen{touch-action:manipulation;-webkit-touch-callout:none}.touch-pad{align-items:flex-end;gap:12px}.touch-move,.touch-actions{pointer-events:auto;align-items:flex-end;gap:10px;display:flex}.touch-stick{border:1px solid var(--g-edge-2);touch-action:none;-webkit-backdrop-filter:blur(6px);background:#10122880;border-radius:999px;grid-template-columns:1fr 1fr;width:clamp(136px,40vw,184px);height:clamp(64px,17vw,80px);display:grid;position:relative;overflow:hidden}.touch-stick:after{content:"";background:var(--g-edge-2);width:1px;position:absolute;top:22%;bottom:22%;left:50%}.touch-dir{color:var(--g-ink);pointer-events:none;place-items:center;font-size:24px;transition:background 80ms;display:grid}.touch-dir.on{background:#ffffff4d}.touch-btn span{pointer-events:none}.touch-btn{transition:transform 80ms,background 80ms}.touch-btn.on{background:#ffffff57;transform:scale(.93)}.touch-btn.attack{background:#ff6a5c52}.touch-btn.jump{background:#5cc8ff47}.touch-btn.shoot{margin-bottom:clamp(40px,12vw,56px)}.touch-btn.attack.on,.touch-btn.jump.on{background:#fff6}.game-screen[data-layout=portrait].phase-play:before{content:"";z-index:6;pointer-events:none;background:linear-gradient(#08091800 0,#0809188c 10%,#080918e0 38%);position:absolute;inset:60% 0 0}.game-screen[data-layout=landscape] .gt-rotate{display:none}.gt-rotate{letter-spacing:0;opacity:.8;margin-top:2px;font-size:11px;font-weight:600;display:block}.gt-quick-menu .gt-fullscreen{width:100%;margin-top:8px}@media (pointer:coarse),(max-width:720px){.game-screen[data-layout=portrait] .touch-pad{top:calc(60% + 52px);bottom:max(18px, env(safe-area-inset-bottom));align-items:center}.game-screen[data-layout=portrait] .touch-move{flex-direction:column;align-items:center}.game-screen[data-layout=portrait] .touch-stick{width:clamp(150px,44vw,200px);height:clamp(72px,20vw,92px)}.game-screen[data-layout=portrait] .touch-btn.big{width:clamp(70px,20vw,88px);height:clamp(70px,20vw,88px)}.game-screen[data-layout=portrait] .touch-actions{grid-template-columns:auto auto;grid-template-areas:"shoot.""attack jump";place-items:end center;gap:8px 12px;display:grid}.game-screen[data-layout=portrait] .touch-btn.shoot{grid-area:shoot;margin:0}.game-screen[data-layout=portrait] .touch-btn.attack{grid-area:attack}.game-screen[data-layout=portrait] .touch-btn.jump{grid-area:jump;margin-bottom:28px}.gt-arrow{width:40px;height:40px}.gbtn,.gt-switch{min-height:48px}.lv-tab{min-height:44px}}@media (max-width:420px){.ghud-name{display:none}.ghud-hearts{font-size:15px}.ghud-portrait{width:38px;height:38px}.ghud-left{padding:4px 10px 4px 4px}.ghud-boss{width:100%}}@media (max-height:480px){.ghud{padding-top:max(8px, env(safe-area-inset-top));gap:8px}.ghud-left{border-radius:12px;padding:3px 10px 3px 3px}.ghud-portrait{border-radius:9px;width:32px;height:32px}.ghud-name,.ghud-score-label,.game-location{display:none!important}.ghud-hearts{font-size:15px}.ghud-score{font-size:22px}.ghud-wave,.ghud-badge{padding:4px 9px;font-size:11px}.ghud-pause{width:34px;height:34px}.ghud-boss{width:min(420px,56vw);margin-top:0}.touch-pad{bottom:max(10px, env(safe-area-inset-bottom))}.touch-stick{width:150px;height:62px}.touch-btn{width:52px;height:52px}.touch-btn.big{width:64px;height:64px}.touch-btn.shoot{margin-bottom:40px}.game-layer>.gt-card{max-height:calc(100dvh - var(--project-bar-height,0px) - 20px);padding:16px 20px;overflow-y:auto}.gt-result{gap:10px}.gt-result-head{font-size:26px}.gt-stars{font-size:34px}.gt-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.gt-stat{padding:6px 4px}.gt-stat dd{font-size:15px}.lv-menu{max-height:calc(100dvh - var(--project-bar-height,0px) - 12px)}.lv-detail-preview{display:none}}@media (max-width:560px){.phase-pause .game-layer,.phase-settings .game-layer,.phase-records .game-layer,.phase-results .game-layer,.phase-levels .game-layer{padding:max(12px, env(safe-area-inset-top)) 0 0;place-items:end stretch}.game-layer>.gt-card{width:100%;max-height:calc(100dvh - var(--project-bar-height,0px) - 12px - env(safe-area-inset-top));padding:20px 16px calc(14px + env(safe-area-inset-bottom));overscroll-behavior:contain;animation:sheet-in .3s var(--ease) both;border-bottom:0;border-radius:22px 22px 0 0;margin:0;overflow-y:auto}.game-layer>.gt-card>.gt-actions{bottom:calc(-14px - env(safe-area-inset-bottom));z-index:2;margin:4px -16px calc(-14px - env(safe-area-inset-bottom));padding:12px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#1c1f4200 0,#1c1f42 28%);position:sticky}.gt-settings>.gbtn.primary{z-index:2;margin-top:8px;position:sticky;bottom:0;box-shadow:0 -16px 18px 4px #1c1f42,0 8px 22px #ff6a5c61}.gt-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gt-result .gt-actions{flex-wrap:nowrap}.gt-result .gt-actions .gbtn.big{flex:1;min-width:0;padding:0 12px}.gt-stat{padding:8px 4px}.gt-stat dd{font-size:16px}.gt-stars{font-size:38px}.lv-menu{height:calc(100dvh - var(--project-bar-height,0px) - 12px - env(safe-area-inset-top))}.lv-play{position:sticky;bottom:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(48px)}}@media (max-height:480px) and (min-width:600px){.gt-result{grid-template-columns:1fr 1fr;column-gap:16px;width:min(640px,100%)}.gt-result>*{grid-column:1/-1}.gt-result>.gt-result-main{grid-area:3/1/span 3;align-self:center}.gt-result>.gt-star-total{grid-area:3/2}.gt-result>.gt-criteria{grid-area:4/2;margin:0}.gt-result>.gt-unlocked{grid-area:5/2}.game-layer>.gt-card>.gt-actions{z-index:2;background:linear-gradient(#1c1f4200 0,#1c1f42 30%);margin:0 -20px -16px;padding:10px 20px 14px;position:sticky;bottom:-16px}.lv-menu{gap:8px;padding:12px 14px}.lv-head h2{font-size:18px}.lv-chapters{scrollbar-width:none;display:flex;overflow-x:auto}.lv-tab{flex:none;min-height:36px;padding:4px 8px}.lv-tab-name{display:none}.lv-body{grid-template-columns:minmax(0,1fr) 250px;grid-auto-rows:auto;overflow:hidden}.lv-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:0;overflow-y:auto}.lv-card-name{font-size:11px}.lv-detail{gap:6px;min-height:0;padding:10px;overflow-y:auto}.lv-detail h3{font-size:15px}.lv-play{min-height:44px;position:sticky;bottom:0}}:root{--project-bar-height:0px;--project-overlay-top:calc(44px + env(safe-area-inset-top,0px))}body{overflow:hidden}.project-switcher{box-sizing:border-box;top:calc(6px + env(safe-area-inset-top,0px));z-index:40;color:#dcebea;-webkit-backdrop-filter:blur(8px);background:#102c3d9c;border:1px solid #ffffff30;border-radius:12px;align-items:center;gap:2px;width:max-content;max-width:calc(100% - 16px);padding:3px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px 16px #08223125}.project-switcher a{box-sizing:border-box;min-height:28px;color:inherit;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:4px 12px;font-size:11px;font-weight:800;text-decoration:none;display:flex}.project-switcher a[aria-current=page]{color:#102f38;background:#8bd8bdd9;border-color:#b7f1db80}.project-switcher a:hover{border-color:#fff5}.project-switcher a:focus-visible{outline-offset:-3px;outline:3px solid #ffdf93}#app{height:100dvh;min-height:0}#app>.game-screen,#app>.qp-screen,#app>.ed-app{height:100%;min-height:0}#app .ghud{top:var(--project-overlay-top)}#app .gt-logo{margin-top:calc(var(--project-overlay-top) + 10px)}#app .game-location{top:calc(var(--project-overlay-top) + 66px)}#app .qp-hud{top:calc(var(--project-overlay-top) + 8px)}#app .qp-objective{top:calc(var(--project-overlay-top) + 102px)}#app .qp-overlay{padding-top:calc(var(--project-overlay-top) + 110px)}#app .qp-title,#app .qp-card{max-height:calc(100dvh - var(--project-overlay-top) - 140px)}@media (max-width:900px){#app .qp-objective{top:calc(var(--project-overlay-top) + 125px)}#app .qp-overlay{padding-top:calc(var(--project-overlay-top) + 150px)}#app .qp-title,#app .qp-card{max-height:calc(100dvh - var(--project-overlay-top) - 174px)}}@media (max-width:560px){.project-switcher{top:env(safe-area-inset-top,0px);border-radius:0 0 12px 12px;padding:0 3px}.project-switcher a{min-height:44px;padding:6px 9px;font-size:10px}#app .qp-objective{top:calc(var(--project-overlay-top) + 178px)}#app .qp-overlay{padding-top:calc(var(--project-overlay-top) + 180px)}#app .qp-title,#app .qp-card{max-height:calc(100dvh - var(--project-overlay-top) - 204px)}}@media (max-height:500px) and (min-width:561px){#app .qp-objective{top:calc(var(--project-overlay-top) + 76px)}#app .qp-overlay{padding-top:calc(var(--project-overlay-top) + 86px)}#app .qp-title,#app .qp-card{max-height:calc(100dvh - var(--project-overlay-top) - 108px)}}html[data-view=editor]{--project-bar-height:44px}html[data-view=editor] .project-switcher{border-radius:0;justify-content:center;width:100%;max-width:none;height:44px;position:relative;top:0;left:0;transform:none}html[data-view=editor] #app{height:calc(100dvh - 44px)}
