:root{--bg-ground:#07080a;--bg-base:#0b0d10;--bg-surface:#101317;--bg-raised:#161a1f;--bg-overlay:#1b2026;--text-primary:#eceff3;--text-secondary:#a3abb6;--text-muted:#7c8591;--text-on-accent:#1a0e05;--text-on-loss:#1a0e05;--border-subtle:#d6e2ff12;--border-default:#d6e2ff1c;--border-strong:#d6e2ff2e;--border-card:#d6e2ff21;--accent:#ff7a18;--accent-light:#ffa24d;--accent-dark:#e0640a;--accent-soft:#ff7a1824;--accent-line:#ff7a186b;--accent-row-soft:#ff7a1814;--accent-row-faint:#ff7a180f;--accent-note-fill:#ff7a181a;--accent-note-line:#ff7a185c;--profit:#3dd68c;--profit-soft:#3dd68c1f;--profit-line:#3dd68c5c;--loss:#ed5055;--loss-soft:#ed50551f;--loss-line:#ed50555c;--neutral:#7c8591;--neutral-soft:#7c85911f;--neutral-line:#7c85915c;--warning:#e6b422;--warning-soft:#e6b4221f;--warning-line:#e6b4225c;--system:#8fc2ff;--system-soft:#8fc2ff1f;--system-line:#8fc2ff5c;--status-running:var(--profit);--status-stopped:var(--neutral);--status-error:var(--loss);--status-draft:var(--neutral);--font-text:"Onest", -apple-system, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Geologica", -apple-system, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, monospace;--size-display:76px;--size-display-window:56px;--size-hero:44px;--size-hero-web:40px;--size-summary:36px;--size-code:34px;--size-big:32px;--size-mob-hero:30px;--size-figure:28px;--size-bind-code:26px;--size-metric:25px;--size-mob-title:24px;--size-title:22px;--size-detail:20px;--size-card-metric:18px;--size-sheet-title:17px;--size-heading:16px;--size-body:15px;--size-value:14px;--size-small:13px;--size-caption:12px;--size-label:11px;--size-axis:10px;--size-hero-web-narrow:var(--size-big);--size-big-narrow:var(--size-bind-code);--size-limit-cap:var(--size-figure);--size-advisor-version:var(--size-figure);--size-metric-compact:var(--size-title);--size-hero-unit:var(--size-card-metric);--size-binding-name:var(--size-sheet-title);--size-metric-tail:var(--size-heading);--size-mob-pair:var(--size-heading);--size-mob-sheet-label:var(--size-body);--size-name:var(--size-value);--size-field:var(--size-value);--size-cell-mono:var(--size-small);--size-tiny:var(--size-label);--size-counter:var(--size-label);--size-mob-tab:var(--size-axis);--tracking-code:.12em;--tracking-bind-code:.08em;--tracking-label:.08em;--tracking-hero:-.02em;--tracking-summary:-.02em;--tracking-caps:.06em;--line-body:1.5;--line-title:1.2;--line-card-name:1.3;--line-card-metric:1.1;--line-metric:1.05;--line-summary:1;--line-sheet-title:1.3;--line-mob-title:1.15;--line-detail:1.1;--line-note:1.45;--line-solid:1;--space-0:0;--space-0-25:1px;--space-0-5:2px;--space-0-75:3px;--space-1:4px;--space-1-25:5px;--space-1-5:6px;--space-2:8px;--space-2-25:9px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-panel:18px;--radius-xs:6px;--radius-control:9px;--radius-card:14px;--radius-hero:12px;--radius-pill:999px;--radius-segment:7px;--radius-sheet:14px;--radius-step:8px;--radius-bar:2px;--radius-code:10px;--radius-check:4px;--shadow-card:inset 0 1px 0 #ffffff0d, 0 2px 10px #00000059;--shadow-overlay:0 12px 32px #00000080;--shadow-sheet:0 30px 90px #000000b3, inset 0 1px 0 #ffffff0f;--shadow-focus:0 0 0 2px var(--accent);--highlight-top:inset 0 1px 0 #ffffff0d;--shadow-login:0 24px 60px #00000080;--shadow-menu:0 20px 50px #0009, inset 0 1px 0 #ffffff0d;--shadow-mob-sheet:0 -20px 50px #0009;--shadow-button:0 6px 22px #ff7a183d;--veil:#0000008c;--mob-bar-bg:#0b0d10e6;--tab-on-fill:#ff7a181f;--tab-on-ring:inset 0 0 0 1px #ff7a184d;--menu-hover-fill:#ff7a181f;--menu-hover-line:#ff7a1847;--warning-fill:#e6b42229;--warning-tile-fill:#e6b42214;--warning-tile-line:#e6b42252;--advice-fill:#e6b4221a;--advice-line:#e6b42247;--motion-duration:.18s;--motion-easing:ease-out;--motion-sheet:.22s;--sheet-shift:10px;--sheet-scale:.98;--motion-menu:.26s;--motion-menu-fade:.2s;--motion-menu-easing:cubic-bezier(.2, .8, .2, 1);--motion-screen:.52s;--screen-shift:12px;--menu-scale:.97;--hover-lift:-1px;--glow-card:0 0 0 1px #ff7a181f, 0 0 24px #ff7a181a, 0 10px 28px #00000073;--glow-primary:0 0 0 3px #ff7a182e, 0 6px 18px #ff7a184d;--glow-quiet:0 0 0 3px #ff7a181a;--glow-muted:0 0 0 3px #ffffff0a;--glow-alert:0 0 0 3px #ed50551f;--alert-hover-fill:#ed505529;--hover-highlight:#ffffff0f;--halo-w:3px;--pressed-surface:#1f242b;--dimmed:.7;--disabled:.45;--arrow-dim:.7;--money-dim:.75;--pick-off:.55;--glow-line-blur:5px;--ring-duration:3s;--ring-dim:#ff7a182e;--ring-spark:#ffd9b8;--hover-surface:#141820;--dust-count:530;--dust-size:7px;--dust-speed:.5;--dust-link:105px;--dust-reach:180px;--dust-opacity:.2;--dust-beams:10;--grain-opacity:.18;--grain-tile:160px;--spot-radius:320px;--spot-card:#8fc2ff1c;--spot-edge:#d6e2ff38;--spot-fade:.42s;--spot-reach:90px;--top-bar-fill:#0b0d10b8;--top-bar-blur:14px;--run-h:10px;--run-mark:12px;--run-tick:2px;--run-money-lift:16px;--pulse-h:72px;--pulse-stroke:1.7px;--pulse-glow:8px;--alarm-duration:2.4s;--aurora-blur:70px;--aurora-warm:#ff7a184d;--aurora-light:#ffa24d38;--aurora-deep:#e0640a33;--aurora-run-a:26s;--aurora-run-b:34s;--aurora-run-c:42s;--edge-spot:#ffa24d;--edge-spot-radius:110px;--edge-spot-core:#ffc994f2;--edge-spot-core-radius:42px;--ease-spring:linear(.001, .029, .096, .178, .269, .364, .469, .557, .638, .711, .781, .835, .88, .921, .95, .973, .99, 1.004, 1.013, 1.019, 1.022, 1.024, 1.023, 1.022, 1.021, 1.019, 1.016, 1.014, 1.012, 1.01, 1.008, 1.006, 1.005, 1.003, 1.002, 1.002, 1.001, 1, 1, 1, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--motion-spring:.56s;--motion-sweep:1.1s;--odometer-step:28ms;--odometer-roll:.9s;--candle:linear-gradient(to top, #ff5a00, #ff7a18 55%, #ffb347);--candle-glow:0 0 12px #ff7a18b3;--candle-w:3px;--panel-sheen:linear-gradient(180deg, #d6e2ff07, #d6e2ff00 120px);--panel-depth:inset 0 1px 0 #ffffff08, 0 20px 40px -24px #0009;--horizon:radial-gradient(60% 100% at 30% 0%, #8fc2ff0e, transparent 70%);--horizon-h:420px;--glass-fill:#161a1ff0;--glass-blur:16px;--sweep-line:linear-gradient(90deg, transparent, #8fc2ffe6, transparent);--rail-fill:linear-gradient(90deg, #ff7a181a, #d6e2ff08 60%);--quiet-fill:#d6e2ff08;--quiet-hover:#d6e2ff0e;--tracking-display:-.045em;--tracking-heading:-.025em;--rail-w:232px;--rail-w-compact:72px;--sysbar-h:60px;--nav-item-h:38px;--nav-icon:18px;--brand-mark:34px;--core-w:340px;--core-ring:64px;--content-max-wide:1920px;--sym-tile-w:150px;--sym-tile-h:52px;--bubble-w:360px;--input-h:46px;--otp-h:56px;--icon-timer:22px;--scene-h-phone:300px;--scene-dial-phone:250px;--control-h:32px;--control-h-sm:26px;--control-h-xs:22px;--tab-h:34px;--tab-line:2px;--search-w:200px;--search-icon:12px;--search-icon-stroke:1.5px;--alerts-max:520px;--spark-h:24px;--spark-stroke:1.5px;--spark-pad:2px;--spark-zero-dash:2 3;--dash:3px;--sidebar-w:220px;--content-max:1180px;--status-dot:6px;--border-w:1px;--focus-w:2px;--rule-w:2px;--row-bar:3px;--mob-safe-bottom:22px;--row-dashboard:44px;--hero-column-w:300px;--showcase-preview-w:400px;--showcase-editor-h:146px;--chip-h:22px;--spark-hero-h:186px;--plot-tip-lift:14px;--plot-edge-ring:1.5px;--spark-card-h:24px;--equity-h:170px;--sheet-w:540px;--risk-w:720px;--risk-body-h:62vh;--risk-body-min-h:220px;--shots-w:1240px;--shots-body-h:70vh;--shots-body-min-h:220px;--check:16px;--sheet-pad:22px;--tab-web-h:38px;--subtab-h:28px;--lang-pill-w:44px;--menu-min-w:260px;--menu-pad:6px;--menu-item-pad:7px;--logo-h:44px;--logo-h-narrow:34px;--logo-h-card:56px;--logo-h-mobile:30px;--aside-install-w:300px;--aside-create-w:320px;--entry-field-w:130px;--step-no:26px;--pick-dot:16px;--range-h:20px;--risk-lot-w:96px;--mob-bar-pad:6px;--mob-tab-h:48px;--mob-bottom:96px;--mob-grip-w:44px;--mob-grip-h:4px;--mob-blur:12px;--mob-sheet-radius:18px;--mob-button-h:44px;--mob-card-radius:14px;--mob-equity-h:90px;--mob-stream-h:36px;--limit-bar-h:8px;--term-bar-h:10px;--path-dot:7px;--path-col:14px;--cut-col-trades:50px;--cut-col-total:80px;--cut-col-money:110px;--cut-col-share:50px;--row-cut:34px;--trade-col-when:116px;--trade-col-side:84px;--trade-col-volume:64px;--trade-col-price:86px;--trade-col-total:150px;--trade-col-money:100px;--row-trade:38px;--trades-min:960px;--fomo-col-when:118px;--fomo-col-side:78px;--fomo-col-outcome:148px;--fomo-col-price:80px;--fomo-col-risk:92px;--fomo-col-units:76px;--fomo-col-result:104px;--fomo-col-balance:112px;--row-fomo:34px;--row-fomo-month:46px;--fomo-min:940px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/JetBrainsMono-SemiBold.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2")}@font-face{font-family:Geologica;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/Geologica-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geologica;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/Geologica-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geologica;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/Geologica-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geologica;font-style:normal;font-weight:200 600;font-display:swap;src:url(/fonts/Geologica-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Onest-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Onest-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Onest-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/Onest-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-ground);color:var(--text-primary);font-family:var(--font-text);font-size:var(--size-body);line-height:var(--line-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:var(--tracking-heading);text-wrap:balance;margin:0;font-weight:600}a{color:inherit;text-decoration:none}p{margin:0}.mono{font-family:var(--font-mono)}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.label{font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);font-weight:500}::selection{background:var(--accent-soft)}:focus-visible{outline:var(--focus-w) solid var(--accent);outline-offset:2px}@property --ring-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ring-spin{to{--ring-angle:360deg}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:38px;padding:0 var(--space-4);font:inherit;font-size:var(--size-value);color:var(--text-on-accent);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;background:linear-gradient(180deg, var(--accent-light), var(--accent) 55%, var(--accent-dark));box-shadow:var(--shadow-button);transition:filter var(--motion-duration) var(--motion-easing), transform .12s;border:0;font-weight:500;display:inline-flex;position:relative}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(1px)}.btn:after{content:"";inset:calc(-1 * var(--border-w));border-radius:inherit;padding:var(--border-w);pointer-events:none;opacity:0;transition:opacity var(--motion-duration) var(--motion-easing);background:conic-gradient(from var(--ring-angle), var(--ring-dim) 0%, var(--accent) 27%, var(--ring-spark) 30%, var(--accent) 33%, var(--ring-dim) 40%, var(--ring-dim) 50%, var(--accent) 77%, var(--ring-spark) 80%, var(--accent) 83%, var(--ring-dim) 90%);-webkit-mask-composite:xor;animation:ring-spin var(--ring-duration) linear infinite;position:absolute;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.btn:hover:after{opacity:1}.btn[disabled]{opacity:.45;cursor:default;box-shadow:none;filter:none}.btn[disabled]:after{content:none}.btn.quiet{background:var(--quiet-fill);color:var(--text-primary);border:var(--border-w) solid var(--border-default);box-shadow:none;transition:border-color var(--motion-duration), background var(--motion-duration), color var(--motion-duration)}.btn.quiet:hover{border-color:var(--accent-line);background:var(--bg-raised);color:var(--accent-light);filter:none}.btn.danger{background:var(--loss-soft);color:var(--loss);border:var(--border-w) solid var(--loss-line);box-shadow:none}.btn.danger:hover{filter:none;background:#ed505533}.btn.sm{min-height:var(--control-h);padding:0 var(--space-3);font-size:var(--size-small)}.btn.icon{width:var(--control-h);min-height:var(--control-h);padding:0}.btn.block{width:100%}.btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.field{gap:var(--space-1-5);flex-direction:column;display:flex}.field>span{font-size:var(--size-caption);color:var(--text-secondary)}input,select,textarea{width:100%;font:inherit;font-size:var(--size-value);color:var(--text-primary);background:var(--bg-ground);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-control);transition:border-color var(--motion-duration);padding:9px 12px}textarea{resize:vertical;min-height:96px;line-height:var(--line-note)}input:focus,select:focus,textarea:focus{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox]{width:auto;accent-color:var(--accent)}input[type=file]{padding:8px}.pill{align-items:center;gap:var(--space-1-5);border-radius:var(--radius-pill);font-size:var(--size-caption);white-space:nowrap;background:var(--neutral-soft);color:var(--text-primary);padding:3px 10px;font-weight:500;display:inline-flex}.pill:before{content:"";background:var(--neutral);border-radius:50%;width:6px;height:6px}.pill.ok{background:var(--profit-soft)}.pill.ok:before{background:var(--profit)}.pill.err{background:var(--loss-soft)}.pill.err:before{background:var(--loss)}.pill.warn{background:var(--warning-soft)}.pill.warn:before{background:var(--warning)}.pill.sys{background:var(--system-soft)}.pill.sys:before{background:var(--system);animation:1.4s ease-in-out infinite blink}.pill.lock{border:var(--border-w) solid var(--border-default);color:var(--text-secondary);background:0 0}.pill.lock:before{content:none}@keyframes blink{50%{opacity:.3}}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);min-height:100vh;display:grid}.rail{z-index:30;scrollbar-width:none;gap:var(--space-1-5);height:100vh;padding:var(--space-4) var(--space-3) var(--space-3-5);background:var(--bg-ground);border-right:var(--border-w) solid var(--border-subtle);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-1) var(--space-2);display:flex}.brand img{width:var(--brand-mark);height:var(--brand-mark);flex:none}.brand-name{flex-direction:column;gap:2px;min-width:0;display:flex}.brand-name b{font-family:var(--font-display);font-size:var(--size-body);letter-spacing:var(--tracking-heading);white-space:nowrap;font-weight:600}.brand-name small{font-family:var(--font-mono);font-size:var(--size-axis);letter-spacing:var(--tracking-code);color:var(--text-muted);white-space:nowrap;font-weight:500}.nav-group{margin:var(--space-3) var(--space-3) var(--space-1)}.nav{flex-direction:column;gap:2px;display:flex}.nav a{height:var(--nav-item-h);padding:0 var(--space-3);align-items:center;gap:var(--space-3);color:var(--text-secondary);border-radius:var(--radius-control);font-size:var(--size-small);transition:color var(--motion-duration), background var(--motion-duration);font-weight:500;display:flex;position:relative}.nav a:hover{color:var(--text-primary);background:var(--quiet-fill)}.nav a.on{color:var(--text-primary);background:var(--rail-fill);box-shadow:inset 0 0 0 var(--border-w) var(--border-subtle)}.nav a.on:before{content:"";width:var(--candle-w);border-radius:var(--radius-pill);background:var(--candle);box-shadow:var(--candle-glow);animation:candle-in var(--motion-spring) var(--ease-spring) both;position:absolute;top:9px;bottom:9px;left:0}@keyframes candle-in{0%{opacity:0;transform:scaleY(.2)}}.nav svg,.tabbar svg{width:var(--nav-icon);height:var(--nav-icon);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--motion-spring) var(--ease-spring);flex:none}.nav a:hover svg{transform:translate(1px)scale(1.06)}.rail-foot{padding-top:var(--space-3);margin-top:auto}.who{align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-2-5);border:var(--border-w) solid var(--border-subtle);border-radius:var(--radius-card);display:flex}.avatar{width:var(--control-h);height:var(--control-h);font-family:var(--font-mono);font-size:var(--size-label);background:var(--bg-raised);border:var(--border-w) solid var(--border-default);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.who-text{flex-direction:column;flex:1;min-width:0;display:flex}.who-text b,.who-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.who-text b{font-size:var(--size-small);font-weight:500}.who-text small{font-size:var(--size-label);color:var(--text-muted)}.who button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;display:grid}.who button:hover{color:var(--accent-light);background:var(--quiet-fill)}.who button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.field-area{background:var(--bg-base);isolation:isolate;min-width:0;position:relative}.field-area:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 100% at 50% 0,#8fc2ff0d,#0000 70%);height:320px;position:absolute;inset:0 0 auto}.topbar{z-index:20;align-items:center;gap:var(--space-4);min-height:60px;padding:var(--space-3) var(--space-8);-webkit-backdrop-filter:blur(14px);border-bottom:var(--border-w) solid var(--border-subtle);background:#0b0d10d1;display:flex;position:sticky;top:0}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--system), transparent);opacity:0;width:30%;height:1px;position:absolute;bottom:-1px;left:0}.topbar.pulse:after{animation:.9s ease-out run-light}@keyframes run-light{0%{opacity:1;transform:translate(-30%)}to{opacity:0;transform:translate(330%)}}.topbar h1{font-size:var(--size-heading)}.topbar .sub{font-size:var(--size-caption);color:var(--text-muted)}.topbar .spacer{flex:1}.page{max-width:var(--content-max);padding:var(--space-8) var(--space-8) 80px;margin:0 auto}.page.wide{max-width:1440px}.enter>*{animation:rise var(--motion-spring) var(--ease-spring) both}.enter>:nth-child(2){animation-delay:50ms}.enter>:nth-child(3){animation-delay:.1s}.enter>:nth-child(4){animation-delay:.15s}.enter>:nth-child(n+5){animation-delay:.2s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.mob-head,.tabbar{display:none}.panel{background:var(--panel-sheen), var(--bg-surface);border:var(--border-w) solid var(--border-card);border-radius:var(--radius-panel);box-shadow:var(--panel-depth);position:relative}.panel.pad{padding:var(--space-6)}.section{margin-top:var(--space-10)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.section-head h2{font-size:var(--size-title)}.greeting h1{font-size:var(--size-big);font-weight:500}.greeting p{margin-top:var(--space-2);color:var(--text-secondary)}.continue{gap:var(--space-6);padding:var(--space-6) var(--space-8);margin-top:var(--space-6);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.continue:before{content:"";width:var(--candle-w);border-radius:var(--radius-pill);background:var(--candle);box-shadow:var(--candle-glow);position:absolute;top:22px;bottom:22px;left:0}.continue h3{font-size:var(--size-detail);margin:var(--space-1) 0 var(--space-1)}.continue .meta{color:var(--text-secondary);font-size:var(--size-small)}.continue .bar{margin-top:var(--space-4);max-width:520px}.bar{align-items:center;gap:var(--space-3);display:flex}.bar-track{border-radius:var(--radius-pill);background:var(--bg-raised);flex:1;height:6px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, #2bb673, var(--profit));transform-origin:0;height:100%;animation:grow .9s var(--ease-spring) both;box-shadow:0 0 10px #3dd68c59}.bar-fill.sys{background:var(--system);box-shadow:0 0 10px #8fc2ff59}@keyframes grow{0%{transform:scaleX(0)}}.bar-num{font-family:var(--font-mono);font-size:var(--size-caption);color:var(--text-secondary);text-align:right;min-width:38px}.grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));display:grid}.course-card{cursor:pointer;transition:transform var(--motion-spring) var(--ease-spring), border-color var(--motion-duration);flex-direction:column;display:flex;overflow:hidden}.course-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.cover{aspect-ratio:16/9;background:var(--bg-raised);border-bottom:var(--border-w) solid var(--border-subtle);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-spring);display:block}.course-card:hover .cover img{transform:scale(1.03)}.cover-empty{background:radial-gradient(120% 90% at 20% 0%, #ff7a1829, transparent 55%), radial-gradient(100% 90% at 100% 100%, #8fc2ff1a, transparent 60%), var(--bg-raised);place-items:center;display:grid;position:absolute;inset:0}.cover-empty img{opacity:.85;width:64px;height:64px}.cover .pill{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07080abf;position:absolute;top:12px;left:12px}.course-body{padding:var(--space-5);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.course-body h3{font-size:var(--size-sheet-title);line-height:var(--line-card-name)}.course-body p{color:var(--text-secondary);font-size:var(--size-small);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-meta{gap:var(--space-4);font-family:var(--font-mono);font-size:var(--size-caption);color:var(--text-muted);padding-top:var(--space-2);margin-top:auto;display:flex}.course-foot{align-items:center;gap:var(--space-4);padding:0 var(--space-5) var(--space-5);display:flex}.course-foot .bar{flex:1}.locked{opacity:.78}.empty{padding:var(--space-10) var(--space-6);text-align:center;color:var(--text-secondary)}.empty h3{color:var(--text-primary);font-size:var(--size-heading);margin-bottom:var(--space-2)}.skel{background:linear-gradient(90deg, var(--bg-surface) 0%, var(--bg-raised) 50%, var(--bg-surface) 100%);border-radius:var(--radius-card);background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.course-hero{gap:var(--space-8);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;display:grid}.course-hero .cover{border-radius:var(--radius-panel);border:var(--border-w) solid var(--border-card)}.course-hero h1{font-size:var(--size-figure);line-height:var(--line-title);margin:var(--space-2) 0 var(--space-3)}.course-hero .desc{color:var(--text-secondary);white-space:pre-wrap}.course-hero .actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.module{margin-top:var(--space-4);overflow:hidden}.module-head{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);display:flex}.module-head .num{font-family:var(--font-mono);font-size:var(--size-caption);color:var(--accent)}.module-head h3{font-size:var(--size-heading);flex:1}.lesson-row{align-items:center;gap:var(--space-3);padding:12px var(--space-5);border-top:var(--border-w) solid var(--border-subtle);font-size:var(--size-value);color:var(--text-secondary);transition:background var(--motion-duration), color var(--motion-duration);display:flex}a.lesson-row:hover{background:var(--bg-raised);color:var(--text-primary)}.lesson-row .t{flex:1;min-width:0}.lesson-row .d{font-family:var(--font-mono);font-size:var(--size-caption);color:var(--text-muted)}.check{border:1.5px solid var(--border-strong);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.check.done{background:var(--profit);border-color:var(--profit)}.check.done:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}.check.lock{border-style:dashed}.lesson-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.lesson-main{min-width:0}.crumbs{gap:var(--space-2);font-size:var(--size-caption);color:var(--text-muted);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.crumbs a:hover{color:var(--accent-light)}.lesson-title{font-size:var(--size-title);margin-top:var(--space-5)}.lesson-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.lesson-actions .spacer{flex:1}.prose{color:var(--text-secondary);white-space:pre-wrap;max-width:72ch;line-height:1.65}.notes{margin-top:var(--space-5)}.notes h3{font-size:var(--size-heading);margin-bottom:var(--space-3)}.materials{gap:var(--space-2);flex-direction:column;display:flex}.materials a{align-items:center;gap:var(--space-2);color:var(--text-primary);border-radius:var(--radius-control);border:var(--border-w) solid var(--border-subtle);padding:10px 12px;display:flex}.materials a:hover{border-color:var(--accent-line);color:var(--accent-light)}.outline{flex-direction:column;max-height:calc(100vh - 96px);display:flex;position:sticky;top:76px;overflow:hidden}.outline-head{padding:var(--space-4) var(--space-5);border-bottom:var(--border-w) solid var(--border-subtle)}.outline-head h3{font-size:var(--size-value);margin:4px 0 var(--space-3)}.outline-body{padding-bottom:var(--space-2);scrollbar-width:thin;overflow-y:auto}.outline-mod{padding:var(--space-3) var(--space-5) var(--space-1);font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted)}.outline a{align-items:center;gap:var(--space-2-5);padding:9px var(--space-5);font-size:var(--size-small);color:var(--text-secondary);transition:background var(--motion-duration), color var(--motion-duration);display:flex;position:relative}.outline a:hover{background:var(--bg-raised);color:var(--text-primary)}.outline a.on{background:var(--rail-fill);color:var(--text-primary)}.outline a.on:before{content:"";width:var(--candle-w);border-radius:var(--radius-pill);background:var(--candle);box-shadow:var(--candle-glow);position:absolute;top:8px;bottom:8px;left:0}.outline a .t{flex:1;min-width:0}.outline a .next{font-size:var(--size-label);color:var(--accent-light)}.outline .check{width:16px;height:16px}.outline .check.done:after{width:4px;height:8px}.player{aspect-ratio:16/9;border-radius:var(--radius-panel);border:var(--border-w) solid var(--border-card);-webkit-user-select:none;user-select:none;background:#000;position:relative;overflow:hidden}.player video{background:#000;width:100%;height:100%;display:block}.player:fullscreen{border:0;border-radius:0}.player-msg{text-align:center;padding:var(--space-6);color:var(--text-secondary);place-items:center;gap:var(--space-3);align-content:center;display:grid;position:absolute;inset:0}.player-msg b{color:var(--text-primary);font-family:var(--font-display);font-size:var(--size-sheet-title);font-weight:600}.watermark{pointer-events:none;font-family:var(--font-mono);color:#ffffff29;white-space:nowrap;text-shadow:0 0 2px #0006;z-index:2;font-size:12px;transition:left 2s linear,top 2s linear;position:absolute}.big-play{cursor:pointer;z-index:3;background:linear-gradient(180deg, var(--accent-light), var(--accent) 55%, var(--accent-dark));width:72px;height:72px;transition:transform var(--motion-spring) var(--ease-spring);border:0;border-radius:50%;place-items:center;margin:-36px 0 0 -36px;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 10px 40px #ff7a1873}.big-play:hover{transform:scale(1.06)}.big-play svg{width:28px;height:28px;fill:var(--text-on-accent);margin-left:4px}.controls{z-index:4;padding:28px var(--space-3) var(--space-2);background:linear-gradient(#0000,#000c);transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.player.idle .controls{opacity:0}.player.idle{cursor:none}.seek{cursor:pointer;touch-action:none;align-items:center;height:16px;display:flex;position:relative}.seek-track{background:#ffffff2e;border-radius:2px;width:100%;height:4px;transition:height .15s;position:relative}.seek:hover .seek-track{height:6px}.seek-buf{border-radius:inherit;background:#ffffff47;position:absolute;inset:0 auto 0 0}.seek-fill{background:var(--accent);border-radius:inherit;position:absolute;inset:0 auto 0 0}.seek-knob{background:var(--accent-light);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;top:50%;box-shadow:0 0 10px #ff7a18b3}.seek-tip{font-family:var(--font-mono);pointer-events:none;background:#000000d9;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:18px;transform:translate(-50%)}.ctrl-row{align-items:center;gap:var(--space-1);margin-top:var(--space-1);display:flex}.ctrl-row .spacer{flex:1}.cbtn{color:#fff;cursor:pointer;width:36px;height:36px;font:inherit;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.cbtn:hover{background:#ffffff1f}.cbtn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.cbtn svg.fill{fill:currentColor;stroke:none}.cbtn.text{width:auto;font-family:var(--font-mono);font-size:var(--size-caption);padding:0 10px;font-weight:600}.time{font-family:var(--font-mono);font-size:var(--size-caption);color:#ffffffd9;padding:0 var(--space-2)}.vol{width:80px;accent-color:var(--accent);background:0 0;border:0;height:4px;padding:0}.speed-menu{right:var(--space-3);background:var(--bg-overlay);border:var(--border-w) solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-menu);z-index:5;padding:4px;position:absolute;bottom:56px}.speed-menu button{text-align:left;width:100%;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--size-small);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 16px;display:block}.speed-menu button:hover{background:var(--bg-raised);color:var(--text-primary)}.speed-menu button.on{color:var(--accent-light)}.resume{left:var(--space-3);z-index:5;gap:var(--space-2);border-radius:var(--radius-card);border:var(--border-w) solid var(--border-default);font-size:var(--size-small);background:#101317eb;align-items:center;padding:8px 8px 8px 14px;display:flex;position:absolute;bottom:72px}.auth{background:var(--bg-base);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-stage{background:var(--bg-ground);border-right:var(--border-w) solid var(--border-subtle);flex-direction:column;justify-content:center;padding:64px;display:flex;position:relative;overflow:hidden}.auth-stage:before{content:"";background:radial-gradient(60% 50% at 30% 40%,#ff7a181a,#0000 70%),radial-gradient(50% 50% at 80% 90%,#8fc2ff12,#0000 70%);position:absolute;inset:0}.auth-stage>*{position:relative}.auth-stage img{width:120px;height:120px;margin-bottom:var(--space-8);filter:drop-shadow(0 20px 40px #0009)}.auth-stage h1{letter-spacing:-.03em;font-size:44px;font-weight:500;line-height:1.08}.auth-stage h1 em{color:var(--accent);font-style:normal}.auth-stage p{margin-top:var(--space-4);color:var(--text-secondary);max-width:46ch}.auth-stage .tags{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.auth-form-wrap{padding:var(--space-8);place-items:center;display:grid}.auth-form{gap:var(--space-4);flex-direction:column;width:100%;max-width:380px;display:flex}.auth-form h2{font-size:var(--size-title)}.auth-form .switch{font-size:var(--size-small);color:var(--text-secondary);text-align:center}.auth-form .switch a{color:var(--accent-light)}.error{color:var(--loss);font-size:var(--size-small);background:var(--loss-soft);border:var(--border-w) solid var(--loss-line);border-radius:var(--radius-control);padding:8px 12px}.notice{color:var(--text-primary);font-size:var(--size-small);background:var(--warning-tile-fill);border:var(--border-w) solid var(--warning-tile-line);border-radius:var(--radius-control);padding:10px 14px}.admin-tabs{gap:var(--space-1);display:flex}.table{border-collapse:collapse;width:100%;font-size:var(--size-small)}.table th{text-align:left;font-weight:500;font-size:var(--size-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);padding:12px var(--space-4);border-bottom:var(--border-w) solid var(--border-subtle)}.table td{padding:12px var(--space-4);border-bottom:var(--border-w) solid var(--border-subtle);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--bg-raised)}.table-wrap{overflow-x:auto}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row .spacer{flex:1}.stack{gap:var(--space-4);flex-direction:column;display:flex}.form-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.form-grid .full{grid-column:1/-1}.adm-item{align-items:center;gap:var(--space-2);padding:10px var(--space-4);border-top:var(--border-w) solid var(--border-subtle);display:flex}.adm-item .t{min-width:0;font-size:var(--size-value);text-overflow:ellipsis;flex:1;overflow:hidden}.adm-item .t a:hover{color:var(--accent-light)}.adm-mod-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.adm-mod-head h3{font-size:var(--size-heading);flex:1;min-width:160px}.mini{gap:2px;display:flex}.mini button{border:var(--border-w) solid transparent;width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;place-items:center;display:grid}.mini button:hover:not([disabled]){color:var(--text-primary);border-color:var(--border-default);background:var(--bg-raised)}.mini button.del:hover:not([disabled]){color:var(--loss);border-color:var(--loss-line)}.mini button[disabled]{opacity:.25;cursor:default}.mini svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.upload-box{border:1.5px dashed var(--border-strong);border-radius:var(--radius-card);padding:var(--space-6);text-align:center;color:var(--text-secondary);transition:border-color var(--motion-duration), background var(--motion-duration);cursor:pointer}.upload-box:hover,.upload-box.drag{border-color:var(--accent-line);background:var(--accent-row-faint)}.upload-box b{color:var(--text-primary)}.cover-thumb{aspect-ratio:16/9;border-radius:var(--radius-card);background:var(--bg-raised);border:var(--border-w) solid var(--border-default);flex:none;width:180px;overflow:hidden}.cover-thumb img{object-fit:cover;width:100%;height:100%;display:block}.toggle{align-items:center;gap:var(--space-2);font-size:var(--size-small);cursor:pointer;display:inline-flex}.toast{z-index:100;border-radius:var(--radius-card);background:var(--bg-overlay);border:var(--border-w) solid var(--border-default);box-shadow:var(--shadow-overlay);font-size:var(--size-small);animation:rise .3s var(--ease-spring) both;max-width:360px;padding:12px 16px;position:fixed;bottom:24px;right:24px}.toast.err{border-color:var(--loss-line)}@media (width<=1100px){.app{grid-template-columns:var(--rail-w-compact) minmax(0, 1fr)}.brand-name,.nav a span,.nav-group,.who-text{display:none}.nav a{justify-content:center;padding:0}.brand{padding:var(--space-1) 0;justify-content:center}.who{padding:var(--space-2);flex-direction:column;justify-content:center}.lesson-layout{grid-template-columns:minmax(0,1fr) 320px}}@media (width<=900px){.lesson-layout,.course-hero{grid-template-columns:minmax(0,1fr)}.outline{max-height:none;position:static}.form-grid{grid-template-columns:1fr}}@media (width<=720px){.app{display:block}.rail{display:none}.mob-head{align-items:center;gap:var(--space-3);z-index:25;background:var(--mob-bar-bg);-webkit-backdrop-filter:blur(14px);border-bottom:var(--border-w) solid var(--border-subtle);padding:10px 16px;display:flex;position:sticky;top:0}.mob-head img{width:28px;height:28px}.mob-head b{font-family:var(--font-display);font-size:var(--size-value);flex:1;font-weight:600}.mob-head button{color:var(--text-muted);background:0 0;border:0;padding:6px;display:grid}.mob-head button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.topbar{display:none}.tabbar{z-index:25;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--mob-bar-bg);-webkit-backdrop-filter:blur(14px);border-top:var(--border-w) solid var(--border-subtle);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{font-size:var(--size-axis);color:var(--text-muted);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;display:flex}.tabbar a.on{color:var(--accent-light);background:var(--tab-on-fill)}.page{padding:var(--space-5) 16px 96px}.greeting h1{font-size:var(--size-mob-title)}.continue{padding:var(--space-5);grid-template-columns:1fr}.continue .btn{width:100%}.grid{grid-template-columns:1fr}.player{border-radius:var(--radius-card);margin:0 -4px}.vol{display:none}.auth{grid-template-columns:1fr}.auth-stage{border-right:0;border-bottom:var(--border-w) solid var(--border-subtle);padding:32px 20px 28px}.auth-stage img{width:64px;height:64px;margin-bottom:var(--space-4)}.auth-stage h1{font-size:28px}.auth-stage .tags,.auth-stage p{display:none}.auth-form-wrap{place-items:start center;padding:24px 16px}.table:not(.keep) th:nth-child(n+4),.table:not(.keep) td:nth-child(n+4){display:none}.cover-thumb{width:120px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.pill svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.materials svg,.upload-box svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.upload-box svg.up-ic{width:28px;height:28px;color:var(--accent);margin-bottom:8px}
