:root,:root[data-theme=velours]{--ground:#170a11;--panel:#241120;--panel-2:#301829;--line:#4a2540;--line-soft:#3a1d30;--text:#fbf0f4;--muted:#cda9b9;--accent:#ff3d6e;--accent-ink:#2a0510;--good:#f5c98d;--veil:#170a11d1;--stage-a:#2a1421;--stage-b:#12070e;--sheet:#150a10}:root[data-theme=braise]{--ground:#141110;--panel:#1d1917;--panel-2:#26211e;--line:#3b322d;--line-soft:#2c2622;--text:#f3ece6;--muted:#a2938a;--accent:#ff5a2b;--accent-ink:#250c03;--good:#f2c078;--veil:#141110d1;--stage-a:#251f1b;--stage-b:#100d0c;--sheet:#14100e}:root[data-theme=nuit]{--ground:#0f0d1c;--panel:#181529;--panel-2:#201c36;--line:#332c55;--line-soft:#272242;--text:#eae7f8;--muted:#9791bd;--accent:#a855f7;--accent-ink:#180430;--good:#7dd3fc;--veil:#0f0d1cd1;--stage-a:#221d3b;--stage-b:#0c0a16;--sheet:#110f1e}:root[data-theme=nacre]{--ground:#fbf3f4;--panel:#fff;--panel-2:#f7ecee;--line:#e3ccd3;--line-soft:#eedce1;--text:#2a141c;--muted:#8a6675;--accent:#d6215c;--accent-ink:#fff;--good:#a8701a;--veil:#ffffffdb;--stage-a:#f3e2e6;--stage-b:#e4cdd4;--sheet:#f0e2e5}:root[data-theme=encre]{--ground:#141821;--panel:#1b2029;--panel-2:#222836;--line:#2e3648;--line-soft:#242b39;--text:#e9ebf2;--muted:#8992a8;--accent:#e8a33d;--accent-ink:#1a1206;--good:#5fd3a8;--veil:#0d1017d1;--stage-a:#1a2030;--stage-b:#10141c;--sheet:#0d1017}:root{--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--danger:#ff8098}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ground);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:56px;font-size:15px;line-height:1.5;transition:background .3s,color .3s}.wrap{max-width:1000px;margin:0 auto;padding:0 20px}.appHeader{flex-wrap:wrap;align-items:center;gap:14px;padding:32px 0 18px;display:flex}.mark{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:12px;text-decoration:none}.mark span{color:var(--muted)}.privacy{color:var(--muted);width:100%;margin:-4px 0 0;font-size:12.5px}.privacy b{color:var(--good)}.swatches{align-items:center;gap:7px;margin-left:auto;display:flex}.sw{cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px;padding:0;transition:all .16s}.sw:hover{transform:scale(1.14)}.sw[aria-pressed=true]{border-color:var(--text);transform:scale(1.1)}.sw:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tabs{background:var(--panel);border:1px solid var(--line-soft);border-radius:10px;gap:2px;width:fit-content;padding:3px;display:flex}.tab{appearance:none;color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 18px;font-size:12px;text-decoration:none;transition:all .15s;display:inline-block}.tab:hover{color:var(--text)}.tab[aria-selected=true]{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;margin-top:24px;padding:22px}.lbl{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-size:11px;display:block}.steps{margin:0;padding:0;list-style:none}.step{padding:0 0 8px 52px;transition:opacity .25s;position:relative}.step:not(:last-child):before{content:"";background:var(--line-soft);width:2px;position:absolute;top:34px;bottom:-6px;left:15px}.step[data-state=done]:not(:last-child):before{background:color-mix(in srgb, var(--accent) 55%, transparent)}.step .num{width:32px;height:32px;font-family:var(--mono);border:2px solid var(--line);color:var(--muted);background:var(--panel);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;top:0;left:0}.step[data-state=now] .num{border-color:var(--accent);color:var(--accent)}.step[data-state=done] .num{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.step h3{letter-spacing:-.01em;margin:4px 0 2px;font-size:16px;font-weight:600}.step .cap{color:var(--muted);margin:0 0 12px;font-size:13px}.step[data-state=wait]{opacity:.38;pointer-events:none;filter:saturate(.4)}.step .inner{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:12px;margin-bottom:20px;padding:16px}.source{align-items:stretch;gap:10px;display:flex}.drop{border:1px dashed var(--line);text-align:center;cursor:pointer;background:color-mix(in srgb, var(--text) 2%, transparent);border-radius:12px;flex:1;padding:26px 18px;transition:all .18s}.drop:hover,.drop.hot{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.drop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drop p{color:var(--muted);margin:0;font-size:14px}.drop strong{color:var(--text);font-weight:600}.shoot{border:1px dashed var(--line);background:color-mix(in srgb, var(--text) 2%, transparent);color:var(--muted);cursor:pointer;font-size:12px;font-family:var(--sans);border-radius:12px;flex-direction:column;flex:0 0 92px;justify-content:center;align-items:center;gap:8px;transition:all .18s;display:flex}.shoot:hover{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 9%, transparent)}.shoot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shoot svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:26px;height:26px}@media (max-width:560px){.source{flex-direction:column}.shoot{flex-direction:row;flex:none;padding:14px}}.picked{align-items:center;gap:12px;display:flex}.picked img{object-fit:cover;border:1px solid var(--line);border-radius:9px;width:56px;height:56px}.picked .n{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.hint{color:var(--muted);margin:9px 2px 0;font-size:12px}.hint.ok{color:var(--good)}.row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.field{flex:1;min-width:150px}select,input[type=text]{background:var(--panel);border:1px solid var(--line);width:100%;color:var(--text);font-family:var(--sans);border-radius:9px;padding:11px 12px;font-size:14px}input[type=text]{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase}select:focus,input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:9px;margin-top:14px;font-size:14px;display:flex}.check input{accent-color:var(--accent);cursor:pointer;flex:none;width:16px;height:16px;margin-top:3px}.check small{color:var(--muted);font-size:12px;line-height:1.45;display:block}.btn{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.key{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.key:hover:not(:disabled){filter:brightness(1.1)}.btn.sm{padding:8px 12px;font-size:13px}.btns{flex-wrap:wrap;gap:10px;display:flex}.send{gap:12px;display:grid}.sendItem{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.sendItem .k{font-family:var(--mono);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;font-size:12px;display:grid}.sendItem .c{flex:1;min-width:0}.sendItem h4{margin:0 0 3px;font-size:14.5px;font-weight:600}.sendItem p{color:var(--muted);margin:0 0 10px;font-size:12.5px}.sendItem canvas{border:1px solid var(--line);background:var(--sheet);border-radius:9px;width:100%;max-width:340px;height:auto;margin-bottom:10px;display:block}.bigcode{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);word-break:break-all;margin:0 0 10px;font-size:clamp(20px,5vw,28px);font-weight:600}.stage{aspect-ratio:4/3;border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 0%, var(--stage-a) 0%, var(--stage-b) 72%);border-radius:14px;width:100%;position:relative;overflow:hidden}@media (max-width:600px){.stage{aspect-ratio:3/4}}.stage canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.stage canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.stage[data-dragging=true] canvas{cursor:grabbing}:-webkit-any(.stage:fullscreen,.stage:-webkit-full-screen){aspect-ratio:auto;border:0;border-radius:0;width:100vw;max-width:none;height:100vh}:is(.stage:fullscreen,.stage:fullscreen){aspect-ratio:auto;border:0;border-radius:0;width:100vw;max-width:none;height:100vh}.stage[data-pseudo=true]{z-index:60;aspect-ratio:auto;border:0;border-radius:0;width:auto;height:auto;position:fixed;inset:0}.prog{background:color-mix(in srgb, var(--text) 8%, transparent);pointer-events:none;z-index:3;height:3px;position:absolute;top:0;left:0;right:0}.prog i{background:var(--accent);width:0;height:100%;transition:width .35s cubic-bezier(.3,1,.5,1);display:block}.prog[data-win=true] i{background:var(--good)}.chips{pointer-events:none;z-index:3;flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:16px;left:14px}.chip{font-family:var(--mono);letter-spacing:.09em;background:var(--veil);border:1px solid var(--line);color:var(--muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:99px;padding:5px 10px;font-size:11px}.chip b{color:var(--text);font-weight:600}.chip.sel{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.chip.sel b{color:var(--accent)}.tools{z-index:4;background:var(--veil);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:99px;align-items:center;gap:2px;padding:5px;transition:opacity .25s;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.tools[data-hidden=true]{opacity:0;pointer-events:none}.tb{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:99px;place-items:center;width:38px;height:38px;transition:all .14s;display:grid}.tb:hover{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent)}.tb[aria-pressed=true]{color:var(--accent)}.tb:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tb svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.tsep{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}.done{z-index:5;background:var(--veil);border:1px solid color-mix(in srgb, var(--good) 42%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;border-radius:14px;width:min(440px,100% - 28px);padding:16px 18px;transition:opacity .4s,transform .4s cubic-bezier(.3,1,.5,1);position:absolute;bottom:14px;left:50%;transform:translate(-50%,14px);box-shadow:0 10px 34px #00000073}.done[data-on=true]{opacity:1;pointer-events:auto;transform:translate(-50%)}.done .hd{align-items:baseline;gap:10px;margin-bottom:3px;display:flex}.done .hd b{color:var(--good);font-size:16px;font-weight:600}.done .hd time{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:12px}.done p{color:var(--muted);margin:0 0 12px;font-size:12.5px}.help{z-index:6;background:color-mix(in srgb, var(--stage-b) 88%, #000);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:24px;font-size:13.5px;line-height:1.85;position:absolute;inset:0;overflow:auto}.help h4{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-size:11px}.help dl{grid-template-columns:auto 1fr;gap:6px 16px;max-width:520px;margin:0;display:grid}.help dt{text-align:right}.help dd{color:var(--muted);margin:0}.help .x{position:absolute;top:16px;right:16px}kbd{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px}.under{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.under .m{color:var(--muted);font-size:12.5px}.err{color:var(--danger);border-left:2px solid var(--danger);margin-top:12px;padding-left:12px;font-size:13px;line-height:1.5}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cam{z-index:70;background:color-mix(in srgb, var(--ground) 94%, #000);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:18px;display:flex;position:fixed;inset:0}.cam video{border:1px solid var(--line);background:#000;border-radius:14px;max-width:min(94vw,760px);max-height:66vh}.camBar{align-items:center;gap:22px;display:flex}.shutter{border:3px solid var(--text);background:var(--accent);cursor:pointer;border-radius:50%;width:66px;height:66px;transition:all .12s}.shutter:hover{transform:scale(1.05)}.shutter:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.camMsg{color:var(--muted);text-align:center;max-width:420px;font-size:13px}.landing{max-width:860px;padding-bottom:40px}.landHeader{padding:32px 0 0}.hero{padding:56px 0 40px}.hero h1{letter-spacing:-.02em;margin:0 0 18px;font-size:clamp(34px,7vw,58px);font-weight:700;line-height:1.05}.hero h1 em{color:var(--accent);font-style:normal}.lede{color:var(--muted);max-width:46ch;margin:0 0 28px;font-size:clamp(16px,2.4vw,19px);line-height:1.6}.heroActions{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.landing .btn{align-items:center;padding:12px 20px;font-size:15px;text-decoration:none;display:inline-flex}.secTitle{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;font-size:12px}.how{border-top:1px solid var(--line-soft);padding:32px 0}.howSteps{grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:640px){.howSteps{grid-template-columns:1fr}}.howSteps li{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:20px}.howNum{width:30px;height:30px;font-family:var(--mono);color:var(--accent);border:2px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;place-items:center;margin-bottom:14px;font-size:13px;font-weight:600;display:grid}.howSteps h3{margin:0 0 6px;font-size:16px;font-weight:600}.howSteps p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.6}.assur{border-top:1px solid var(--line-soft);padding:32px 0}.assur p{max-width:60ch;color:var(--text);margin:0 0 24px;font-size:15px;line-height:1.7}.landFoot{border-top:1px solid var(--line-soft);padding:28px 0 0}.landFoot p{color:var(--muted);margin:0;font-size:12.5px}.collection{border-top:1px solid var(--line-soft);padding:32px 0}.gameGrid{grid-template-columns:repeat(2,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:640px){.gameGrid{grid-template-columns:1fr}}.gameCard{color:inherit;background:var(--panel);border:1px solid var(--line-soft);border-radius:16px;align-items:flex-start;gap:16px;height:100%;padding:18px 20px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.gameCard:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-2px);box-shadow:0 8px 24px #00000038}.gameCard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gameIcon{background:color-mix(in srgb, var(--accent) 12%, var(--panel-2));border:1px solid var(--line-soft);border-radius:14px;flex:none;place-items:center;width:54px;height:54px;font-size:28px;line-height:1;display:grid}.gameBody{flex:1;min-width:0}.gameHead{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:5px;display:flex}.gameHead h3{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.gameCard p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.badge{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:3px 8px;font-size:10px}.badge.live{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.badge.soon{color:var(--good);border-color:color-mix(in srgb, var(--good) 45%, transparent)}.faq{border-top:1px solid var(--line-soft);padding:32px 0}.faqList{gap:18px;margin:0;display:grid}.faqItem dt{margin-bottom:5px;font-size:15px;font-weight:600}.faqItem dd{color:var(--muted);max-width:62ch;margin:0;font-size:14px;line-height:1.6}.detail{padding-bottom:48px}.back{color:var(--muted);font-size:13px;font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:6px;padding:24px 0 0;text-decoration:none;display:inline-flex}.back:hover{color:var(--text)}.back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.detailHero{align-items:center;gap:22px;padding:20px 0 8px;display:flex}.detailIcon{background:color-mix(in srgb, var(--accent) 12%, var(--panel-2));border:1px solid var(--line-soft);border-radius:22px;flex:none;place-items:center;width:88px;height:88px;font-size:46px;line-height:1;display:grid}.detailHero h1{letter-spacing:-.02em;margin:8px 0 6px;font-size:clamp(28px,5vw,40px);line-height:1.1}.detailHero .tag{color:var(--muted);margin:0;font-size:16px;line-height:1.5}.detailSummary{color:var(--text);max-width:62ch;margin:22px 0 24px;font-size:15.5px;line-height:1.7}.soonNote{background:var(--panel);border:1px solid color-mix(in srgb, var(--good) 40%, transparent);border-radius:14px;margin:0 0 8px;padding:18px 20px}.soonNote p{color:var(--muted);margin:0 0 14px;font-size:14px;line-height:1.6}.soonNote b{color:var(--text)}.soonNote .heroActions{margin-bottom:0}.detail .how,.detail .assur{padding:28px 0}@media (max-width:560px){.detailHero{flex-direction:column;align-items:flex-start;gap:16px}}::view-transition-group(*){animation-duration:.32s}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
