:root{--bg-900:#071521;--bg-850:#0d1f2f;--bg-card:#081827d6;--bg-soft:#122435c7;--stroke:#a2b3c43d;--text-main:#f5f7fb;--text-muted:#9eb1c5;--gold:#e6be77;--gold-strong:#dca742;--teal:#5ad0c5;--danger:#ff7b78;--shadow:0 20px 40px #02091147}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--text-main);background:radial-gradient(1200px 600px at 12% -20%, #5ad0c52e, transparent 55%), radial-gradient(1000px 520px at 108% 18%, #e6be7733, transparent 55%), linear-gradient(170deg, var(--bg-900) 0%, var(--bg-850) 100%);margin:0;font-family:Noto Sans TC,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{width:min(1180px,100vw - 2rem);margin:1.4rem auto 2.8rem}.topbar{border:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);background:linear-gradient(120deg,#071521bd,#0e2031bd);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.2rem;padding:1.4rem 1.6rem;display:flex}.brand-block h1,.section-head h2,.section-copy h2{letter-spacing:-.02em;margin:0;font-family:Manrope,sans-serif}.brand-block h1{color:#fdf6e7;font-size:clamp(1.6rem,3vw,2.2rem)}.eyebrow,.panel-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem;font-size:.78rem}.tagline,.section-copy p,.empty-copy,.status-line,.metric-card small{color:var(--text-muted)}.tagline{max-width:50rem;margin:.55rem 0 0}.nav-tabs{flex-wrap:wrap;align-self:flex-end;gap:1.6rem;display:flex}.nav-link{color:var(--text-muted);letter-spacing:.02em;background:0 0;border:none;border-radius:0;padding:.5rem .2rem .75rem;font-weight:500;transition:color .16s;position:relative}.nav-link:after{content:"";background:var(--gold);transform-origin:50%;opacity:0;border-radius:2px;height:2px;transition:transform .2s,opacity .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link:focus-visible{color:var(--text-main);outline:none}.nav-link:hover:after,.nav-link:focus-visible:after{opacity:.55;transform:scaleX(.4)}.nav-link-active{color:var(--gold);font-weight:600}.nav-link-active:after{opacity:1;transform:scaleX(1);box-shadow:0 0 8px #e6be778c}.page-content{margin-top:1.2rem}.page-grid{gap:1rem;display:grid}.panel{border:1px solid var(--stroke);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:24px;padding:1.4rem}.panel-hero{gap:1rem;display:grid}.section-head,.section-copy{gap:.4rem;display:grid}.section-copy h2,.section-head h2{font-size:clamp(1.35rem,2.4vw,1.9rem)}.panel-collapsible{transition:background .2s}.section-head-toggle{cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:-.35rem -.5rem .1rem;padding:.35rem .5rem;transition:background .16s;display:flex}.section-head-toggle:hover,.section-head-toggle:focus-visible{background:#e6be770f;outline:none}.section-head-toggle>div{gap:.4rem;display:grid}.panel-collapse-indicator{letter-spacing:.08em;color:var(--text-muted);flex-shrink:0;font-size:.85rem;font-weight:500}.section-head-toggle:hover .panel-collapse-indicator,.panel-collapsible-open .panel-collapse-indicator{color:var(--gold)}.panel-collapsed-hint{opacity:.8;margin-top:.6rem;font-size:.92rem}.panel-summary{gap:.9rem;padding:1.1rem 1.3rem;display:grid}.panel-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-summary-head>div{gap:.35rem;display:grid}.panel-summary-title{letter-spacing:-.01em;color:var(--text-main);margin:0;font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:600}.panel-summary-cta{white-space:nowrap}.panel-summary-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.panel-summary-list-link{color:var(--text-main);background:#1224356b;border:1px solid #a2b3c41f;border-radius:10px;justify-content:space-between;align-items:center;padding:.55rem .8rem;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:flex}.panel-summary-list-link:hover{background:#e6be7714;border-color:#e6be7747;transform:translateY(-1px)}.panel-summary-list-name{font-size:.95rem;font-weight:500}.panel-summary-list-count{color:var(--text-muted);letter-spacing:.05em;font-size:.85rem}.panel-summary-list-more{color:var(--text-muted);padding:.25rem .8rem;font-size:.82rem;font-style:italic}.section-copy p,.empty-copy,.status-line{margin:0;line-height:1.7}.ticker-form{flex-wrap:wrap;align-items:end;gap:.9rem;display:flex}.field{flex:18rem;gap:.45rem;min-width:min(100%,22rem);display:grid}.field span{color:#f8ecd3;font-size:.95rem}.field input{width:100%;min-height:3rem;color:var(--text-main);background:#050e18a3;border:1px solid #a2b3c442;border-radius:16px;padding:.85rem 1rem}.field input:focus-visible{outline-offset:2px;outline:2px solid #5ad0c557}.primary-button{background:linear-gradient(135deg, var(--gold-strong), var(--gold));color:#14202d;cursor:pointer;border:0;border-radius:16px;min-height:3rem;padding:.85rem 1.2rem;font-weight:700}.secondary-button,.danger-button,.text-button{cursor:pointer;border-radius:16px;min-height:3rem;padding:.85rem 1.05rem;transition:transform .14s,border-color .14s,background .14s}.secondary-button{color:var(--text-main);background:#050e187a;border:1px solid #a2b3c442}.danger-button{color:#ffd8d6;background:#5c121959;border:1px solid #ff7b7840}.text-button{min-height:auto;color:var(--gold);background:0 0;border:0;padding:0}.secondary-button:hover,.secondary-button:focus-visible,.danger-button:hover,.danger-button:focus-visible,.text-button:hover,.text-button:focus-visible{outline:none;transform:translateY(-1px)}.primary-button:disabled{cursor:progress;opacity:.7}.status-error{color:var(--danger)}.status-success{color:var(--teal)}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.metric-card{background:var(--bg-soft);border:1px solid #a2b3c42e;border-radius:18px;gap:.35rem;padding:1rem;display:grid}.metric-card span{color:var(--text-muted);font-size:.92rem}.metric-card strong{color:#fff6e7;font-family:Manrope,sans-serif;font-size:1.4rem}.inline-actions{flex-wrap:wrap;gap:.75rem;display:flex}.stacked-fields{gap:.9rem;display:grid}.feature-list,.experts-list,.watchlist-grid,.published-grid,.watchlist-card,.auth-panel{gap:1rem;display:grid}.expert-card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.expert-card{border:1px solid var(--stroke);color:var(--text-primary);cursor:pointer;text-align:left;font:inherit;background:linear-gradient(160deg,#101f31b3,#091626b3);border-radius:18px;flex-direction:column;gap:.8rem;padding:1.25rem;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex;position:relative}.expert-card:hover:not(.expert-card-locked){border-color:#e6be7773;transform:translateY(-1px);box-shadow:0 12px 32px #00000052}.expert-card:focus-visible{border-color:var(--gold,#e6be77);outline:none;box-shadow:0 0 0 2px #e6be7759}.expert-card-top{align-items:center;gap:.9rem;display:flex}.expert-avatar{object-fit:cover;border:1px solid #e6be7747;border-radius:50%;flex-shrink:0;width:48px;height:48px}.expert-avatar-fallback{color:var(--gold,#e6be77);letter-spacing:.04em;background:linear-gradient(135deg,#2c4763,#1a2d45);justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex}.expert-card-meta{flex:1;min-width:0}.expert-card-name{margin:0;font-size:1rem;font-weight:600}.expert-card-title{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;font-size:.85rem;overflow:hidden}.expert-card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.expert-card-footer{color:var(--text-muted);border-top:1px solid #a2b3c41f;flex-wrap:wrap;align-items:center;gap:1rem;padding-top:.6rem;font-size:.82rem;display:flex}.expert-card-stat{align-items:center;gap:.25rem;display:inline-flex}.expert-card-cta{color:var(--gold,#e6be77);margin-left:auto;font-weight:600}.expert-status{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.75rem;font-weight:600}.expert-status-live{color:#5ad0c5;background:#5ad0c526;border:1px solid #5ad0c552}.expert-status-waiting{color:var(--gold,#e6be77);background:#e6be771f;border:1px solid #e6be7747}.expert-card-locked{cursor:default;filter:saturate(.85)}.expert-card-locked>:not(.expert-card-lock-overlay){filter:blur(2px)brightness(.72);pointer-events:none}.expert-card-lock-overlay{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06101c8c;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex;position:absolute;inset:0}.expert-card-lock-overlay p{color:var(--text-primary);margin:0;font-weight:600}.watchlist-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.mini-tag{color:#fff0cf;background:#e6be771a;border:1px solid #e6be7740;border-radius:999px;padding:.55rem .85rem;font-size:.88rem}.auth-form{gap:.9rem;display:grid}.checkbox-row{color:var(--text-main);align-items:center;gap:.75rem;display:flex}@media (width<=720px){.app-shell{width:min(100vw - 1rem,100%);margin:.6rem auto 1.4rem}.topbar,.panel{border-radius:20px;padding:1.1rem}.nav-tabs,.ticker-form,.inline-actions{width:100%}.nav-link,.primary-button,.secondary-button,.danger-button{text-align:center;width:100%}.wl-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.zone-legend-hint{display:none}}.topbar-right{flex-wrap:wrap;align-items:center;gap:.75rem;margin-left:auto;display:flex}.nav-user{align-items:center;gap:.75rem;display:flex}.nav-user-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.88rem;overflow:hidden}.nav-btn{justify-content:center;align-items:center;display:inline-flex;min-height:2.4rem!important;padding:.5rem 1.1rem!important;font-size:.9rem!important}.page-tabs{background:var(--bg-card);border:1px solid var(--stroke);border-radius:999px;gap:.25rem;width:fit-content;margin-bottom:1.5rem;padding:.3rem;display:flex}.page-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.55rem 1.3rem;font-size:.93rem;transition:background .14s,color .14s}.page-tab-btn:hover{color:var(--text-primary)}.page-tab-active{color:var(--gold);background:#e6be7724}.save-cta{color:var(--gold);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.55rem 0;font-size:.9rem;transition:opacity .14s;display:inline-flex}.save-cta:hover{opacity:.75}.save-cta-link{color:var(--gold);align-items:center;gap:.4rem;padding:.55rem 0;font-size:.9rem;text-decoration:none;transition:opacity .14s;display:inline-flex}.save-cta-link:hover{opacity:.75}.form-input{width:100%;min-height:3rem;color:var(--text-main);background:#050e18a3;border:1px solid #a2b3c442;border-radius:16px;padding:.85rem 1rem}.form-input:focus-visible{outline-offset:2px;outline:2px solid #5ad0c557}.login-page{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;min-height:72vh;padding:2rem 0;display:grid}.login-left{padding:1rem 2rem 1rem 0}.login-brand-title{color:#fdf6e7;letter-spacing:-.02em;margin:.9rem 0 2rem;font-family:Manrope,sans-serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.25}.login-brand-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.78rem}.login-features{gap:1.4rem;margin:0;padding:0;list-style:none;display:grid}.login-features li{border-left:2px solid #e6be7759;gap:.3rem;padding-left:1.1rem;display:grid}.login-features li strong{color:var(--text-primary);font-size:.95rem}.login-features li span{color:var(--text-muted);font-size:.85rem}.login-right{justify-content:center;display:flex}.login-card{border:1px solid var(--stroke);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;gap:1rem;width:100%;max-width:400px;padding:1.8rem;display:grid}.login-tabs{background:#050e1880;border-radius:14px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.login-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:.62rem;font-size:.93rem;transition:background .14s,color .14s}.login-tab-active{color:var(--gold);background:#e6be7724}.login-divider{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.82rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--stroke);flex:1;height:1px}@media (width<=640px){.login-page{min-height:unset;grid-template-columns:1fr;gap:2rem}.login-left{text-align:center;padding:0}.login-features{text-align:left}.topbar-right{gap:.5rem}.nav-user-name{display:none}}.wl-layout{grid-template-columns:220px 1fr;align-items:start;gap:1.5rem;display:grid}.wl-sidebar{background:var(--bg-card);border:1px solid var(--stroke);border-radius:20px;flex-direction:column;gap:.5rem;padding:1.2rem 1rem;display:flex;position:sticky;top:1.2rem}.wl-sidebar-header{border-bottom:1px solid var(--stroke);margin-bottom:.25rem;padding-bottom:.6rem}.wl-sidebar-user{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.82rem;display:block;overflow:hidden}.wl-sidebar-nav{flex-direction:column;gap:.2rem;display:flex}.wl-sidebar-item{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:.55rem .75rem;font-size:.9rem;transition:background .13s,color .13s;display:flex}.wl-sidebar-item:hover{color:var(--text-primary);background:#e6be7714}.wl-sidebar-item-active{color:var(--gold);background:#e6be7724}.wl-sidebar-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.wl-sidebar-item-count{color:var(--text-muted);background:#a2b3c41a;border-radius:99px;flex-shrink:0;margin-left:.4rem;padding:.1rem .45rem;font-size:.78rem}.wl-sidebar-create{padding:.5rem 0 .25rem}.wl-sidebar-add{width:100%;color:var(--gold);cursor:pointer;text-align:center;background:0 0;border:1px dashed #e6be774d;border-radius:12px;margin-top:.4rem;padding:.55rem .75rem;font-size:.88rem;transition:border-color .13s,background .13s}.wl-sidebar-add:hover{background:#e6be770f;border-color:#e6be778c}.wl-group{border-top:1px solid #a2b3c41a;margin-top:.4rem;padding-top:.4rem}.wl-group:first-of-type{border-top:none;margin-top:.4rem;padding-top:0}.wl-group-header{width:100%;color:var(--text-muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem;font-size:.82rem;font-weight:600;transition:color .12s,background .12s;display:flex}.wl-group-header:hover{color:var(--text-primary);background:#a2b3c40f}.wl-group-chevron{color:#a2b3c499;width:.9rem;font-size:.7rem}.wl-group-title{text-align:left;flex:1}.wl-group-count{color:#a2b3c48c;font-size:.72rem;font-weight:500}.wl-group-empty{color:#a2b3c48c;margin:0;padding:.4rem .6rem;font-size:.78rem;font-style:italic}.wl-expert-node{margin-bottom:.2rem}.wl-expert-toggle{width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .5rem;font-size:.83rem;transition:background .12s;display:flex}.wl-expert-toggle:hover{background:#a2b3c40d}.wl-expert-chevron{color:#a2b3c48c;width:.8rem;font-size:.66rem}.wl-expert-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.wl-expert-status{letter-spacing:.02em;border-radius:999px;padding:1px 7px;font-size:.7rem;font-weight:500}.wl-expert-status-live{color:#5ad0c5;background:#5ad0c526}.wl-expert-status-waiting{color:var(--gold,#e6be77);background:#e6be771f}.wl-expert-list{margin-left:1.1rem;padding:.15rem 0 .2rem}.wl-sidebar-item-nested{padding:.4rem .6rem;font-size:.82rem}.exp-status-card{background:#e6be7714;border:1px solid #e6be7738;border-radius:14px;margin-bottom:1.2rem;padding:.9rem 1.1rem}.wl-list-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.wl-main{min-width:0}.wl-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.wl-list-title{color:var(--text-primary);margin:0;font-size:1.35rem}.wl-list-actions{flex-wrap:wrap;gap:.5rem;display:flex}.wl-insight-bar{flex-wrap:wrap;align-items:stretch;gap:.7rem;margin-bottom:1.1rem;display:flex}.wl-insight-tile{min-width:8rem;color:var(--text-main);cursor:pointer;font:inherit;text-align:left;background:#1224356b;border:1px solid #a2b3c42e;border-radius:14px;flex-direction:column;flex:8rem;align-items:flex-start;gap:.2rem;padding:.75rem .95rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.wl-insight-tile:hover:not(:disabled){border-color:#e6be7761;transform:translateY(-1px)}.wl-insight-tile:disabled{opacity:.45;cursor:default}.wl-insight-value{letter-spacing:-.01em;font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:700;line-height:1.1}.wl-insight-label{color:var(--text-muted);letter-spacing:.02em;font-size:.78rem}.wl-insight-tile-cheap .wl-insight-value{color:#34d399}.wl-insight-tile-gold .wl-insight-value{color:var(--gold)}.wl-insight-tile-teal .wl-insight-value{color:var(--teal)}.wl-insight-tile-fresh .wl-insight-value{color:#f8deb3}.wl-insight-tile-active{border-color:var(--gold);background:#e6be771f;box-shadow:inset 0 0 0 1px #e6be7747}.wl-insight-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:1px dashed #a2b3c452;border-radius:999px;align-self:center;padding:.35rem .75rem;font-size:.8rem;transition:color .16s,border-color .16s}.wl-insight-clear:hover{color:var(--text-main);border-color:#e6be7780}@media (width<=720px){.wl-insight-tile{flex:calc(50% - .35rem)}}.wl-table-wrap{border:1px solid var(--stroke);background:var(--bg-card);border-radius:20px;max-height:72vh;position:relative;overflow:auto}.wl-table-empty{border:1px dashed var(--stroke);background:var(--bg-card);text-align:center;border-radius:20px;padding:2.5rem 1.5rem}.wl-table{border-collapse:collapse;width:100%;font-size:.93rem}.wl-table td{font-variant-numeric:tabular-nums}.wl-table-head th{text-align:right;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--stroke);white-space:nowrap;z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#081827f5;padding:.85rem 1rem;font-size:.8rem;font-weight:600;position:sticky;top:0}.wl-table-head th:first-child{text-align:left}.wl-table-head-sub th{text-transform:none;letter-spacing:0;border-bottom:none;padding:.3rem 1rem .6rem;font-size:.75rem;font-weight:500;top:2.8rem}.num-col{text-align:right;font-variant-numeric:tabular-nums;font-family:Manrope,monospace,sans-serif}.sub-label{color:#a2b3c48c}.wl-row-top td{vertical-align:bottom;border-top:1px solid var(--stroke);padding:1rem 1rem .3rem}.wl-row-bot td{vertical-align:top;color:var(--text-muted);padding:.3rem 1rem .85rem;font-size:.86rem}.wl-row-spacer td{background:0 0;height:.25rem}.wl-ticker-cell{white-space:nowrap;align-items:center;gap:.5rem;display:flex}.wl-ticker-name{color:var(--text-primary);letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.wl-market-tag{color:var(--text-muted);background:#a2b3c41a;border-radius:99px;padding:.1rem .4rem;font-size:.72rem}.zone-tag{letter-spacing:.03em;border-radius:99px;padding:.18rem .5rem;font-size:.74rem;font-weight:600}.zone-cheap{color:#34d399;background:#34d39926}.zone-fair{color:#fbbf24;background:#fbbf2426}.zone-expensive{color:#f87171;background:#f8717126}.zone-legend{background:color-mix(in srgb, var(--surface-1) 60%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.78rem;display:flex}.zone-legend-item{background:0 0;padding:0;font-weight:600}.zone-legend-hint{color:var(--text-muted);margin-left:auto;font-size:.74rem}.return-pct.positive{color:#34d399;font-weight:700}.return-pct.negative{color:#f87171;font-weight:700}.cheap-price{color:#34d399}.fair-price{color:var(--text-primary)}.expensive-price{color:#f87171}.current-price{color:var(--text-primary);font-weight:600}.currency{color:var(--text-muted);margin-left:.2rem;font-size:.75rem}.dividend .mock-label{color:#a2b3c480;margin-left:.2rem;font-size:.7rem}.wl-note-cell{min-width:160px}.wl-note-input{width:100%;color:var(--text-muted);font:inherit;background:0 0;border:none;border-bottom:1px solid #0000;padding:.2rem 0;font-size:.83rem;transition:border-color .13s}.wl-note-input:focus{color:var(--text-primary);border-bottom-color:#5ad0c566;outline:none}.wl-note-input::placeholder{color:#a2b3c44d}.wl-note-display{max-width:100%;color:var(--text-muted);font:inherit;text-align:left;cursor:text;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.35rem;margin:-.25rem -.4rem;padding:.25rem .4rem;font-size:.83rem;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.wl-note-display:hover,.wl-note-display:focus-visible{color:var(--text-primary);background:#e6be770f;border-color:#e6be774d;outline:none}.wl-note-display-empty{color:#a2b3c473;font-style:italic}.wl-note-edit-icon{opacity:0;color:#e6be77b3;font-size:.75rem;transition:opacity .12s}.wl-note-display:hover .wl-note-edit-icon,.wl-note-display:focus-visible .wl-note-edit-icon{opacity:1}.wl-note-readonly{color:#a2b3c466;font-size:.83rem}.wl-buy-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.wl-buy-fresh{color:#0b1a2a;background:linear-gradient(135deg,#e6be77,#dca742);animation:2.4s ease-in-out infinite wl-buy-fresh-pulse;box-shadow:0 0 12px #e6be7766}.wl-buy-recent{color:var(--text-muted);background:#a2b3c429;border:1px solid #a2b3c438}@keyframes wl-buy-fresh-pulse{0%,to{box-shadow:0 0 12px #e6be7766}50%{box-shadow:0 0 20px #e6be77a6}}.wl-buy-toggle{letter-spacing:.02em;color:#e6be77e6;cursor:pointer;white-space:nowrap;background:#e6be7714;border:1px solid #e6be7752;border-radius:999px;padding:.3rem .65rem;font-size:.76rem;font-weight:600;transition:background .13s,color .13s,border-color .13s}.wl-buy-toggle:hover:not(:disabled){color:var(--gold,#e6be77);background:#e6be7729}.wl-buy-toggle-on{color:#0b1a2a;background:linear-gradient(135deg,#e6be77,#dca742);border-color:#0000}.wl-buy-toggle-on:hover:not(:disabled){color:#0b1a2a;background:linear-gradient(135deg,#eac683,#e2ae4f)}.wl-buy-toggle:disabled{opacity:.55;cursor:not-allowed}.wl-actions-cell{vertical-align:middle;width:90px;padding:.5rem .75rem!important}.wl-row-actions{justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.icon-btn{border:1px solid var(--stroke);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn:hover{color:var(--text-primary);background:#a2b3c41f;border-color:#a2b3c466}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn-danger:hover{color:#f87171;background:#f871711f;border-color:#f8717159}.atw-wrapper{position:relative}.atw-menu{background:var(--bg-panel,#0d1e2e);border:1px solid var(--stroke);z-index:200;border-radius:16px;gap:.15rem;width:240px;padding:.6rem .5rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 32px #00000073}.atw-menu-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0;padding:.3rem .6rem .5rem;font-size:.74rem}.atw-menu-empty{color:#a2b3c480;margin:0;padding:.25rem .6rem;font-size:.84rem}.atw-menu-hint{color:var(--text-muted);margin:0;padding:0 .6rem .5rem;font-size:.82rem;line-height:1.55}.atw-menu-item{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.9rem;transition:background .12s,color .12s;display:flex}.atw-menu-item:hover{color:var(--text-primary);background:#e6be771a}.atw-menu-item-saved{color:#34d399}.atw-menu-item-new{color:var(--gold);font-size:.86rem}.atw-menu-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.atw-menu-item-count{color:var(--text-muted);background:#a2b3c414;border-radius:99px;flex-shrink:0;padding:.1rem .4rem;font-size:.76rem}.atw-check{color:#34d399;flex-shrink:0;font-size:.9rem}.atw-error{color:#f87171;margin:0;padding:.25rem .75rem;font-size:.78rem}.atw-divider{background:var(--stroke);height:1px;margin:.35rem .5rem}.atw-create-row{align-items:center;gap:.4rem;padding:.3rem .5rem;display:flex}.atw-create-input{min-height:2rem;color:var(--text-main);font:inherit;background:#050e18a3;border:1px solid #a2b3c442;border-radius:8px;flex:1;padding:.35rem .6rem;font-size:.88rem}.atw-create-input:focus-visible{outline-offset:2px;outline:2px solid #5ad0c557}.atw-create-btn{color:var(--gold);cursor:pointer;white-space:nowrap;background:#e6be772e;border:none;border-radius:8px;padding:.35rem .7rem;font-size:.86rem;transition:background .12s}.atw-create-btn:hover:not(:disabled){background:#e6be774d}.atw-create-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=720px){.wl-layout{grid-template-columns:1fr}.wl-sidebar{flex-direction:column;position:static}.wl-sidebar-nav{flex-flow:wrap;gap:.35rem}.wl-sidebar-item{flex:0 auto}.wl-table-head-sub,.wl-row-bot td:not(:first-child){display:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--stroke) 25%, color-mix(in srgb, var(--stroke) 60%, var(--surface-1)) 50%, var(--stroke) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s infinite shimmer;display:block}.skeleton-text{width:55%;height:.75rem}.skeleton-value{width:80%;height:1.6rem;margin:.4rem 0}.skeleton-small{width:40%;height:.65rem}.snapshot-empty{flex-direction:column;gap:.75rem;display:flex}.sample-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sample-chips-label{color:var(--text-muted);font-size:.8rem}.sample-chip{border:1px solid var(--stroke);color:var(--accent,#f8deb3);cursor:pointer;font-family:var(--font-mono,ui-monospace, monospace);background:0 0;border-radius:20px;padding:.25rem .75rem;font-size:.82rem;font-weight:600;transition:background .12s,border-color .12s}.sample-chip:hover{background:color-mix(in srgb, var(--accent,#f8deb3) 12%, transparent);border-color:var(--gold,#e6be77)}.sample-chip:focus-visible{outline:2px solid var(--gold,#e6be77);outline-offset:2px}.empty-hint{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.5}.recent-tickers{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.recent-tickers-label{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.recent-tickers-clear{color:#a2b3c48c;cursor:pointer;background:0 0;border:1px solid #a2b3c42e;border-radius:999px;margin-left:auto;padding:.25rem .6rem;font-size:.72rem;transition:color .12s,border-color .12s}.recent-tickers-clear:hover{color:#f78f8f;border-color:#f78f8f73}.toast-stack{bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:9999;pointer-events:none;flex-direction:column;gap:.6rem;display:flex;position:fixed;right:1.5rem}@media (width<=640px){.toast-stack{left:1rem;right:1rem;bottom:calc(env(safe-area-inset-bottom) + 1rem)}.toast{width:100%;min-width:0;max-width:none}}.toast{pointer-events:all;border-radius:8px;align-items:center;gap:.75rem;min-width:220px;max-width:360px;padding:.7rem 1rem;font-size:.875rem;animation:.2s toast-in;display:flex;box-shadow:0 4px 16px #0006}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{color:#dcfce7;background:#166534;border:1px solid #15803d}.toast-error{color:#fee2e2;background:#7f1d1d;border:1px solid #b91c1c}.toast-info{color:#dbeafe;background:#1e3a5f;border:1px solid #1d4ed8}.toast-msg{flex:1;line-height:1.4}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}.toast-close:hover{opacity:1}.bh-section{border-top:1px solid var(--stroke);margin-top:1.75rem;padding-top:1.25rem}.bh-header{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.bh-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.bh-meta{color:var(--text-muted);font-size:.75rem}.bh-table{border-collapse:collapse;width:100%;font-size:.85rem}.bh-table thead tr{border-bottom:1px solid var(--stroke)}.bh-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.4rem .5rem;font-size:.72rem;font-weight:600}.bh-th-rank{width:2rem}.bh-th-ticker{width:6rem}.bh-th-weight{width:10rem}.bh-th-value,.bh-th-shares{width:6rem}.bh-th-action{width:3rem}.bh-row{border-bottom:1px solid color-mix(in srgb, var(--stroke) 50%, transparent);transition:background .12s}.bh-row:hover{background:color-mix(in srgb, var(--surface-1) 70%, var(--accent) 30%)}.bh-table td{vertical-align:middle;padding:.55rem .5rem}.bh-td-rank{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.bh-ticker{font-family:var(--font-mono,ui-monospace, monospace);color:var(--accent,#f8deb3);letter-spacing:.02em;font-size:.9rem;font-weight:700}.bh-ticker-unmapped{color:var(--text-muted);font-size:.78rem;font-style:italic}.bh-weight-cell{align-items:center;gap:.5rem;display:flex}.bh-weight-pct{font-variant-numeric:tabular-nums;min-width:3.2rem;color:var(--text-primary);font-size:.82rem}.bh-weight-bar-track{background:var(--stroke);border-radius:2px;flex:1;height:4px;overflow:hidden}.bh-weight-bar-fill{background:var(--accent,#f8deb3);border-radius:2px;height:100%;transition:width .3s}.bh-td-value,.bh-td-shares{font-variant-numeric:tabular-nums;color:var(--text-secondary,var(--text-muted));font-size:.82rem}.bh-analyze-btn{border:1px solid var(--stroke);color:var(--accent,#f8deb3);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .45rem;font-size:.8rem;transition:background .1s,border-color .1s}.bh-analyze-btn:hover{background:color-mix(in srgb, var(--accent,#f8deb3) 15%, transparent);border-color:var(--accent,#f8deb3)}.bh-no-ticker{color:var(--text-muted);padding:.2rem .45rem;font-size:.7rem}.bh-expand-btn{border:1px solid var(--stroke);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin:.9rem auto 0;padding:.4rem 1.2rem;font-size:.8rem;transition:border-color .1s,color .1s;display:block}.bh-expand-btn:hover{border-color:var(--accent,#f8deb3);color:var(--text-primary)}@media (width<=720px){.bh-table{display:block}.bh-table thead{display:none}.bh-table tbody{display:block}.bh-row{border-bottom:1px solid var(--stroke);grid-template-columns:1fr 1fr;gap:.25rem .75rem;padding:.75rem .5rem;display:grid}.bh-table td{padding:0}.bh-td-rank{display:none}.bh-td-ticker{grid-area:1/1}.bh-td-weight{grid-area:1/2}.bh-weight-cell{flex-direction:column;align-items:flex-end;gap:.2rem}.bh-weight-bar-track{width:80px}.bh-td-value{grid-area:2/1;font-size:.78rem}.bh-td-shares{text-align:right;grid-area:2/2;font-size:.78rem}.bh-td-action{grid-area:3/1/auto/-1}.bh-analyze-btn{width:100%}}.bh-chart-wrap{background:linear-gradient(#0818278c,#08182733);border:1px solid #e6be771f;border-radius:16px;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:1.5rem;margin:1.25rem 0 1.5rem;padding:1.25rem;display:grid}.bh-chart-canvas{width:100%;min-width:0;height:320px;position:relative}.bh-chart-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 1rem;display:flex;position:absolute;inset:0}.bh-chart-center-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem;font-size:.7rem}.bh-chart-center-value{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;line-height:1.15}.bh-chart-center-sub{color:var(--text-muted);margin-top:.2rem;font-size:.7rem}.bh-chart-legend{flex-direction:column;gap:.35rem;min-width:0;display:flex}.bh-legend-item{color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.4rem .55rem;transition:background .16s,border-color .16s,opacity .16s;display:grid}.bh-legend-item:hover,.bh-legend-item-active{background:#e6be7714;border-color:#e6be7740}.bh-legend-item-dim{opacity:.35}.bh-legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.bh-legend-label{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.bh-legend-weight{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.bh-chart-tooltip{background:#081827f2;border:1px solid #e6be7759;border-radius:10px;min-width:160px;padding:.6rem .8rem;box-shadow:0 12px 30px #00000059}.bh-chart-tooltip-title{color:var(--gold);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.bh-chart-tooltip-row{color:var(--text-muted);justify-content:space-between;gap:.75rem;font-size:.78rem;display:flex}.bh-chart-tooltip-row strong{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:600}.bh-chart-empty{min-height:220px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.bh-row{transition:background .16s,opacity .16s}.bh-row-active{background:#e6be771a}.bh-row-dim{opacity:.45}.bh-error-state{background:#ff7b780d;border:1px solid #ff7b7840;border-radius:14px;align-items:center;gap:1rem;margin:1rem 0;padding:1.25rem 1.4rem;display:flex}.bh-error-icon{color:var(--danger,#ff7b78);flex-shrink:0;font-size:1.75rem}.bh-error-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.bh-error-body strong{color:var(--text-main);font-size:.95rem}.bh-error-message{color:var(--text-muted);word-break:break-word;margin:0;font-size:.82rem}@keyframes bh-fade-in-soft{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel .metric-grid,.bh-section,.fade-in-soft{animation:.26s both bh-fade-in-soft}.metric-grid-loading{opacity:.55;transition:opacity .22s}@media (width<=860px){.bh-chart-wrap{grid-template-columns:1fr;gap:1rem}.bh-chart-canvas{height:260px}.bh-chart-legend{flex-flow:wrap;gap:.35rem .5rem}.bh-legend-item{flex:45%}}@media (width<=960px){.atw-wrapper{position:static}.atw-menu{z-index:60;border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:70vh;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -12px 32px #0006}}.confirm-dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#040c16ad;justify-content:center;align-items:center;padding:1.5rem;animation:.14s ease-out confirm-fade-in;display:flex;position:fixed;inset:0}.confirm-dialog{width:min(420px,100%);color:var(--text-primary);background:linear-gradient(160deg,#101f31f5,#091626f5);border:1px solid #e6be7738;border-radius:18px;padding:1.6rem 1.5rem 1.3rem;animation:.18s ease-out confirm-pop-in;box-shadow:0 24px 48px #00000080}.confirm-dialog-title{letter-spacing:.01em;margin:0 0 .6rem;font-size:1.08rem;font-weight:600}.confirm-dialog-message{color:var(--text-muted);margin:0 0 1.4rem;font-size:.92rem;line-height:1.55}.confirm-dialog-message strong{color:var(--text-primary);font-weight:600}.confirm-dialog-actions{justify-content:flex-end;gap:.6rem;display:flex}.confirm-danger{color:#fff;background:linear-gradient(135deg,#c94b4b,#a93838);border-color:#c94b4b99}.confirm-danger:hover:not(:disabled){background:linear-gradient(135deg,#d85a5a,#b94040)}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}
