@font-face{font-family:OpenSans Bold;src:url(/assets/OpenSans-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:OpenSans ExtraBold;src:url(/assets/OpenSans-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}:root{--bg-fallback: #061222;--surface: rgba(255,255,255,.045);--surface-2: rgba(255,255,255,.07);--surface-hover: rgba(124,212,255,.06);--surface-strong: rgba(255,255,255,.1);--nav-bg: rgba(6,12,28,.55);--text: #f6f7fc;--text-2: #c8d0e4;--muted: #8a93b0;--muted-2: #5e6883;--line: rgba(180,200,255,.12);--line-strong: rgba(180,200,255,.22);--accent: #7cd4ff;--accent-2: #a8a0ff;--accent-fg: #061222;--up: #ff7a9c;--down: #6ee7b7;--flat: #c8d0e4;--pool-hs300-bg: rgba(202,191,255,.14);--pool-hs300-fg: #cabfff;--pool-hs300-bd: rgba(202,191,255,.32);--pool-zz500-bg: rgba(160,245,220,.12);--pool-zz500-fg: #a0f5dc;--pool-zz500-bd: rgba(160,245,220,.3);--pool-zz1000-bg: rgba(232,197,96,.12);--pool-zz1000-fg: #e8c560;--pool-zz1000-bd: rgba(232,197,96,.3);--font-display: "OpenSans ExtraBold", "OpenSans Bold", "Space Grotesk", "Inter", "Noto Sans SC", system-ui, sans-serif;--font-body: "OpenSans ExtraBold", "OpenSans Bold", "Inter", "Noto Sans SC", "PingFang SC", system-ui, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--mono: var(--font-mono);--serif: var(--font-display);--ink: var(--text);--bg: transparent;--radius: 10px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 700px at 12% -8%,rgba(60,130,255,.55),transparent 60%),radial-gradient(1200px 800px at 95% 110%,rgba(40,210,230,.45),transparent 60%),radial-gradient(900px 600px at 50% 50%,rgba(160,140,255,.18),transparent 65%),var(--bg-fallback);background-attachment:fixed}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:0;cursor:pointer}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nav{position:sticky;top:0;z-index:20;height:100px;display:grid;grid-template-columns:minmax(300px,1fr) auto minmax(300px,1fr);align-items:center;gap:32px;padding:0 40px;border-bottom:1px solid var(--line);background:var(--nav-bg);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px)}.brand,.nav-left{display:inline-flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.3px}.brand-logo{height:56px;width:auto;max-width:260px;display:block;object-fit:contain}.tabs,.nav-tabs{display:inline-flex;align-items:center;gap:4px;justify-content:center}.tabs a,.nav-tabs a{color:var(--muted);font-size:20px;padding:8px 18px;border-radius:6px;transition:.15s;position:relative}.tabs a:hover,.nav-tabs a:hover{color:var(--text);background:#ffffff0a}.tabs a.on,.nav-tabs a.on{color:var(--text);background:linear-gradient(180deg,#7cd4ff2e,#7cd4ff0f);box-shadow:0 0 0 1px var(--pool-hs300-bd) inset}.nav-right{display:inline-flex;align-items:center;justify-content:flex-end;gap:20px;font-size:14px;color:var(--muted)}.account-dropdown{position:relative}.account-pill{display:inline-flex;align-items:center;gap:12px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--text-2);font-size:16px;cursor:pointer;transition:.15s}.account-pill:hover{border-color:var(--line-strong);background:#ffffff0f}.account-pill .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.account-pill .dot.active{background:var(--accent);box-shadow:0 0 10px var(--accent)}.account-pill .dot.expired{background:var(--up);box-shadow:0 0 10px var(--up)}.account-pill .chevron{width:14px;height:14px;color:var(--muted);transition:.15s}.account-dropdown.open .account-pill .chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;background:#0c1224f7;border:1px solid var(--line-strong);border-radius:8px;padding:5px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,visibility .15s,transform .15s;z-index:30}.dropdown-menu.visible{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-menu a,.dropdown-menu button{display:flex;align-items:center;width:100%;padding:8px 14px;border-radius:6px;font-size:14px;color:var(--text-2);text-align:left;transition:.1s}.dropdown-menu a:hover,.dropdown-menu button:hover{background:var(--surface-hover);color:var(--text)}.dropdown-menu button.danger:hover{color:var(--up)}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border:1px solid var(--line);border-radius:999px;background:#ffffff08}.user-chip .av{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#a8a0ff,#7cd4ff);color:#061222;font-size:11px;font-weight:700;display:grid;place-items:center;font-family:var(--font-mono)}.user-chip span{color:var(--text-2);font-size:12px}.btn{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:6px;font-size:13px;color:var(--text-2);border:1px solid var(--line);background:#ffffff08;transition:.15s}.btn:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff0f}.btn.primary{background:linear-gradient(180deg,#8ee0ff,#5cb6ff);color:#061222;border-color:#7cd4ff99;font-weight:600;box-shadow:0 6px 20px #7cd4ff40}.btn.primary:hover{background:linear-gradient(180deg,#a8e6ff,#7cc6ff);color:#061222}.btn.ghost{background:transparent}.btn.sm{padding:5px 10px;font-size:12px}.mode-toggle{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#ffffff08}.mode-toggle button{padding:5px 8px;color:var(--muted);border-right:1px solid var(--line);display:grid;place-items:center;transition:.12s;line-height:0}.mode-toggle button:last-child{border-right:0}.mode-toggle button.active{background:#7cd4ff24;color:var(--text)}.mode-toggle button svg{width:20px;height:20px}main.page{width:min(1440px,100%);margin:0 auto;padding:32px 40px 80px}.ph{padding:32px 0 22px;border-bottom:1px solid var(--line);margin-bottom:26px}.ph-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}.ph-eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent)}.ph-title{font-family:var(--font-display);font-size:32px;font-weight:600;margin:0 0 10px;color:var(--text);letter-spacing:.2px}.ph-title .en{font-size:15px;color:var(--muted);font-weight:400;margin-left:14px}.ph-tag{font-size:13.5px;color:var(--text-2);margin:0}.titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:26px}.crumbs{font-size:11.5px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin-bottom:10px;font-family:var(--font-mono)}.crumbs em{color:var(--text-2);font-style:normal}.page-title{font-family:var(--font-display);font-size:32px;font-weight:600;letter-spacing:.3px;margin:0;color:var(--text)}.page-title .sub{color:var(--muted);font-weight:400;font-size:15px;margin-left:14px}.card,.panel{background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line);gap:12px}.card-title{font-size:15px;font-weight:600;color:var(--text)}.card-title .en{display:inline-block;margin-left:10px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase;font-weight:500}.card-meta{font-size:12px;color:var(--muted)}.card-meta .mono{color:var(--text-2)}.card-meta .sep,.card-meta .dot{display:inline-block;width:3px;height:3px;background:var(--muted-2);border-radius:50%;margin:0 10px;transform:translateY(-2px)}.card-body,.panel{padding:22px}.card-foot{padding:13px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);background:#ffffff05}.summary,.glance,.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.summary-card,.metric-card,.skeleton-card{position:relative;background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;overflow:hidden}.summary-card:before,.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}.summary-label{font-size:14px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-bottom:10px}.summary-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600;letter-spacing:-.3px;line-height:1.1;color:var(--text)}.summary-value .unit{font-size:14px;color:var(--muted);font-weight:500;margin-left:4px}.summary-sub{margin-top:8px;font-size:12px;color:var(--muted);font-family:var(--font-mono)}.summary-value.up,.summary-value.holdings-up{color:var(--up)}.summary-value.down,.summary-value.holdings-down{color:var(--down)}.summary-sub.up,.summary-sub.holdings-up{color:var(--up)}.summary-sub.down,.summary-sub.holdings-down{color:var(--down)}.metric-card>span:first-child{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.metric-card>strong{display:block;font-family:var(--font-mono);font-size:24px;font-weight:600;color:var(--text)}.metric-card>p{font-size:12px;color:var(--muted);margin:6px 0 0}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:12px 14px;text-align:right;vertical-align:middle;font-size:13px;white-space:nowrap;border-bottom:1px solid var(--line)}.tbl th.t-l,.tbl td.t-l{text-align:left}.tbl th:first-child,.tbl td:first-child{padding-left:22px}.tbl th:last-child,.tbl td:last-child{padding-right:22px}.tbl thead th{background:#ffffff08;color:var(--muted);font-weight:500;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;padding-top:11px;padding-bottom:11px;user-select:none}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--surface-hover)}.tbl tfoot td{background:#ffffff0a;font-weight:600;border-top:1px solid var(--line-strong);border-bottom:none;padding-top:14px;padding-bottom:14px}.tbl tfoot td.dash{color:var(--muted-2);font-family:var(--font-mono)}.t-code{font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.t-name{color:var(--text);font-weight:500}.t-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.t-num.up,.t-num.holdings-up{color:var(--up)}.t-num.down,.t-num.holdings-down{color:var(--down)}.t-muted{color:var(--muted)}.th-sort{cursor:pointer}.th-sort .sort-inner{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;width:100%}.th-sort .arrows{display:inline-flex;flex-direction:column;line-height:0;color:var(--muted-2)}.th-sort .arrows .arr{font-size:8px;line-height:1;height:9px}.th-sort:hover{color:var(--text-2)}.th-sort.is-asc .arrows .arr.up,.th-sort.is-desc .arrows .arr.down{color:var(--accent)}.tag{display:inline-block;padding:2px 9px;font-size:11.5px;font-weight:500;line-height:1.55;letter-spacing:.2px;border-radius:4px;border:1px solid transparent}.tag.hs300,.holdings-tag--hs300{background:var(--pool-hs300-bg);color:var(--pool-hs300-fg);border-color:var(--pool-hs300-bd)}.tag.zz500,.holdings-tag--zz500{background:var(--pool-zz500-bg);color:var(--pool-zz500-fg);border-color:var(--pool-zz500-bd)}.tag.zz1000,.holdings-tag--zz1000{background:var(--pool-zz1000-bg);color:var(--pool-zz1000-fg);border-color:var(--pool-zz1000-bd)}.tag.neutral{background:#ffffff0f;color:var(--text-2);border-color:var(--line)}.tag.up{background:#ff7a9c1f;color:var(--up);border-color:#ff7a9c52}.tag.down{background:#6ee7b71f;color:var(--down);border-color:#6ee7b752}.signal-pool-tag{font-size:11.5px;color:var(--muted);font-family:var(--font-mono)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;color:var(--muted);letter-spacing:.3px}.input,.select,.textarea{width:100%;background:#ffffff0a;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;outline:none;transition:.15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7cd4ff2e;background:#ffffff0f}.legend{display:inline-flex;align-items:center;gap:16px}.legend span{display:inline-flex;align-items:center;gap:7px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;border:1px solid rgba(255,255,255,.15)}.legend i.hs300{background:var(--pool-hs300-bg);border-color:var(--pool-hs300-bd)}.legend i.zz500{background:var(--pool-zz500-bg);border-color:var(--pool-zz500-bd)}.legend i.zz1000{background:var(--pool-zz1000-bg);border-color:var(--pool-zz1000-bd)}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17,#ffffff0a 75%);background-size:400% 100%;animation:pi-shimmer 1.6s ease infinite;border-radius:4px}.skeleton-text{height:14px;border-radius:3px}.skeleton-value{height:32px;border-radius:3px;margin-top:8px}@keyframes pi-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{padding:48px 24px;color:var(--muted);font-size:14px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.notice-band{display:flex;align-items:center;gap:12px;padding:13px 18px;margin-bottom:16px;background:#7cd4ff12;border:1px solid rgba(124,212,255,.2);border-radius:8px;color:var(--text-2);font-size:13px}.notice-band strong{color:var(--text)}.signal-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 22px;margin-bottom:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.signal-capital-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.signal-right-group{display:flex;align-items:center;gap:12px;margin-left:auto}.signal-pool-filter{display:inline-flex;gap:4px}.signal-date-dropdown{position:relative;margin-left:auto}.signal-date-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#ffffff08;color:var(--text-2);font-size:14px;cursor:pointer;transition:.15s;font-family:var(--font-mono)}.signal-date-trigger:hover{border-color:var(--line-strong);background:#ffffff0f}.signal-date-trigger .chevron{width:12px;height:12px;color:var(--muted);transition:.15s}.signal-date-dropdown.open .signal-date-trigger .chevron{transform:rotate(180deg)}.signal-date-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:340px;max-height:420px;overflow-y:auto;background:#0c1224f7;border:1px solid var(--line-strong);border-radius:10px;padding:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,visibility .15s,transform .15s;z-index:30}.signal-date-menu.visible{opacity:1;visibility:visible;transform:translateY(0)}.date-month-group{margin-bottom:16px}.date-month-group:last-child{margin-bottom:0}.date-month-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:10px;text-align:center}.date-week-head{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.date-week-head span{text-align:center;font-size:11px;color:var(--muted-2);font-weight:500}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.date-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;font-size:13px;font-family:var(--font-mono);cursor:default;color:var(--muted-2);background:transparent;transition:.1s}.date-cell.has-signal{color:var(--text);cursor:pointer}.date-cell.has-signal:hover{background:var(--surface-hover);border-color:var(--line)}.date-cell.current{border-color:var(--pool-hs300-bd);color:var(--accent);background:#7cd4ff1a;font-weight:700}.date-cell.no-signal{cursor:default}.date-cell:disabled{cursor:default;opacity:.35}.date-cell[disabled]{cursor:default;opacity:.35}.date-cell.date-empty{cursor:default;opacity:0;pointer-events:none}.tab-button{padding:6px 13px;border-radius:6px;font-size:14px;color:var(--muted);background:transparent;border:1px solid transparent;transition:.15s}.tab-button.active{color:var(--text);background:#7cd4ff1f;border-color:var(--pool-hs300-bd)}.tab-button:hover{color:var(--text-2);background:#ffffff0a}.signal-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.signal-capital-control{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.signal-capital-control input{width:160px;background:#ffffff0d;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 10px;font-size:14px;font-family:var(--font-mono);outline:none}.signal-capital-control input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7cd4ff26}.signal-capital-quick{display:flex;gap:4px}.signal-capital-quick button{padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:#ffffff08;color:var(--muted);font-size:14px;font-family:var(--font-display);cursor:pointer;transition:.12s;white-space:nowrap}.signal-capital-quick button:hover{border-color:var(--pool-hs300-bd);color:var(--accent);background:#7cd4ff1a}.signal-group{margin-bottom:28px}.signal-group-head{margin-bottom:14px}.signal-group-head h3{font-size:14px;font-weight:600;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin:0}.signals-grid,.signals-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.signal-pool-row{margin-bottom:12px}.signal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);border-left:3px solid var(--line-strong);transition:background .12s;overflow:hidden}.signal-card:hover{background:var(--surface-2)}.signal-card.buy{border-left-color:var(--up)}.signal-card.sell{border-left-color:var(--down)}.signal-card-body{padding:14px 16px}.signal-name-row{margin-bottom:8px}.signal-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-top:1px solid var(--line)}.signal-row-top{border-top:none}.signal-code{font-family:var(--font-mono);font-size:14px;color:var(--muted)}.signal-pool-left{display:flex;align-items:center;gap:8px}.signal-pool-tag{font-weight:600;border-radius:4px;padding:0 6px;font-size:14px}.signal-pool-tag.pool-300{color:var(--pool-hs300-fg);background:var(--pool-hs300-bg)}.signal-pool-tag.pool-500{color:var(--pool-zz500-fg);background:var(--pool-zz500-bg)}.signal-pool-tag.pool-1000{color:var(--pool-zz1000-fg);background:var(--pool-zz1000-bg)}.signal-stock-name{font-size:16px;font-weight:600;color:var(--text)}.signal-force-badge{font-size:12px;font-weight:600;color:var(--accent);background:#7cd4ff1f;border:1px solid rgba(124,212,255,.25);border-radius:4px;padding:2px 8px;white-space:nowrap;margin-left:auto}.signal-buy-badge{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--accent);background:#7cd4ff1a;border-radius:4px;padding:2px 8px;white-space:nowrap}.signal-price-group{display:flex;align-items:center;gap:8px}.signal-cost{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text)}.signal-change{font-family:var(--font-mono);font-size:14px;font-weight:600}.signal-change.up{color:var(--up)}.signal-change.down{color:var(--down)}.signal-change.flat{color:var(--muted)}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.sec-title{margin:0;color:var(--text);font-family:var(--font-display);font-size:17px;font-weight:600}.home-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,.8fr);gap:40px;padding:48px 0 40px;align-items:start}.home-hero h1{font-family:var(--font-display);font-size:52px;font-weight:600;line-height:1.1;letter-spacing:-.5px;margin:0 0 18px;color:var(--text)}.hero-sub{font-size:15px;color:var(--text-2);line-height:1.65;max-width:540px;margin:0 0 28px}.hero-sub b{color:var(--text);font-weight:600}.hero-side{display:flex;flex-direction:column;gap:12px}.quick-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:var(--surface);backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:var(--radius);transition:.15s}.quick-link:hover{border-color:var(--pool-hs300-bd);background:var(--surface-2)}.quick-link.primary{border-color:var(--pool-hs300-bd);background:radial-gradient(circle at 0% 0%,rgba(124,212,255,.18),transparent 60%),#ffffff0a}.ql-l{display:flex;flex-direction:column;gap:4px}.ql-eye{font-family:var(--font-mono);font-size:10.5px;color:var(--accent);letter-spacing:1.2px;text-transform:uppercase}.ql-title{font-size:16px;font-weight:600;color:var(--text)}.ql-sub{font-size:12.5px;color:var(--muted)}.ql-r{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--text-2)}.stack>*+*{margin-top:22px}.row{display:flex;gap:14px;align-items:center}.hr-glow{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);margin:14px 0}.kv{display:grid;grid-template-columns:1fr auto;gap:14px 24px;font-size:13.5px}.kv dt{color:var(--muted);font-weight:400}.kv dd{margin:0;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:radial-gradient(1100px 700px at 12% -8%,rgba(60,130,255,.55),transparent 60%),radial-gradient(1200px 800px at 95% 110%,rgba(40,210,230,.45),transparent 60%),radial-gradient(900px 600px at 50% 50%,rgba(160,140,255,.18),transparent 65%),var(--bg-fallback);background-attachment:fixed;color:var(--text)}.login-wrap{width:min(420px,100%);padding:48px 40px}.login-logo{text-align:center;margin-bottom:48px}.login-logo img{height:52px;width:auto}.login-form{display:grid;gap:22px}.login-form label{display:grid;gap:8px}.login-form label span{font-size:13px;font-weight:600;color:var(--text-2)}.login-form input{height:48px;padding:0 0 6px;border-width:0 0 1px;border-style:solid;border-color:var(--line);border-radius:0;background:transparent;color:var(--text);font-size:15px;outline:none;transition:border-color .2s}.login-form input:focus{border-bottom-color:var(--accent)}.login-form input::placeholder{color:var(--muted-2)}.login-actions{display:flex;align-items:center;gap:16px;margin-top:4px}.login-btn{flex:1;height:48px;border:1px solid var(--pool-hs300-bd);border-radius:8px;background:linear-gradient(180deg,#7cd4ff38,#7cd4ff14);color:var(--accent);cursor:pointer;font-family:var(--font-display);font-size:15px;font-weight:600;transition:.15s}.login-btn:hover{border-color:var(--accent);background:#7cd4ff2e;color:var(--text)}.login-btn:disabled{cursor:not-allowed;opacity:.5}.login-link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:0;white-space:nowrap;transition:color .15s}.login-link:hover{color:var(--text-2)}.form-message{min-height:20px;color:var(--accent);font-size:13px;font-weight:500}.login-account{margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}.login-account h2{margin:0 0 8px;font-family:var(--font-display);font-size:20px;font-weight:600}.login-account>p{margin:0 0 20px;color:var(--muted);font-size:13px}.login-foot{margin-top:48px;text-align:center;color:var(--muted-2);font-size:12px;letter-spacing:.5px}.sec-head,.section-title,.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title{align-items:center}.sec-title,.section-title h2,.card-title,h2{margin:0;color:var(--text);font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1.3}.sec-tag,.section-title span{color:var(--muted);font-size:12px}.sec-title .en{color:var(--muted);font-size:12px;font-family:var(--font-mono);margin-left:10px}.sec{margin-bottom:26px}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}.ph-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gain,.up,.tone-gain strong{color:var(--down)}.loss,.down,.risk strong,.unrecovered{color:var(--up)}.muted{color:var(--muted)}.risk-note{margin:0;padding:12px 16px;border:1px solid var(--pool-zz1000-bd);background:#78ffdc14;color:var(--pool-zz1000-fg);line-height:1.55;font-size:13px;font-weight:500;border-radius:6px}.preview-box:empty{display:none}.preview-box{margin-top:16px}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:12px}.status-pill.warning{border-color:#ff9f434d;background:#ff9f4314;color:#ff9f43}.status-pill.active{border-color:#6ee7b74d;background:#6ee7b714;color:var(--down)}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text-2);cursor:pointer;font-size:13px;font-weight:500;transition:.15s;white-space:nowrap}.primary-button:hover,.secondary-button:hover,.ghost-button:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}.primary-button{border-color:var(--pool-hs300-bd);background:linear-gradient(180deg,#7cd4ff38,#7cd4ff14);color:var(--accent);font-weight:600}.primary-button:hover{border-color:var(--accent);background:#7cd4ff2e;color:var(--text)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.dashboard-grid,.metric-grid,.latest-backtest-grid,.overview-grid,.identity-facts,.mini-stat-row,.rolling-grid,.admin-grid,.renewal-options,.strip{display:grid;gap:14px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.metric-grid,.latest-backtest-grid,.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.identity-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.identity-facts div{min-width:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.identity-facts div span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.identity-facts div strong{display:block;color:var(--text);font-size:14px;font-weight:600}.evidence-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.evidence-card{border-top:3px solid var(--line)}.evidence-card.tone-gain{border-top-color:var(--down)}.evidence-card.risk{border-top-color:var(--up)}.evidence-card.neutral{border-top-color:var(--muted)}.mini-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.mini-stat-row.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.rolling-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card,.latest-backtest-card,.mini-stat,.rolling-card{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px)}.metric-card span,.latest-backtest-card span,.mini-stat span,.rolling-card span{display:block;margin-bottom:10px;color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.metric-card strong,.latest-backtest-card strong,.mini-stat strong,.rolling-card strong{display:block;color:var(--text);font-size:26px;font-weight:600;line-height:1.1;overflow-wrap:anywhere}.metric-card p,.rolling-card p,.latest-backtest-card small{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.chart-grid,.split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:18px}.chart-box{min-width:0;height:360px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.tall-chart{height:390px}.compact-chart{height:300px}.backtest-overview,.backtest-section,.backtest-identity{margin-bottom:18px}.backtest-identity{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px)}.overview-card{min-height:118px;padding:16px;text-align:left;cursor:pointer;transition:.15s;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px)}.overview-card:hover,.overview-card.active{border-color:var(--pool-hs300-bd)}.overview-card.active{background:linear-gradient(180deg,#7cd4ff1f,#7cd4ff0a)}.overview-card span,.overview-card small{display:block;color:var(--muted)}.overview-card span{margin-bottom:10px;font-size:12px;font-weight:600}.overview-card strong{display:block;margin-bottom:8px;color:var(--down);font-size:26px;font-weight:600}.monthly-heatmap{display:grid;grid-template-columns:repeat(12,minmax(64px,1fr));gap:6px;overflow-x:auto;padding-bottom:4px}.month-cell{min-height:52px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.month-cell span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px}.month-cell strong{display:block;color:var(--text-2);font-size:12px;font-weight:600}.month-cell.positive{border-color:#6ee7b74d;background:#6ee7b714}.month-cell.positive strong{color:var(--down)}.month-cell.negative{border-color:#ff7a9c4d;background:#ff7a9c14}.month-cell.negative strong{color:var(--up)}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);gap:24px}.admin-grid{gap:20px}.strip{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.strip .metric-card{border:none;border-right:1px solid var(--line);border-radius:0}.strip .metric-card:last-child{border-right:none}.admin-date-filter{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.admin-date-filter select{width:auto;min-width:148px;min-height:32px;padding:4px 28px 4px 10px;font-size:13px}.inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.renewal-status{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px)}.renewal-days{display:flex;align-items:baseline;gap:10px;margin:12px 0}.renewal-days strong{color:var(--accent);font-size:64px;font-weight:600;line-height:1}.renewal-days span{font-size:18px;color:var(--muted)}.renewal-meta{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:20px}.renewal-meta div{padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2)}.renewal-meta span{display:block;color:var(--muted);font-size:11px}.renewal-meta strong{display:block;margin-top:6px;color:var(--text);font-weight:600}.renewal-option{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px)}.renewal-option.featured{border-color:var(--pool-hs300-bd);background:linear-gradient(180deg,#7cd4ff1a,#7cd4ff08)}.renewal-option h3{margin:8px 0;font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--text)}.renewal-option p{color:var(--muted);line-height:1.6}.renewal-price{display:flex;align-items:baseline;gap:8px;margin-top:18px;color:var(--text)}.renewal-price strong{font-size:28px;font-weight:600}.renewal-price span{color:var(--muted);font-size:13px}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:18px}.contact-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:none}.contact-row span{color:var(--muted);font-size:13px}.contact-row strong{color:var(--text);font-family:var(--font-mono);font-size:13px}.access-list{display:grid;gap:10px}.access-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);backdrop-filter:saturate(1.4) blur(22px);-webkit-backdrop-filter:saturate(1.4) blur(22px)}.access-row .ic{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:12px;font-weight:700}.access-row.locked .ic{background:var(--up)}.access-row .meta{color:var(--muted);font-size:12px}.access-row b{color:var(--text)}@media(max-width:900px){.nav{grid-template-columns:1fr auto;padding:0 20px;height:auto}.tabs,.nav-tabs{display:none}main.page{padding:20px 20px 60px}.home-hero{grid-template-columns:1fr}.summary,.glance,.summary-strip{grid-template-columns:repeat(2,1fr)}}html[data-view-mode=mobile] .page{width:min(430px,100%);padding:0 18px 48px}html[data-view-mode=mobile] .nav{grid-template-columns:1fr;height:auto;padding:14px 18px;gap:12px}html[data-view-mode=mobile] .nav-tabs,html[data-view-mode=mobile] .nav-right{justify-content:flex-start;flex-wrap:wrap}html[data-view-mode=mobile] .nav-tabs{gap:16px;overflow-x:auto;display:flex}html[data-view-mode=mobile] .brand-logo{height:36px}html[data-view-mode=mobile] .account-pill{font-size:12px;padding:4px 10px;gap:5px}html[data-view-mode=mobile] .account-pill .dot{width:6px;height:6px}html[data-view-mode=mobile] .account-pill .chevron{width:10px;height:10px}html[data-view-mode=mobile] .mode-toggle button{padding:3px 5px}html[data-view-mode=mobile] .mode-toggle button svg{width:16px;height:16px}html[data-view-mode=mobile] .dropdown-menu{right:auto;left:0}html[data-view-mode=mobile] .home-hero,html[data-view-mode=mobile] .home-body,html[data-view-mode=mobile] .ph,html[data-view-mode=mobile] .backtest-identity,html[data-view-mode=mobile] .chart-grid,html[data-view-mode=mobile] .split-section,html[data-view-mode=mobile] .signal-controls,html[data-view-mode=mobile] .admin-layout,html[data-view-mode=mobile] .renewal-status,html[data-view-mode=mobile] .contact-grid,html[data-view-mode=mobile] .login-body{grid-template-columns:1fr}html[data-view-mode=mobile] .ph-actions,html[data-view-mode=mobile] .button-row,html[data-view-mode=mobile] .sec-head,html[data-view-mode=mobile] .section-title,html[data-view-mode=mobile] .page-heading{align-items:flex-start;flex-direction:column}html[data-view-mode=mobile] .home-hero h1{font-size:34px}html[data-view-mode=mobile] .dashboard-grid,html[data-view-mode=mobile] .metric-grid,html[data-view-mode=mobile] .latest-backtest-grid,html[data-view-mode=mobile] .overview-grid,html[data-view-mode=mobile] .identity-facts,html[data-view-mode=mobile] .evidence-grid,html[data-view-mode=mobile] .mini-stat-row,html[data-view-mode=mobile] .mini-stat-row.two-col,html[data-view-mode=mobile] .rolling-grid,html[data-view-mode=mobile] .glance,html[data-view-mode=mobile] .summary-strip{grid-template-columns:repeat(2,1fr)}html[data-view-mode=mobile] .signals-grid,html[data-view-mode=mobile] .signals-row,html[data-view-mode=mobile] .strip,html[data-view-mode=mobile] .renewal-options,html[data-view-mode=mobile] .renewal-meta,html[data-view-mode=mobile] .inline-form{grid-template-columns:1fr}html[data-view-mode=mobile] .login-brand,html[data-view-mode=mobile] .login-panel{min-height:auto;padding:36px 28px}html[data-view-mode=mobile] .login-brand{border-right:none;border-bottom:1px solid var(--ink)}html[data-view-mode=mobile] .login-title h1{font-size:54px}html[data-view-mode=mobile] .monthly-heatmap{grid-template-columns:repeat(6,minmax(64px,1fr))}html[data-view-mode=mobile] .signal-capital-control,html[data-view-mode=mobile] .signal-capital-control input,html[data-view-mode=mobile] .signal-capital-quick button,html[data-view-mode=mobile] .tab-button,html[data-view-mode=mobile] .signal-date-trigger{font-size:14px;padding:4px 10px}html[data-view-mode=mobile] .signal-date-trigger .chevron{width:10px;height:10px}html[data-view-mode=mobile] .signal-date-menu{min-width:0;width:calc(100vw - 36px);max-width:360px;right:0;padding:10px}html[data-view-mode=mobile] .date-month-label{font-size:12px;margin-bottom:6px}html[data-view-mode=mobile] .date-week-head{gap:3px;margin-bottom:4px}html[data-view-mode=mobile] .date-week-head span{font-size:10px}html[data-view-mode=mobile] .date-grid{gap:3px}html[data-view-mode=mobile] .date-cell{font-size:12px;border-radius:4px;padding:2px}html[data-view-mode=mobile] .signal-group-head h3,html[data-view-mode=mobile] .summary-label{font-size:14px}html[data-view-mode=mobile] .signal-capital-control input{width:120px}html[data-view-mode=mobile] .signal-stock-name{font-size:16px}html[data-view-mode=mobile] .signal-buy-badge,html[data-view-mode=mobile] .signal-pool-tag,html[data-view-mode=mobile] .signal-cost,html[data-view-mode=mobile] .signal-change{font-size:14px}html[data-view-mode=mobile] .tabs,html[data-view-mode=mobile] .nav-tabs{display:flex}
