@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/BricolageGrotesque-800.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{--font-display: "Bricolage Grotesque", "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--sb: 264px;--tb: 64px;--touch: 44px;--bg: #f3f5f9;--bg-2: #e9ecf2;--surface: #ffffff;--surface-2: #f7f8fb;--surface-3: #eef0f5;--border: #e3e7ef;--border-2: #cdd3df;--text: #111827;--text-2: #4b5566;--text-3: #8a93a5;--primary: #1b2b5b;--primary-rgb: 27, 43, 91;--primary-ink: #ffffff;--gold: #c9a227;--gold-rgb: 201, 162, 39;--up: #12a06b;--up-rgb: 18, 160, 107;--down: #e24c4b;--down-rgb: 226, 76, 75;--warn: #e29a1c;--warn-rgb: 226, 154, 28;--info: #2f6fed;--info-rgb: 47, 111, 237;--chart-bg: #131722;--shadow-sm: 0 1px 3px rgba(17, 24, 39, .08);--shadow-post: 0 1px 2px rgba(17, 24, 39, .05), 0 12px 32px -18px rgba(27, 43, 91, .25);--shadow-float: 0 30px 70px -24px rgba(17, 24, 39, .45);--topbar-bg: rgba(243, 245, 249, .82);--r-lg: 14px}[data-theme=dark]{--bg: #0f1420;--bg-2: #131a29;--surface: #161d2e;--surface-2: #1c2437;--surface-3: #232d44;--border: #263047;--border-2: #344061;--text: #e8ecf4;--text-2: #a9b2c5;--text-3: #6f7a93;--primary: #9db1ff;--primary-rgb: 157, 177, 255;--primary-ink: #0f1420;--gold: #e3b94c;--gold-rgb: 227, 185, 76;--up: #3dd68c;--up-rgb: 61, 214, 140;--down: #ff6b6b;--down-rgb: 255, 107, 107;--warn: #f5b942;--warn-rgb: 245, 185, 66;--info: #7fa6ff;--info-rgb: 127, 166, 255;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-post: 0 1px 2px rgba(0, 0, 0, .35), 0 12px 32px -18px rgba(0, 0, 0, .7);--shadow-float: 0 30px 70px -24px rgba(0, 0, 0, .8);--topbar-bg: rgba(15, 20, 32, .82)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased;min-height:100dvh;transition:background .25s ease,color .25s ease}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:var(--primary);text-decoration:none;font-weight:600}img,svg{display:block;max-width:100%}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em;font-weight:700}.num,.kpi b,.mini-table td,.tbl td{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--text-3)}.gold{color:var(--gold)}.hide{display:none!important}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.ic{width:20px;height:20px;flex-shrink:0}::selection{background:rgba(var(--primary-rgb),.18)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid transparent;transition:transform .12s,filter .2s,background .2s,color .2s;white-space:nowrap;line-height:1.2;min-height:var(--touch)}.btn:active{transform:translateY(1px)}.btn .ic{width:18px;height:18px}.btn.primary{background:var(--primary);color:var(--primary-ink)}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:var(--surface);border-color:var(--border-2);color:var(--text)}.btn.ghost:hover{background:var(--surface-2)}.btn.soft{background:var(--surface-3);color:var(--text)}.btn.danger{background:rgba(var(--down-rgb),.12);color:var(--down)}.btn.sm{padding:7px 12px;font-size:13px;border-radius:9px;min-height:36px}.btn.big{width:100%;padding:14px;font-size:15px;border-radius:12px}.btn:disabled{opacity:.55;pointer-events:none}.btn.saved:disabled{opacity:1;background:rgba(var(--up-rgb),.16);border-color:rgba(var(--up-rgb),.45);color:var(--up)}.icon-btn{width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);position:relative;transition:background .2s,color .2s}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.del:hover{background:rgba(var(--down-rgb),.12);color:var(--down)}.icon-btn.star{color:var(--text-3)}.icon-btn.star .ic,.study-f .icon-btn .ic,.phrase-row .icon-btn .ic{width:16px;height:16px}.icon-btn.on{color:var(--gold)}.icon-btn.on .ic{fill:rgba(var(--gold-rgb),.22)}.favlbl{font-size:11.5px;color:var(--gold);font-weight:600;display:block}.icon-btn .dot{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--down);color:#fff;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;display:grid;place-items:center;line-height:1}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{min-height:100dvh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sb);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:45;transition:transform .3s cubic-bezier(.2,.7,.2,1),width .25s}.sb-brand{padding:20px 20px 10px}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;flex-shrink:0}.sb-nav{flex:1;overflow-y:auto;padding:10px 12px}.sb-group{font-size:12px;font-weight:600;color:var(--text-3);padding:18px 12px 6px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--text-2);font-weight:500;font-size:14px;width:100%;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:rgba(var(--primary-rgb),.1);color:var(--primary);font-weight:600}.nav-item .cnt{margin-left:auto;font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-2);padding:2px 7px;border-radius:999px}.nav-item.soon{opacity:.45;pointer-events:none}.nav-item.soon .cnt{background:transparent;color:var(--text-3);font-weight:500}.sb-user{border-top:1px solid var(--border);padding:14px 16px;display:flex;align-items:center;gap:10px}.sb-user .u-meta{flex:1;min-width:0}.sb-user .u-meta b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user .u-meta span{font-size:12px;color:var(--text-3)}.scrim{position:fixed;inset:0;background:#0a0c1273;z-index:44;display:none}.scrim.open{display:block}.main{margin-left:var(--sb);min-height:100dvh;display:flex;flex-direction:column;transition:margin .25s;min-width:0;overflow-x:clip}.topbar{position:sticky;top:0;z-index:30;height:var(--tb);display:flex;align-items:center;gap:10px;padding:0 24px;background:var(--topbar-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.tb-title{flex:1;min-width:0}.tb-title h2{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-title span{font-size:12px;color:var(--text-3);display:block;margin-top:-1px}.tb-actions{display:flex;align-items:center;gap:4px}#menuBtn{display:none}.content{flex:1;padding:24px 24px 40px;max-width:1320px;width:100%;margin:0 auto}.view{animation:fade .22s ease}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.bottomnav{display:none;position:fixed;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:40;align-items:center}.bn-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--text-3);flex:1;height:100%;font-weight:500}.bn-item .ic{width:22px;height:22px}.bn-item.active{color:var(--primary)}.bn-fab{width:54px;height:54px;border-radius:18px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center;margin-top:-30px;box-shadow:0 12px 26px -8px rgba(var(--primary-rgb),.75);flex:none}.bn-fab .ic{width:26px;height:26px}.bn-slot{flex:1;display:flex;justify-content:center}.sheet{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--surface);border-radius:22px 22px 0 0;padding:10px 12px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .3s cubic-bezier(.2,.7,.2,1);box-shadow:var(--shadow-float)}.sheet.open{transform:none}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--border-2);margin:4px auto 12px}.sheet .nav-item{padding:13px 14px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.panel-h h3{font-size:15px}.panel-h p{font-size:12px;color:var(--text-3);margin-top:2px}.panel-b{padding:14px 18px 18px}.grid{display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}.grid>*{min-width:0}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:4px 0 18px;flex-wrap:wrap}.sec-h h2{font-size:24px;letter-spacing:-.02em}.sec-h p{color:var(--text-2);margin-top:2px}.sec-h .tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hello{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;flex-wrap:wrap}.hello h2{font-size:28px;letter-spacing:-.025em}.hello p{color:var(--text-2);margin-top:4px}.phrase{position:relative;overflow:hidden;background:var(--primary);color:var(--primary-ink);border-radius:var(--r-lg);padding:18px 20px;min-width:320px;max-width:460px;flex:1}[data-theme=dark] .phrase{background:linear-gradient(135deg,#243a7a,#1b2b5b);color:#fff}.phrase:before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(var(--gold-rgb),.25)}.phrase small{font-size:12px;opacity:.75}.phrase q{display:block;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.3;margin:6px 0 0;quotes:"“" "”";position:relative}.phrase .p-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;position:relative;flex-wrap:wrap}.phrase .p-foot button{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch);padding:0 10px;border-radius:10px;font-size:12.5px;font-weight:600;color:inherit;opacity:.85;transition:background .2s,opacity .2s}.phrase .p-foot button:hover{background:#ffffff29;opacity:1}.phrase .p-foot button:disabled{opacity:.5;cursor:default}.phrase .p-foot a{color:inherit;text-decoration:underline;font-size:12.5px;min-height:var(--touch);display:inline-flex;align-items:center}.phrase .p-foot .ic{width:15px;height:15px}.ledger{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px}.kpi{padding:16px 18px;border-right:1px solid var(--border);min-width:0}.kpi:last-child{border-right:0}.kpi small{display:block;font-size:12px;color:var(--text-3);font-weight:500;margin-bottom:6px}.kpi b{display:block;font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.kpi .delta{display:block;font-size:12px;color:var(--text-2);margin-top:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.badge.win{background:rgba(var(--up-rgb),.13);color:var(--up)}.badge.loss{background:rgba(var(--down-rgb),.13);color:var(--down)}.badge.be{background:var(--surface-3);color:var(--text-2)}.badge.breach{background:rgba(var(--warn-rgb),.16);color:var(--warn)}.sym{display:inline-flex;align-items:center;padding:3px 8px;border-radius:7px;background:var(--primary);color:var(--primary-ink);font-weight:700;font-size:12px;letter-spacing:.02em}.dir{display:inline-flex;align-items:center;gap:2px;padding:3px 8px;border-radius:7px;font-size:12px;font-weight:700}.dir.long{background:rgba(var(--up-rgb),.13);color:var(--up)}.dir.short{background:rgba(var(--down-rgb),.13);color:var(--down)}.dir .ic{width:13px;height:13px}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-2);font-size:12px;font-weight:600;white-space:nowrap}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600}.pill.on{background:rgba(var(--up-rgb),.13);color:var(--up)}.pill.off{background:var(--surface-3);color:var(--text-3)}.pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.chip{padding:7px 14px;border-radius:999px;border:1px solid var(--border-2);font-size:13px;font-weight:600;color:var(--text-2);background:var(--surface);transition:background .15s,color .15s;min-height:36px}.chip:hover{background:var(--surface-2)}.chip.active{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1b2b5b,#3b5bdb);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0}.avatar.sm{width:32px;height:32px;font-size:12px}.timeline{max-width:760px;margin:0 auto}.tl-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.day{margin-bottom:26px}.day-h{position:sticky;top:calc(var(--tb) + 10px);z-index:5;display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border-radius:12px;background:var(--topbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);margin-bottom:12px}.day-h b{font-family:var(--font-display);font-size:15px;font-weight:700}.day-h .when{font-size:12px;color:var(--text-3);margin-left:8px}.day-sum{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}.day-sum b{font-variant-numeric:tabular-nums;font-size:14px}.post{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-post);color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}.post:hover{transform:translateY(-2px);border-color:var(--border-2)}.post.breach{border-left:3px solid var(--warn)}.post-h{display:flex;gap:12px;align-items:flex-start}.post-meta{flex:1;min-width:0}.post-meta b{display:block;font-size:14px}.post-meta span{font-size:12px;color:var(--text-3)}.post-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.post-title{font-size:18px;margin:14px 0 6px;letter-spacing:-.015em}.post-notes{color:var(--text-2);font-size:14px;line-height:1.55}.post-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:10px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--surface-2)}.post-stats div{display:flex;flex-direction:column;gap:2px;min-width:0}.post-stats small{font-size:11px;color:var(--text-3);font-weight:500}.post-stats b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.lesson{margin-top:12px;padding:10px 14px;border-radius:10px;background:rgba(var(--gold-rgb),.12);border-left:3px solid var(--gold);font-size:13px;color:var(--text)}.empty{text-align:center;padding:48px 20px;color:var(--text-2)}.empty b{display:block;font-family:var(--font-display);font-size:18px;color:var(--text);margin-bottom:6px}.equity{width:100%;height:auto}.equity .axis{font-size:11px;fill:var(--text-3)}.bars{display:flex;flex-direction:column;gap:9px}.bar{display:grid;grid-template-columns:118px 1fr 64px;align-items:center;gap:10px;font-size:13px}.bar .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-weight:500}.bar .track{height:10px;border-radius:6px;background:var(--surface-3);overflow:hidden}.bar .fill{height:100%;border-radius:6px;background:var(--primary);transition:width .5s ease}.bar .val{font-size:12px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.donut-wrap{display:flex;align-items:center;gap:18px}.donut{width:120px;height:120px;flex-shrink:0;position:relative}.donut svg{transform:rotate(-90deg)}.donut .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}.donut .c b{display:block;font-family:var(--font-display);font-size:24px;line-height:1}.donut .c small{font-size:11px;color:var(--text-3)}.legend{display:flex;flex-direction:column;gap:8px;font-size:13px;flex:1}.legend div{display:flex;align-items:center;gap:8px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.legend b{margin-left:auto;font-variant-numeric:tabular-nums}.stat-list{display:flex;flex-direction:column}.stat-list div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);font-size:13px}.stat-list div:last-child{border:0}.stat-list span{color:var(--text-2)}.stat-list b{font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th{text-align:left;font-size:12px;font-weight:600;color:var(--text-3);padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl td:not(:first-child),.tbl th:not(:first-child){text-align:right}.row-actions{display:flex;gap:2px;justify-content:flex-end}.row-actions .icon-btn{width:34px;height:34px}.row-actions .icon-btn .ic{width:16px;height:16px}.tbl .who{display:flex;align-items:center;gap:10px;text-align:left}.tbl .who b{display:block;font-size:14px}.tbl .who span{display:block;font-size:12px;color:var(--text-3)}.tbl-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.crud-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.crud-summary .panel{padding:14px 16px}.crud-summary small{color:var(--text-3);font-size:12px}.crud-summary b{display:block;font-family:var(--font-display);font-size:22px;margin-top:2px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.f{display:block;margin-bottom:14px}.f>span{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:6px}.ctl{width:100%;border:1.5px solid var(--border-2);border-radius:10px;padding:10px 12px;background:var(--surface);outline:0;transition:border-color .2s,box-shadow .2s;color:var(--text);min-height:var(--touch)}.ctl:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}select.ctl{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A93A5' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea.ctl{min-height:84px;resize:vertical;line-height:1.5}.f .err{display:block;color:var(--down);font-size:12px;margin-top:5px;font-weight:600}.hint{font-size:12px;color:var(--text-3);margin-top:5px;display:block}.seg{display:flex;background:var(--surface-3);border-radius:10px;padding:3px;gap:3px}.seg button{flex:1;padding:10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-2);transition:background .15s,color .15s}.seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg button.active[data-v=buy]{color:var(--up)}.seg button.active[data-v=sell]{color:var(--down)}.switch{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.switch input{appearance:none;width:42px;height:24px;border-radius:999px;background:var(--border-2);position:relative;transition:background .2s;flex-shrink:0;cursor:pointer}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.switch input:checked{background:var(--up)}.switch input:checked:after{transform:translate(18px)}.steps{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.steps li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);list-style:none}.steps li[aria-current=step]{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.steps li.done{color:var(--up);border-color:rgba(var(--up-rgb),.4);background:rgba(var(--up-rgb),.08)}.preview{border:1px solid rgba(var(--info-rgb),.3);background:rgba(var(--info-rgb),.06);border-radius:12px;padding:14px 16px;margin-bottom:14px}.preview .preview-h{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:700;margin-bottom:10px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px}.preview-grid div{display:flex;flex-direction:column;gap:2px}.preview-grid small{font-size:11px;color:var(--text-3);font-weight:500}.preview-grid b{font-family:var(--font-display);font-size:19px;font-variant-numeric:tabular-nums}.warnbox{margin-top:12px;padding:10px 14px;border-radius:10px;background:rgba(var(--warn-rgb),.12);border-left:3px solid var(--warn);font-size:13px;color:var(--text)}.errbox{padding:12px 16px;border-radius:12px;background:rgba(var(--down-rgb),.1);border-left:3px solid var(--down);font-size:13px;color:var(--text);margin-bottom:16px}.infobox{padding:14px 16px;border-radius:12px;background:rgba(var(--info-rgb),.08);border:1px solid rgba(var(--info-rgb),.3);font-size:13px;color:var(--text-2);margin-bottom:16px}.infobox b{color:var(--text)}.infobox p+p{margin-top:8px}.modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a0c1280;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-card{background:var(--surface);border-radius:20px;width:100%;max-width:720px;max-height:92dvh;display:flex;flex-direction:column;box-shadow:var(--shadow-float);animation:rise .28s cubic-bezier(.2,.7,.2,1)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.modal-card header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--border)}.modal-card header h3{font-size:17px}.modal-body{padding:20px 22px;overflow-y:auto}.modal-card footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border)}.status{padding:44px 20px;text-align:center;color:var(--text-2)}.status b{display:block;font-family:var(--font-display);font-size:17px;color:var(--text);margin-bottom:6px}.status .trace{font-size:11px;color:var(--text-3);margin-top:12px;font-variant-numeric:tabular-nums}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:10px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%) translateY(16px);background:var(--text);color:var(--bg);padding:12px 16px;border-radius:14px;font-size:14px;z-index:90;opacity:0;transition:opacity .3s,transform .3s;max-width:min(560px,calc(100vw - 32px));box-shadow:var(--shadow-float);display:flex;gap:10px;align-items:center;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack>*+*{margin-top:16px}@media(min-width:768px)and (max-width:1100px){:root{--sb: 76px}.sb-brand{padding:18px 0 8px;display:flex;justify-content:center}.sb-brand .brand span{display:none}.sb-group{height:1px;padding:0;margin:12px 10px;background:var(--border);overflow:hidden;font-size:0}.nav-item{justify-content:center;padding:12px}.nav-item span,.nav-item .cnt{display:none}.sb-user{justify-content:center;padding:14px 8px}.sb-user .u-meta,.sb-user .icon-btn{display:none}.col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 12}.ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi:nth-child(3n){border-right:0}.kpi:nth-child(-n+3){border-bottom:1px solid var(--border)}}@media(max-width:767px){:root{--sb: 0px;--tb: 58px}.sidebar{transform:translate(-102%);width:284px;box-shadow:var(--shadow-float)}.sidebar.open{transform:none}.main{margin-left:0}#menuBtn{display:inline-flex}.topbar{padding:0 12px 0 8px;gap:4px}.tb-title span,.tb-actions .desktop-only{display:none}.tb-title h2{font-size:17px}.content{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.bottomnav{display:flex}.sheet{display:block}.col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 12}.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:14px}.kpi b{font-size:21px}.kpi:nth-child(2n){border-right:0}.kpi:nth-child(-n+4){border-bottom:1px solid var(--border)}.hello h2{font-size:24px}.phrase{min-width:0;max-width:none;width:100%}.grid2,.grid3,.crud-summary{grid-template-columns:1fr}.post{padding:14px;border-radius:14px}.post-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.post-badges{justify-content:flex-start;width:100%}.modal{padding:0;align-items:flex-end}.modal-card{border-radius:20px 20px 0 0;max-height:94dvh}.donut-wrap{flex-direction:column;align-items:stretch}.donut{margin:0 auto}}.empty .empty-ic{width:40px;height:40px;margin:0 auto 14px;color:var(--text-3);opacity:.7}.empty p{max-width:42ch;margin:0 auto}.tag .ic,.steps .ic{width:14px;height:14px}.equity-wrap{margin:0}.equity{width:100%;height:auto;display:block;overflow:visible}.equity-legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:12px;font-size:13px;color:var(--text-2)}.equity-legend span{display:inline-flex;align-items:center;gap:6px}.equity-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.equity-legend b{font-variant-numeric:tabular-nums;color:var(--text)}.wizard{max-width:820px;margin:0 auto}.wizard-f{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-top:1px solid var(--border);flex-wrap:wrap}.wizard-f .btn.primary .ic:last-child{transform:rotate(45deg)}.stat-list b.pill,.stat-list b.badge{font-weight:700}.stat-list div>span{min-width:0;padding-right:12px}.lesson b,.infobox b,.warnbox b{display:inline}.lesson>b,.infobox>b{display:block;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3)}.lesson p,.infobox p{color:var(--text);white-space:pre-wrap}blockquote.lesson{margin:0 0 14px}.splash{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--text-2)}.spinner.dark{width:26px;height:26px;border-color:var(--border-2);border-top-color:var(--primary)}.trace{font-size:11px;color:var(--text-3);margin-top:12px;font-variant-numeric:tabular-nums}[data-theme=dark] select.ctl option{background:var(--surface);color:var(--text)}.breach{color:var(--warn)}@media(max-width:767px){.icon-btn,.row-actions .icon-btn{width:var(--touch);height:var(--touch)}.chip,.btn.sm,.nav-item,.seg button,.tl-modes button,.sug-card,.favchip,.emo-picker button.emo{min-height:var(--touch)}}.modal-card.narrow{max-width:520px}.fblock{margin-bottom:16px}.fblock>span{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin-bottom:8px}.f .opt{font-style:normal;font-weight:500;font-size:11px;color:var(--text-3);margin-left:4px}.seg button.active[data-v=long]{color:var(--up)}.seg button.active[data-v=short]{color:var(--down)}.seg button.active[data-v=win]{color:var(--up)}.seg button.active[data-v=loss]{color:var(--down)}.seg.auto{pointer-events:none}.seg.auto button{opacity:.55}.seg.auto button.active{opacity:1}.sugs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sug-card{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12.5px;color:var(--text-2);font-weight:500;text-align:left;line-height:1.25;transition:background .15s,border-color .15s,color .15s}.sug-card:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-2)}.sug-card.sel{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.favs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.favchip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12.5px;font-weight:600;color:var(--text-2)}.favchip .ic{width:13px;height:13px;color:var(--gold)}.favchip:hover{border-color:var(--border-2);color:var(--text)}.favchip.sel{background:rgba(var(--gold-rgb),.14);border-color:rgba(var(--gold-rgb),.5);color:var(--text)}.emo{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap}.emo.good{background:rgba(var(--up-rgb),.08);border-color:rgba(var(--up-rgb),.35);color:var(--text)}.emo.bad{background:rgba(var(--down-rgb),.08);border-color:rgba(var(--down-rgb),.35);color:var(--text)}.emo.warn{background:rgba(var(--warn-rgb),.1);border-color:rgba(var(--warn-rgb),.4);color:var(--text)}.emo-picker{display:flex;flex-wrap:wrap;gap:6px}.emo-picker .emo{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:32px}.emo-picker .emo.sel{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.mind-picker{display:flex;gap:6px}.mind-picker button{width:44px;height:44px;border-radius:12px;background:var(--surface-3);font-size:20px;transition:transform .12s,outline .12s;line-height:1}.mind-picker button.sel{outline:2px solid var(--primary);transform:translateY(-2px)}.mind-picker button:hover{transform:translateY(-2px)}.mind-help{font-size:12px;color:var(--text-3);margin-top:6px}.dropzone{border:2px dashed var(--border-2);border-radius:14px;padding:22px;text-align:center;color:var(--text-2);cursor:pointer;position:relative;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.over{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.dropzone.off{cursor:not-allowed;opacity:.6}.dropzone.off:hover{border-color:var(--border-2);background:none}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.dropzone .ic{width:28px;height:28px;margin:0 auto 6px;color:var(--text-3)}.dropzone b{display:block;color:var(--text)}.dropzone small{display:block;font-size:12px;color:var(--text-3)}.dropzone small+small{margin-top:4px}.switch-list{display:flex;flex-direction:column}.switch-list .switch{padding:12px 0;border-bottom:1px solid var(--border);justify-content:space-between}.switch-list .switch:last-child{border:0}.switch-list .switch span{flex:1}.switch-list .switch small{display:block;color:var(--text-3);font-size:12px;font-weight:400}@media(max-width:767px){.modal-card.narrow{max-width:none}}.lib-tabs{display:inline-flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:16px;flex-wrap:wrap;max-width:100%}.lib-tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--text-3);min-height:var(--touch)}.lib-tabs button .ic{width:16px;height:16px}.lib-tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.lib-tabs .cnt{font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-2);padding:2px 7px;border-radius:999px}.lib-tabs button.active .cnt{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.dim-groups{display:flex;flex-direction:column;gap:16px}.dim-group{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:9px}.dim-group .ic{width:14px;height:14px}.insight{display:flex;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:8px;font-size:14px;align-items:flex-start}.insight .i-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.insight .i-ic .ic{width:18px;height:18px}.insight.good .i-ic{background:rgba(var(--up-rgb),.14);color:var(--up)}.insight.bad .i-ic{background:rgba(var(--down-rgb),.14);color:var(--down)}.insight.info .i-ic{background:rgba(var(--info-rgb),.14);color:var(--info)}.insight.star .i-ic{background:rgba(var(--gold-rgb),.18);color:var(--gold)}.insight .i-body{flex:1;min-width:0}.insight b{display:block;font-size:14px}.insight p{color:var(--text-2);font-size:13px;margin-top:2px}.insight .i-fig{margin-left:auto;align-self:center;font-family:var(--font-display);font-size:19px;white-space:nowrap}.week-lesson{background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.45);border-radius:14px;padding:18px 20px;margin-bottom:16px;display:flex;gap:16px;align-items:flex-start}.week-lesson .big{line-height:1;color:var(--gold)}.week-lesson .big .ic{width:28px;height:28px}.week-lesson h3{font-size:16px;margin-bottom:4px}.week-lesson q{font-family:var(--font-display);font-size:17px;font-weight:600;display:block;margin:6px 0;font-variant-numeric:tabular-nums}.week-lesson p{color:var(--text-2);font-size:13px}.answer{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:start}.answer-body{min-width:0}.gauge{width:150px;margin:0 auto}.gauge-val{text-align:center;margin-top:-34px}.gauge-val b{font-family:var(--font-display);font-size:30px}.gauge-val small{display:block;color:var(--text-3);font-size:12px;margin-top:2px}@media(max-width:767px){.answer{grid-template-columns:1fr}.insight{flex-wrap:wrap}.insight .i-fig{font-size:17px}}.sep{border:0;border-top:1px solid var(--border);margin:18px 0}.sub-h{font-size:14px;margin-bottom:6px}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere}.fold{border:1px solid var(--border);border-radius:12px;background:var(--surface-2);margin-bottom:14px}.fold>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-2);list-style:none;border-radius:12px}.fold>summary::-webkit-details-marker{display:none}.fold>summary:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-right:2px}.fold[open]>summary:before{transform:rotate(45deg)}.fold>summary .opt{margin-left:auto}.fold>summary:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.fold>.fold-b{padding:4px 14px 14px}.period-now{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:12px;background:var(--surface-2);margin-bottom:14px}.period-now small{flex-basis:100%;font-size:12px;color:var(--text-3);font-weight:500}.period-now .pips{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.period-now .r{font-family:var(--font-display);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.period-now .meta{font-size:12px;color:var(--text-2);margin-left:auto}.tbl tr.now th,.tbl tr.now td{background:rgba(var(--info-rgb),.06)}.panel-h .seg{flex:0 0 auto}.panel-h .seg button{min-width:84px;padding:8px 12px}.tag.warn{color:var(--warn);background:rgba(var(--warn-rgb),.14)}.login{--lg-r: 14px;--lg-r-lg: 20px;--lg-shadow-card: 0 24px 60px -28px rgba(16, 24, 48, .3), 0 2px 8px rgba(16, 24, 48, .05);--art-1: #101b3c;--art-2: #16305a;--art-3: #0e3b44;--art-line-a: #3dd68c;--art-line-b: #e3b94c;--art-glass: rgba(255, 255, 255, .1);--art-stroke: rgba(255, 255, 255, .22);--art-grid: rgba(255, 255, 255, .055);--art-text: #f2f5ff;--art-mute: #aebbd8;--wash-1: rgba(27, 43, 91, .11);--wash-2: rgba(18, 160, 107, .1);--dot: rgba(17, 24, 39, .11);--hair: rgba(17, 24, 39, .09);--tick-up: rgba(18, 160, 107, .16);--tick-down: rgba(226, 76, 75, .14);--seam-soft: rgba(27, 43, 91, .34);--card-bg: rgba(255, 255, 255, .86);position:relative;min-height:100dvh;display:grid;grid-template-columns:1.02fr 1fr;overflow:hidden;background:var(--bg);font-variant-numeric:tabular-nums}[data-theme=dark] .login{--lg-shadow-card: 0 28px 70px -30px rgba(0, 0, 0, .75), 0 2px 10px rgba(0, 0, 0, .35);--art-1: #070c1c;--art-2: #0c1e3e;--art-3: #07262d;--art-glass: rgba(255, 255, 255, .08);--art-stroke: rgba(255, 255, 255, .18);--art-grid: rgba(255, 255, 255, .05);--wash-1: rgba(157, 177, 255, .13);--wash-2: rgba(61, 214, 140, .1);--dot: rgba(255, 255, 255, .1);--hair: rgba(255, 255, 255, .07);--tick-up: rgba(61, 214, 140, .16);--tick-down: rgba(255, 107, 107, .14);--seam-soft: rgba(157, 177, 255, .4);--card-bg: rgba(22, 29, 46, .8)}.login .ic{width:18px;height:18px;flex:none}.login a:hover{text-decoration:underline}.login :focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}.login .art{position:relative;overflow:hidden;background:var(--art-1);isolation:isolate}.login .art svg.scene{position:absolute;inset:0;width:100%;height:100%}.login .art:after{content:"";position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(to top,rgba(5,9,22,.92) 0%,rgba(5,9,22,.45) 55%,transparent 100%);pointer-events:none}.login .art-copy{position:absolute;left:clamp(28px,4.4vw,64px);right:clamp(28px,4.4vw,64px);bottom:clamp(30px,4.6vw,60px);z-index:2;color:var(--art-text);max-width:30rem}.login .art-mark{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--art-mute);margin-bottom:18px}.login .art-mark i{width:7px;height:7px;border-radius:50%;background:var(--art-line-a);box-shadow:0 0 0 4px #3dd68c29}.login .art-copy h1{font-family:var(--font-display);font-size:clamp(34px,3.5vw,52px);line-height:1.04;letter-spacing:-.022em;font-weight:700}.login .art-copy p{margin-top:14px;font-size:15px;line-height:1.6;color:#d3dcf0;max-width:34rem}.login .art-stats{display:flex;gap:clamp(20px,3vw,40px);margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.login .art-stats div{display:flex;flex-direction:column;gap:3px}.login .art-stats b{font-family:var(--font-display);font-size:clamp(20px,2vw,26px);font-weight:700;color:#fff}.login .art-stats span{font-size:12px;color:var(--art-mute);line-height:1.35}.login .lg-panel{position:relative;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.login .panel-art{position:absolute;inset:0;pointer-events:none;z-index:0}.login .panel-art svg{position:absolute;inset:0;width:100%;height:100%}.login .p-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(20px,2.6vw,32px) clamp(22px,3.4vw,48px)}.login .brand{font-size:19px;letter-spacing:-.01em;font-weight:700}.login .brand-mark{width:34px;height:34px;border-radius:10px;box-shadow:var(--shadow-sm)}.login .brand-mark .ic{width:19px;height:19px}.login .theme-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);display:grid;place-items:center;transition:color .2s,border-color .2s,transform .2s}.login .theme-btn:hover{color:var(--text);border-color:var(--border-2);transform:rotate(-12deg)}.login .p-body{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px clamp(22px,3.4vw,48px) 0}.login .lg-stack{width:100%;max-width:412px}.login .card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--lg-r-lg);padding:clamp(24px,2.4vw,32px);box-shadow:var(--lg-shadow-card);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15)}.login .card h2{font-family:var(--font-display);font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.login .card .sub{margin-top:7px;font-size:14px;color:var(--text-3);line-height:1.5}.login form{margin-top:22px;display:flex;flex-direction:column;gap:14px}.login .field{display:flex;flex-direction:column;gap:7px}.login .field>span{font-size:12.5px;font-weight:600;color:var(--text-2)}.login .input{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-radius:var(--lg-r);border:1px solid var(--border);background:var(--surface);color:var(--text-3);transition:border-color .18s,box-shadow .18s}.login .input:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.14)}.login .input input{flex:1;min-width:0;border:0;background:none;outline:0;font-size:15px;color:var(--text)}.login .input input::placeholder{color:var(--text-3)}.login .eye{color:var(--text-3);display:grid;place-items:center;width:26px;height:26px;border-radius:7px;flex:none}.login .eye:hover{color:var(--text)}.login .field .err{color:var(--down);font-size:12px;font-weight:600}.login .errbox{margin:0}.login .lg-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;flex-wrap:wrap}.login .check{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);cursor:pointer}.login .check input{width:16px;height:16px;accent-color:var(--primary)}.login .check:has(input:disabled){cursor:default;color:var(--text-3)}.login .hint{color:var(--text-3);flex:1;min-width:0;text-align:right;line-height:1.4}.login .btn{height:48px;min-height:48px;border-radius:var(--lg-r);font-size:15px;font-weight:600;gap:9px;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}.login .btn.primary{box-shadow:0 8px 22px -10px rgba(var(--primary-rgb),.75)}.login .btn.primary:hover{box-shadow:0 12px 28px -10px rgba(var(--primary-rgb),.85);filter:none}.login .btn.ghost{border:1px solid var(--border);background:var(--surface);color:var(--text-2)}.login .btn.ghost:hover{border-color:var(--border-2);color:var(--text);background:var(--surface)}.login .btn:disabled{opacity:.75;cursor:default}.login .social .btn:disabled{pointer-events:auto;cursor:not-allowed}.login .lg-sep{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--text-3);font-size:12px;border:0}.login .lg-sep:before,.login .lg-sep:after{content:"";height:1px;flex:1;background:var(--border)}.login .social{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.login .social .btn{height:44px;min-height:44px;font-size:14px}.login .social .ic{width:17px;height:17px}.login .card-foot{margin-top:18px;text-align:center;font-size:13px;color:var(--text-3);line-height:1.5}.login .lg-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.login .lg-gauge{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--lg-r);padding:12px 13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:9px}.login .lg-gauge .g-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.login .lg-gauge b{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1}.login .lg-gauge small{font-size:11px;color:var(--text-3);line-height:1.3}.login .lg-gauge svg{display:block;width:100%;height:30px;overflow:visible}.login .g-track{stroke:var(--surface-3)}.login .g-arc{stroke:var(--up)}.login .g-spark{stroke:var(--gold)}.login .g-tip{fill:var(--gold)}.login .g-bar{fill:var(--primary)}.login .p-foot{position:relative;z-index:3;padding:clamp(20px,2.4vw,30px) clamp(22px,3.4vw,48px);display:flex;justify-content:center}.login .quote{width:100%;max-width:412px;display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--text-3);line-height:1.5}.login .quote .qi{color:var(--gold);flex:none;margin-top:1px}.login .quote .qi .ic{width:15px;height:15px}.login .quote .rot{position:relative;min-height:2.6em;flex:1}.login .quote q{position:absolute;inset:0;opacity:0;quotes:none;animation:lg-phrase 21s infinite}.login .quote q:nth-child(2){animation-delay:7s}.login .quote q:nth-child(3){animation-delay:14s}@keyframes lg-phrase{0%{opacity:0;transform:translateY(5px)}3%,30%{opacity:1;transform:none}34%,to{opacity:0;transform:translateY(-5px)}}.login .seam{position:absolute;height:170px;z-index:1;pointer-events:none;opacity:0;transition:opacity .4s .6s}.login .seam.ready{opacity:1}.login .seam svg{width:100%;height:100%;display:block;overflow:visible}.login .seam .sline{stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;animation:lg-draw 2.2s 1.5s cubic-bezier(.32,.72,.28,1) forwards}.login .seam .srun{fill:var(--gold);opacity:0;animation:lg-run-in .8s 3.2s forwards}@keyframes lg-run-in{to{opacity:1}}.login .seam-0,.login .seam-1{stop-color:#e3b94c}.login .seam-1{stop-opacity:.75}.login .seam-2,.login .seam-3{stop-color:var(--seam-soft)}.login .seam-3{stop-opacity:.25}.login .sky-1{stop-color:var(--art-1)}.login .sky-2{stop-color:var(--art-2)}.login .sky-3{stop-color:var(--art-3)}.login .grid-line{stroke:var(--art-grid)}.login .gline-a{stop-color:var(--art-line-a)}.login .gline-b{stop-color:var(--art-line-b)}.login .garea-0{stop-color:var(--art-line-a);stop-opacity:.34}.login .garea-1{stop-color:var(--art-line-a);stop-opacity:0}.login .blob{transform-box:fill-box;transform-origin:center;animation:lg-drift 26s ease-in-out infinite alternate}.login .blob.b2{animation-duration:34s;animation-direction:alternate-reverse}.login .blob.b3{animation-duration:30s}@keyframes lg-drift{0%{transform:translate(0) scale(1)}to{transform:translate(28px,-22px) scale(1.1)}}.login .eqline{stroke-dasharray:1300;stroke-dashoffset:1300;animation:lg-draw 2.4s .2s cubic-bezier(.32,.72,.28,1) forwards}@keyframes lg-draw{to{stroke-dashoffset:0}}.login .eqarea{opacity:0;animation:lg-fade-in 1.4s 1.5s forwards}@keyframes lg-fade-in{to{opacity:1}}.login .node{opacity:0;transform-box:fill-box;transform-origin:center;animation:lg-pop .5s forwards}.login .node.n1{animation-delay:1s}.login .node.n2{animation-delay:1.45s}.login .node.n3{animation-delay:1.9s}.login .node.n4{animation-delay:2.3s}.login .n-gold{fill:var(--art-line-b)}@keyframes lg-pop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}.login .candle{transform-box:fill-box;transform-origin:center;animation:lg-float 7s ease-in-out infinite;animation-delay:var(--d, 0s)}@keyframes lg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}.login .candle.up rect{fill:var(--art-line-a)}.login .candle.up line{stroke:var(--art-line-a)}.login .candle.down rect{fill:#ff6b6b}.login .candle.down line{stroke:#ff6b6b}.login .art-pill{opacity:0;animation:lg-pill-in .7s forwards,lg-float 9s ease-in-out infinite 1.4s;animation-delay:var(--d, 1s)}.login .art-pill text{fill:var(--art-text);font-family:var(--font-body);font-size:14px;font-weight:600}.login .pill-box{fill:var(--art-glass);stroke:var(--art-stroke)}@keyframes lg-pill-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login .ring{transform-box:fill-box;transform-origin:center;animation:spin 68s linear infinite;stroke:var(--art-stroke)}.login .star{animation:lg-twinkle 4.5s ease-in-out infinite;animation-delay:var(--d, 0s)}@keyframes lg-twinkle{0%,to{opacity:.25}50%{opacity:.9}}.login .dot-mark{fill:var(--dot)}.login .wash{transform-box:fill-box;transform-origin:center;animation:lg-drift 30s ease-in-out infinite alternate}.login .wash.w1{fill:var(--wash-1)}.login .wash.w2{fill:var(--wash-2);animation-duration:38s;animation-direction:alternate-reverse}.login .tape{animation:lg-tape 46s linear infinite}@keyframes lg-tape{to{transform:translate(-600px)}}.login .t-up line,.login .t-up rect{stroke:var(--tick-up);fill:var(--tick-up)}.login .t-down line,.login .t-down rect{stroke:var(--tick-down);fill:var(--tick-down)}.login .pring{transform-box:fill-box;transform-origin:center;animation:spin 90s linear infinite}.login .pring circle,.login .p-hair{stroke:var(--hair)}.login .pdot{fill:var(--gold);animation:lg-breathe 5s ease-in-out infinite}@keyframes lg-breathe{0%,to{opacity:.3}50%{opacity:.85}}.login .p-top,.login .card,.login .lg-gauges,.login .quote{animation:lg-rise .7s cubic-bezier(.22,.75,.3,1) backwards}.login .p-top{animation-delay:.05s}.login .card{animation-delay:.18s}.login .lg-gauges{animation-delay:.34s}.login .quote{animation-delay:.46s}@keyframes lg-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.login .g-arc{stroke-dasharray:var(--len) 999;stroke-dashoffset:var(--len);animation:lg-draw2 1.5s .7s cubic-bezier(.32,.72,.28,1) forwards}@keyframes lg-draw2{to{stroke-dashoffset:0}}.login .g-spark{stroke-dasharray:260;stroke-dashoffset:260;animation:lg-draw2 1.7s .8s cubic-bezier(.32,.72,.28,1) forwards}.login .g-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);animation:lg-grow .6s cubic-bezier(.3,1.3,.5,1) forwards;animation-delay:calc(.8s + var(--i) * .07s)}@keyframes lg-grow{to{transform:scaleY(1)}}@media(min-width:901px)and (max-height:920px){.login .p-top{padding-top:18px;padding-bottom:8px}.login .card{padding:24px}.login .card h2{font-size:24px}.login form{margin-top:18px;gap:12px}.login .input,.login .btn{height:44px;min-height:44px}.login .lg-sep{margin:16px 0 11px}.login .social .btn{height:41px;min-height:41px}.login .lg-gauges{margin-top:12px}.login .lg-gauge{padding:10px 11px;gap:7px}.login .lg-gauge svg{height:26px}.login .lg-gauge b{font-size:17px}.login .p-foot{padding-top:14px;padding-bottom:20px}.login .art-copy{bottom:30px}.login .art-copy h1{font-size:clamp(30px,2.8vw,42px)}.login .art-copy p{margin-top:11px}.login .art-stats{margin-top:18px;padding-top:15px}}@media(min-width:901px)and (max-height:800px){.login .p-foot{display:none}.login .card-foot{margin-top:14px}.login .art-copy p{display:none}}@media(max-width:1080px){.login{grid-template-columns:.92fr 1fr}.login .art-copy p{display:none}}@media(max-width:900px){.login{grid-template-columns:1fr;min-height:100dvh}.login .art{min-height:270px}.login .art:after{height:100%;background:linear-gradient(to top,#050916f5 26%,#050916b8 58%,#05091626)}.login .art-copy{position:relative;left:auto;right:auto;bottom:auto;padding:26px 24px 28px;max-width:none}.login .art-copy p{display:block;font-size:14px}.login .art-copy h1{font-size:clamp(30px,8.6vw,40px)}.login .art-stats{margin-top:20px;padding-top:16px}.login .art-stats b{font-size:21px}.login .seam,.login .art-pill{display:none}.login .p-top{padding:16px 20px 0}.login .p-body{padding-top:16px}.login .p-foot{padding:20px 20px 28px}.login .lg-row{font-size:12.5px}.login .theme-btn,.login .eye{width:var(--touch);height:var(--touch)}.login .eye{margin-right:-8px}.login .check{min-height:var(--touch)}.login .hint{text-align:left;flex-basis:100%}}@media(max-width:420px){.login .lg-gauges{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.login .lg-gauge{padding:10px}.login .lg-gauge b{font-size:17px}}@media(prefers-reduced-motion:reduce){.login .eqline,.login .seam .sline,.login .g-arc,.login .g-spark{stroke-dashoffset:0}.login .eqarea,.login .node,.login .art-pill,.login .seam .srun{opacity:1}.login .g-bar{transform:none}.login .quote q:first-child{opacity:1}.login .quote q:not(:first-child){opacity:0}}.timeline.branch-on{max-width:1220px}.compose{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:18px;box-shadow:var(--shadow-post)}.compose .top{display:flex;gap:12px;align-items:center}.compose .fake{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:11px 16px;color:var(--text-3);text-align:left;font-size:14px;transition:background .15s;min-height:var(--touch)}.compose .fake:hover{background:var(--surface-3)}.compose .quick{display:flex;gap:4px;border-top:1px solid var(--border);padding-top:10px;margin-top:12px}.compose .quick button,.compose .quick a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-radius:9px;font-size:13px;font-weight:600;color:var(--text-2);min-height:var(--touch)}.compose .quick button:hover,.compose .quick a:hover{background:var(--surface-2);color:var(--text)}.compose .quick .ic{width:18px;height:18px}.tl-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.tl-types{display:flex;gap:6px;flex-wrap:wrap}.tl-right{margin-left:auto}.tl-modes{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:3px;gap:2px;margin:0 auto}.tl-modes button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-3);min-height:36px}.tl-modes button .ic{width:15px;height:15px}.tl-modes button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.tl-filters .spacer,.post-f .spacer{flex:1}.chip.off{opacity:.4;pointer-events:none}.select{border:1.5px solid var(--border-2);border-radius:999px;padding:7px 32px 7px 14px;background:var(--surface);appearance:none;font-size:13px;font-weight:600;color:var(--text-2);outline:0;min-height:36px}.branch{display:grid;grid-template-columns:minmax(0,244px) minmax(0,1fr);gap:16px;align-items:start}.branch-rail{position:sticky;top:calc(var(--tb) + 12px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:8px;max-height:calc(100dvh - var(--tb) - 40px);overflow:auto}.brday{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-align:left;position:relative;min-height:var(--touch)}.brday+.brday:before{content:"";position:absolute;left:16px;top:-8px;height:8px;width:2px;background:var(--border-2)}.brday .node{width:11px;height:11px;border-radius:50%;background:var(--border-2);flex:none;box-shadow:0 0 0 3px var(--surface)}.brday .node.up{background:var(--up)}.brday .node.down{background:var(--down)}.brday .bd-l{display:flex;flex-direction:column;min-width:0}.brday .bd-l b{font-size:13.5px;font-weight:600}.brday .bd-l small,.brday .bd-r small{font-size:11px;color:var(--text-3)}.brday .bd-r{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end}.brday .bd-r b{font-size:12.5px;font-variant-numeric:tabular-nums}.brday:hover{background:var(--surface-2)}.brday.active{background:var(--surface-3)}.brday.active .bd-l b{color:var(--primary)}.branch-main{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px}.branch-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border)}.branch-h h3{font-family:var(--font-display);font-size:18px}.branch-h p{font-size:12.5px;color:var(--text-3)}.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}.mini{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s;color:inherit;min-width:0}.mini:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--border-2);cursor:pointer}.mini.win{border-left:3px solid var(--up)}.mini.loss{border-left:3px solid var(--down)}.mini.be{border-left:3px solid var(--border-2)}.mini.tw{border-left:3px solid var(--primary)}.mini.breach{border-left:3px solid var(--warn)}.mini-thumb{display:block;position:relative;min-width:0;aspect-ratio:16 / 9;border-radius:9px;overflow:hidden;border:1px solid var(--border);background:var(--surface-3)}.mini-thumb img{width:100%;height:100%;object-fit:cover}.mini-h{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-3)}.mini-h .sym{font-size:10.5px;padding:2px 6px}.mini-h .dir{font-size:10.5px;padding:2px 6px;border-radius:6px;font-weight:600}.mini-time{margin-left:auto;font-variant-numeric:tabular-nums}.mini>b{font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini.tw .tw-line{font-size:12.5px;color:var(--text-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.mini-pips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--text-3);font-variant-numeric:tabular-nums}.mini-pips .up,.mini-pips .down{font-weight:700}.mini-pips .muted{color:var(--text-3)}.mini-f{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.mini-f .badge,.mini-f .tag{font-size:10.5px;padding:2px 7px}.tag.bad{color:var(--down);background:rgba(var(--down-rgb),.1)}.post.tweet{border-left:3px solid var(--primary)}.ttag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb),.1);padding:4px 9px;border-radius:999px}.ttag .ic{width:13px;height:13px}.tw-text{font-size:15.5px;line-height:1.55;color:var(--text);margin-top:10px;white-space:pre-wrap}.tw-area{min-height:130px;font-size:15px;line-height:1.5}.post-emos{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:12px}.mind{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:11.5px;color:var(--text-3);font-weight:500}.mind i{width:7px;height:7px;border-radius:50%;background:var(--border-2);display:inline-block}.mind.lo i.on{background:var(--down)}.mind.mid i.on{background:var(--warn)}.mind.hi i.on{background:var(--up)}.post-f{display:flex;gap:2px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.post-f button,.post-f a{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;font-size:13px;color:var(--text-2);font-weight:500;min-height:var(--touch)}.post-f button:hover,.post-f a:hover{background:var(--surface-2);color:var(--text)}.post-f button.on{color:var(--gold)}.post-f .ic{width:16px;height:16px}.post-f .revw{font-size:12px;color:var(--text-3)}.post-f .revw.ok{color:var(--up)}.load-more{display:flex;justify-content:center;padding:6px 0 20px}@media(max-width:767px){.branch{grid-template-columns:minmax(0,1fr)}.branch-rail{position:static;flex-direction:row;overflow-x:auto;max-height:none;gap:6px}.brday{flex:none;min-width:156px}.brday+.brday:before{display:none}.branch-main{padding:12px}.tl-modes{margin:0;order:3}.tl-modes button span{display:none}.tl-modes button{padding:7px 14px}.compose .quick button span,.post-f button span,.post-f a span{display:none}}.tl-pending{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tl-pending span{flex:1;min-width:200px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal .dow{font-size:11px;color:var(--text-3);text-align:center;font-weight:600;padding-bottom:2px}.cal .d{position:relative;aspect-ratio:1;min-height:44px;width:100%;padding:0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--text-3);line-height:1.1;gap:2px;transition:transform .12s,box-shadow .12s}.cal .d.has{color:var(--text);font-weight:600;text-shadow:0 1px 1px rgba(255,255,255,.45)}[data-theme=dark] .cal .d.has{text-shadow:0 1px 2px rgba(0,0,0,.6)}.cal .d small{font-size:9px;font-variant-numeric:tabular-nums;font-weight:600}.cal .d.empty{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.cal .d.pad{background:transparent;box-shadow:none;visibility:hidden}.cal .d.breach{box-shadow:inset 0 0 0 2px var(--warn)}.cal .d.today{outline:2px solid var(--primary);outline-offset:-2px}.cal .d .jd{position:absolute;top:5px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--primary)}.cal .d:hover{transform:translateY(-1px);cursor:pointer}.cal-legend{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:10px;font-size:12px;color:var(--text-3)}.cal-legend+.cal-legend{margin-top:6px}.cal-legend b{font-variant-numeric:tabular-nums}.cal-legend .sw{display:inline-flex;gap:3px;margin:0 6px;vertical-align:middle}.cal-legend .sw i{width:12px;height:12px;border-radius:3px;display:inline-block}.cal-legend .sw i.dot{width:8px;height:8px;border-radius:50%;background:var(--primary);align-self:center}.cal-nav{display:flex;align-items:center;gap:4px}.day-sheet{display:flex;flex-direction:column;gap:18px}.day-facts{display:flex;flex-wrap:wrap;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}.day-facts span{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-3)}.day-facts b{font-family:var(--font-display);font-size:20px;line-height:1.1}.day-part>h4{font-size:15px;margin-bottom:10px}.mini.ro:hover{transform:none;box-shadow:none;border-color:var(--border);cursor:default}.cal-modes{display:flex;justify-content:center;margin-bottom:14px}.agenda{display:flex;flex-direction:column;gap:8px}.ag-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:8px 12px;min-height:var(--touch);border-radius:12px;background:var(--surface-2);border:1px solid var(--border);transition:background .15s,border-color .15s}.ag-row:hover{background:var(--surface-3);cursor:pointer}.ag-row.up{border-left:3px solid var(--up)}.ag-row.down{border-left:3px solid var(--down)}.ag-row.breach{border-left:3px solid var(--warn);box-shadow:inset 0 0 0 1px rgba(var(--warn-rgb),.45)}.ag-d{display:flex;flex-direction:column;align-items:center;width:34px;flex-shrink:0;line-height:1.1}.ag-d b{font-family:var(--font-display);font-size:17px}.ag-d small{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.02em}.ag-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}.ag-r{font-family:var(--font-display);font-size:16px;margin-left:auto;flex-shrink:0}.week-days{display:flex;flex-direction:column;gap:10px}.wday{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:14px 16px;min-height:var(--touch);border-radius:12px;border:1px solid var(--border);background:var(--surface-2);transition:background .15s,border-color .15s}.wday:hover{background:var(--surface-3);cursor:pointer}.wday.blank{background:transparent;border-style:dashed}.wday.today{box-shadow:inset 0 0 0 2px var(--primary)}.wday-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wday-h b{font-family:var(--font-display);font-size:15px;text-transform:capitalize}.wday-h .when{font-size:12px;color:var(--text-3)}.wday-none{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-3)}.wday-none .ic{width:15px;height:15px}.wday-t{display:flex;flex-direction:column;gap:8px}.wday-line{display:flex;flex-direction:column;gap:2px;min-width:0}.wday-line small{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.wday-line>span{font-size:13.5px;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;white-space:pre-wrap}@media(prefers-reduced-motion:reduce){.ag-row,.wday{transition:none}}@media(max-width:420px){.cal{gap:3px;margin:0 -8px}}@media(prefers-reduced-motion:reduce){.cal .d{transition:none}.cal .d:hover{transform:none}}.sym-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}.sym-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;transition:box-shadow .15s,border-color .15s}.sym-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}.sym-card.sym-breach{border-left:3px solid var(--warn)}.sym-card-h{display:flex;align-items:center;gap:8px;min-width:0}.sym-ico{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch);min-height:var(--touch);border-radius:12px;flex-shrink:0;position:relative;z-index:1;transition:background .15s}.sym-ico:hover{background:var(--surface-3)}.sym-name{font-size:13.5px;font-weight:600;line-height:1.25;min-width:0;overflow-wrap:anywhere}.sym-flag{margin-left:auto}.sym-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.sym-tags .tag b{font-weight:700;color:var(--text)}.sym-tags .tag.fav{background:rgba(var(--gold-rgb),.14);color:var(--gold)}.sym-tags .tag.fav .ic{width:13px;height:13px;fill:rgba(var(--gold-rgb),.3)}.sym-star{position:relative;z-index:1;display:inline-flex;flex-shrink:0}.sym-cover{position:absolute;inset:0;border-radius:var(--r-lg)}.ledger.wide{grid-template-columns:repeat(7,minmax(0,1fr))}.ledger.wide .kpi:nth-child(7n){border-right:0}@media(min-width:768px)and (max-width:1100px){.ledger.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.ledger.wide .kpi:nth-child(3n){border-right:0}.ledger.wide .kpi:nth-child(-n+6){border-bottom:1px solid var(--border)}}@media(max-width:767px){.ledger.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger.wide .kpi:nth-child(2n){border-right:0}.ledger.wide .kpi:nth-child(-n+6){border-bottom:1px solid var(--border)}.sym-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.tl-modes button{min-height:var(--touch)}}.previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-top:10px}@media(min-width:700px){.previews{grid-template-columns:repeat(5,minmax(0,1fr));max-width:620px}}.previews .pv{position:relative;min-width:0;aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface-3)}.previews .pv img{width:100%;height:100%;object-fit:cover;display:block}.previews .pv .pv-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}.previews .pv button.pv-del{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#0009;color:#fff;display:grid;place-items:center}.previews .pv button.pv-del .ic{width:12px;height:12px}.previews .pv button.pv-del:hover{background:var(--down)}.previews .pv .pv-name{position:absolute;inset:auto 0 0;padding:3px 6px;font-size:10px;line-height:1.3;color:#fff;background:linear-gradient(transparent,#000000bf);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.previews .pv.up{display:grid;place-items:center;padding:8px;border-style:dashed}.previews .pv.up .pv-pct{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-2)}.previews .pv .pv-track{position:absolute;inset:auto 8px 10px;height:4px;border-radius:3px;background:var(--surface);overflow:hidden}.previews .pv .pv-fill{height:100%;border-radius:3px;background:var(--primary);transition:width .2s ease}.previews .pv.bad{border-color:var(--down);background:rgba(var(--down-rgb),.1)}.previews .pv.bad .pv-why{position:absolute;inset:0;display:grid;place-items:center;gap:2px;padding:6px;text-align:center;font-size:10px;line-height:1.25;color:var(--down);align-content:center}.previews .pv.bad .pv-why .ic{width:16px;height:16px}.up-errors{margin-top:10px;display:flex;flex-direction:column;gap:6px}.up-errors li{font-size:12px;color:var(--down);list-style:none}.up-errors li b{color:var(--text-2);font-weight:600}.up-errors li .row{margin-top:6px}.lightbox{position:fixed;inset:0;z-index:80;background:#05070ceb;display:flex;align-items:center;justify-content:center;padding:20px}.lb-inner{max-width:1100px;width:100%}.lb-inner img{width:100%;height:auto;max-height:78dvh;border-radius:14px;object-fit:contain;background:var(--chart-bg)}.lb-cap{color:#fff;margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap}.lb-cap .muted{color:#fff9}.lb-cap .btn.ghost{color:#fff;border-color:#ffffff4d;background:#ffffff14}.lb-close{position:absolute;top:16px;right:16px;color:#fff;width:var(--touch);height:var(--touch);border-radius:50%;background:#ffffff1f;display:grid;place-items:center}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:var(--touch);height:var(--touch);border-radius:50%;background:#ffffff1f;color:#fff;display:grid;place-items:center}.lb-nav.prev{left:12px}.lb-nav.next{right:12px}.lb-nav:hover{background:#ffffff3d}.lib-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.lib-tools .chips{display:flex;gap:6px;flex-wrap:wrap}.lib-tools .spacer{flex:1}.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px}.img-cell{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0;transition:transform .15s,box-shadow .15s}.img-cell:hover{transform:translateY(-2px);box-shadow:var(--shadow-post)}.ic-thumb{display:block;width:100%;padding:0;border:0;aspect-ratio:16 / 10;background:var(--chart-bg);cursor:pointer}.ic-thumb img{width:100%;height:100%;object-fit:cover;display:block}.img-cell figcaption a{display:block;padding:10px 12px 12px;color:var(--text);text-decoration:none}.img-cell figcaption b{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.35;margin-bottom:7px}.img-cell figcaption a:hover b{color:var(--primary);text-decoration:underline}.img-cell figcaption a>span{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.img-cell .badge,.img-cell .sym{font-size:10.5px;padding:2px 7px}@media(max-width:767px){.previews{grid-template-columns:repeat(2,minmax(0,1fr))}.previews .pv button.pv-del{width:32px;height:32px;top:6px;right:6px}.previews .pv button.pv-del:after{content:"";position:absolute;inset:-6px}.lib-tools .select{min-height:var(--touch)}.img-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}}.media{display:grid;gap:6px;border-radius:12px;overflow:hidden;margin-top:14px;background:var(--surface-3)}.media.n1{grid-template-columns:1fr}.media.n2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.media .thumb{position:relative;display:block;width:100%;padding:0;border:0;aspect-ratio:16 / 10;background:var(--chart-bg);cursor:zoom-in;overflow:hidden;color:inherit}.media.n1 .thumb{aspect-ratio:16 / 8.5}.media .thumb img{width:100%;height:100%;object-fit:cover;display:block}.media .thumb:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.media .thumb .cap{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:6px;background:#0000008c;color:#fff;font-size:11px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-media{margin:0 0 16px}.hero-media.n1 .thumb{aspect-ratio:16 / 7}@media(max-width:767px){.media.n2{grid-template-columns:1fr}.hero-media.n1 .thumb{aspect-ratio:16 / 9}}.study-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.study{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column}.study.fav{border-color:rgba(var(--gold-rgb),.45);background:linear-gradient(180deg,rgba(var(--gold-rgb),.06),transparent 60%)}.study .q{color:var(--gold);opacity:.5;margin-bottom:8px}.study .q .ic{width:24px;height:24px}.study blockquote{font-family:var(--font-display);font-size:16px;line-height:1.5;color:var(--text);margin-bottom:12px;overflow-wrap:anywhere}.study .src{display:flex;flex-direction:column;font-size:12.5px;margin-bottom:10px}.study .src b{font-weight:600}.study .src span{color:var(--text-3)}.study .note{font-size:13px;color:var(--text-2);line-height:1.5;background:var(--surface-2);border-radius:10px;padding:10px 12px;margin-bottom:12px;overflow-wrap:anywhere}.study-f{display:flex;align-items:center;gap:4px;margin-top:auto}.study-f .spacer{flex:1}.phrase-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--border)}.phrase-row:last-child{border-bottom:0}.phrase-row q{flex:1;font-size:14px;color:var(--text-2);line-height:1.45;overflow-wrap:anywhere}.phrase-row.fav q{color:var(--text);font-weight:500}@media(max-width:480px){.phrase-row{flex-wrap:wrap;gap:2px}.phrase-row q{min-width:100%}.phrase-row .row-actions{margin-left:auto}}@media(max-width:767px){.study-grid{grid-template-columns:minmax(0,1fr)}.lib-tabs{width:100%;justify-content:space-between}.lib-tabs button{flex:1;justify-content:center;padding:8px 6px}}.nbell{display:inline-flex}.npanel{position:fixed;top:calc(var(--tb) + 8px);right:24px;width:380px;max-width:calc(100vw - 24px);z-index:65;overflow:hidden;box-shadow:var(--shadow-float);display:flex;flex-direction:column;max-height:calc(100dvh - var(--tb) - 24px);animation:rise .22s ease}@keyframes rise{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.npanel .n-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.npanel .n-h h3{font-size:15px}.npanel .n-h button{font-size:12px;color:var(--primary);font-weight:600;min-height:var(--touch);padding:0 4px}.npanel .n-h button:disabled{color:var(--text-3);cursor:default}.npanel .n-list{overflow-y:auto;overscroll-behavior:contain}.n-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);font-weight:400;align-items:flex-start}.n-item:hover{background:var(--surface-2)}.n-item:last-child{border-bottom:0}.n-item .n-ic{width:38px;height:38px;border-radius:11px;background:var(--surface-3);display:grid;place-items:center;font-size:18px;flex-shrink:0}.n-item .n-b{flex:1;min-width:0}.n-item b{display:block;font-size:13px;font-weight:600}.n-item .n-p{display:block;color:var(--text-2);font-size:12.5px;margin-top:1px}.n-item time{font-size:11px;color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums}.n-item.unread .n-ic{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.n-clear{display:flex;gap:12px;align-items:center;padding:18px 16px;font-size:13px;color:var(--text-2)}.n-clear .ic{color:var(--up);flex-shrink:0}.n-clear b{display:block;color:var(--text);font-size:13.5px}@media(max-width:767px){.npanel{right:10px;left:10px;width:auto;max-height:calc(100dvh - var(--tb) - 88px - env(safe-area-inset-bottom))}}.toast.toast-update{pointer-events:auto;padding:10px 10px 10px 16px;width:max-content;max-width:min(520px,calc(100vw - 24px))}@media(max-width:767px){.toast.toast-update{bottom:calc(76px + env(safe-area-inset-bottom))}}.toast.toast-update .ic{width:18px;height:18px;flex:none}.toast.toast-update span{flex:1}.toast-action{background:var(--bg);color:var(--text)}.toast-action:hover{filter:brightness(1.08)}.toast-close{display:grid;place-items:center;width:var(--touch);height:var(--touch);border-radius:10px;color:inherit;opacity:.7;flex:none}.toast-close:hover{opacity:1}.toast.toast-update :focus-visible{outline-color:var(--bg)}.toast.toast-session{pointer-events:auto;padding:10px 10px 10px 16px;width:max-content;max-width:min(520px,calc(100vw - 24px));bottom:84px}@media(max-width:767px){.toast.toast-session{bottom:calc(136px + env(safe-area-inset-bottom))}}.toast.toast-session .ic{width:18px;height:18px;flex:none}.toast.toast-session span{flex:1}.toast.toast-session :focus-visible{outline-color:var(--bg)}.owner-select{width:auto;max-width:220px;min-height:38px;padding:6px 30px 6px 12px;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-select.other{border-color:var(--info);color:var(--info)}.owner-ribbon{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 24px;background:rgba(var(--info-rgb),.1);border-bottom:1px solid rgba(var(--info-rgb),.3);font-size:13px;color:var(--text-2)}.owner-ribbon>.ic{width:16px;height:16px;color:var(--info);flex:none}.owner-ribbon>span{flex:1;min-width:200px}.owner-ribbon b{color:var(--text)}.owner-ribbon .btn{margin-left:auto}.owner-byid{display:flex;flex-direction:column;gap:4px;flex:1;min-width:240px}.owner-byid>span{font-size:12px;font-weight:600;color:var(--text-2)}.owner-byid .ctl{font-size:13px}.owner-byid .ctl[aria-invalid=true]{border-color:var(--down)}.owner-ribbon .err{flex-basis:100%;font-size:12px;color:var(--down)}.owner-byid-actions{display:flex;gap:8px;margin-left:auto;align-self:flex-end}.owner-byid-actions .btn{margin-left:0}@media(max-width:767px){.owner-select{max-width:128px;min-height:var(--touch);padding:6px 26px 6px 10px;font-size:12px;background-position:right 8px center}.owner-ribbon{padding:8px 14px}.owner-ribbon>span{min-width:0;flex-basis:100%}.owner-ribbon .btn,.owner-byid-actions .btn{min-height:var(--touch)}.owner-byid-actions{width:100%;justify-content:flex-end}}
