.landing{color:#fff;background:linear-gradient(170deg,#6d28d9 0%,#a21caf 30%,#e11d48 55%,#a21caf 78%,#6d28d9 100%);min-height:100%;overflow-x:clip}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;color:#1a1446;background:#fff;border-radius:10px;padding:8px 12px;top:12px;left:12px}.lp-nav{z-index:5;-webkit-backdrop-filter:blur(12px);background:#7c3aedd1;align-items:center;gap:16px;padding:12px clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.lp-logo{color:#fff;letter-spacing:.02em;align-items:center;gap:10px;font-size:22px;font-weight:900;text-decoration:none;display:flex}.lp-logo img{border-radius:50%;box-shadow:0 0 0 2px #fff9}.lp-links{gap:20px;margin-left:12px;display:flex}.lp-links a{color:#fff;font-weight:600;text-decoration:none}.lp-links a:hover{text-decoration:underline}.lp-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.lp-lang{color:#1a1446;background:#fffffff2;border:0;border-radius:10px;min-height:40px;padding:8px;font-weight:700}.lp-btn{font:inherit;cursor:pointer;min-height:44px;transition:transform .2s var(--ease), box-shadow .2s var(--ease);border:0;border-radius:999px;padding:10px 18px;font-weight:800}.lp-btn:hover{transform:translateY(-2px)}.lp-btn:active{transform:translateY(0)scale(.98)}.lp-btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.lp-btn-cta{background:var(--cta-gradient);color:#fff;text-shadow:0 1px 1px #00000040;box-shadow:0 10px 26px #ff3d7773}.lp-btn-light{color:#5b21b6;background:#fff;box-shadow:0 10px 26px #1a144640}.lp-btn-ghost{color:#fff;background:#1a144659;box-shadow:inset 0 0 0 2px #ffffffe6}.lp-btn-xl{min-height:56px;padding:16px 28px;font-size:18px}.lp-hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);max-width:1240px;margin:0 auto;padding:clamp(32px,6vw,80px) clamp(16px,5vw,64px);display:grid}.lp-kicker{color:#6d28d9;letter-spacing:.02em;background:#fffffff2;border-radius:999px;margin:0 0 12px;padding:6px 14px;font-size:14px;font-weight:800;display:inline-block}.lp-hero h1{letter-spacing:-.02em;text-shadow:0 4px 24px #4c1d9573;margin:0;font-size:clamp(40px,7vw,76px);font-weight:900;line-height:1.02}.lp-sub{text-shadow:0 1px 2px #3c0a5a80;max-width:60ch;margin:18px 0 26px;font-size:clamp(17px,2vw,21px);line-height:1.55}.lp-cta-row{flex-wrap:wrap;gap:12px;display:flex}.lp-chips{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.lp-chips li{background:#1a144659;border:1px solid #ffffff80;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}.lp-hero-art{position:relative}.lp-hero-art img{border-radius:32px;width:100%;height:auto;animation:6s ease-in-out infinite lp-bob;box-shadow:0 30px 80px #310a658c,0 0 0 6px #ffffff59}.lp-float{color:#1a1446;background:#fff;border-radius:16px;padding:10px 14px;font-size:15px;font-weight:800;animation:5s ease-in-out infinite lp-bob;position:absolute;box-shadow:0 14px 30px #1a14464d}.lp-f1{animation-delay:-1s;top:16%;left:-14px}.lp-f2{animation-delay:-2.5s;top:46%;right:-10px}.lp-f3{animation-delay:-4s;bottom:-14px;left:12%}@keyframes lp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lp-hero-art img,.lp-float{animation-iteration-count:3!important}.landing a:focus-visible,.landing button:focus-visible,.landing select:focus-visible,.landing summary:focus-visible,.landing-auth a:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #1a144699}.lp-section{text-align:center;max-width:1240px;margin:0 auto;padding:clamp(40px,6vw,72px) clamp(16px,5vw,64px)}.lp-section h2{letter-spacing:-.01em;text-shadow:0 3px 18px #4c1d9566;margin:0;font-size:clamp(30px,4.5vw,46px);font-weight:900}.lp-section-sub{max-width:62ch;margin:12px auto 32px;font-size:19px}.lp-grid{text-align:left;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none;display:grid}.lp-card{color:#1a1446;transition:transform .25s var(--ease), box-shadow .25s var(--ease);background:#fff;border-top:6px solid;border-radius:22px;padding:22px;box-shadow:0 16px 40px #310a6540}.lp-card:hover{transform:translateY(-6px)rotate(-.4deg);box-shadow:0 24px 50px #310a6559}.lp-card h3{margin:10px 0 6px;font-size:20px}.lp-card p{color:#463f72;margin:0;line-height:1.5}.lp-icon{border-radius:16px;place-items:center;width:56px;height:56px;font-size:30px;display:grid}.lp-c0{border-color:#7c3aed}.lp-c0 .lp-icon{background:#ede4ff}.lp-c1{border-color:#06b6d4}.lp-c1 .lp-icon{background:#d9f7fc}.lp-c2{border-color:#ff3d77}.lp-c2 .lp-icon{background:#ffe1ea}.lp-c3{border-color:#f59e0b}.lp-c3 .lp-icon{background:#fff1cc}.lp-how{background:#1a144638;border-radius:36px;margin-top:12px;margin-bottom:12px}.lp-steps{grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 32px;padding:0;list-style:none;display:grid}.lp-steps li{color:#1a1446;background:#fff;border-radius:22px;padding:24px;box-shadow:0 16px 40px #310a6540}.lp-steps h3{margin:12px 0 6px}.lp-steps p{color:#463f72;margin:0}.lp-step-n{background:var(--brand-gradient);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;font-weight:900;display:inline-grid}.lp-faq{text-align:left;gap:12px;max-width:820px;margin:28px auto 0;display:grid}.lp-faq details{color:#1a1446;background:#fff;border-radius:18px;padding:16px 20px;box-shadow:0 10px 28px #310a6533}.lp-faq summary{cursor:pointer;font-size:18px;font-weight:800}.lp-faq p{color:#463f72;margin:10px 0 0;line-height:1.55}.lp-final{text-align:center;background:linear-gradient(135deg,#0e7490 0%,#4f46e5 50%,#7c3aed 100%);border-radius:36px;max-width:1100px;margin:24px auto 0;padding:clamp(36px,6vw,64px) 20px;box-shadow:0 30px 70px #310a6566}.lp-final h2{margin:0;font-size:clamp(30px,4.5vw,46px);font-weight:900}.lp-final p{margin:10px 0 24px;font-size:19px}.lp-footer{padding:24px 16px 32px}.lp-footer footer{background:#fffffff2;border-radius:18px;max-width:900px;padding:14px;margin:16px auto 0!important}.lp-contact{text-align:center;text-shadow:0 1px 2px #3c0a5a80;margin:10px 0 0;font-weight:700}.landing-auth{background:var(--bg-gradient);min-height:100%;padding-top:12px}.landing-back{color:#fff;background:#1a144659;border-radius:999px;margin:8px 16px;padding:8px 14px;font-weight:800;text-decoration:none;display:inline-block}@media (max-width:980px){.lp-hero{text-align:center;grid-template-columns:1fr}.lp-sub{margin-left:auto;margin-right:auto}.lp-cta-row,.lp-chips{justify-content:center}.lp-grid{grid-template-columns:repeat(2,1fr)}.lp-links{display:none}}@media (max-width:380px){.lp-nav{gap:8px;padding-left:12px;padding-right:12px}.lp-logo span{display:none}.lp-actions{gap:6px}.lp-btn{padding:8px 12px}}@media (max-width:600px){.lp-grid,.lp-steps{grid-template-columns:1fr}.lp-hide-sm,.lp-float{display:none}.lp-btn-xl{width:100%}}@media (prefers-reduced-motion:reduce){.lp-hero-art img,.lp-float{animation:none}.lp-btn,.lp-card{transition:none}}:root[data-reduced-motion=true] .lp-hero-art img,:root[data-reduced-motion=true] .lp-float{animation:none}:root{--bg:#6d3bff;--bg-gradient:linear-gradient(135deg, #6d28d9 0%, #a21caf 50%, #e11d48 100%);--brand-gradient:linear-gradient(120deg, #7c3aed 0%, #6366f1 40%, #06b6d4 100%);--cta-gradient:linear-gradient(135deg, #c2410c 0%, #be123c 100%);--surface:#fffffff5;--surface-solid:#fff;--surface-2:#f0ebff;--border:#c4b5fd;--text:#1a1446;--muted:#463f72;--accent:#7c3aed;--accent-text:#fff;--input-bg:#fff;--input-border:#7568b8;--violet:#7c3aed;--cyan:#06b6d4;--coral:#ff3d77;--gold:#facc15;--green:#047857;--danger:#c81e1e;--info:#0369a1;--radius-s:10px;--radius-m:16px;--radius-l:24px;--shadow:0 14px 40px #4c1d9540;--ease:cubic-bezier(.16, 1, .3, 1);--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-contrast=high]{--surface:#000;--surface-solid:#000;--surface-2:#111;--border:#fff;--text:#fff;--muted:#fff;--accent:#ffd84d;--accent-text:#000;--input-bg:#000;--input-border:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-gradient), var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-attachment:fixed}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,label,[role=button]{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--accent);color:var(--accent-text);border-radius:var(--radius-s);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.num{font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance;margin:0 0 .5em;line-height:1.2}p{margin:0 0 .75em}small,.muted{color:var(--muted)}.btn{border-radius:var(--radius-m);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}:root[data-contrast=high] .btn-primary:hover{color:#000;background:#fff;border-color:#fff}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--danger);background:0 0;border-color:#ff6b5e80}.btn-sm{min-height:36px;padding:6px 12px;font-size:14px}.btn-icon{border-radius:50%;width:48px;height:48px;padding:0;position:relative}.btn-block{width:100%}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{gap:12px;display:grid}.spread{justify-content:space-between;align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.field{gap:6px;display:grid}.field>span{color:var(--muted);font-size:14px;font-weight:600}.input,select.input,textarea.input{border-radius:var(--radius-s);background:var(--input-bg);width:100%;min-height:44px;color:var(--text);border:1px solid var(--input-border);padding:10px 12px;font-size:16px}.input:focus{border-color:var(--accent)}.check{cursor:pointer;align-items:flex-start;gap:10px;padding:6px 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:2px}.error{color:var(--danger);font-size:14px}.note{border-radius:var(--radius-s);background:#7cc4ff1a;border:1px solid #7cc4ff59;padding:10px 12px;font-size:14px}.warn{border-radius:var(--radius-s);background:#f2a93b1f;border:1px solid #f2a93b80;padding:10px 12px;font-size:14px}.badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.badge-test{color:#fff;background:#6d28d9;border-color:#a78bfa}.dot{background:var(--danger);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:800;display:grid;position:absolute;top:4px;right:4px}.card{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-m);padding:14px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list li{background:var(--surface-2);border-radius:var(--radius-s);padding:10px 12px}.tabs{scrollbar-width:none;gap:4px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs button{flex:none}.tabs [aria-selected=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.meter{background:#ffffff26;border-radius:4px;height:8px;overflow:hidden}.meter>i{height:100%;transition:width .4s var(--ease);border-radius:4px;display:block}.page{min-height:100%;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(1200px 600px at 10% -10%, #c4553b59, transparent 60%), radial-gradient(900px 500px at 110% 110%, #4fa37a40, transparent 60%), var(--bg);place-items:center;display:grid}.panel-page{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);width:min(480px,100%);box-shadow:var(--shadow);padding:28px 22px}.brand{letter-spacing:.04em;margin:0;font-size:34px;font-weight:900}.brand span{color:var(--accent)}.brand-logo{border-radius:18px;width:min(320px,78vw);height:auto;margin:0 auto;display:block}.nav-emblem{border-radius:50%;flex:none}.tagline{color:var(--muted);margin-bottom:20px}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:40px;height:40px}.swatch[aria-pressed=true]{border-color:var(--text);box-shadow:0 0 0 3px var(--accent)}.game{position:fixed;inset:0;overflow:hidden}.world{position:absolute;inset:0}.world canvas{touch-action:none}.hud-top{top:calc(8px + env(safe-area-inset-top));pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;left:8px;right:8px}.hud-top>*{pointer-events:auto}.chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);padding:8px 12px}.chip-btn{cursor:pointer;text-align:left}.needs{gap:4px;min-width:132px;font-size:12px;display:grid}.wallet{grid-template-columns:auto auto;gap:0 10px;font-size:13px;display:grid}.wallet b{text-align:right}.dock{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;gap:8px;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.context{left:50%;bottom:calc(78px + env(safe-area-inset-bottom));position:absolute;transform:translate(-50%)}.banner{left:50%;top:calc(86px + env(safe-area-inset-top));width:min(520px,100% - 16px);position:absolute;transform:translate(-50%)}.toasts{top:calc(8px + env(safe-area-inset-top));z-index:20;pointer-events:none;gap:6px;width:min(420px,100% - 16px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.toast{background:var(--surface-solid);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-s);box-shadow:var(--shadow);animation:slide-in .25s var(--ease);padding:10px 12px}.toast.error{border-left-color:var(--danger)}.toast.success{border-left-color:var(--green)}.chatlog{left:8px;bottom:calc(78px + env(safe-area-inset-bottom));pointer-events:none;gap:4px;width:min(320px,100% - 16px);display:grid;position:absolute}.chatlog p{color:#fff;background:#0000009e;border-radius:8px;margin:0;padding:4px 8px;font-size:14px}.sheet{z-index:10;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overscroll-behavior:contain;animation:sheet-in .25s var(--ease);right:8px;top:calc(104px + env(safe-area-inset-top));bottom:calc(8px + env(safe-area-inset-bottom));border-radius:var(--radius-l);flex-direction:column;width:min(420px,100% - 16px);display:flex;position:absolute}.sheet header{justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 8px;display:flex}.sheet header h2{margin:0;font-size:20px}.sheet .body{align-content:start;gap:14px;padding:4px 16px 16px;display:grid;overflow-y:auto}@media (max-width:720px){.sheet{border-radius:var(--radius-l) var(--radius-l) 0 0;width:100%;max-height:72vh;padding-bottom:env(safe-area-inset-bottom);inset:auto 0 0}.hud-top .wallet{font-size:12px}}.grid-home{background:var(--border);border-radius:var(--radius-s);aspect-ratio:1;grid-template-columns:repeat(8,1fr);gap:2px;display:grid;overflow:hidden}.grid-home button{cursor:pointer;background:#3b2c20;border:0;min-height:0;padding:0;font-size:10px}.grid-home button[data-filled=true]{color:#fff;font-weight:700}.loading{color:#fff;text-shadow:0 1px 3px #280a46b3;place-items:center;gap:12px;height:100%;display:grid}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}:root[data-reduced-motion=true] *,:root[data-reduced-motion=true] :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (pointer:coarse){kbd{display:none}}kbd{font:inherit;opacity:.8;border:1px solid;border-radius:4px;padding:0 5px;font-size:12px}.im-controls{z-index:4;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;top:50%;left:8px;transform:translateY(-50%)}.im-btn{width:40px;height:40px}.im-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.im-minimap{left:64px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:3;width:168px;height:168px;box-shadow:var(--shadow);pointer-events:none;border-radius:50%;position:absolute}.im-minimap canvas{border-radius:50%;width:100%;height:100%;display:block}.game:has(.im-minimap) .chatlog{bottom:calc(78px + 176px + env(safe-area-inset-bottom))}@media (max-width:720px){.im-controls{top:auto;left:auto;right:8px;bottom:calc(140px + env(safe-area-inset-bottom));transform:none}.im-btn{width:36px;height:36px}.im-minimap{width:120px;height:120px;left:auto;right:8px;top:calc(100px + env(safe-area-inset-top));bottom:auto}.game:has(.im-minimap) .chatlog{bottom:calc(78px + env(safe-area-inset-bottom))}}.code-input{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.code-input legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:14px;font-weight:600}.code-boxes{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:360px;display:grid}.code-box{text-align:center;border-radius:var(--radius-s);border:2px solid var(--border);width:100%;min-height:56px;color:var(--text);caret-color:var(--accent);background:#fff;padding:0;font-size:26px;font-weight:800;transition:border-color .15s,box-shadow .15s}.code-box:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7c3aed40}.code-box:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.code-box[aria-invalid=true]{border-color:var(--danger)}.code-input:disabled .code-box{opacity:.6}:root[data-contrast=high] .code-box{color:#fff;background:#000;border-color:#fff}.gsi-btn{color:#1f1f1f;width:100%;min-height:44px;font:500 15px/20px var(--font);letter-spacing:.25px;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 16px;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:flex}.gsi-btn:hover{background:#f8faff;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.gsi-btn svg{flex:none}.auth-or{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.mail-banner{z-index:5;background:var(--surface-solid);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-m);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;font-size:14px;display:flex}.mail-banner p{flex:220px;margin:0}.game:has(.banner.warn) .mail-banner{top:calc(150px + env(safe-area-inset-top))}a.btn{text-decoration:none}a.btn:not(.btn-primary):not(.btn-danger){color:inherit}.page>.panel-page{min-width:0}:root{--radius-s:12px;--press:cubic-bezier(.2, .8, .2, 1);--elev-1:0 1px 2px #1a144614, 0 4px 14px #4c1d951f;--elev-2:0 2px 6px #1a14461a, 0 18px 44px #4c1d9538}.btn{letter-spacing:.005em;min-height:44px;color:var(--text);box-shadow:var(--elev-1);transition:background-color .12s, border-color .12s, box-shadow .12s, transform 80ms var(--press);-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #ddd6fe;border-radius:12px;padding:10px 18px;font-weight:650}.btn:hover{background:#faf8ff;border-color:#a78bfa}.btn:active{box-shadow:none;transition-duration:40ms;transform:scale(.96)}.btn:disabled{opacity:.55;cursor:progress;transform:none}.btn-primary{color:#fff;background:linear-gradient(#8b5cf6,#6d28d9);border-color:#6d28d9;box-shadow:inset 0 1px #ffffff40,0 6px 16px #6d28d959}.btn-primary:hover{background:linear-gradient(#7c3aed,#5b21b6);border-color:#5b21b6}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:#7c3aed14;border-color:#0000}.btn-danger{color:var(--danger);box-shadow:none;background:#fff;border-color:#fca5a5}.btn-danger:hover{border-color:var(--danger);background:#fef2f2}.btn-sm{border-radius:10px;min-height:36px;padding:6px 14px;font-size:14px}.btn-icon{width:44px;height:44px;box-shadow:none;border-radius:12px;padding:0}:root[data-contrast=high] .btn{color:#fff;box-shadow:none;background:#000;border-color:#fff}:root[data-contrast=high] .btn-primary{background:var(--accent);color:#000}.input,select.input,textarea.input{border-radius:12px;transition:border-color .12s,box-shadow .12s}.input:focus{outline:none;box-shadow:0 0 0 4px #7c3aed2e}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tabs{background:#f1edff;border-radius:14px;gap:4px;padding:4px}.tabs .btn{box-shadow:none;background:0 0;border-color:#0000;min-height:36px}.tabs [aria-selected=true]{color:var(--accent);box-shadow:var(--elev-1);background:#fff;border-color:#ddd6fe}.chip{box-shadow:var(--elev-2);-webkit-backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #c4b5fdb3;border-radius:16px}.meter{background:#ede9fe;height:6px}.sheet{box-shadow:var(--elev-2);background:#fffffffa;border-color:#ddd6fe;animation-duration:.18s}.sheet header{border-bottom:1px solid #f1edff;padding-bottom:12px}.sheet header h2{font-size:19px;font-weight:750}.sheet .body{padding-top:12px}.dock{box-shadow:var(--elev-2);-webkit-backdrop-filter:blur(8px);background:#fffffff5;border-color:#c4b5fdb3;border-radius:22px;gap:2px;max-width:calc(100% - 12px);padding:6px}.dock-btn{color:#4c4580;cursor:pointer;min-width:58px;min-height:52px;transition:background-color .12s, color .12s, transform 80ms var(--press);background:0 0;border:0;border-radius:16px;align-content:center;justify-items:center;gap:2px;padding:5px 6px;display:grid;position:relative}.dock-btn:hover{color:var(--accent);background:#f5f3ff}.dock-btn:active{transform:scale(.92)}.dock-btn[aria-pressed=true]{color:#fff;background:linear-gradient(#8b5cf6,#6d28d9);box-shadow:0 6px 14px #6d28d959}.dock-label{text-overflow:ellipsis;white-space:nowrap;max-width:64px;font-size:11px;font-weight:700;line-height:1.1;overflow:hidden}.dock-btn .dot{top:2px;right:8px}:root[data-contrast=high] .dock-btn{color:#fff}@media (max-width:480px){.dock{scrollbar-width:none;justify-content:space-between;left:6px;right:6px;overflow-x:auto;transform:none}.dock-btn{min-width:46px;padding:5px 2px}.dock-label{max-width:52px;font-size:10px}}.context,.chatlog{bottom:calc(86px + env(safe-area-inset-bottom))}.next-step{width:min(520px,100% - 16px);box-shadow:var(--elev-2);animation:slide-in .2s var(--ease);background:#fffffff5;border:1px solid #ddd6fe;border-radius:16px;align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:14px;font-weight:600;display:flex}.next-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);white-space:nowrap;font-size:11px;font-weight:800}.toasts{top:calc(10px + env(safe-area-inset-top));z-index:70;gap:8px;width:min(440px,100% - 16px)}.toast{pointer-events:auto;color:var(--text);box-shadow:var(--elev-2);animation:toast-in .22s var(--ease);background:#fff;border:1px solid #e9e5ff;border-left:0;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 10px 12px 12px;font-size:15px;font-weight:550;display:flex}.toast p{flex:1;margin:0;padding-top:2px;line-height:1.35}.toast-icon{width:28px;height:28px;color:var(--accent);background:#ede9fe;border-radius:50%;flex:none;place-items:center;display:grid}.toast.success .toast-icon{color:#047857;background:#d1fae5}.toast.error .toast-icon{color:#b91c1c;background:#fee2e2}.toast.error{border-color:#fecaca}.toast-close{color:#6b6491;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.toast-close:hover{background:#f4f2ff}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.im-controls{box-shadow:var(--elev-2);background:#fffffff0;border-radius:18px}.im-controls .btn{box-shadow:none}.im-view{z-index:4;left:50%;top:calc(10px + env(safe-area-inset-top));min-height:40px;color:var(--text);box-shadow:var(--elev-2);cursor:pointer;transition:transform 80ms var(--press), background-color .12s;background:#fffffff2;border:1px solid #c4b5fdcc;border-radius:999px;align-items:center;gap:8px;padding:6px 16px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;transform:translate(-50%)}.im-view:active{transform:translate(-50%)scale(.95)}.im-view.on{color:#fff;background:linear-gradient(#8b5cf6,#6d28d9);border-color:#6d28d9}@media (max-width:720px){.im-view{top:calc(112px + env(safe-area-inset-top));min-height:36px;padding:4px 14px;font-size:13px}}.game:has(.sheet) .im-view{display:none}.guide-lead{color:var(--muted);margin:0;font-size:15px}.guide-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{background:#faf8ff;border:1px solid #ede9fe;border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.guide-steps h3{margin:0;font-size:16px}.guide-steps p{color:var(--muted);margin:0;font-size:14px}.guide-steps .btn{justify-self:start;margin-top:4px}.guide-icon{width:40px;height:40px;box-shadow:var(--elev-1);background:#fff;border-radius:12px;flex:none;place-items:center;font-size:20px;display:grid}@media (pointer:coarse){.im-touch-hidden{display:none}}@media (max-width:480px){.dock{gap:0;padding:4px}.dock-btn{flex:1 1 0;min-width:0;padding:5px 1px}.dock-label{max-width:100%;font-size:9.5px}}@media (max-width:720px){.next-step{gap:8px;width:calc(100% - 72px);padding:6px 6px 6px 10px;font-size:13px;left:8px;transform:none}.next-label{display:none}.mail-banner,.banner{top:calc(128px + env(safe-area-inset-top))}.im-view{top:auto;left:8px;bottom:calc(150px + env(safe-area-inset-bottom));transform:none}}
