:root{--bg-base:#eef2f8;--bg-surface:#fff;--bg-elevated:#f6f9fd;--bg-hover:#edf2fb;--border-subtle:#e2e9f4;--border-default:#d0daea;--border-strong:#b8c8de;--text-primary:#1c2840;--text-secondary:#45566e;--text-muted:#8898b0;--accent:#4c6ef5;--accent-muted:#4c6ef514;--accent-border:#4c6ef540;--status-ok:#16a34a;--status-warn:#d97706;--color-compress:#d97706;--color-visual:#2563eb;--font-sans:"Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono:"Cascadia Code", "JetBrains Mono", Consolas, monospace;--header-height:52px;--table-header-bg:#1e2c4a;--table-header-text:#dce8f8;font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-base);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}#root{min-height:100vh}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}@media (width<=640px){.pqc-modal{padding:16px}}.pqc-settings--readonly{margin-bottom:14px}.pqc-input-area{flex-direction:column;gap:8px;display:flex}.pqc-textarea{color:#1f3558;resize:vertical;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.pqc-calc-btn{align-self:flex-end;padding:8px 20px}.pqc-result{border-radius:8px;margin-top:16px;padding:12px 14px}.pqc-result--error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;font-size:13px}.pqc-result--error p{margin:4px 0}.pqc-result--ok{background:#f0fdf4;border:1px solid #bbf7d0}.pqc-result__lots{color:#1f3558;margin-bottom:8px;font-size:15px}.pqc-result__lots strong{color:#16a34a;margin:0 2px;font-size:26px}.pqc-result__table{border-collapse:collapse;width:100%;font-size:13px}.pqc-result__table td{vertical-align:top;padding:4px 6px}.pqc-result__table td:first-child{color:#64748b;white-space:nowrap;width:100px}.pqc-result__table td:last-child{color:#1f3558;font-weight:600}.pqc-conclusion{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:10px 12px;font-size:13px}.pqc-conclusion__title{color:#1f3558;margin:0 0 6px;font-weight:700}.pqc-conclusion__line{color:#334155;margin:2px 0}.pqc-conclusion__line--over{color:#b45309}.pqc-warning{color:#b45309;margin:8px 0 0;font-size:12px}.pqc-input-hint{color:#64748b;margin:6px 0 0;font-size:12px}@media (width<=640px){.pqc-result__table td:first-child{width:76px}}.pqc-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pqc-modal{background:#fff;border-radius:12px;width:92vw;max-width:560px;max-height:90vh;padding:20px 24px;overflow:auto;box-shadow:0 20px 40px #0f172a33}.pqc-header{justify-content:space-between;align-items:center;display:flex}.pqc-header h2{color:#1f3558;margin:0;font-size:18px}.pqc-close{cursor:pointer;color:#334155;background:#f1f5f9;border:none;border-radius:6px;padding:4px 10px}.pqc-desc{color:#64748b;margin:8px 0 14px;font-size:12px;line-height:1.6}.pqc-settings{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.pqc-settings__summary{color:#1f3558;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.pqc-link-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}.pqc-saved-hint{color:#16a34a;font-size:12px;font-weight:700}.pqc-settings__form{flex-direction:column;gap:10px;display:flex}.pqc-field{color:#475569;flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.pqc-field input[type=number]{color:#1f3558;border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:14px}.pqc-radio-group{color:#334155;gap:16px;font-size:13px;font-weight:400;display:flex}.pqc-radio-group label{cursor:pointer;align-items:center;gap:4px;display:flex}.pqc-settings__actions{gap:8px;margin-top:4px;display:flex}.pqc-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600}.pqc-btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}@media (width<=640px){.pqc-modal{padding:16px}}.app-nav{border-bottom:1px solid var(--border-default);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 28px;display:flex;box-shadow:0 1px 3px #1c28400d}.app-nav__links{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.app-nav__user{flex-shrink:0;align-items:center;gap:12px;display:flex}.app-nav__user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;max-width:220px;font-size:13px;font-weight:600;display:inline-flex;overflow:hidden}.app-nav__user-badge{color:#4338ca;background:#eef2ff;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.app-nav__tool-btn{color:#fff;cursor:pointer;background:#1f3558;border:1px solid #1f3558;border-radius:6px;padding:6px 10px;font-size:13px}.app-nav__logout{border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:#f8fafc;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.app-nav__logout:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.landing{--navy:#012452;--navy-2:#083e7a;--blue:#1a5ebb;--blue-l:#3a7dd4;--text:#12233a;--sub:#566b82;--border:#d1dcf0;--bg-page:#f3f6fb;--bg-alt:#e8eff9;--white:#fff;color:var(--text);background:var(--bg-page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.7;overflow-x:hidden}.landing *,.landing :before,.landing :after{box-sizing:border-box;margin:0;padding:0}.landing .inner{max-width:1100px;margin:0 auto;padding:0 48px}.landing .nav{z-index:900;background:var(--navy);border-bottom:1px solid #ffffff12;align-items:center;height:72px;display:flex;position:fixed;inset:0 0 auto}.landing .nav .inner{justify-content:space-between;align-items:center;gap:24px;width:100%;display:flex}.landing .nav-brand{align-items:center;gap:0;display:flex}.landing .nav-logo-card{align-items:center;line-height:0;text-decoration:none;display:inline-flex}.landing .nav-logo{width:auto;height:54px;display:block}.landing .nav-slogan{color:#ffffffa6;letter-spacing:.3px;white-space:nowrap;-webkit-user-select:none;user-select:none;border-left:1px solid #ffffff2e;margin-left:12px;padding-left:16px;font-size:13px;font-weight:400;line-height:1}.landing .nav-actions{align-items:center;gap:4px;display:flex}.landing .nav-link{color:#ffffffe0;letter-spacing:.3px;cursor:pointer;border-radius:7px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:color .2s,background .2s;position:relative}.landing .nav-link:after{content:"";transform-origin:50%;background:#6db8ff;border-radius:1px;height:2px;transition:transform .22s;position:absolute;bottom:4px;left:14px;right:14px;transform:scaleX(0)}.landing .nav-link:hover{color:#fff;background:#ffffff14}.landing .nav-link:hover:after{transform:scaleX(1)}.landing .nav-divider{background:#ffffff26;width:1px;height:18px;margin:0 6px}.landing .btn-text{color:#ffffffb3;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s,background .2s}.landing .btn-text:hover{color:#fff;background:#ffffff14}.landing .btn-solid{color:var(--navy);background:#fffffff2;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}.landing .btn-solid:hover{background:#fff;transform:translateY(-1px)}.landing .page-intro{background:var(--bg-page);text-align:center;border-bottom:1px solid var(--border);align-items:center;padding-top:72px;display:flex}.landing .page-intro .inner{width:100%;padding-top:56px;padding-bottom:64px}.landing .intro-card{border:1px solid var(--border);background:#fff;border-radius:24px;width:100%;padding:64px 72px;box-shadow:0 4px 24px #002b5b12,0 1px 4px #002b5b0a}.landing .intro-tag{background:var(--bg-alt);color:var(--navy);letter-spacing:.3px;border:1px solid #b8d0ef;border-radius:100px;align-items:center;gap:10px;margin-bottom:28px;padding:8px 20px;font-size:15px;font-weight:700;display:inline-flex}.landing .intro-tag-dot{background:var(--blue);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s infinite bk-pulse}@keyframes bk-pulse{0%,to{opacity:1}50%{opacity:.3}}.landing .intro-title{color:var(--navy);letter-spacing:-1px;margin-bottom:20px;font-size:52px;font-weight:800;line-height:1.2}.landing .intro-title em{color:var(--blue);font-style:normal}.landing .intro-desc{color:var(--sub);text-align:center;max-width:560px;margin:0 auto 40px;font-size:16px;line-height:2}.landing .intro-desc .desc-line{margin-bottom:6px;display:block}.landing .intro-desc .desc-line:last-child{margin-bottom:0}.landing .intro-desc .desc-emphasis{color:var(--navy);font-weight:600}.landing .intro-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.landing .intro-trial-note{color:#0124528c;letter-spacing:.3px;text-align:center;margin-top:10px;font-size:12px}.landing .intro-btn-main{background:var(--navy);color:#fff;cursor:pointer;border-radius:10px;padding:13px 36px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;box-shadow:0 4px 16px #002b5b40}.landing .intro-btn-main:hover{background:var(--blue);transform:translateY(-2px)}.landing .intro-btn-ghost{color:var(--sub);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;padding:13px 36px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.landing .intro-btn-ghost:hover{border-color:var(--blue-l);color:var(--blue);background:var(--bg-alt)}.landing .section{background:var(--white);padding:100px 0}.landing .section.bg-alt{background:var(--bg-alt)}.landing .section-tag{letter-spacing:2.5px;text-transform:uppercase;color:var(--blue-l);margin-bottom:16px;font-size:11px;font-weight:700}.landing .section-title{color:var(--text);letter-spacing:-.3px;margin-bottom:20px;font-size:36px;font-weight:800;line-height:1.25}.landing .section-lead{color:var(--sub);max-width:560px;font-size:17px;line-height:1.85}.landing .section-lead-oneline{max-width:100%}.landing .section-head{margin-bottom:56px}.landing .section-head.center{text-align:center}.landing .section-head.center .section-lead{margin:0 auto}.landing .problem-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.landing .problem-card{background:var(--bg-page);border:1px solid var(--border);border-radius:14px;align-items:center;gap:24px;padding:32px 36px;display:flex}.landing .problem-card .pc-text{flex:1;min-width:0}.landing .problem-card:first-child{background:var(--bg-alt);grid-column:1/-1;gap:48px}.landing .problem-card:not(:first-child){align-items:flex-start}.landing .problem-card:not(:first-child) .problem-num{align-self:center}.landing .problem-num{color:var(--border);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:64px;font-weight:900;line-height:1}.landing .problem-card h4{color:var(--text);margin-bottom:10px;font-size:17px;font-weight:700}.landing .problem-card p{color:var(--sub);font-size:15px;line-height:1.8}.landing .problem-card .pc-text p+p{margin-top:1.4em}.landing .law-layout{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}.landing .law-visual{background:var(--navy);border-radius:16px;flex-direction:column;gap:14px;padding:32px 28px;display:flex}.landing .law-vis-header{color:#ffffff59;letter-spacing:.5px;border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding-bottom:8px;font-size:11px;font-weight:700;display:flex}.landing .law-vis-header span:first-child{flex-shrink:0;width:72px}.landing .law-vis-header span:nth-child(2){flex:1}.landing .law-vis-header span:last-child{text-align:right;flex-shrink:0;width:60px}.landing .law-vis-row{align-items:center;gap:12px;display:flex}.landing .law-vis-name{color:#ffffffe6;flex-shrink:0;width:72px;font-size:13px;font-weight:700;line-height:1.3}.landing .law-vis-name small{color:#fff6;font-size:11px;font-weight:400;display:block}.landing .law-bar-wrap{background:#ffffff0f;border-radius:4px;flex:1;height:8px;position:relative}.landing .law-bar{background:linear-gradient(90deg,#1a5ebb,#5aa5e8);border-radius:4px;height:100%;position:relative}.landing .law-bar-val{color:#7bbfff;white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:-4px;right:-22px}.landing .law-vis-tag{text-align:center;border-radius:4px;flex-shrink:0;width:60px;padding:3px 0;font-size:11px;font-weight:600}.landing .tag-strong{color:#ff9f8a;background:#ff786433}.landing .tag-form{color:#7bbfff;background:#5aa5e833}.landing .tag-watch{color:#ffffff73;background:#ffffff14}.landing .law-caption{color:#ffffff4d;text-align:center;margin-top:8px;font-size:12px}.landing .law-text .section-title{font-size:30px}.landing .law-text p{color:var(--sub);margin-bottom:16px;font-size:16px;line-height:1.9}.landing .law-text p:last-child{margin-bottom:0}.landing .law-highlight{border-bottom:2px solid var(--blue);color:var(--navy);padding:2px 0;font-weight:600;display:inline-block}.landing .solution-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing .sol-card{background:var(--bg-page);border:1px solid var(--border);border-radius:14px;padding:32px 28px;transition:border-color .2s,box-shadow .2s}.landing .sol-card:hover{border-color:#a8c4ee;box-shadow:0 8px 24px #2558d41a}.landing .sol-icon{background:#d8e8f8;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;font-size:22px;display:flex}.landing .sol-card h4{color:var(--text);margin-bottom:10px;font-size:16px;font-weight:700}.landing .sol-card p{color:var(--sub);font-size:14px;line-height:1.8}.landing .prod-cards-grid{grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:28px;margin-top:48px;display:grid}.landing .prod-cards-grid.solo{max-width:820px;margin-left:auto;margin-right:auto}.landing .prod-card{background:linear-gradient(145deg, var(--navy) 0%, var(--navy-2) 60%, #0d4e96 100%);border-radius:20px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden;box-shadow:0 16px 48px #002b5b38}.landing .prod-card-left{border-right:1px solid #ffffff12;flex-direction:column;justify-content:center;padding:48px 40px;display:flex}.landing .prod-card-right{background:#ffffff05;flex-direction:column;justify-content:center;padding:40px 36px;display:flex}.landing .prod-badge{color:#7bbfff;letter-spacing:1px;background:#3a7dd440;border:1px solid #3a7dd466;border-radius:6px;width:fit-content;margin-bottom:20px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.landing .prod-card-left h3{color:var(--white);margin-bottom:14px;font-size:28px;font-weight:800;line-height:1.25}.landing .prod-card-left p{color:#fff9;margin-bottom:28px;font-size:14px;line-height:1.9}.landing .prod-card-left strong{color:#ffffffd1;margin-bottom:28px;font-size:14px;display:block}.landing .prod-link{color:#7bbfff;cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.landing .prod-link:hover{color:#a8d4ff}.landing .prod-trial-note{color:#ffffff80;letter-spacing:.3px;margin-top:7px;font-size:12px}.landing .prod-feat-row{border-bottom:1px solid #ffffff0f;align-items:flex-start;gap:14px;padding:16px 0;display:flex}.landing .prod-feat-row:last-child{border-bottom:none}.landing .prod-feat-dot{background:#5aa5e8;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:7px}.landing .prod-feat-row h5{color:#ffffffe0;margin-bottom:3px;font-size:14px;font-weight:700}.landing .prod-feat-row p{color:#ffffff6b;font-size:13px;line-height:1.6}.landing .cta-section{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);text-align:center;padding:96px 0}.landing .cta-section .section-tag{color:#7bbfff;text-align:center;margin-bottom:20px}.landing .cta-section .section-title{color:#fff;margin-bottom:16px}.landing .cta-section .section-lead{color:#fff9;margin:0 auto 40px}.landing .cta-btns{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.landing .cta-btn-main{color:var(--navy);cursor:pointer;background:#fff;border-radius:10px;padding:14px 36px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s,transform .15s}.landing .cta-btn-main:hover{background:#ebf1fc;transform:translateY(-2px)}.landing .cta-btn-ghost{color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:10px;padding:14px 36px;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.landing .cta-btn-ghost:hover{color:#fff;background:#ffffff12;border-color:#ffffff80}.landing .footer{color:#ffffff73;background:#011e42;padding:56px 0 36px}.landing .footer .inner{flex-direction:column;gap:36px;display:flex}.landing .footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.landing .footer-brand .flogo{color:var(--white);font-size:17px;font-weight:800}.landing .footer-brand .fslogan{color:#ffffff4d;max-width:280px;margin-top:8px;font-size:13px;line-height:1.7}.landing .footer-links h5{color:#ffffffb3;margin-bottom:14px;font-size:13px;font-weight:700}.landing .footer-links a{color:#fff6;cursor:pointer;margin-bottom:10px;font-size:14px;text-decoration:none;transition:color .2s;display:block}.landing .footer-links a:hover{color:#fffc}.landing .footer-bottom{text-align:center;border-top:1px solid #ffffff12;padding-top:28px;font-size:13px}@media (width<=1024px){.landing .nav-slogan{display:none}.landing .intro-title{font-size:44px}.landing .intro-card{padding:52px 56px}.landing .prod-cards-grid{grid-template-columns:1fr}}@media (width<=900px){.landing .inner{padding:0 24px}.landing .intro-title{font-size:36px}.landing .intro-card{border-radius:18px;padding:40px 36px}.landing .problem-grid{grid-template-columns:1fr}.landing .problem-card:first-child{flex-direction:column;gap:16px}.landing .law-layout{grid-template-columns:1fr}.landing .solution-grid{grid-template-columns:1fr 1fr}.landing .prod-card{grid-template-columns:1fr}.landing .prod-card-left{border-bottom:1px solid #ffffff12;border-right:none}.landing .section-title{font-size:28px}}@media (width<=780px){.landing .nav-link,.landing .nav-divider{display:none}}@media (width<=600px){.landing .solution-grid{grid-template-columns:1fr}.landing .intro-title{font-size:28px}.landing .intro-card,.landing .prod-card-left,.landing .prod-card-right{padding:32px 24px}}.auth-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.auth-page *{box-sizing:border-box}.auth-header{z-index:100;background:linear-gradient(135deg,#5568d3 0%,#5f3dc4 50%,#6b46a1 100%);justify-content:space-between;align-items:center;height:56px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #00000026}.auth-header-brand{color:#fffffff2;letter-spacing:.5px;font-size:16px;font-weight:700;text-decoration:none}.auth-header-brand:hover{color:#fff}.auth-header-back{color:#ffffffbf;align-items:center;gap:6px;font-size:14px;text-decoration:none;transition:color .2s;display:flex}.auth-header-back:hover{color:#fff}.auth-header-back:before{content:"←";font-size:16px}.auth-body{justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding:24px 20px;display:flex}.auth-card{background:#fff;border-radius:20px;width:100%;padding:48px 40px;animation:.5s ease-in auth-fade;box-shadow:0 20px 60px #0000004d}.auth-card.login{max-width:600px}.auth-card.register{max-width:650px}@keyframes auth-fade{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-logo-section{text-align:center;margin-bottom:36px}.auth-logo{margin-bottom:14px;font-size:46px}.auth-name{color:#333;letter-spacing:1px;margin-bottom:8px;font-size:27px;font-weight:700}.auth-name-en{color:#667eea;margin-bottom:6px;font-size:15px;font-weight:500}.auth-subtitle{color:#999;font-size:13px;line-height:1.6}.auth-form-group{margin-bottom:22px}.auth-form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.auth-label{color:#555;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.auth-label .req{color:#ff3b30;margin-left:3px}.auth-input{border:2px solid #e0e0e0;border-radius:10px;outline:none;width:100%;padding:14px 16px;font-size:15px;transition:all .3s}.auth-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.auth-input::placeholder{color:#bbb}.auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;width:100%;margin-top:6px;padding:15px;font-size:16px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #667eea66}.auth-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-alert{border-radius:10px;margin-bottom:22px;padding:14px 18px;font-size:14px;line-height:1.5;animation:.3s ease-out auth-slide}@keyframes auth-slide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-alert.danger{color:#721c24;background:#f8d7da;border-left:4px solid #dc3545}.auth-alert.success{color:#155724;background:#d4edda;border-left:4px solid #28a745}.auth-switch{text-align:center;color:#666;border-top:1px solid #eee;margin-top:28px;padding-top:24px;font-size:14px}.auth-switch-link{color:#667eea;margin-left:5px;font-weight:600;text-decoration:none}.auth-switch-link:hover{color:#764ba2;text-decoration:underline}.auth-benefits{background:#f8f9ff;border-radius:10px;margin-top:22px;padding:16px}.auth-benefits-title{color:#667eea;margin-bottom:10px;font-size:14px;font-weight:700}.auth-benefit-item{color:#555;align-items:center;margin-bottom:6px;font-size:13px;display:flex}.auth-benefit-item:before{content:"✓";color:#667eea;margin-right:8px;font-size:16px;font-weight:700}.auth-strength{background:#eee;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.auth-strength-bar{width:0;height:100%;transition:all .3s}.auth-strength-bar.weak{background:#ff3b30;width:33%}.auth-strength-bar.medium{background:#ff9500;width:66%}.auth-strength-bar.strong{background:#34c759;width:100%}@media (width<=480px){.auth-card{padding:36px 24px}.auth-form-row{grid-template-columns:1fr}.auth-name{font-size:23px}}.au-page{background:var(--bg-base,#f3f6fb);min-height:calc(100vh - 52px);padding:24px 28px 48px}.au-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.au-title{color:var(--text-primary,#12233a);margin:0 0 5px;font-size:20px;font-weight:700}.au-subtitle{color:var(--text-secondary,#566b82);margin:0;font-size:13px}.au-back{color:#4338ca;white-space:nowrap;font-size:13px;text-decoration:none}.au-back:hover{text-decoration:underline}.au-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.au-filter{border:1px solid var(--border-default,#d1dcf0);color:var(--text-secondary,#566b82);cursor:pointer;background:#fff;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:500;transition:all .12s}.au-filter:hover{background:#f1f5fb}.au-filter--on{color:#4338ca;background:#eef2ff;border-color:#a5b4fc;font-weight:600}.au-refresh{border:1px solid var(--border-default,#d1dcf0);color:var(--text-secondary,#566b82);cursor:pointer;background:#fff;border-radius:6px;margin-left:auto;padding:6px 16px;font-size:13px}.au-refresh:hover:not(:disabled){background:#f1f5fb}.au-refresh:disabled{opacity:.5;cursor:not-allowed}.au-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.au-table-wrap{border:1px solid var(--border-default,#d1dcf0);background:#fff;border-radius:10px;overflow-x:auto;box-shadow:0 1px 6px #1c28400f}.au-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.au-table th{text-align:left;color:#dce8f8;background:#1e3a5f;padding:11px 14px;font-size:12px;font-weight:600}.au-table td{color:var(--text-secondary,#566b82);border-bottom:1px solid #eef2f8;padding:10px 14px}.au-table tbody tr:last-child td{border-bottom:none}.au-table tbody tr:hover td{background:#f8faff}.au-email{color:var(--text-primary,#12233a);font-weight:600}.au-time{font-family:var(--font-mono,monospace);color:var(--text-muted,#8898b0);font-size:12px}.au-empty{text-align:center;color:var(--text-muted,#8898b0);padding:32px}.au-muted{color:var(--text-muted,#8898b0)}.au-tag{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.au-tag--pending{color:#b45309;background:#fef3c7}.au-tag--active{color:#047857;background:#d1fae5}.au-tag--rejected{color:#b91c1c;background:#fee2e2}.au-actions{gap:8px;display:flex}.au-btn{cursor:pointer;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;transition:opacity .12s}.au-btn:disabled{opacity:.5;cursor:not-allowed}.au-btn--approve{color:#fff;background:#059669}.au-btn--approve:hover:not(:disabled){background:#047857}.au-btn--reject{color:#b91c1c;background:#fff;border:1px solid #fca5a5}.au-btn--reject:hover:not(:disabled){background:#fee2e2}.app-nav__link{color:var(--text-secondary);border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s}.app-nav__link:hover{color:var(--text-primary);background:#f1f5fb}.app-nav__link--on{color:#4338ca;background:#eef2ff}.vcs-page{background:var(--bg-base);flex-direction:column;min-height:100vh;display:flex}.vcs-header{background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 28px 18px;display:flex;box-shadow:0 1px 4px #1c28400f}.vcs-header__title{letter-spacing:.01em;color:var(--text-primary);margin:0 0 5px;font-size:19px;font-weight:700}.vcs-header__subtitle{color:var(--text-secondary);margin:0;font-size:13px}.vcs-header__meta{flex-shrink:0;gap:28px;display:flex}.vcs-header__meta-item{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.vcs-header__meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px}.vcs-header__tool-btn{color:#fff;background:#059669;border-radius:6px;align-self:flex-end;align-items:center;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s;display:inline-flex;box-shadow:0 1px 2px #05966940}.vcs-header__tool-btn:hover{background:#047857}.vcs-header__meta-value{font-family:var(--font-mono);color:var(--text-primary);font-size:15px;font-weight:700}.date-select{appearance:none;font-family:var(--font-mono);color:var(--text-primary);background-color:var(--bg-elevated,#f8faff);border:1px solid var(--border-base,#d0daea);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238898b0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:6px;outline:none;min-width:110px;padding:4px 28px 4px 10px;font-size:14px;font-weight:700;transition:border-color .15s,box-shadow .15s}.date-select:hover:not(:disabled){border-color:var(--color-compress,#d97706)}.date-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.date-select:disabled{opacity:.5;cursor:not-allowed}.vcs-main{flex:1;padding:18px 12px 40px;overflow:hidden auto}.toolbar-bar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;display:flex;box-shadow:0 1px 4px #1c28400d}.toolbar-bar__filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.toolbar-bar__locate{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.locate-bar__label{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:700}.locate-bar__input{width:200px;min-width:120px;color:var(--text-primary);border:1px solid var(--border-default);background:#fff;border-radius:6px;outline:none;padding:6px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.locate-bar__input::placeholder{color:var(--text-muted)}.locate-bar__input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1f}.locate-bar__btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#6366f1 100%);border:none;border-radius:6px;flex-shrink:0;padding:6px 16px;font-size:12px;font-weight:600;transition:opacity .15s,transform .1s}.locate-bar__btn:hover{opacity:.92}.locate-bar__btn:active{transform:scale(.98)}.locate-bar__msg{color:#dc2626;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:160px;font-size:11px;overflow:hidden}.signal-filter-bar__hint{color:var(--text-muted);white-space:nowrap;font-size:11px}.signal-filter-pill{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:.85;border:2px solid #0000;border-radius:6px;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;transition:opacity .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex}.signal-filter-pill:hover{opacity:1}.signal-filter-pill--on{opacity:1;border-color:#f97316;box-shadow:0 0 0 1px #fb923c,0 2px 8px #f9731659}.signal-filter-pill--dim{opacity:.38}.signal-filter-pill--dim:hover{opacity:.55}.signal-filter-pill__input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.signal-filter-pill--all{background:#475569}.signal-filter-pill--magenta{background:#9d174d}.signal-filter-pill--teal{background:#0f766e}.signal-filter-pill--red{background:#dc2626}.signal-filter-pill--blue{background:#2563eb}.signal-filter-pill--orange{background:#ea580c}.signal-filter-pill--purple{background:#7c3aed}.state-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:260px;display:flex;box-shadow:0 1px 4px #1c28400f}.state-panel--error{border-color:#fca5a5}.state-panel__spinner{border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-panel__title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.state-panel__text{color:var(--text-secondary);margin:0;font-size:14px}.state-panel__hint{color:var(--text-muted);margin:4px 0 0;font-size:12px}.table-wrap{border:1px solid var(--border-default);border-radius:6px;overflow-x:auto;box-shadow:0 1px 6px #1c284014}.vcs-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.vcs-table th{text-align:left;letter-spacing:.05em;background:var(--table-header-bg);color:var(--table-header-text);white-space:nowrap;vertical-align:top;border-bottom:none;padding:10px 12px;font-size:11px;font-weight:600}.vcs-table th .th-main{letter-spacing:.05em;color:#dce8f8;font-size:11px;font-weight:600;display:block}.vcs-table th .th-note{letter-spacing:0;color:#b4d2f08c;white-space:normal;margin-top:4px;font-size:9px;font-weight:400;line-height:1.45;display:block}.vcs-table th .th-sub{letter-spacing:0;color:#b4d2f08c;white-space:nowrap;margin-top:3px;font-size:10px;font-weight:400;display:block}.vcs-table td{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:9px 11px}.vcs-table tbody tr:nth-child(2n) td{background:var(--bg-elevated)}.vcs-table tbody tr:hover td{background:var(--bg-hover)}.vcs-table tbody tr:last-child td{border-bottom:none}.vcs-table__row--located td{animation:.6s 2 locate-flash;box-shadow:inset 0 0 0 2px #f59e0b;background:#fef3c7!important}@keyframes locate-flash{0%,to{background:#fef3c7}50%{background:#fde68a}}.th-rank{white-space:normal!important;width:88px!important}.td-rank{text-align:center;width:88px}.rank-badge{color:#fff;width:28px;height:28px;font-family:var(--font-mono);background:#f97316;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.th-symbol{width:160px}.td-symbol{min-width:150px}.symbol-name{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600;display:block}.symbol-meta{color:var(--text-muted);white-space:nowrap;margin-top:3px;font-size:11px;display:block}.symbol-contract{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;margin-top:3px;font-size:11px;font-weight:600;display:block}.symbol-contract__price{color:var(--text-muted);font-weight:500}.portrait-btn{color:#6d28d9;cursor:pointer;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;align-items:center;gap:4px;margin-top:4px;padding:2px 7px 2px 5px;font-size:10px;font-weight:500;line-height:1.3;transition:background .12s,border-color .12s;display:inline-flex}.portrait-btn:hover{color:#5b21b6;background:#ede9fe;border-color:#c4b5fd}.portrait-overlay{z-index:600;background:#0f172a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.portrait-modal{background:#fff;border-radius:10px;flex-direction:column;width:min(1100px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 16px 48px #0f172a38}.portrait-modal__head{border-bottom:1px solid #e8edf5;padding:14px 44px 10px 18px;position:relative}.portrait-modal__head h2{margin:0 0 4px;font-size:16px}.portrait-modal__sub{color:var(--text-muted);font-size:12px}.portrait-modal__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:16px;position:absolute;top:12px;right:12px}.portrait-modal__state{text-align:center;color:var(--text-muted);padding:32px;font-size:13px}.portrait-modal__state--err{color:#dc2626}.portrait-table-wrap{flex:1;overflow:auto}.portrait-table{border-collapse:collapse;width:100%;font-size:12px}.portrait-table th,.portrait-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef2f8;padding:7px 10px}.portrait-table th{color:var(--text-muted);z-index:1;background:#f8fafc;font-weight:600;position:sticky;top:0}.portrait-date{font-family:var(--font-mono);color:var(--text-secondary)}.portrait-score--compress{color:#6d28d9;font-weight:600}.portrait-score--compress-strong{color:#4c1d95;font-weight:700}.portrait-score--visual{color:#047857;font-weight:600}.portrait-score--visual-strong{color:#065f46;font-weight:700}.portrait-breakout--none{color:var(--text-muted)}.portrait-breakout--up{color:#dc2626;font-weight:600}.portrait-breakout--down{color:#059669;font-weight:600}.portrait-breakout--med{color:#d97706;font-weight:600}.portrait-contract{font-family:var(--font-mono);font-size:11px}.portrait-contract__price{color:var(--text-secondary)}.portrait-num{font-family:var(--font-mono);text-align:right;color:var(--text-secondary)}.portrait-modal__badge{color:#334155;background:#f1f5f9;border-radius:999px;margin-top:6px;padding:3px 10px;font-size:12px;display:inline-block}.portrait-pv{white-space:normal;max-width:200px;font-size:11px;line-height:1.35;display:inline-block}.portrait-pv--bull{color:#b91c1c;font-weight:600}.portrait-pv--bear{color:#047857;font-weight:600}.portrait-pv--warn-top{color:#ea580c;font-weight:700}.portrait-pv--warn-bottom{color:#059669;font-weight:700}.portrait-pv--muted{color:var(--text-muted)}.portrait-pv--neutral{color:#475569}.portrait-row--reversal td{background:#fbbf2414}.vcs-header__tool-btn--pv{color:#fff;background:#1e3a5f;border-color:#1e3a5f}.vcs-header__tool-btn--pv:disabled{opacity:.6}.vcs-header__tool-btn--pv-full{background:#b45309;box-shadow:0 1px 2px #b4530940}.vcs-header__tool-btn--pv-full:hover{background:#92400e}.vcs-header__tool-btn--pv-full:disabled{opacity:.6}.vcs-header__pv-meta{color:#ffffffbf;max-width:180px;font-size:11px;line-height:1.3}.vcs-pv-msg{color:#065f46;background:#ecfdf5;border-bottom:1px solid #a7f3d0;margin:0;padding:8px 20px;font-size:13px}.vcs-pv-msg--error{color:#991b1b;background:#fef2f2;border-bottom-color:#fecaca}.reversal-scan{background:var(--surface-elevated,#fff);border:1px solid var(--border-subtle,#e5e7eb);border-radius:10px;margin:0 16px 12px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}.reversal-scan__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.reversal-scan__title{color:var(--text-primary,#111827);margin:0;font-size:15px;font-weight:600}.reversal-scan__subtitle{color:var(--text-muted,#6b7280);margin:4px 0 0;font-size:12px}.reversal-scan__count{color:var(--text-muted,#6b7280);white-space:nowrap;font-size:12px}.reversal-scan__warn{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;margin-bottom:10px;padding:8px 10px;font-size:12px}.reversal-scan__state{color:var(--text-muted,#6b7280);margin:0;font-size:13px}.reversal-scan__state--err{color:#b91c1c}.reversal-scan__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reversal-scan__row{background:var(--surface-base,#f9fafb);border:1px solid var(--border-subtle,#e5e7eb);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px 12px;display:flex}.reversal-scan__row-main{flex:1;align-items:center;gap:8px;min-width:280px;display:flex}.reversal-scan__symbol{color:var(--text-primary,#111827);font-size:14px;font-weight:700}.reversal-scan__badge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.reversal-scan__badge--top{color:#b91c1c;background:#fee2e2}.reversal-scan__badge--bottom{color:#047857;background:#d1fae5}.reversal-scan__score{color:var(--text-primary,#111827);min-width:36px;font-size:18px;font-weight:700}.reversal-scan__label{color:var(--text-muted,#6b7280);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.reversal-scan__bars{flex-wrap:wrap;flex:2;gap:8px 16px;min-width:240px;display:flex}.reversal-scan__bar-wrap{align-items:center;gap:6px;min-width:120px;display:flex}.reversal-scan__bar-label{color:var(--text-muted,#6b7280);width:32px;font-size:11px}.reversal-scan__bar-track{background:#e5e7eb;border-radius:3px;flex:1;min-width:48px;height:6px}.reversal-scan__bar-fill{background:#6366f1;border-radius:3px;height:100%;transition:width .2s}.reversal-scan__bar-val{color:var(--text-muted,#6b7280);text-align:right;width:32px;font-size:11px}.data-cell{white-space:normal;flex-direction:column;gap:4px;min-width:120px;display:flex}.cell-row{justify-content:space-between;align-items:baseline;gap:8px;line-height:1.4;display:flex}.cell-label{color:var(--text-muted);flex-shrink:0;font-size:11px}.cell-value{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;font-size:12px}.cell-remark{color:var(--text-muted);white-space:normal;word-break:break-all;margin:2px 0 0;font-size:11px;line-height:1.4}.badge{letter-spacing:.03em;border-radius:4px;margin-bottom:3px;padding:2px 7px;font-size:10px;font-weight:600;line-height:1.6;display:inline-block}.badge--high{color:#b45309;background:#fef3c7;border:1px solid #fcd34d}.badge--med{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.badge--low{color:#6b7280;background:#f3f4f6;border:1px solid #d1d5db}.badge--none{display:none}.badge--pos-xhigh{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;font-weight:700}.badge--pos-high{color:#b45309;background:#fef3c7;border:1px solid #fcd34d}.badge--pos-low{color:#1d4ed8;background:#dbeafe;border:1px solid #93c5fd}.badge--pos-xlow{color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc;font-weight:700}.pos-trio{flex-wrap:wrap;align-items:center;gap:3px 0;margin:2px 0;display:flex}.pos-trio__item{align-items:center;gap:3px;display:inline-flex}.pos-trio__label{color:var(--text-muted);white-space:nowrap;font-size:10px}.pos-trio__val{font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;font-size:12px;font-weight:600}.pos-trio__sep{color:var(--border-strong);-webkit-user-select:none;user-select:none;margin:0 4px;font-size:10px}.cell-value--squeeze{color:#7c3aed;font-weight:700}.info-icon--sm{opacity:.65;font-size:11px}.info-icon--sm:hover{opacity:1}.info-tooltip--right{left:auto;right:0;transform:none}.info-tooltip--wide{width:300px}.info-tooltip__section{color:var(--text-primary);margin:10px 0 4px;font-size:11px;font-weight:700}.badge--neutral{color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1}.highlight-chip{letter-spacing:.03em;color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-block}.highlight-chip--pos-xhigh{background:#dc2626;border-color:#b91c1c}.highlight-chip--pos-xlow{background:#2563eb;border-color:#1d4ed8}.highlight-chip--crowd-high{background:#ea580c;border-color:#c2410c}.highlight-chip--compress-days{background:#7c3aed;border-color:#6d28d9}.highlight-chip--compress-tight{background:#b45309;border-color:#92400e}.highlight-chip--visual-days{background:#059669;border-color:#047857}.highlight-chip--visual-strong{background:#0d9488;border-color:#0f766e}.badge--critical{color:#fff;letter-spacing:.04em;background:#dc2626;border:1px solid #b91c1c;font-size:11px;font-weight:700}.badge--confirm{color:#fff;background:#f59e0b;border:1px solid #d97706;font-weight:700}.cell-tag{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);font-size:10px;line-height:1.6;font-family:var(--font-mono);border-radius:4px;margin-bottom:3px;padding:2px 7px;display:inline-block}.compress-state{color:var(--color-compress);margin-bottom:2px;font-size:13px;font-weight:700;line-height:1.4;display:block}.compress-state--none{color:var(--text-muted);font-weight:400}.compress-row{color:var(--text-secondary);font-size:12px;line-height:1.5;display:inline-block}.compress-row.highlight-chip{color:#fff;font-size:11px}.score-info-row{align-items:center;gap:6px;line-height:1.4;display:flex}.score-info-row .cell-label{flex-shrink:0}.score-info-row .cell-value{text-align:right;flex:1}.info-wrap{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.info-icon{color:#2563eb;cursor:help;-webkit-user-select:none;user-select:none;background:#dbeafe;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:9px;font-style:normal;line-height:1;display:inline-flex}.info-tooltip{z-index:200;border:1px solid var(--border-default);white-space:normal;cursor:default;background:#fff;border-radius:6px;width:230px;padding:10px 12px;display:none;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #1c284024}.info-wrap:hover .info-tooltip{display:block}.info-tooltip__title{color:var(--text-primary);margin:0 0 6px;font-size:12px;font-weight:700}.info-tooltip__formula{color:var(--text-secondary);margin:0 0 8px;font-size:11px;line-height:1.45}.info-tooltip__table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:11px}.info-tooltip__table td{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);background:0 0;padding:3px 4px}.info-tooltip__table .info-total td{color:var(--text-primary);border-bottom:none;font-weight:700}.info-val{text-align:right;font-family:var(--font-mono);font-weight:600;color:var(--text-primary)!important}.info-tooltip__levels{color:var(--text-muted);border-top:1px solid var(--border-subtle);margin:0;padding-top:6px;font-size:10px;line-height:1.5}.capital-remark-top{color:#1d4ed8;white-space:normal;word-break:keep-all;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.capital-trio{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;font-size:11px;line-height:1.6;display:block}.visual-state{color:var(--color-visual);margin-bottom:2px;font-size:13px;font-weight:700;line-height:1.4;display:block}.visual-state--none{color:var(--text-muted);font-weight:400}.vc-cell{white-space:normal;flex-direction:column;gap:5px;min-width:118px;display:flex}.vc-badge{align-self:flex-start;letter-spacing:.02em!important;font-size:11px!important;font-weight:600!important}.vc-stage-title{color:var(--color-visual);letter-spacing:.02em;font-size:12px;font-weight:700}.vc-nums{align-items:baseline;gap:5px;margin:1px 0;display:flex}.vc-num-block{align-items:baseline;gap:2px;display:flex}.vc-num{font-family:var(--font-mono);color:var(--color-visual);font-size:20px;font-weight:700;line-height:1}.vc-num--visual{color:#0891b2}.vc-unit{color:var(--text-muted);font-size:11px;line-height:1}.vc-sep{color:var(--border-strong);align-self:center;font-size:13px;line-height:1}.compress-days-row{align-items:center;gap:5px;display:inline-flex}.chart-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.chart-btn:hover{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.chart-btn:active{background:#bfdbfe}.chart-btn--visual{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.chart-btn--visual:hover{color:#047857;background:#d1fae5;border-color:#34d399}.chart-btn--visual:active{background:#a7f3d0}.chart-popup{z-index:401;box-sizing:border-box;pointer-events:auto;background:#fff;border:1px solid #d8e2f0;border-radius:8px;padding:10px 12px 8px;position:fixed;box-shadow:0 4px 20px #1e325a24}.chart-popup__state{text-align:center;color:var(--text-muted);padding:20px 0;font-size:12px}.chart-popup__state--err{color:#dc2626}.trend-head{align-items:baseline;gap:6px;margin-bottom:4px;line-height:1.3;display:flex}.trend-head__name{color:#6510b5;font-size:13px;font-weight:700}.trend-head__sub{color:#8898b0;font-size:12px;font-weight:400}.trend-legend{align-items:center;gap:10px;margin-bottom:2px;display:flex}.trend-legend__item{color:var(--text-secondary);font-size:10px}.trend-legend__line{color:#7c3aed}.trend-legend__strong{color:#ef4444}.trend-legend__norm{color:#3b82f6}.trend-svg{display:block}.trend-remark{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-top:6px;padding:2px 8px;font-size:11px;display:inline-block}.trend-hint{display:none}.breakout-dir-row{align-items:center;gap:6px;margin:2px 0;display:flex}.breakout-dir{color:var(--text-muted);font-size:12px;font-weight:600;display:inline-block}.tag-d1{color:#475569;letter-spacing:.02em;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:500;line-height:1.6;display:inline-block}.atr-prev-day{color:var(--text-muted);font-size:11px;font-style:italic}.breakout-dir--up{color:#dc2626}.breakout-dir--down{color:#059669}.breakout-dir--none{color:var(--text-muted);font-weight:400}.cell-sublabel{color:var(--text-muted);margin-left:4px;font-size:10px}.cell-tag--pending{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:3px;margin:2px 0;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.info-c{color:var(--text-muted);margin-left:4px;font-size:9px}.info-highlight{color:#dc2626;font-weight:600}.imbalance-line{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:0;margin:1px 0;font-size:12px;font-weight:600;line-height:1.5;display:flex}.imbalance-line--sub{color:var(--text-secondary);margin-bottom:2px;font-size:11px;font-weight:500}.imbalance-line__item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.imbalance-line__sep{color:var(--border-strong);-webkit-user-select:none;user-select:none;margin:0 5px;font-weight:400}.imb-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.imb-dot--crowd-high{background:#ef4444}.imb-dot--crowd-med{background:#f59e0b}.imb-dot--crowd-low{background:#22c55e}.imb-dot--crowd-none{background:#cbd5e1}.imb-dot--trend-end{background:#f97316;border-radius:2px;width:6px;height:6px;transform:rotate(45deg)}.imb-dot--trend-extend{background:#3b82f6;border-radius:1px;width:8px;height:5px}.imb-dot--trend-none{background:#cbd5e1}.imb-crowd-label--high{color:#dc2626;font-weight:700}.imb-crowd-label--med{color:#f87171;font-weight:700}@media (width<=768px){.vcs-header{flex-direction:column;padding:16px}.vcs-header__meta{justify-content:flex-start;width:100%}.vcs-header__meta-item{align-items:flex-start}.vcs-main{padding:14px 8px 32px}}.rw-page .vcs-main{padding-top:16px}.rw-filters{border:1px solid var(--border-default);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:16px;padding:12px 16px;display:flex}.rw-filters label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.rw-filters input,.rw-filters select{border:1px solid #c8d4e8;border-radius:6px;min-width:120px;padding:6px 8px;font-size:13px}.rw-summary-table{font-size:12px}.rw-summary-table th,.rw-summary-table td{white-space:nowrap}.rw-symbol{font-weight:600;font-family:var(--font-mono)}.rw-actions{gap:6px;display:flex}.rw-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #93c5fd;border-radius:6px;padding:5px 10px;font-size:12px}.rw-btn:hover{background:#dbeafe}.rw-btn--ghost{color:var(--text-secondary);background:#f8fafc;border-color:#cbd5e1}.rw-btn--sync{color:#047857;background:#ecfdf5;border-color:#6ee7b7;font-weight:600}.rw-btn--sync:hover:not(:disabled){background:#d1fae5}.rw-btn--sync:disabled{opacity:.65;cursor:not-allowed}.rw-pct--up{color:#dc2626;font-weight:600}.rw-pct--down{color:#059669;font-weight:600}.rw-chip{border-radius:8px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.rw-chip--warn{color:#b45309;background:#fef3c7}.rw-chip--migrate{color:#be185d;background:#fce7f3;margin-left:6px}.rw-incomplete-tag{color:#b45309;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;margin-bottom:8px;padding:4px 10px;font-size:12px;display:inline-block}.rw-detail-wrap{overflow-x:auto}.rw-detail-table{border-collapse:collapse;width:100%;font-size:12px}.rw-detail-table th,.rw-detail-table td{text-align:left;border-bottom:1px solid #e8edf5;padding:6px 8px}.rw-detail-table th{color:var(--text-muted);background:#f8fafc;font-weight:600}.rw-detail-row--pre{color:var(--text-secondary);background:#f3f4f6}.rw-detail-row--release{background:#fef9c3;font-weight:600}.rw-modal-overlay,.rw-drawer-overlay{z-index:500;background:#0f172a59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rw-modal{background:#fff;border-radius:10px;width:min(920px,100vw - 32px);max-height:calc(100vh - 48px);padding:16px 18px;overflow:auto;box-shadow:0 12px 40px #0f172a33}.rw-modal__head,.rw-drawer__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.rw-modal__head h2,.rw-drawer__head h2{margin:0;font-size:16px}.rw-modal__close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:16px}.rw-modal__loading{text-align:center;color:var(--text-muted);padding:24px}.rw-drawer-overlay{justify-content:flex-end}.rw-drawer{background:#fff;flex-direction:column;width:min(960px,100vw);height:100vh;display:flex;box-shadow:-8px 0 32px #0f172a26}.rw-drawer__body{flex:1;padding:0 16px 24px;overflow:auto}.rw-history-item{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:10px;overflow:hidden}.rw-history-item__head{cursor:pointer;text-align:left;background:#f8fafc;border:none;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:12px;display:flex}.rw-history-item__head:hover{background:#f1f5f9}.rw-history-item__toggle{color:var(--text-muted);margin-left:auto}.rw-history-item .rw-detail-wrap{padding:8px 12px 12px}.rw-sync-overlay{z-index:700;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rw-sync-modal{background:#fff;border-radius:10px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 16px 48px #0f172a40}.rw-sync-modal__head{border-bottom:1px solid #e8edf5;padding:14px 44px 10px 18px;position:relative}.rw-sync-modal__head h2{margin:0;font-size:16px}.rw-sync-modal__status{align-items:center;gap:10px;padding:12px 18px 0;font-size:13px;font-weight:600;display:flex}.rw-sync-spinner{border:2px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite rw-spin}@keyframes rw-spin{to{transform:rotate(360deg)}}.rw-sync-ok{color:#059669}.rw-sync-err{color:#dc2626}.rw-sync-last{color:var(--text-secondary);margin:8px 18px 0;font-size:12px}.rw-sync-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:10px 18px 0;padding:10px 12px;font-size:12px;line-height:1.7}.rw-sync-err-msg{color:#dc2626;margin:8px 18px 0;font-size:12px}.rw-sync-log-wrap{flex-direction:column;flex:1;min-height:120px;margin:12px 18px;display:flex;overflow:hidden}.rw-sync-log-title{color:var(--text-muted);margin-bottom:4px;font-size:11px}.rw-sync-log{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#0f172a;border-radius:6px;flex:1;max-height:240px;margin:0;padding:10px;font-size:11px;line-height:1.5;overflow:auto}.rw-sync-modal__foot{text-align:right;border-top:1px solid #e8edf5;padding:10px 18px 14px}.trm-page{width:100%}.trm-page .vcs-header{padding-left:20px;padding-right:20px}.trm-page .trm-main{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:none;margin:0;padding:16px 20px 32px;display:flex}.trm-header{align-items:center}.trm-back{flex-shrink:0;align-self:center}.trm-loading{color:var(--text-secondary);margin:0;font-size:13px}.trm-section{border:1px solid var(--border-default);background:#fff;border-radius:8px;padding:14px 16px}.trm-section--status{border-color:#6366f1;box-shadow:0 0 0 1px #6366f11f}.trm-section__title{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.trm-section__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.trm-section__head .trm-section__title{margin:0}.trm-split{grid-template-columns:1fr 1.1fr;gap:16px;display:grid}@media (width<=900px){.trm-split{grid-template-columns:1fr}}.trm-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:10px 14px;margin-bottom:12px;display:grid}.trm-grid--global{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.trm-grid--compact{margin-bottom:10px}.trm-grid label,.trm-inline-label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.trm-grid input,.trm-grid select,.trm-inline-label input{border:1px solid #c8d4e8;border-radius:6px;padding:6px 8px;font-size:13px}.trm-contract-block{border-top:1px solid #e8edf5;margin-top:14px;padding-top:14px}.trm-params-applied{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px;margin:0 0 12px;padding:8px 12px;font-size:13px}.trm-params-applied strong{font-weight:600}.trm-grid--contract{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.trm-check-label{align-items:center;padding-bottom:6px;color:var(--text-secondary)!important;flex-direction:row!important;gap:8px!important;font-size:12px!important}.trm-check-label input[type=checkbox]{width:16px;height:16px;margin:0}.trm-params-hint{color:var(--text-secondary);margin:10px 0 0;font-size:12px}.trm-params-hint strong{font-family:var(--font-mono);color:var(--text-primary)}.trm-output-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.trm-out{min-width:100px;color:var(--text-muted);background:#f8fafc;border-radius:6px;flex-direction:column;flex:1;gap:2px;padding:8px 10px;font-size:11px;display:flex}.trm-out strong{font-family:var(--font-mono);color:var(--text-primary);font-size:15px}.trm-status-cards{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px;display:grid}@media (width<=640px){.trm-status-cards{grid-template-columns:repeat(2,1fr)}}.trm-stat{color:var(--text-muted);background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:11px;display:flex}.trm-stat strong{font-size:16px;font-family:var(--font-mono);color:var(--text-primary)}.trm-status-extra{color:var(--text-secondary);flex-wrap:wrap;gap:16px;margin-bottom:10px;font-size:12px;display:flex}.trm-banner{border-radius:6px;padding:10px 12px;font-size:13px;font-weight:500}.trm-banner--safe{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.trm-banner--caution{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.trm-banner--danger{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.trm-table-wrap{margin-top:8px;overflow-x:auto}.trm-table{border-collapse:collapse;width:100%;font-size:12px}.trm-table th{text-align:left;color:#fff;white-space:nowrap;background:#1e3a5f;padding:7px 10px;font-weight:500}.trm-table td{vertical-align:top;border-bottom:1px solid #e8edf5;padding:7px 10px}.trm-table tbody tr:nth-child(2n){background:#f8fafc}.trm-up{color:#dc2626}.trm-down{color:#059669}.trm-btn{cursor:pointer;color:var(--text-primary);background:#f8fafc;border:1px solid #c8d4e8;border-radius:6px;padding:7px 14px;font-size:13px}.trm-btn:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc}.trm-btn:disabled{opacity:.5;cursor:not-allowed}.trm-btn--primary{color:#fff;background:#ea580c;border-color:#ea580c}.trm-btn--primary:hover:not(:disabled){background:#c2410c;border-color:#c2410c}.trm-btn--ghost{color:var(--text-secondary);background:0 0;border-color:#e2e8f0}.trm-add-layer{border-top:1px dashed #e2e8f0;margin-top:12px;padding-top:12px}.trm-empty{color:var(--text-secondary);margin:0 0 8px;font-size:13px}.trm-link{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.trm-tag{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.trm-tag--safe{color:#166534;background:#dcfce7}.trm-tag--caution{color:#92400e;background:#fef3c7}.trm-tag--reject{color:#991b1b;background:#fee2e2}.trm-reason{color:var(--text-muted);max-width:180px;margin-top:4px;font-size:11px}.trm-label-symbol{z-index:20;position:relative}.symbol-search{position:relative}.symbol-search__input{box-sizing:border-box;border:1px solid #c8d4e8;border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.symbol-search__input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 2px #6366f126}.symbol-search__list{z-index:100;background:#fff;border:1px solid #c8d4e8;border-radius:8px;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #1c28401f}.symbol-search__item{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:52px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:13px;display:grid}.symbol-search__item:hover,.symbol-search__item--on{background:#eef2ff}.symbol-search__code{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.symbol-search__name{color:var(--text-primary)}.symbol-search__ex{color:var(--text-muted);font-size:11px}.symbol-search__empty{color:var(--text-muted);z-index:100;background:#fff;border:1px solid #c8d4e8;border-radius:8px;padding:10px 12px;font-size:12px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 12px #1c284014}.pfr-page{width:100%;min-height:100vh}.pfr-header{align-items:center;padding-left:20px;padding-right:20px}.pfr-header__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pfr-back{color:var(--accent);flex-shrink:0;margin-right:12px;font-size:13px;text-decoration:none}.pfr-save-hint{color:var(--status-ok);font-size:12px}.pfr-error{color:#dc2626;font-size:12px}.pfr-muted{color:var(--text-muted);font-size:12px}.pfr-empty-state{text-align:center;border:1px solid var(--border-default);background:#fff;border-radius:8px;margin:24px 0;padding:48px 24px}.pfr-empty-state__title{color:var(--text-primary);margin:0 0 8px;font-size:16px;font-weight:600}.pfr-empty-state__desc{color:var(--text-muted);margin:0;font-size:13px}.pfr-main{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:none;margin:0;padding:16px 20px 32px;display:flex}.pfr-section{border:1px solid var(--border-default);background:#fff;border-radius:8px;padding:14px 16px}.pfr-section--highlight{border-color:#6366f1;box-shadow:0 0 0 1px #6366f11f}.pfr-section__title{margin:0 0 8px;font-size:14px;font-weight:600}.pfr-section__desc{color:var(--text-secondary);margin:0 0 12px;font-size:12px}.pfr-formula{color:var(--text-muted);font-size:12px;font-family:var(--font-mono);margin:0 0 14px}.pfr-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.pfr-field{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.pfr-field input,.pfr-field select{border:1px solid var(--border-default);border-radius:6px;min-width:120px;padding:6px 8px;font-size:14px}.pfr-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:7px 14px;font-size:13px}.pfr-btn:hover{filter:brightness(1.05)}.pfr-btn--ghost{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.pfr-btn--sm{padding:4px 10px;font-size:12px}.pfr-btn--danger{color:#fff;background:#dc2626}.pfr-btn--danger:hover:not(:disabled){filter:brightness(1.05)}.pfr-btn--danger:disabled{opacity:.45;cursor:not-allowed}.pfr-summary-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.pfr-kpi{background:var(--bg-elevated);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.pfr-kpi--rate{background:#6366f114}.pfr-kpi__label{color:var(--text-secondary);font-size:12px}.pfr-kpi__value{font-size:18px;font-weight:600;font-family:var(--font-mono)}.pfr-kpi__value--emph{color:var(--accent)}.pfr-kpi__rate{font-size:28px;font-weight:700;font-family:var(--font-mono)}.pfr-kpi__input{border:1px solid var(--border-default);width:100%;font-size:16px;font-family:var(--font-mono);border-radius:6px;padding:6px 8px}.pfr-kpi__unit,.pfr-kpi__hint{color:var(--text-muted);font-size:11px}.pfr-display-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pfr-edit-block{flex-direction:column;gap:8px;display:flex}.pfr-edit-block--table{flex-flow:wrap;align-items:center;gap:6px}.pfr-edit-actions{gap:6px;display:flex}.pfr-split{grid-template-columns:minmax(280px,1fr) minmax(360px,1.4fr);gap:16px;display:grid}@media (width<=900px){.pfr-split{grid-template-columns:1fr}}.pfr-table{border-collapse:collapse;width:100%;font-size:13px}.pfr-table th{background:var(--table-header-bg);color:var(--table-header-text);text-align:left;padding:8px 10px;font-weight:500}.pfr-table td{border-bottom:1px solid var(--border-subtle);padding:8px 10px}.pfr-table tfoot td{background:var(--bg-elevated);font-weight:600}.pfr-table__input{border:1px solid var(--border-default);width:100%;max-width:200px;font-family:var(--font-mono);border-radius:4px;padding:5px 8px}.pfr-table--years tbody tr{cursor:pointer}.pfr-table--years tbody tr:hover{background:var(--bg-hover)}.pfr-row--on{background:var(--accent-muted)}.pfr-cf-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.pfr-cf-form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.pfr-cf-form input{border:1px solid var(--border-default);border-radius:6px;min-width:100px;padding:6px 8px}.pfr-pos{color:var(--status-ok)}.pfr-neg{color:#dc2626}.pfr-empty{text-align:center;color:var(--text-muted);padding:16px}.als-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:910;background:#080e1ebf;justify-content:center;align-items:flex-start;padding:28px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.als-modal{background:#0f1829;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:100%;max-width:780px;animation:.2s als-in;display:flex;box-shadow:0 24px 64px #000000a6}@keyframes als-in{0%{opacity:0;transform:translateY(-14px)scale(.98)}to{opacity:1;transform:none}}.als-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:18px 24px 16px;display:flex}.als-title{color:#f0f4fa;margin:0;font-size:16px;font-weight:700}.als-subtitle{color:#b8c8dc;margin-top:2px;font-size:12px;display:block}.als-close{color:#c0ccd8;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.als-close:hover{color:#f0f4fa;background:#ffffff1f}.als-context{background:#ffffff0f;border-bottom:1px solid #ffffff12;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;display:grid}.als-warn{color:#fbbf24;background:#fbbf2414;border-bottom:1px solid #fbbf2426;margin:0;padding:10px 24px;font-size:12px}.als-body{max-height:calc(100vh - 240px);padding:4px 0;overflow-y:auto}.als-section{border-bottom:1px solid #ffffff0f;padding:16px 24px 12px}.als-section:last-child{border-bottom:none}.als-section-title{letter-spacing:.4px;color:#c8d4e4;margin:0 0 6px;font-size:12px;font-weight:700}.als-section-desc{color:#8fa8c4;margin:0 0 12px;font-size:12px;line-height:1.45}.als-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.als-auto-window{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.als-auto-tag{color:#6aa3ff;background:#4f8eff1f;border:1px solid #4f8eff4d;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.als-auto-tag--partial{color:#fbbf24;background:#fbbf241a;border-color:#fbbf244d}.als-auto-tag--warn{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b4d}.als-link-btn{color:#6aa3ff;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:700}.als-link-btn:hover{color:#8ab8ff;text-decoration:underline}.als-auto-value{font-variant-numeric:tabular-nums;color:#eef2f8;background:#ffffff0d;border:1px solid #ffffff14;border-radius:7px;padding:7px 10px;font-size:13px;font-weight:700}.als-field{flex-direction:column;gap:5px;display:flex}.als-field__label{color:#b8c8dc;letter-spacing:.3px;font-size:11px;font-weight:600}.als-field__hint{color:#6a7a8c;margin-left:6px;font-size:10px;font-weight:400}.als-input,.als-select{color:#eef2f8;background:#ffffff12;border:1px solid #ffffff1f;border-radius:7px;outline:none;padding:7px 10px;font-size:13px}.als-input:hover,.als-input:focus,.als-select:hover,.als-select:focus{background:#ffffff1a;border-color:#ffffff40}.als-input:disabled{opacity:.45;cursor:not-allowed}.als-select option{color:#eef2f8;background:#1a2540}.als-textarea{color:#eef2f8;resize:vertical;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:7px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.55}.als-textarea:focus{border-color:#ffffff38}.als-textarea::placeholder{color:#6a7a8c}.als-derived-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:4px 0 8px;display:grid}.als-metric{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.als-metric__label{color:#8fa8c4;letter-spacing:.3px;text-transform:uppercase;font-size:10px;font-weight:600}.als-metric__value{color:#eef2f8;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.als-metric__value--pos{color:#22c55e}.als-metric__value--neg{color:#ef4444}.als-metric__value--muted{color:#7a8a9c}.als-metric__sub{color:#9fb3cc;font-size:11px}.als-footer{border-top:1px solid #ffffff12;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.als-error{color:#ef4444;margin-right:auto;font-size:12px}.als-btn{cursor:pointer;border:none;border-radius:8px;padding:7px 20px;font-size:13px;font-weight:600}.als-btn:disabled{opacity:.5;cursor:not-allowed}.als-btn--ghost{color:#c0ccd8;background:#ffffff12}.als-btn--ghost:hover:not(:disabled){color:#f0f4fa;background:#ffffff1f}.als-btn--primary{color:#6aa3ff;background:#1a3a6e;border:1px solid #4f8eff59}.als-btn--primary:hover:not(:disabled){color:#8ab8ff;background:#1f4685}@media (width<=600px){.als-backdrop{padding:16px 8px}.als-grid{grid-template-columns:1fr}.als-header,.als-section,.als-footer,.als-warn{padding-left:16px;padding-right:16px}}.cc-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:900;background:#080e1eb8;justify-content:center;align-items:flex-start;padding:32px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.cc-modal{background:#0f1829;border:1px solid #ffffff1a;border-radius:14px;width:100%;max-width:820px;padding:0 0 28px;animation:.22s cc-slide-in;box-shadow:0 24px 64px #0009}@keyframes cc-slide-in{0%{opacity:0;transform:translateY(-16px)scale(.98)}to{opacity:1;transform:none}}.cc-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 16px;display:flex}.cc-header__left{align-items:baseline;gap:10px;display:flex}.cc-title{color:#f0f4fa;letter-spacing:.2px;margin:0;font-size:17px;font-weight:700}.cc-subtitle{color:#b8c8dc;font-size:12px}.cc-header__right{align-items:center;gap:12px;display:flex}.cc-tabs{background:#ffffff0d;border-radius:8px;gap:2px;padding:3px;display:flex}.cc-tab{color:#c0ccd8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 16px;font-size:13px;font-weight:500;transition:all .15s}.cc-tab:hover{color:#f0f4fa}.cc-tab--on{color:#f0f4fa;background:#ffffff24;font-weight:700}.cc-close{color:#c0ccd8;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:flex}.cc-close:hover{color:#f0f4fa;background:#ffffff1f}.cc-stats{background:#ffffff0f;border-top:1px solid #ffffff0a;border-bottom:1px solid #ffffff12;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1px;display:grid}.cc-stat-card{background:#0f1829;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.cc-stat-label{color:#c4d0e0;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:500}.cc-stat-value{color:#eef2f8;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.2}.cc-stat-sub{color:#b0bfce;font-size:10px}.cc-pos{color:#22c55e!important}.cc-neg{color:#ef4444!important}.cc-hi{color:#6aa3ff!important}.cc-section{padding:18px 24px 4px}.cc-section-title{text-transform:uppercase;letter-spacing:.6px;color:#c8d4e4;margin:0 0 10px;font-size:12px;font-weight:600}.cc-svg{width:100%;display:block;overflow:visible}.cc-chart-empty{text-align:center;color:#b8c8dc;padding:24px 0;font-size:13px}.cc-bar-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.cc-svg--fixed{flex:none;width:auto}.cc-scroll-hint{color:#8fa8c4;text-align:right;margin:2px 0 0;font-size:11px}.cc-monthly-table-wrap{overflow-x:auto}.cc-monthly-table{border-collapse:collapse;width:100%;font-size:13px}.cc-monthly-table th{text-align:left;color:#c8d4e4;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #ffffff1a;padding:7px 12px;font-size:11px;font-weight:600}.cc-monthly-table td{color:#dde5f0;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0f;padding:9px 12px}.cc-monthly-table tr:last-child td{border-bottom:none}.cc-monthly-table tr:hover td{background:#ffffff08}.cc-month-label{font-weight:600;color:#c8d4e4!important}.cc-detail-risk{font-size:12px;color:#8fa8c4!important}.cc-empty{text-align:center;color:#b8c8dc;padding:48px 24px;font-size:14px}.cc-ym-selector{background:#ffffff05;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:12px 24px;display:flex}.cc-ym-label{color:#c4d0e0;white-space:nowrap;font-size:12px}.cc-ym-select{color:#eef2f8;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:7px;outline:none;padding:5px 10px;font-size:13px;font-weight:600;transition:border-color .15s}.cc-ym-select:hover,.cc-ym-select:focus{background:#ffffff24;border-color:#ffffff52}.cc-ym-select option{color:#eef2f8;background:#1a2540}.cc-modal{max-width:900px}@media (width<=640px){.cc-backdrop{padding:16px 8px}.cc-stats{grid-template-columns:repeat(2,1fr)}.cc-section{padding:14px 14px 4px}.cc-header{flex-wrap:wrap;padding:16px 14px 12px}.cc-ym-selector{flex-wrap:wrap;padding:10px 14px}}.ps-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:905;background:#080e1eb8;justify-content:center;align-items:flex-start;padding:28px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.ps-modal{background:#0f1829;border:1px solid #ffffff1a;border-radius:14px;width:100%;max-width:960px;animation:.2s ps-in;box-shadow:0 24px 64px #0009}@keyframes ps-in{0%{opacity:0;transform:translateY(-14px)scale(.98)}to{opacity:1;transform:none}}.ps-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:18px 24px 16px;display:flex}.ps-header__left{align-items:baseline;gap:10px;display:flex}.ps-title{color:#f0f4fa;margin:0;font-size:17px;font-weight:700}.ps-subtitle{color:#b8c8dc;font-size:12px}.ps-close{color:#c0ccd8;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:flex}.ps-close:hover{color:#f0f4fa;background:#ffffff1f}.ps-warn-bar{color:#f59e0b;background:#f59e0b14;border-bottom:1px solid #f59e0b26;padding:8px 24px;font-size:12px}.ps-tabs-bar{border-bottom:1px solid #ffffff12;gap:2px;padding:10px 24px 0;display:flex;overflow-x:auto}.ps-tab{color:#b8c8dc;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px 9px;font-size:13px;font-weight:500;transition:all .15s}.ps-tab:hover{color:#e8f0fa}.ps-tab--on{color:#6aa3ff;border-bottom-color:#4f8eff;font-weight:700}.ps-table-wrap{padding:4px 0 16px;overflow-x:auto}.ps-table{border-collapse:collapse;width:100%;font-size:13px}.ps-table th{text-align:left;color:#c8d4e4;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-bottom:1px solid #ffffff17;padding:9px 12px;font-size:11px;font-weight:600}.ps-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.ps-th-sort:hover{color:#eef2f8}.ps-th-sub{color:#8898b0;font-size:10px;font-weight:400}.ps-table td{color:#dde5f0;font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid #ffffff0d;padding:9px 12px}.ps-table tr:last-child td{border-bottom:none}.ps-table tr:hover td{background:#ffffff05}.ps-pattern-label{white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:flex;color:#c4d0e0!important}.ps-tag{white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.ps-tag--warn{color:#ef4444;background:#ef444426}.ps-tag--valid{color:#22c55e;background:#22c55e1f}.ps-pos{color:#22c55e!important}.ps-neg{color:#ef4444!important}.ps-empty{text-align:center;color:#b8c8dc;padding:48px 24px;font-size:14px}@media (width<=640px){.ps-backdrop{padding:16px 8px}.ps-header,.ps-tabs-bar{padding-left:14px;padding-right:14px}}.tp-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:910;background:#080e1ebf;justify-content:center;align-items:flex-start;padding:28px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.tp-modal{background:#0f1829;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:100%;max-width:760px;animation:.2s tp-in;display:flex;box-shadow:0 24px 64px #000000a6}@keyframes tp-in{0%{opacity:0;transform:translateY(-14px)scale(.98)}to{opacity:1;transform:none}}.tp-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:18px 24px 16px;display:flex}.tp-title{color:#f0f4fa;margin:0;font-size:16px;font-weight:700}.tp-subtitle{color:#b8c8dc;margin-top:2px;font-size:12px;display:block}.tp-close{color:#c0ccd8;cursor:pointer;background:#ffffff0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:flex}.tp-close:hover{color:#f0f4fa;background:#ffffff1f}.tp-body{max-height:calc(100vh - 200px);padding:4px 0;overflow-y:auto}.tp-section{border-bottom:1px solid #ffffff0f;padding:16px 24px 8px}.tp-section:last-child{border-bottom:none}.tp-section-title{text-transform:uppercase;letter-spacing:.7px;color:#c8d4e4;margin:0 0 14px;font-size:11px;font-weight:700}.tp-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.tp-field{flex-direction:column;gap:5px;display:flex}.tp-field__label{color:#b8c8dc;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.tp-select{color:#eef2f8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:7px;outline:none;padding:6px 10px;font-size:13px;transition:border-color .15s}.tp-select:hover,.tp-select:focus{background:#ffffff1a;border-color:#ffffff40}.tp-select option{color:#eef2f8;background:#1a2540}.tp-textarea{color:#eef2f8;resize:vertical;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:7px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.55;transition:border-color .15s}.tp-textarea:focus{border-color:#ffffff38}.tp-textarea::placeholder{color:#6a7a8c}.tp-score-row{align-items:center;gap:6px;padding:4px 0;display:flex}.tp-score-btn{color:#c0ccd8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;width:34px;height:34px;font-size:14px;font-weight:700;transition:all .15s}.tp-score-btn:hover{color:#f0f4fa;background:#ffffff24}.tp-score-btn--on{color:#6aa3ff;background:#1a3a6e;border-color:#4f8eff}.tp-score-clear{color:#7a8a9c;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:11px}.tp-score-clear:hover{color:#b0bfce}.tp-footer{border-top:1px solid #ffffff12;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;display:flex}.tp-error{color:#ef4444;margin-right:auto;font-size:12px}.tp-btn{cursor:pointer;border:none;border-radius:8px;padding:7px 20px;font-size:13px;font-weight:600;transition:all .15s}.tp-btn:disabled{opacity:.5;cursor:not-allowed}.tp-btn--ghost{color:#c0ccd8;background:#ffffff12}.tp-btn--ghost:hover:not(:disabled){color:#f0f4fa;background:#ffffff1f}.tp-btn--primary{color:#6aa3ff;background:#1a3a6e;border:1px solid #4f8eff59}.tp-btn--primary:hover:not(:disabled){color:#8ab8ff;background:#1f4685}.tp-image-zone{background:#ffffff08;border:1.5px dashed #ffffff26;border-radius:8px;outline:none;min-height:52px;padding:10px 12px;transition:border-color .15s,background .15s}.tp-image-zone:focus{background:#4f8eff0a;border-color:#4f8eff73}.tp-thumbs{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.tp-thumb{border:1px solid #ffffff1a;border-radius:6px;width:72px;height:72px;position:relative;overflow:hidden}.tp-thumb__img-btn{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0}.tp-thumb__img-btn img{object-fit:cover;width:100%;height:100%;display:block}.tp-thumb__remove{color:#fff;cursor:pointer;opacity:0;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:2px;right:2px}.tp-thumb:hover .tp-thumb__remove{opacity:1}.tp-image-hint{color:#7a8a9c;font-size:12px}.tp-image-pick-btn{color:#6aa3ff;cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.tp-image-pick-btn:hover{color:#8ab8ff}@media (width<=600px){.tp-backdrop{padding:16px 8px}.tp-grid{grid-template-columns:1fr}.tp-header,.tp-section,.tp-footer{padding-left:16px;padding-right:16px}}.st-page{width:100%;min-height:100vh}.st-capital-curve-btn{margin-left:auto;font-weight:600}.st-btn--pattern{color:#6aa3ff;cursor:pointer;background:#4f8eff1f;border:1px solid #4f8eff4d;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .15s}.st-btn--pattern:hover{background:#4f8eff38;border-color:#4f8eff80}.st-btn--als{color:#4ade80;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .15s}.st-btn--als:hover{background:#22c55e33;border-color:#22c55e80}.st-risk-display{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:12px}.st-header{align-items:center;padding-left:20px;padding-right:20px}.st-header__actions{align-items:center;gap:10px;display:flex}.st-back{color:var(--accent);margin-right:12px;font-size:13px;text-decoration:none}.st-main{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:none;padding:16px 20px 32px;display:flex}.st-section{border:1px solid var(--border-default);background:#fff;border-radius:8px;padding:14px 16px}.st-section__head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.st-section__title{margin:0;font-size:15px;font-weight:600}.st-badge{background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:12px}.st-total-pnl{font-size:13px;font-weight:600;font-family:var(--font-mono)}.st-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.st-table{border-collapse:collapse;width:100%;font-size:13px}.st-table th{background:var(--table-header-bg);color:var(--table-header-text);text-align:left;padding:8px 10px;font-weight:500}.st-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:8px 10px}.st-row--on td{background:var(--accent-muted)}.st-detail-row td{background:var(--bg-elevated);padding:12px 16px}.st-detail{grid-template-columns:1fr 1fr 1.2fr;gap:16px;display:grid}@media (width<=900px){.st-detail{grid-template-columns:1fr}}.st-detail h3{color:var(--text-secondary);margin:0 0 8px;font-size:12px}.st-remaining{color:var(--accent);margin:0;font-size:24px;font-weight:700}.st-close-list{margin:0;padding:0;font-size:12px;list-style:none}.st-close-list li{border-bottom:1px dashed var(--border-subtle);gap:12px;padding:4px 0;display:flex}.st-close-list--block li{flex-wrap:wrap}.st-close-summary{flex-wrap:wrap;gap:6px;display:flex}.st-close-chip{background:var(--bg-elevated);font-size:11px;font-family:var(--font-mono);border-radius:4px;padding:2px 6px}.st-symbol{margin-right:6px;font-weight:600}.st-symbol-name{color:var(--text-muted);font-size:12px}.st-emph{color:var(--accent);font-weight:700}.st-buy{color:var(--status-ok)}.st-sell{color:#dc2626}.st-pos{color:var(--status-ok)}.st-neg{color:#dc2626}.st-actions{flex-wrap:wrap;gap:6px;display:flex}.st-empty{text-align:center;color:var(--text-muted);margin:0;padding:24px}.st-muted{color:var(--text-muted);font-size:12px}.st-error{color:#dc2626;font-size:12px}.st-edit-close__hint{color:#eab308;background:#eab3081f;border:1px solid #eab30859;border-radius:6px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}.st-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:7px 14px;font-size:13px}.st-btn--ghost{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.st-btn--sm{padding:4px 10px;font-size:12px}.st-btn--xs{min-width:28px;padding:2px 8px;font-size:11px}.st-btn:disabled{opacity:.5;cursor:not-allowed}.st-form-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.st-form-row label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.st-form-row input,.st-form-row select{border:1px solid var(--border-default);border-radius:6px;min-width:100px;padding:6px 8px}.st-close-form .st-form-row{margin-top:4px}.st-close-form__note{color:var(--text-secondary);flex-direction:column;gap:4px;width:100%;margin-top:10px;font-size:12px;display:flex}.st-close-form__actions{margin-top:10px}.st-modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.st-modal{-webkit-overflow-scrolling:touch;box-sizing:border-box;background:#fff;border-radius:10px;width:100%;max-width:480px;max-height:calc(100vh - 40px);padding:20px 24px;overflow-y:auto;box-shadow:0 20px 40px #00000026}.st-modal--wide{max-width:560px}.st-modal--note{max-width:640px}.st-modal__note-label{margin-top:4px}.st-note-btn{white-space:nowrap}.st-modal__title{margin:0 0 16px;font-size:16px}.st-modal__form{flex-direction:column;gap:12px;display:flex}.st-modal__form label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.st-modal__form input,.st-modal__form select{border:1px solid var(--border-default);border-radius:6px;padding:8px 10px;font-size:14px}.st-modal__actions{gap:10px;margin-top:20px;display:flex}.st-ai-box{border:1px solid var(--border-default);background:var(--bg-elevated);border-radius:8px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 14px;display:flex}.st-ai-box__head{flex-direction:column;gap:2px;display:flex}.st-ai-box__title{color:var(--text-primary);font-size:13px;font-weight:600}.st-ai-box__hint{color:var(--text-muted);font-size:12px}.st-ai-box__textarea{border:1px solid var(--border-default);resize:vertical;box-sizing:border-box;width:100%;min-height:84px;max-height:160px;color:var(--text-primary);background:var(--bg-surface);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5}.st-ai-box__textarea:disabled{opacity:.7}.st-ai-box__actions{flex-wrap:wrap;gap:8px;display:flex}.st-ai-box__message{margin:0;font-size:12px;line-height:1.5}.st-ai-box__message--success{color:var(--status-ok)}.st-ai-box__message--warning{color:var(--status-warn)}.st-ai-box__message--error{color:#dc2626}.st-ai-box__message--neutral{color:var(--text-secondary)}.st-ai-box__warnings{color:var(--status-warn);flex-direction:column;gap:2px;margin:0;padding-left:18px;font-size:12px;display:flex}.swing-note-field__textarea{border:1px solid var(--border-default);resize:vertical;box-sizing:border-box;border-radius:6px;width:100%;min-height:88px;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.5}.swing-note-field__images{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.swing-note-field__hint{color:var(--text-muted);margin:6px 0 0;font-size:12px}.swing-note-field__thumb{border:1px solid var(--border-subtle);border-radius:6px;width:72px;height:72px;position:relative;overflow:hidden}.swing-note-field__thumb-btn{cursor:zoom-in;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.swing-note-field__thumb img{object-fit:cover;width:100%;height:100%;display:block}.swing-note-field__remove{color:#fff;cursor:pointer;background:#0f172aa6;border:none;border-radius:4px;width:20px;height:20px;font-size:14px;line-height:1;position:absolute;top:2px;right:2px}.swing-img-lightbox{z-index:2000;box-sizing:border-box;background:#0f172ad1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.swing-img-lightbox__close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;width:36px;height:36px;font-size:22px;line-height:1;position:absolute;top:16px;right:20px}.swing-img-lightbox__frame{max-width:min(96vw,1200px);max-height:92vh}.swing-img-lightbox__img{object-fit:contain;border-radius:8px;max-width:100%;max-height:92vh;display:block;box-shadow:0 16px 48px #00000059}.swing-note-batch{border-bottom:1px solid var(--border-subtle);padding:12px 0}.swing-note-batch:last-child{border-bottom:none;padding-bottom:0}.swing-note-batch:first-child{padding-top:0}.swing-note-batch__head{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;font-weight:600;display:flex}.swing-note-batch__meta{color:var(--text-muted);font-size:12px;font-weight:500}.swing-note-batch__lots{background:var(--surface-base,#f3f4f6);color:var(--text-primary);border-radius:999px;margin-left:8px;padding:2px 8px;font-weight:600}.swing-note-view__text{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit;font-size:14px;line-height:1.6}.swing-note-view__images{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.swing-note-view__img-wrap{border:1px solid var(--border-subtle);cursor:zoom-in;background:0 0;border-radius:8px;max-width:160px;padding:0;display:block;overflow:hidden}.swing-note-view__img-wrap img{object-fit:contain;max-width:100%;max-height:360px;display:block}@media (width<=640px){.st-modal-backdrop{align-items:flex-start;padding:10px}.st-modal{border-radius:10px;max-width:100%;max-height:calc(100vh - 20px);padding:16px}.st-modal__title{margin-bottom:12px;font-size:15px}.st-modal__form{gap:14px}.st-modal__form label{font-size:13px}.st-modal__form input,.st-modal__form select,.st-ai-box__textarea,.symbol-search__input{padding:10px 12px;font-size:16px}.st-form-row{flex-direction:column;align-items:stretch}.st-form-row input,.st-form-row select{box-sizing:border-box;width:100%;min-width:0;padding:10px 12px;font-size:16px}.st-modal__actions{flex-direction:column;gap:8px}.st-modal__actions .st-btn{box-sizing:border-box;width:100%;padding:11px 14px;font-size:14px}.st-ai-box{padding:10px 12px}.st-ai-box__actions{flex-direction:column}.st-ai-box__actions .st-btn{box-sizing:border-box;width:100%;padding:9px 12px}}@media (width<=768px){.st-header{align-items:stretch;gap:12px;padding-left:12px;padding-right:12px}.st-header__actions{flex-wrap:wrap;gap:8px;width:100%}.st-header__actions .st-btn{text-align:center;flex:auto}.st-main{gap:14px;padding:12px 8px 28px}.st-section{padding:12px}.st-section__head{gap:8px;margin-bottom:10px}.st-section__title{font-size:14px}.st-capital-curve-btn{margin-left:0}.st-table-wrap{-webkit-overflow-scrolling:touch}.st-table th,.st-table td{white-space:nowrap;padding:8px}.st-detail-row td{white-space:normal}}.vcz-page{background:#f3f7fb;flex-direction:column;min-height:100vh;display:flex}.vcz-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:20px;padding:20px 28px;display:flex;box-shadow:0 1px 4px #1c28400f}.vcz-header h1{color:#1f3558;margin:0 0 6px;font-size:19px;font-weight:700}.vcz-header p{color:#64748b;max-width:720px;margin:0;font-size:13px}.vcz-header__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vcz-header__actions input,.vcz-header__actions select,.vcz-header__actions button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 10px;font-size:13px}.vcz-header__actions button{cursor:pointer;color:#fff;background:#1f3558;border-color:#1f3558}.vcz-header__actions button:disabled{opacity:.6;cursor:not-allowed}.vcz-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px 28px;display:grid}.vcz-card{background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 1px 3px #1c284014}.vcz-card h3{color:#64748b;margin:0 0 8px;font-size:12px;font-weight:600}.vcz-card__nums{flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.vcz-card__nums span strong{color:#1f3558}.vcz-filters{flex-wrap:wrap;align-items:center;gap:8px;padding:0 28px 12px;display:flex}.vcz-filter-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:5px 12px;font-size:12px}.vcz-filter-btn--on{color:#4338ca;background:#eef2ff;border-color:#6366f1}.vcz-search{border:1px solid #cbd5e1;border-radius:6px;min-width:160px;margin-left:auto;padding:6px 10px;font-size:13px}.vcz-table-wrap{padding:0 28px 28px;overflow:auto}.vcz-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;font-size:12px;overflow:hidden;box-shadow:0 1px 3px #1c284014}.vcz-table th,.vcz-table td{vertical-align:top;text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 8px}.vcz-table th{color:#475569;white-space:nowrap;background:#f8fafc;font-weight:600}.vcz-table tr:hover td{background:#f8fafc}.vcz-stage{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.vcz-stage--TRIGGERED{color:#f97316;background:#ffedd5}.vcz-stage--PREPARE{color:#2563eb;background:#dbeafe}.vcz-stage--WATCH{color:#8b5cf6;background:#ede9fe}.vcz-stage--WAIT,.vcz-stage--EXCLUDED{color:#94a3b8;background:#f1f5f9}.vcz-row--excluded td{color:#94a3b8;background:#f8fafc}.vcz-row--excluded strong{color:#94a3b8}.vcz-row--degraded td{background:#fffbeb}.vcz-row--degraded:hover td{background:#fef3c7}.vcz-check-yes{color:#16a34a;font-weight:700}.vcz-check-no{color:#94a3b8}.vcz-check-warn{color:#f59e0b}.vcz-z-band--in{color:#16a34a;font-weight:600}.vcz-z-band--out{color:#b45309;font-weight:600}.vcz-z-band--extreme{color:#dc2626;font-weight:600}.vcz-mini{width:72px;height:28px;display:block}.vcz-detail-overlay{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.vcz-detail{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:90vh;padding:20px 24px;overflow:auto;box-shadow:0 20px 40px #0f172a33}.vcz-detail h2{color:#1f3558;margin:0 0 4px;font-size:18px}.vcz-detail section{border-top:1px solid #f1f5f9;margin-top:16px;padding-top:12px}.vcz-detail h3{color:#475569;margin:0 0 8px;font-size:13px}.vcz-detail__close{float:right;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;padding:4px 10px}.vcz-tabbar{clear:both;border-bottom:1px solid #e2e8f0;gap:4px;margin:6px 0 14px;display:flex}.vcz-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:6px 12px 9px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.vcz-tab:hover{color:#1f3558}.vcz-tab--on{color:#1f3558;border-bottom-color:#2563eb}.vcz-panoramic-btn{color:#2563eb;cursor:pointer;background:#eff6ff;border:1px solid #2563eb;border-radius:999px;align-self:center;margin-left:auto;padding:4px 12px;font-size:12px;font-weight:700;transition:background .15s}.vcz-panoramic-btn:hover{background:#dbeafe}.vcz-panoramic{background:#fff;border-radius:12px;width:96vw;max-width:1180px;max-height:92vh;padding:20px 24px;overflow:auto;box-shadow:0 20px 40px #0f172a33}.vcz-panoramic h2{color:#1f3558;margin:0 0 10px;font-size:18px}.vcz-pc-infobar{color:#1f3558;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;padding:8px 14px;font-size:13px;display:flex}.vcz-pc-infobar__date{color:#1f3558;font-weight:700}.vcz-pc-infobar__code{color:#64748b;background:#eef2f7;border-radius:4px;margin-left:4px;padding:1px 5px;font-size:11px;font-weight:600}.vcz-pc-scroll{padding-bottom:4px;overflow-x:auto}.vcz-pc-inner{position:relative}.vcz-pc-svg{display:block}.vcz-pc-crosshair{pointer-events:none;background:#94a3b8;width:1px;position:absolute;top:0;bottom:0}.vcz-help-btn{color:#2563eb;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600}.vcz-help-btn:hover{background:#eff6ff}.vcz-help-box{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:6px 0 12px;padding:10px 12px;font-size:12px;line-height:1.6}.vcz-help-box p{margin:0 0 6px}.vcz-help-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:11px}.vcz-help-table th,.vcz-help-table td{text-align:left;border:1px solid #e2e8f0;padding:3px 6px}.vcz-help-table th{color:#475569;background:#eef2f7;font-weight:600}.vcz-error{color:#dc2626;padding:12px 28px;font-size:13px}.vcz-ch-btn{color:#475569;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;margin-top:3px;padding:1px 6px;font-size:10px;line-height:1.6;display:inline-block}.vcz-ch-btn:hover{background:#e2e8f0}.vcz-ch-chart{margin-bottom:12px}.vcz-ch-chart--row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.vcz-ch-chart__col{flex:none;max-width:100%}.vcz-ch-chart__caption{color:#334155;margin:6px 0 0;font-size:12px;line-height:1.6}.vcz-ch-table{border-collapse:collapse;width:100%;font-size:12px}.vcz-ch-table th{text-align:left;color:#64748b;border-bottom:1px solid #e2e8f0;padding:3px 4px;font-weight:600}.vcz-ch-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:4px}.vcz-ch-table tr:last-child td{border-bottom:none}.vcz-ch-table tr.vcz-ch--today td{background:#eff6ff;font-weight:600}.vcz-ch-table tr.vcz-ch--degraded td{color:#92400e;background:#fffbeb}.vcz-ch-check-ok{color:#16a34a;font-weight:700}.vcz-ch-check-no{color:#94a3b8}.vcz-ch-legend{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:10px 12px}.vcz-ch-legend__title{color:#475569;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700}.vcz-ch-legend__list{color:#64748b;margin:0;padding-left:16px;font-size:11px;line-height:1.7}.vcz-ch-legend__list li{margin-bottom:2px}@media (width<=1100px){.vcz-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
