:root{--ground:#0e1117;--panel:#151a22;--panel-2:#1a2029;--raised:#202731;--line:#272f3b;--line-soft:#1e2530;--ink:#e6e9ed;--ink-mid:#a6aebb;--ink-dim:#727d8d;--signal:#ff6a1f;--signal-soft:rgba(255,106,31,0.12);--signal-hover:#ff7e3d;--restore:#4ec9d9;--restore-soft:rgba(78,201,217,0.11);--oneway:#f24d8b;--oneway-soft:rgba(242,77,139,0.11);--shadow-sm:0 1px 3px rgba(0,0,0,0.18);--shadow:0 2px 8px rgba(0,0,0,0.22),0 12px 28px rgba(0,0,0,0.28);--shadow-lg:0 4px 16px rgba(0,0,0,0.3),0 24px 48px rgba(0,0,0,0.32);--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,"Cascadia Mono","Roboto Mono",Consolas,"Liberation Mono",monospace;--sans:"Helvetica Neue",Helvetica,Arial,ui-sans-serif,sans-serif;--r:10px;--r-sm:6px;--r-lg:14px;--pad:16px;--bar:54px;--ease:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1)}@media (prefers-color-scheme:light){:root{--ground:#f0f1f4;--panel:#ffffff;--panel-2:#f6f7f9;--raised:#ffffff;--line:#d6dce4;--line-soft:#e6eaef;--ink:#141a22;--ink-mid:#505a68;--ink-dim:#7a8492;--signal:#c04510;--signal-soft:rgba(192,69,16,0.08);--signal-hover:#d4510f;--restore:#0e7a89;--restore-soft:rgba(14,122,137,0.08);--oneway:#c01a5e;--oneway-soft:rgba(192,26,94,0.07);--shadow-sm:0 1px 2px rgba(20,30,45,0.05);--shadow:0 1px 3px rgba(20,30,45,0.06),0 8px 24px rgba(20,30,45,0.08);--shadow-lg:0 2px 8px rgba(20,30,45,0.08),0 16px 40px rgba(20,30,45,0.1)}}:root[data-theme=light]{--ground:#f0f1f4;--panel:#ffffff;--panel-2:#f6f7f9;--raised:#ffffff;--line:#d6dce4;--line-soft:#e6eaef;--ink:#141a22;--ink-mid:#505a68;--ink-dim:#7a8492;--signal:#c04510;--signal-soft:rgba(192,69,16,0.08);--signal-hover:#d4510f;--restore:#0e7a89;--restore-soft:rgba(14,122,137,0.08);--oneway:#c01a5e;--oneway-soft:rgba(192,26,94,0.07);--shadow-sm:0 1px 2px rgba(20,30,45,0.05);--shadow:0 1px 3px rgba(20,30,45,0.06),0 8px 24px rgba(20,30,45,0.08);--shadow-lg:0 2px 8px rgba(20,30,45,0.08),0 16px 40px rgba(20,30,45,0.1)}:root[data-theme=dark]{--ground:#0e1117;--panel:#151a22;--panel-2:#1a2029;--raised:#202731;--line:#272f3b;--line-soft:#1e2530;--ink:#e6e9ed;--ink-mid:#a6aebb;--ink-dim:#727d8d;--signal:#ff6a1f;--signal-soft:rgba(255,106,31,0.12);--signal-hover:#ff7e3d;--restore:#4ec9d9;--restore-soft:rgba(78,201,217,0.11);--oneway:#f24d8b;--oneway-soft:rgba(242,77,139,0.11);--shadow-sm:0 1px 3px rgba(0,0,0,0.18);--shadow:0 2px 8px rgba(0,0,0,0.22),0 12px 28px rgba(0,0,0,0.28);--shadow-lg:0 4px 16px rgba(0,0,0,0.3),0 24px 48px rgba(0,0,0,0.32)}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 20px rgba(255,106,31,.22)}50%{box-shadow:0 4px 28px rgba(255,106,31,.38),0 0 48px rgba(255,106,31,.1)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.app{display:grid;grid-template-rows:var(--bar) minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;overflow:hidden}.bar{align-items:center;gap:16px;min-width:0;padding:0 var(--pad);border-bottom:1px solid var(--line);background:var(--panel);animation:slideUp .3s var(--ease-out) both}.bar,.brand{display:flex}.brand{align-items:baseline;gap:10px;flex:none}.brand-mark{font-size:15px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.brand-mark b{color:var(--signal);font-weight:700}.brand-sub{color:var(--ink-dim);font-size:11px;letter-spacing:.04em;white-space:nowrap}.presets{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0}.presets::-webkit-scrollbar{display:none}.bar-right{display:flex;align-items:center;gap:8px;flex:none}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-mid);border-radius:var(--r-sm);padding:7px 13px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink-dim);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:none;transition-duration:.06s}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.is-on{color:var(--signal);border-color:var(--signal);background:var(--signal-soft)}.btn-icon{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border-radius:var(--r-sm)}.btn-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.btn-primary{color:#fff;background:var(--signal);border-color:var(--signal);font-weight:700}.btn-primary:hover:not(:disabled){color:#fff;background:var(--signal-hover);border-color:var(--signal-hover)}.stage{grid-template-columns:minmax(0,1fr) 340px minmax(0,1fr);grid-gap:1px;gap:1px;background:var(--line)}.pane,.stage{display:grid;min-height:0;min-width:0}.pane{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);background:var(--panel)}.pane-source{animation:slideUp .4s var(--ease-out) .04s both}.pane-out{animation:slideUp .4s var(--ease-out) .12s both}.pane-head{display:flex;align-items:center;gap:10px;padding:10px var(--pad);border-bottom:1px solid var(--line-soft);min-width:0;overflow:hidden}.pane-title{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.pane-head .spacer{flex:1 1}.pane-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;padding:10px var(--pad);border-top:1px solid var(--line-soft);min-height:46px}.counts{display:flex;gap:14px;font-size:11px;color:var(--ink-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.counts b{color:var(--ink-mid);font-weight:600}#source,.out{width:100%;height:100%;min-height:0;padding:var(--pad);margin:0;border:0;background:transparent;font-family:var(--sans);font-size:14.5px;line-height:1.75;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;-moz-tab-size:4;tab-size:4}#source{resize:none;display:block}#source:focus{outline:none}#source::placeholder{color:var(--ink-dim);opacity:.8}.out{-webkit-user-select:text;-moz-user-select:text;user-select:text}.out:empty:before{content:"Output appears here.";color:var(--ink-dim)}.out mark.zw{background:var(--oneway-soft);color:var(--oneway);letter-spacing:.04em}.out mark.ctl,.out mark.zw{border-radius:3px;padding:1px 4px;font-size:10px;font-weight:600}.out mark.ctl{background:var(--restore-soft);color:var(--restore)}.out del.rl-del{background:rgba(248,81,73,.14);color:var(--oneway);text-decoration:line-through;-webkit-text-decoration-color:var(--oneway);text-decoration-color:var(--oneway)}.out ins.rl-ins{background:rgba(63,185,80,.16);color:#3fb950;text-decoration:none}@media (prefers-color-scheme:light){.out del.rl-del{background:rgba(248,81,73,.1);color:#cf222e;-webkit-text-decoration-color:#cf222e;text-decoration-color:#cf222e}.out ins.rl-ins{background:rgba(46,160,67,.1);color:#1a7f37}}:root[data-theme=light] .out del.rl-del{background:rgba(248,81,73,.1);color:#cf222e;-webkit-text-decoration-color:#cf222e;text-decoration-color:#cf222e}:root[data-theme=light] .out ins.rl-ins{background:rgba(46,160,67,.1);color:#1a7f37}:root[data-theme=dark] .out del.rl-del{background:rgba(248,81,73,.14);color:var(--oneway);-webkit-text-decoration-color:var(--oneway);text-decoration-color:var(--oneway)}:root[data-theme=dark] .out ins.rl-ins{background:rgba(63,185,80,.16);color:#3fb950}.out.settling{animation:settle .14s var(--ease-out)}@keyframes settle{0%{opacity:.4;filter:blur(.3px)}to{opacity:1;filter:none}}.rack{display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);background:var(--panel-2);min-height:0;animation:slideUp .4s var(--ease-out) .08s both}.rack-head{display:flex;align-items:center;gap:10px;padding:10px var(--pad);border-bottom:1px solid var(--line-soft)}.dir{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.dir button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-dim);padding:5px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.dir button.is-on{background:var(--signal);color:#fff;font-weight:700}.dir button:disabled{opacity:.3;cursor:not-allowed}.dir button.is-on[data-dir=restore]{background:var(--restore)}.modules{list-style:none;margin:0;display:flex;flex-direction:column;overflow:auto;min-height:0}.modules,.rack-foot{padding:12px;gap:10px}.rack-foot{border-top:1px solid var(--line-soft);display:grid;grid-gap:10px}.empty-rack{border:1px dashed var(--line);border-radius:var(--r);padding:24px 18px;text-align:center;color:var(--ink-dim);font-size:12px;line-height:1.7}.mod{border:1px solid var(--line);border-left:3px solid var(--restore);border-radius:var(--r);background:var(--raised);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.mod:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.mod.is-oneway{border-left-color:var(--oneway)}.mod.is-off{opacity:.4;filter:saturate(.5)}.mod.is-broken{border-color:var(--oneway)}.mod-head{display:flex;align-items:center;gap:7px;min-width:0;padding:8px 9px 8px 11px}.mod-index{font-size:10px;color:var(--ink-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:14px}.mod-name{flex:1 1;min-width:0;font-size:12.5px;overflow:hidden;text-overflow:ellipsis}.mod-flag,.mod-name{font-weight:600;white-space:nowrap}.mod-flag{font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:3px;color:var(--restore);background:var(--restore-soft)}.mod-flag.oneway{color:var(--oneway);background:var(--oneway-soft)}.mod-body{padding:0 11px 11px;display:grid;grid-gap:10px;gap:10px}.mod-blurb{font-family:var(--sans);font-size:11.5px;line-height:1.55;color:var(--ink-dim);margin:0}.param{display:grid;grid-template-columns:76px minmax(0,1fr) 44px;align-items:center;grid-gap:8px;gap:8px}.param label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}.param output{font-size:11px;color:var(--ink-mid);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.param input[type=range]{width:100%;accent-color:var(--signal);height:18px}.param input[type=number],.param input[type=text],.param select{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:4px 7px;font-size:11.5px;transition:border-color .12s var(--ease)}.param input[type=number]:focus,.param input[type=text]:focus,.param select:focus{border-color:var(--signal);outline:none}.param.wide{grid-template-columns:76px minmax(0,1fr)}.chip{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;border:1px solid var(--line);color:var(--ink-dim);white-space:nowrap;font-weight:600;transition:color .15s var(--ease),border-color .15s var(--ease),background .15s var(--ease)}.chip.ok{color:var(--restore);border-color:var(--restore);background:var(--restore-soft)}.chip.warn{color:var(--oneway);border-color:var(--oneway);background:var(--oneway-soft)}.chip.hot{color:var(--signal);border-color:var(--signal);background:var(--signal-soft)}.scan{border-top:1px solid var(--line);background:var(--panel);display:grid;grid-template-rows:auto 0fr;grid-template-columns:minmax(0,1fr);transition:grid-template-rows .22s var(--ease);animation:slideUp .4s var(--ease-out) .16s both}.scan.is-open{grid-template-rows:auto 1fr}.scan-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;padding:10px var(--pad);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s var(--ease)}.scan-head:hover{background:var(--panel-2)}.scan-head:hover .pane-title{color:var(--signal)}.scan-body{overflow:hidden;min-height:0}.scan-inner{padding:6px var(--pad) 16px;max-height:27vh;overflow:auto;display:grid;grid-gap:12px;gap:12px}.meter{height:5px;background:var(--line);overflow:hidden;flex:0 0 120px}.meter,.meter i{border-radius:3px}.meter i{display:block;height:100%;background:var(--restore);transition:width .3s var(--ease),background .3s var(--ease)}.meter.lv-heavy i,.meter.lv-traces i{background:var(--signal)}.meter.lv-industrial i{background:var(--oneway)}.tells{display:flex;flex-wrap:wrap;gap:7px}.tell{display:flex;align-items:baseline;gap:8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2);padding:6px 10px;max-width:100%;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease)}.tell:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:var(--ink-dim)}.tell b{font-size:11px;font-weight:700;color:var(--ink)}.tell i{font-style:normal;font-size:10px;color:var(--signal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.tell span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:30ch}.scan-note,.tell span{font-family:var(--sans);color:var(--ink-dim)}.scan-note{font-size:12px;margin:0;max-width:78ch;line-height:1.6}.picker{position:fixed;inset:0;background:rgba(6,8,12,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;place-items:center;padding:24px;z-index:20}.picker.is-open{display:grid}.picker-card{width:min(760px,100%);max-height:min(640px,86vh);grid-template-columns:minmax(0,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.picker-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}#picker-search{flex:1 1;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font-size:13px;transition:border-color .12s var(--ease)}#picker-search:focus{border-color:var(--signal);outline:none}.picker-list{overflow:auto;padding:8px 10px 16px}.picker-group{padding:14px 8px 8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);position:-webkit-sticky;position:sticky;top:0;background:var(--panel);font-weight:700}.picker-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:10px;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;padding:8px 10px;cursor:pointer;transition:background .1s var(--ease),border-color .1s var(--ease)}.picker-item.is-active,.picker-item:hover{background:var(--panel-2);border-color:var(--line)}.picker-item strong{font-size:12.5px;font-weight:700;display:block}.picker-item em{font-family:var(--sans);font-style:normal;font-size:11px;color:var(--ink-dim);display:block;margin-top:3px;line-height:1.4}.btn-hero{width:100%;padding:18px 16px;font-size:15px;font-weight:800;letter-spacing:.2em;color:#fff;background:linear-gradient(135deg,#e85a10,#ff6a1f,#ff8a4f,#ff6a1f);background-size:300% 300%;border:none;border-radius:var(--r);animation:gradientShift 5s ease infinite,pulseGlow 3s ease-in-out infinite;transition:transform .2s var(--ease),filter .2s var(--ease);cursor:pointer;text-transform:uppercase}.btn-hero:hover:not(:disabled){color:#fff;transform:translateY(-2px) scale(1.015);filter:brightness(1.1)}.btn-hero:active:not(:disabled){transform:translateY(0) scale(.97);transition-duration:.08s}.btn-hero:disabled{opacity:.4;filter:saturate(.4);animation:none;cursor:not-allowed}.pane-source{position:relative}.drop-hint{position:absolute;inset:0;z-index:5;display:none;place-items:center;background:var(--signal-soft);border:2px dashed var(--signal);border-radius:var(--r);color:var(--signal);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.pane-source.is-dropping .drop-hint{display:grid}.rack-foot-row{display:flex;align-items:center;gap:8px}.rack-foot-row .counts{flex:1 1}.btn-quiet{background:transparent;border-color:transparent;color:var(--ink-dim);font-weight:500}.btn-quiet:hover:not(:disabled){color:var(--oneway);border-color:var(--oneway);background:var(--oneway-soft)}.bug-card{max-height:min(680px,90vh)}.bug-body{overflow:auto;padding:16px;display:grid;grid-gap:12px;gap:12px}.bug-note{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--ink-dim);margin:0;max-width:70ch}.bug-privacy{border-left:3px solid var(--restore);background:var(--restore-soft);padding:10px 12px;border-radius:var(--r-sm);color:var(--ink-mid)}.bug-privacy b{color:var(--ink)}.bug-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-weight:700}#bug-what{width:100%;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;font-family:var(--mono);font-size:13px;line-height:1.55;resize:vertical;transition:border-color .12s var(--ease)}#bug-what:focus{border-color:var(--signal);outline:none}.bug-diag{margin:0;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px;font-size:11.5px;line-height:1.55;color:var(--ink-mid);max-height:190px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.bug-actions{display:flex;gap:8px;align-items:center}.bug-actions .btn{text-decoration:none}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,6px);background:var(--raised);border:1px solid var(--line);border-radius:var(--r);padding:9px 16px;font-size:12px;font-weight:500;color:var(--ink);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .18s var(--ease),transform .18s var(--ease);z-index:30}.toast.is-on{opacity:1;transform:translate(-50%)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.grow{flex:1 1}.meter i{width:0}.noscript{max-width:60ch;margin:12vh auto;padding:0 24px;font-family:var(--sans);line-height:1.7;color:var(--ink)}.noscript h1{font-size:18px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.paywall-fade{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to bottom,transparent 0,var(--ground) 85%);pointer-events:none;z-index:2}.scan-cta{display:none}.scan-cta-inner{border:1px solid var(--line);border-radius:var(--r);background:var(--panel-2);padding:10px 12px}.scan-cta-text{font-family:var(--sans);font-size:12px;color:var(--ink-dim);margin:0 0 10px;max-width:68ch;line-height:1.5}.scan-cta-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scan-cta-note{font-family:var(--sans);font-size:11px;color:var(--ink-dim)}.paywall-detail{margin-top:8px;font-size:12px;color:var(--ink-dim)}@media (max-width:1080px){body{overflow:auto}.app{height:auto;min-height:100dvh;grid-template-rows:var(--bar) auto auto}.stage{grid-template-columns:1fr}.pane,.rack{min-height:320px}#source,.out{min-height:220px}.scan-inner{max-height:none}}@media (max-width:620px){.brand-sub{display:none}.bar{gap:10px}}@media (pointer:coarse){.btn-icon{width:44px;height:44px}.btn{padding:12px 15px;min-height:44px}.dir button{padding:12px 14px;min-height:44px}.mod-head{flex-wrap:wrap;gap:5px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;transition-duration:.001ms!important}}.out-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;text-align:center;color:var(--ink-dim);font-family:var(--sans);font-size:13px;letter-spacing:.02em}.tour-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100;animation:fadeIn .2s var(--ease-out)}.tour-highlight{position:relative!important;z-index:101!important;box-shadow:0 0 0 3px var(--signal),0 0 16px rgba(255,106,31,.2)!important;border-radius:var(--r)!important}.tour-card{position:fixed;z-index:102;width:360px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:24px;font-family:var(--sans);animation:slideUp .25s var(--ease-out)}.tour-step{font-size:11px;color:var(--ink-dim);margin-bottom:8px;letter-spacing:.04em;font-weight:600}.tour-title{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:8px}.tour-desc{font-size:13px;line-height:1.65;color:var(--ink-mid);margin-bottom:20px}.tour-nav{gap:8px}.tour-help,.tour-nav{display:flex;align-items:center}.tour-help{position:fixed;bottom:22px;right:22px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink-dim);font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;justify-content:center;box-shadow:var(--shadow);z-index:50;transition:color .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.tour-help:hover{color:var(--signal);border-color:var(--signal);transform:scale(1.08)}.credits-badge{display:flex;align-items:center;gap:6px;background:var(--signal-soft);border:1px solid var(--signal);border-radius:20px;padding:5px 14px 5px 10px;font-size:13px;font-weight:700;color:var(--signal);letter-spacing:.02em;white-space:nowrap;animation:slideUp .45s var(--ease-out) .25s both}.credits-badge .credits-icon{font-size:15px;line-height:1}.credits-badge .credits-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn-buy{background:var(--signal);color:#fff;border-color:var(--signal);font-weight:700;border-radius:20px;padding:6px 15px;font-size:11px;letter-spacing:.06em;animation:slideUp .45s var(--ease-out) .3s both,pulseGlow 3.5s ease-in-out 1.5s infinite;transition:transform .15s var(--ease),filter .15s var(--ease)}.btn-buy:hover:not(:disabled){color:#fff;transform:translateY(-1px) scale(1.03);filter:brightness(1.1)}.presets button{animation:slideUp .3s var(--ease-out) both}.presets button:first-child{animation-delay:.06s}.presets button:nth-child(2){animation-delay:.1s}.presets button:nth-child(3){animation-delay:.14s}.presets button:nth-child(4){animation-delay:.18s}.presets button:nth-child(5){animation-delay:.22s}#source{transition:box-shadow .2s var(--ease)}#source:focus{box-shadow:inset 0 0 0 1px var(--signal-soft)}