:root,[data-theme=dawn]{--bg:#1a1e28;--bg2:#222838;--surface:#2a3040;--border:#344058;--border2:#445070;--text:#b8c8d8;--text2:#7a90a8;--text3:#445568;--accent:#2e5a8c;--accent-bg:#1a2438;--accent-t:#7ab0e0;--green:#5aab72;--green-bg:#0d2018;--green-t:#a8e8bc;--red:#cc5050;--red-bg:#221010;--red-t:#f5a8a8;--warn:#7a9cc0;--warn-bg:#1a2438;--warn-border:#2e5a8c;--warn-t:#a8c8e8;--radius:8px;--shadow:0 1px 3px #00000059,0 1px 2px #00000040;--sky-gradient:linear-gradient(180deg,#1a1e30 0%,#2e3450 35%,#5a4a68 65%,#8a6478 100%);--bg-scrim:#1a1e28;--bg-scrim-opacity:.35}[data-theme=morning]{--bg:#e8f4fc;--bg2:#d4eaf8;--surface:#dcedf8;--border:#b0d4ec;--border2:#7ab4d8;--text:#1a3a50;--text2:#2e6080;--text3:#5a90b0;--accent:#e8922a;--accent-bg:#fff4e0;--accent-t:#a05c0a;--green:#2e7d4f;--green-bg:#eaf7f0;--green-t:#1a5c38;--red:#c0392b;--red-bg:#fdecea;--red-t:#8b1a10;--warn:#c07820;--warn-bg:#fff8e8;--warn-border:#e8b84a;--warn-t:#7a4a08;--radius:8px;--shadow:0 1px 3px #00000014,0 1px 2px #0000000d;--sky-gradient:linear-gradient(180deg,#a8d0ec 0%,#cdb98c 55%,#e0c9a0 100%);--bg-scrim:#a0824e;--bg-scrim-opacity:.32}[data-theme=dusk]{--bg:#0e0a06;--bg2:#1a120a;--surface:#221810;--border:#382410;--border2:#503418;--text:#f4d8b0;--text2:#c09060;--text3:#785030;--accent:#e06c1a;--accent-bg:#281408;--accent-t:#f5b06a;--green:#5aab72;--green-bg:#0a1e0c;--green-t:#a8e8bc;--red:#cc5050;--red-bg:#200c08;--red-t:#f5a8a8;--warn:#e06c1a;--warn-bg:#281408;--warn-border:#604020;--warn-t:#f5b06a;--radius:8px;--shadow:0 1px 3px #00000080,0 1px 2px #0006;--sky-gradient:linear-gradient(180deg,#1a0e10 0%,#5a2c1e 40%,#c0601f 75%,#e0a050 100%);--bg-scrim:#0e0a06;--bg-scrim-opacity:.35}[data-theme=night]{--bg:#080810;--bg2:#0e0e1c;--surface:#141428;--border:#201e38;--border2:#302e50;--text:#e8dfd4;--text2:#a098b8;--text3:#585570;--accent:#c0282a;--accent-bg:#1e0808;--accent-t:#f0a0a0;--green:#5aab72;--green-bg:#081a10;--green-t:#a8e8bc;--red:#cc5050;--red-bg:#1e0808;--red-t:#f5a8a8;--warn:#c0282a;--warn-bg:#1e0808;--warn-border:#502020;--warn-t:#f0a0a0;--radius:8px;--shadow:0 1px 3px #0009,0 1px 2px #00000080;--sky-gradient:linear-gradient(180deg,#020206 0%,#0a0a1c 30%,#1e1840 60%,#3c2244 82%,#5a2a3a 100%);--bg-scrim:#080810;--bg-scrim-opacity:.22}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:0 0;min-height:100vh;font-family:Georgia,Times New Roman,serif;transition:color .3s}body.intro-locked{overflow:hidden}#theme-bg{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}#theme-bg-sky{background:var(--sky-gradient);transition:background 1.2s;position:absolute;inset:0}#theme-bg-art{width:100%;min-width:1200px;height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;opacity:0;transition:opacity 1s;display:block;position:absolute;bottom:0;left:50%;transform:translate(-50%)}#theme-bg-art.loaded{opacity:.65}#theme-bg-scrim{background:var(--bg-scrim,var(--bg));opacity:var(--bg-scrim-opacity,.35);transition:opacity 1s,background 1.2s;position:absolute;inset:0}#theme-ambient-canvas{width:100%;height:100%;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){#theme-bg-art{transition:none}}.topbar{background:var(--surface);border-bottom:2px solid var(--accent);z-index:100;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #00000040}.logo{color:var(--text);letter-spacing:-.3px;white-space:nowrap;font-family:Noto Serif,Georgia,serif;font-size:18px;font-weight:700}.logo span{color:var(--accent)}.logo-kanji{color:var(--text3);letter-spacing:1px;vertical-align:middle;margin-left:6px;font-family:Noto Serif,serif;font-size:11px}.tab-group{background:var(--bg2);border:1px solid var(--border);border-radius:0;gap:4px;padding:3px;display:flex}.tab-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:0;padding:5px 14px;font-family:Noto Serif,Georgia,serif;font-size:13px;transition:background .15s,color .15s}.tab-btn.active{background:var(--accent);color:#fff;font-weight:600;box-shadow:0 2px 8px #0003}.tab-badge{background:var(--accent-bg);color:var(--accent-t);vertical-align:middle;border-radius:0;margin-left:4px;padding:1px 6px;font-family:sans-serif;font-size:10px;display:inline-block}.spacer{flex:1}.search-wrap{align-items:center;display:flex;position:relative}.search-icon{color:var(--text3);pointer-events:none;position:absolute;left:10px}.search-input{border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:0;outline:none;width:180px;padding:6px 10px 6px 32px;font-family:sans-serif;font-size:13px;transition:border-color .15s,width .2s}.search-input:focus{border-color:var(--accent);width:220px}.search-input::placeholder{color:var(--text3)}.icon-btn{background:var(--bg2);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text2);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.icon-btn:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}.main{max-width:1600px;margin:0 auto;padding:24px}.actions-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.section-title{color:var(--text);font-family:Noto Serif,Georgia,serif;font-size:15px;font-weight:600}.btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text2);border-radius:0;align-items:center;gap:6px;padding:7px 16px;font-family:sans-serif;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){background:var(--bg2)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.btn-primary:hover:not(:disabled){opacity:.9;background:var(--accent)}.btn-hit{background:var(--green-bg);color:var(--green-t);border-color:var(--green);font-weight:600}.btn-hit:hover:not(:disabled){background:var(--green);color:#fff}.btn-miss{background:var(--red-bg);color:var(--red-t);border-color:var(--red);font-weight:600}.btn-miss:hover:not(:disabled){background:var(--red);color:#fff}.btn-sltp{background:var(--accent-bg);color:var(--accent-t);border-color:var(--accent-t);font-weight:600}.btn-sltp:hover:not(:disabled){background:var(--accent-t);color:var(--bg)}.btn-edit{background:var(--accent-bg);color:var(--accent-t);border-color:var(--accent)}.btn-edit:hover:not(:disabled){background:var(--accent);color:#fff}.btn-restore{background:var(--bg2);color:var(--text2);border-color:var(--border2)}.btn-restore:hover:not(:disabled){background:var(--accent-bg);color:var(--accent-t);border-color:var(--accent)}.btn-idx-lapkeu{border:1px solid var(--border);background:var(--bg2);width:100%;color:var(--text2);cursor:pointer;border-radius:0;justify-content:flex-start;align-items:center;gap:7px;margin-top:8px;padding:8px 12px;font-family:sans-serif;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:flex}.btn-idx-lapkeu:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}@keyframes wacc-flash{0%{background:var(--accent-bg);border-color:var(--accent)}to{background:var(--bg2);border-color:var(--border)}}.wacc-autofilled{animation:1.2s wacc-flash}.filter-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;display:flex}.filter-chip{border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;white-space:nowrap;border-radius:0;padding:4px 10px;font-family:sans-serif;font-size:11px;transition:all .15s}.filter-chip:hover{border-color:var(--accent);color:var(--accent-t)}.filter-chip.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t);font-weight:600}.filter-chip.warn-chip.active{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-t)}.emiten-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.emiten-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);box-shadow:var(--shadow);cursor:pointer;border-radius:0;flex-direction:column;gap:10px;padding:16px;transition:border-color .2s,opacity .15s,box-shadow .2s,transform .2s;display:flex;position:relative}.emiten-card:before{content:"";background:linear-gradient(to bottom,var(--accent),transparent 80%);opacity:.8;width:3px;position:absolute;top:0;bottom:0;left:-3px}.emiten-card:hover{box-shadow:0 8px 24px #00000040,0 0 0 1px var(--accent);transform:translateY(-2px)}.emiten-card.overvalue{border-left-color:var(--red)}.emiten-card.overvalue:before{background:linear-gradient(to bottom,var(--red),transparent 80%)}.emiten-card.undervalue{border-left-color:var(--green)}.emiten-card.undervalue:before{background:linear-gradient(to bottom,var(--green),transparent 80%)}.emiten-card.holding-warn{border-left-color:var(--warn)!important}.emiten-card.holding-warn:before{background:linear-gradient(to bottom,var(--warn),transparent 80%)!important}.emiten-card.dragging{opacity:.3;box-shadow:none;border-style:dashed}.emiten-card.drag-over{box-shadow:0 0 0 2px var(--accent),var(--shadow);background:var(--accent-bg);border-color:var(--accent)!important}.holding-warn-banner{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-t);border-radius:0;align-items:flex-start;gap:7px;padding:8px 10px;font-family:sans-serif;font-size:11px;line-height:1.5;display:flex}.holding-warn-banner svg{color:var(--warn);flex-shrink:0;margin-top:1px}.card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-header-left{flex-direction:column;gap:4px;display:flex}.ticker{color:var(--text);letter-spacing:-.3px;text-shadow:0 1px 3px #0003;font-family:Noto Serif,Georgia,serif;font-size:20px;font-weight:700}.tebakan-inline{letter-spacing:.3px;border-radius:0;align-items:center;gap:4px;width:fit-content;padding:2px 8px;font-family:Noto Serif,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.tebakan-inline.bullish{background:var(--green-bg);color:var(--green-t);border:1px solid var(--green)}.tebakan-inline.bearish{background:var(--red-bg);color:var(--red-t);border:1px solid var(--red)}.card-header-right{align-items:flex-start;gap:6px;display:flex}.badge{letter-spacing:.3px;white-space:nowrap;border-radius:0;padding:3px 10px;font-family:sans-serif;font-size:11px;font-weight:600}.badge.green{background:var(--green-bg);color:var(--green-t)}.badge.red{background:var(--red-bg);color:var(--red-t)}.badge.pending{background:var(--bg2);color:var(--text3)}.drag-handle{width:22px;height:22px;color:var(--text3);cursor:grab;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;transition:color .15s,background .15s;display:flex}.drag-handle:hover{color:var(--text2);background:var(--bg2)}.drag-handle:active{cursor:grabbing}.sector-badge{background:var(--bg2);border:1px solid var(--border2);color:var(--text3);white-space:nowrap;border-radius:0;align-items:center;gap:3px;padding:2px 8px;font-family:sans-serif;font-size:10px;font-weight:500;display:inline-flex}.meta-row{color:var(--text3);flex-wrap:wrap;align-items:center;gap:8px;font-family:sans-serif;font-size:11px;display:flex}.meta-dot{background:var(--text3);border-radius:50%;flex-shrink:0;width:3px;height:3px}.fv-section{flex-direction:column;gap:4px;display:flex}.price-main{align-items:baseline;gap:8px;display:flex}.price-label{color:var(--text3);min-width:62px;font-family:sans-serif;font-size:11px}.price-val{color:var(--text);font-family:Georgia,serif;font-size:22px;font-weight:700}.fv-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 0;font-family:sans-serif;font-size:12px;display:flex}.fv-row:last-child{border-bottom:none}.fv-label{color:var(--text3)}.fv-vals{align-items:center;gap:8px;display:flex}.fv-num{color:var(--text);font-weight:600}.disc-pill{border-radius:0;padding:1px 6px;font-size:10px;font-weight:600}.disc-pill.pos{background:var(--green-bg);color:var(--green-t)}.disc-pill.neg{background:var(--red-bg);color:var(--red-t)}.progress-wrap{flex-direction:column;gap:4px;display:flex}.progress-label{color:var(--text3);justify-content:space-between;font-family:sans-serif;font-size:10px;display:flex}.progress-bar{background:var(--bg2);border:1px solid var(--border);contain:paint;border-radius:0;height:8.87px;overflow:hidden}.progress-fill{border-radius:0;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);position:relative}.progress-fill:after{content:"";filter:blur(4px);background:#ffffff4d;border-radius:0;width:10px;position:absolute;top:0;bottom:0;right:0}.progress-bar-live{background:var(--bg2);border:1px solid var(--border);contain:paint;border-radius:0;height:9px;position:relative;overflow:hidden}.progress-fill-live{border-radius:0;height:100%;transition:width .8s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.progress-fill-live:before{content:"";will-change:transform;background:linear-gradient(90deg,#0000 0%,#ffffff8c 50%,#0000 100%);border-radius:0;width:50%;animation:2s ease-in-out infinite liveBarPulse;position:absolute;top:0;bottom:0;left:-60%}.progress-fill-live:after{content:"";filter:blur(4px);background:#ffffff40;border-radius:0;width:10px;position:absolute;top:0;bottom:0;right:0}@keyframes liveBarPulse{0%{opacity:0;transform:translate(0%)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(340%)}}.progress-wrap-live{flex-direction:column;gap:5px;margin-top:2px;display:flex}.progress-label-live{color:var(--text3);justify-content:space-between;align-items:center;font-family:sans-serif;font-size:10px;display:flex}.live-dot-blink{aspect-ratio:1;background:var(--green);vertical-align:middle;will-change:opacity;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:4px;line-height:0;animation:2s ease-in-out infinite liveDotFade;display:inline-block;position:relative}.live-dot-blink:after{content:"";background:var(--green);will-change:transform,opacity;border-radius:50%;animation:2s ease-in-out infinite liveDotRing;position:absolute;inset:0}@keyframes liveDotFade{0%,to{opacity:1}50%{opacity:.6}}@keyframes liveDotRing{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(2)}}.live-bar-pct{font-family:sans-serif;font-size:10.5px;font-weight:700}.notes-box{color:var(--text2);background:var(--bg2);word-break:break-word;border-radius:0;min-height:32px;padding:8px 10px;font-family:sans-serif;font-size:12px;line-height:1.5}.notes-cols{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px;display:grid}.notes-col{border-radius:0;padding:7px 9px}.notes-col.pos{background:var(--green-bg)}.notes-col.neg{background:var(--red-bg)}.notes-col-label{letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:4px;margin-bottom:4px;font-size:10px;font-weight:700;display:flex}.notes-col.pos .notes-col-label{color:var(--green-t)}.notes-col.neg .notes-col-label{color:var(--red-t)}.notes-item{gap:5px;padding:2px 0;font-size:11px;line-height:1.45;display:flex}.notes-item:before{content:"•";flex-shrink:0;margin-top:1px}.notes-col.pos .notes-item{color:var(--green-t)}.notes-col.neg .notes-item{color:var(--red-t)}.notes-general{color:var(--text2);white-space:pre-wrap;font-size:12px;line-height:1.5}.history-toggle{color:var(--text3);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-family:sans-serif;font-size:11px;display:flex}.history-toggle:hover{color:var(--accent)}.history-list{flex-direction:column;gap:8px;margin-top:6px;display:flex}.history-entry{background:var(--bg2);color:var(--text2);border-left:2px solid var(--border2);border-radius:0;padding:8px 10px;font-family:sans-serif;font-size:11px}.he-top{justify-content:space-between;margin-bottom:4px;display:flex}.he-quarter{color:var(--text);font-weight:600}.he-price{color:var(--text3)}.he-fvs{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.he-fv-chip{background:var(--surface);border:1px solid var(--border);color:var(--text2);border-radius:0;padding:1px 6px;font-size:10px}.entry-stack-wrap{margin:2px 0 4px;position:relative}.entry-stack-peek{background:var(--bg2);border:1px solid var(--border);z-index:0;opacity:.7;border-radius:0;height:14px;position:absolute;bottom:-5px;left:6px;right:6px}.entry-stack-peek2{background:var(--bg2);border:1px solid var(--border);z-index:-1;opacity:.4;border-radius:0;height:10px;position:absolute;bottom:-10px;left:12px;right:12px}.entry-stack-card{z-index:1;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:0;flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:relative}.entry-stack-nav{justify-content:center;align-items:center;gap:10px;margin:6px 0 8px;font-family:sans-serif;display:flex}.entry-stack-arrow{background:var(--bg2);border:1px solid var(--border);cursor:pointer;width:30px;height:30px;color:var(--text2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex}.entry-stack-arrow:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}.entry-stack-arrow:disabled{opacity:.3;cursor:not-allowed}.entry-stack-mid{flex-direction:column;align-items:center;gap:5px;display:flex}.entry-stack-label{color:var(--text3);white-space:nowrap;font-size:11px}.entry-stack-dots{flex-wrap:wrap;justify-content:center;gap:4px;max-width:220px;display:flex}.entry-stack-dot{background:var(--border2);cursor:pointer;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .15s,transform .15s}.entry-stack-dot:hover{background:var(--text3)}.entry-stack-dot.active{background:var(--accent);transform:scale(1.3)}.entry-stack-quarter-badge{background:var(--accent-bg);color:var(--accent-t);border:1px solid var(--accent);border-radius:0;padding:1px 7px;font-family:sans-serif;font-size:10px;font-weight:600}.entry-stack-latest-badge{background:var(--green-bg);color:var(--green-t);border:1px solid var(--green);border-radius:0;padding:1px 6px;font-family:sans-serif;font-size:9px;font-weight:600}.card-footer{border-top:1px solid var(--border);flex-wrap:nowrap;align-items:center;gap:5px;margin-top:2px;padding-top:10px;display:flex}.card-footer .btn{white-space:nowrap;text-overflow:ellipsis;flex:1;justify-content:center;min-width:0;padding:6px 4px;font-size:11px;overflow:hidden}.card-footer .btn-icon{flex:none;padding:6px 8px}.card-popup-hint{color:var(--text3);text-align:center;margin-top:2px;font-family:sans-serif;font-size:10px}.add-card{background:var(--surface);border:1.5px dashed var(--border2);cursor:pointer;min-height:200px;color:var(--text3);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-family:Noto Serif,sans-serif;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:flex}.add-card:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.add-card svg{stroke:currentColor;fill:none;width:28px;height:28px}.empty-state{text-align:center;color:var(--text3);padding:60px 24px;font-family:sans-serif}.empty-state p{color:var(--text2);margin-bottom:16px;font-size:15px}.inv-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.inv-toolbar .section-title{flex:1}.inv-table-wrap{overflow-x:auto}.inv-table{border-collapse:collapse;width:100%;font-family:sans-serif;font-size:13px}.inv-table th{text-align:left;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);border-bottom:1px solid var(--border);background:var(--bg2);white-space:nowrap;padding:10px 12px;font-size:11px}.inv-table td{white-space:nowrap}.inv-table .col-tebakan,.inv-table .col-hasil{white-space:nowrap;width:1px}.inv-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 12px}.inv-table tr:last-child td{border-bottom:none}.inv-table tr:hover td{background:var(--bg2)}.inv-ticker{font-family:Georgia,serif;font-size:15px;font-weight:700}.inv-quarter{color:var(--text3);margin-top:2px;font-size:11px}.inv-badge{border-radius:0;padding:2px 9px;font-size:11px;font-weight:600}.inv-badge.hit{background:var(--green-bg);color:var(--green-t)}.inv-badge.miss{background:var(--red-bg);color:var(--red-t)}.inv-badge.bullish{background:var(--green-bg);color:var(--green-t)}.inv-badge.bearish{background:var(--red-bg);color:var(--red-t)}.inv-price-main{color:var(--text);font-size:13px;font-weight:600}.inv-date-sub{color:var(--text3);margin-top:2px;font-size:10px}.inv-miss-chip{background:var(--red-bg);color:var(--red-t);border:1px solid var(--red);white-space:nowrap;border-radius:0;padding:2px 7px;font-family:sans-serif;font-size:10px}.inv-duration{color:var(--text);white-space:nowrap;font-family:sans-serif;font-size:12px;font-weight:600}.inv-empty{text-align:center;color:var(--text3);padding:40px;font-family:sans-serif;font-size:13px}.sort-select{border:1px solid var(--border);background:var(--bg2);color:var(--text);cursor:pointer;border-radius:0;outline:none;padding:5px 10px;font-family:sans-serif;font-size:12px;transition:border-color .15s}.draw-tool-active{font-weight:600;background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.sort-select:focus{border-color:var(--accent)}.stats-tab-grid{grid-template-columns:repeat(auto-fill,minmax(444px,1fr));gap:16px;margin-bottom:24px;display:grid}.pf-summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px;display:grid}.pf-summary-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:0;min-width:0;padding:12px 10px}.pf-summary-num{white-space:nowrap;text-overflow:ellipsis;font-family:Noto Serif,Georgia,serif;font-size:18px;font-weight:700;overflow:hidden}.pf-summary-num.accent{color:var(--accent-t)}.pf-summary-num.green{color:var(--green-t)}.pf-summary-num.red{color:var(--red-t)}.pf-hero{background:var(--surface);border:1px solid var(--border);border-radius:0;margin-bottom:16px;padding:18px 18px 4px}.pf-hero-row{grid-template-columns:1fr 1fr 1fr;margin-bottom:16px;display:grid}.pf-hero-stat{flex-direction:column;gap:4px;min-width:0;display:flex}.pf-hero-stat.center{text-align:center;align-items:center}.pf-hero-stat.right{text-align:right;align-items:flex-end}.pf-hero-num{white-space:nowrap;color:var(--text);letter-spacing:-.2px;font-family:Noto Serif,Georgia,serif;font-size:16px;font-weight:700}.pf-hero-num.green{color:var(--green-t)}.pf-hero-num.red{color:var(--red-t)}.pf-hero-label{color:var(--text3);font-family:sans-serif;font-size:11.5px}.pf-hero-divider{border-top:1px solid var(--border)}.pf-hero-perf{cursor:pointer;color:var(--text2);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:14px 2px;font-family:sans-serif;font-size:13px;transition:color .15s;display:flex}.pf-hero-perf:hover{color:var(--text)}.pf-hero-perf .chevron{margin-left:auto;transition:transform .2s}.pf-hero-perf.open .chevron{transform:rotate(90deg)}.pf-list-card{background:var(--surface);border:1px solid var(--border);border-radius:0;margin-bottom:24px;padding:0 6px}.pf-list-header{color:var(--text3);border-bottom:1px solid var(--border);grid-template-columns:1.3fr 1fr 1fr 1fr;padding:8px 10px;font-family:sans-serif;font-size:11px;display:grid}.pf-list-header .pf-list-header-top{color:var(--text2);margin-bottom:2px;font-size:12px}.pf-list{padding-bottom:2px}.pf-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:1.3fr 1fr 1fr 1fr;padding:13px 10px;transition:background .12s;display:grid}.pf-row:hover{background:var(--bg2)}.pf-col{flex-direction:column;gap:3px;min-width:0;display:flex}.pf-col.right{text-align:right;align-items:flex-end}.pf-col.center{text-align:center;align-items:center}.pf-col-main{white-space:nowrap;color:var(--text);font-family:Georgia,serif;font-size:12.5px;font-weight:700}.pf-col-main.green{color:var(--green-t)}.pf-col-main.red{color:var(--red-t)}.pf-col-sub{color:var(--text3);white-space:nowrap;font-family:sans-serif;font-size:11px}.pf-col-sub.green{color:var(--green-t)}.pf-col-sub.red{color:var(--red-t)}.pfr-card{background:var(--surface);border:1px solid var(--border);border-radius:0;margin-bottom:16px;padding:18px}.pfr-title{color:var(--text);align-items:center;gap:6px;margin-bottom:14px;font-family:Noto Serif,Georgia,serif;font-size:15px;font-weight:700;display:flex}.pfr-title .tip-icon{width:15px;height:15px;font-size:10px}.pfr-stat-box{background:var(--bg2);border:1px solid var(--border);border-radius:0;flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:150px;padding:12px 16px;display:flex}.pfr-stat-row{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.pfr-stat-left{align-items:center;gap:8px;display:flex}.pfr-stat-bar{background:var(--green);border-radius:2px;align-self:stretch;width:3px}.pfr-stat-label{color:var(--text2);font-family:sans-serif;font-size:13px;font-weight:600}.pfr-stat-val{font-family:Noto Serif,Georgia,serif;font-size:16px;font-weight:700}.pfr-stat-val.green{color:var(--green-t)}.pfr-stat-val.red{color:var(--red-t)}.pfr-chart-wrap{width:100%;height:280px;position:relative}.pfr-empty{color:var(--text3);text-align:center;padding:40px 10px;font-family:sans-serif;font-size:12px}.pfr-range-bar{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:12px;display:flex}.pfr-range-btn{color:var(--text3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:6px 14px;font-family:sans-serif;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.pfr-range-btn:hover{color:var(--text2)}.pfr-range-btn.active{color:var(--green-t);border-bottom-color:var(--green)}@media (width<=640px){.pfr-stat-row{flex-direction:column}.pfr-chart-wrap{height:220px}}.pf-empty-row{text-align:center;color:var(--text3);padding:30px 10px;font-family:sans-serif;font-size:13px}.pf-summary-sub{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-family:sans-serif;font-size:10px;overflow:hidden}.stats-section{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:14px 16px}.stats-section-title svg{color:var(--accent)}.stats-kv{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-family:sans-serif;font-size:12px;display:flex}.stats-kv:last-child{border-bottom:none}.stats-k{color:var(--text3)}.stats-v{color:var(--text);font-weight:700}.stats-v.green{color:var(--green-t)}.stats-v.red{color:var(--red-t)}.stats-v.accent{color:var(--accent)}.stats-bar-row{align-items:center;gap:8px;padding:5px 0;font-family:sans-serif;font-size:12px;display:flex}.stats-bar-label{min-width:90px;color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stats-bar-track{background:var(--bg2);border-radius:0;flex:1;height:6px;overflow:hidden}.stats-bar-fill{border-radius:0;height:100%}.stats-bar-val{text-align:right;min-width:32px;color:var(--text3);font-size:11px}.stats-big{margin-bottom:2px;font-family:Noto Serif,Georgia,serif;font-size:28px;font-weight:700}.stats-sub{color:var(--text3);font-family:sans-serif;font-size:11px}.stats-empty{text-align:center;color:var(--text3);padding:32px 0;font-family:sans-serif;font-size:12px}.fv-acc-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-family:sans-serif;font-size:12px;display:flex}.fv-acc-row:last-child{border-bottom:none}.fv-acc-label{min-width:60px;color:var(--text3)}.fv-acc-bar{background:var(--bg2);border-radius:0;flex:1;height:8px;position:relative;overflow:hidden}.fv-acc-fill{border-radius:0;height:100%;transition:width .4s}.fv-acc-val{text-align:right;min-width:60px;color:var(--text);font-weight:600}.planner-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px;display:grid}.planner-card{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:12px 14px}.planner-card-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-bottom:6px;font-family:sans-serif;font-size:10px}.planner-card-value{color:var(--text);font-family:Noto Serif,Georgia,serif;font-size:18px;font-weight:700}.planner-capital-input{border:none;border-bottom:1px solid var(--border2);width:100%;color:var(--text);background:0 0;outline:none;padding:2px 0;font-family:Georgia,serif;font-size:18px;font-weight:700}.planner-capital-input:focus{border-color:var(--accent)}.planner-input{border:1px solid var(--border);background:var(--bg);width:110px;color:var(--text);border-radius:0;outline:none;padding:5px 8px;font-family:sans-serif;font-size:12px;transition:border-color .15s}.planner-input:focus{border-color:var(--accent)}.planner-input-sm{width:78px;padding-right:4px}.planner-table th,.planner-table td{white-space:nowrap}.tip-icon{background:var(--bg2);border:1px solid var(--border2);width:14px;height:14px;color:var(--text3);cursor:pointer;vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin-left:3px;font-family:sans-serif;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.tip-icon:hover,.tip-icon:active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}.tip-pop{z-index:9999;background:var(--surface);border:1px solid var(--border);max-width:280px;color:var(--text2);border-radius:0;padding:10px 12px;font-family:sans-serif;font-size:11.5px;line-height:1.5;display:none;position:fixed;box-shadow:0 6px 20px #0000002e}.planner-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.return-best{color:var(--green-t)}.return-worst{color:var(--red-t)}.planner-status-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.planner-active-badge{background:var(--accent-bg);border:1px solid var(--accent);color:var(--accent-t);border-radius:0;align-items:center;gap:6px;padding:5px 12px;font-family:sans-serif;font-size:11px;font-weight:600;display:inline-flex}.planner-active-badge.draft{background:var(--bg2);border-color:var(--border2);color:var(--text2)}.saved-plan-list{flex-direction:column;gap:8px;display:flex}.saved-plan-card{background:var(--bg2);border:1px solid var(--border);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:border-color .15s;display:flex}.saved-plan-card.is-active{border-color:var(--accent);background:var(--accent-bg)}.saved-plan-info{flex-direction:column;gap:2px;min-width:160px;display:flex}.saved-plan-name{color:var(--text);font-family:Noto Serif,Georgia,serif;font-size:13px;font-weight:700}.saved-plan-meta{color:var(--text3);font-family:sans-serif;font-size:10px}.saved-plan-actions{flex-wrap:wrap;gap:6px;display:flex}.saved-plan-actions .btn{padding:5px 10px;font-size:11px}.chart-toggle-group{background:var(--bg2);border:1px solid var(--border);border-radius:0;gap:4px;padding:3px;display:flex}.chart-toggle-btn{color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:0;padding:5px 12px;font-family:sans-serif;font-size:11px;transition:background .15s,color .15s}.chart-toggle-btn.active{background:var(--accent);color:#fff;font-weight:600}.chart-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.chart-controls-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text3);margin-right:6px;font-family:sans-serif;font-size:10px}.chart-legend{flex-direction:column;gap:7px;min-width:150px;font-family:sans-serif;font-size:11px;display:flex}.chart-legend-item{align-items:center;gap:7px;display:flex}.chart-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.chart-legend-label{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.chart-legend-pct{color:var(--text);font-weight:700}.treemap-wrap{border-radius:0;gap:2px;height:110px;margin-bottom:16px;display:flex;overflow:hidden}.treemap-cell{cursor:default;align-items:flex-end;min-width:2px;padding:6px;transition:flex-grow .3s;display:flex;position:relative}.treemap-cell span{color:#fff;text-shadow:0 1px 3px #0009;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.sector-expand-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-family:sans-serif;font-size:12px;display:flex}.sector-expand-row:hover .fv-acc-label{color:var(--accent-t)}.sector-expand-arrow{color:var(--text3);flex-shrink:0;transition:transform .2s}.sector-expand-arrow.open{transform:rotate(90deg)}.sector-stock-list{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:2px 0 10px 24px;display:flex}.sector-stock-list:last-child{border-bottom:none}.sector-stock-row{align-items:center;gap:10px;font-family:sans-serif;font-size:11px;display:flex}.sector-stock-ticker{min-width:60px;color:var(--text2);font-weight:600}.sector-stock-bar{background:var(--bg);border-radius:0;flex:1;height:5px;overflow:hidden}.sector-stock-fill{background:var(--accent-t);opacity:.7;border-radius:0;height:100%}.sector-stock-val{text-align:right;min-width:90px;color:var(--text3);font-size:10px}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:0;width:90%;max-width:520px;max-height:90vh;padding:24px;animation:.3s cubic-bezier(.22,1,.36,1) scrollUnfurl;overflow-y:auto;box-shadow:0 12px 48px #0006}.modal.modal-sm{max-width:420px}.modal h2{color:var(--text);margin-bottom:4px;font-family:Noto Serif,Georgia,serif;font-size:18px;font-weight:700}@keyframes scrollUnfurl{0%{opacity:0;clip-path:inset(0 0 100%);transform-origin:top;transform:scaleY(.8)}to{opacity:1;clip-path:inset(0 0 0%);transform:scaleY(1)}}.modal-sub{color:var(--text3);margin-bottom:20px;font-family:sans-serif;font-size:13px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid.full{grid-template-columns:1fr}.form-field{flex-direction:column;gap:5px;display:flex}.form-field label{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;font-family:sans-serif;font-size:11px;font-weight:600}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;outline:none;padding:8px 10px;font-family:sans-serif;font-size:13px;transition:border-color .15s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent)}.form-field textarea{resize:vertical;min-height:70px;line-height:1.5}.computed-row{background:var(--bg2);border-radius:0;justify-content:space-between;align-items:center;padding:10px 12px;font-family:sans-serif;font-size:13px;display:flex}.computed-lbl{color:var(--text2)}.computed-val{font-family:Georgia,serif;font-size:16px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.hit-confirm-box{background:var(--green-bg);border:1px solid var(--green);color:var(--green-t);border-radius:0;margin-bottom:16px;padding:12px 14px;font-family:sans-serif;font-size:13px}.miss-options{flex-direction:column;gap:8px;margin-top:10px;display:flex}.miss-option{border:1.5px solid var(--border);cursor:pointer;border-radius:0;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.miss-option:hover{border-color:var(--red);background:var(--red-bg)}.miss-option input[type=radio]{accent-color:var(--red);cursor:pointer;flex-shrink:0;width:15px;height:15px;margin-top:2px}.miss-option-text{flex-direction:column;gap:2px;display:flex}.miss-option-label{color:var(--text);font-family:sans-serif;font-size:13px;font-weight:600}.miss-option-desc{color:var(--text3);font-family:sans-serif;font-size:11px;line-height:1.4}.miss-option:has(input:checked){border-color:var(--red);background:var(--red-bg)}.toast{background:var(--accent);color:#fff;z-index:999;opacity:0;pointer-events:none;border-left:3px solid #ffffff4d;border-radius:0;max-width:320px;padding:10px 16px;font-family:Noto Serif,sans-serif;font-size:13px;transition:opacity .25s,transform .25s;position:fixed;top:70px;right:24px;transform:translateY(-16px)rotate(-1deg);box-shadow:0 4px 16px #0000004d}.toast.show{opacity:1;transform:translateY(0)rotate(0)}.card-popup-backdrop{z-index:300;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.card-popup-backdrop.open{display:flex}.card-popup{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-top:3px solid var(--accent);border-radius:0;flex-direction:column;gap:12px;width:100%;max-width:480px;max-height:82vh;padding:20px;animation:.18s cubic-bezier(.34,1.3,.64,1) popupIn;display:flex;position:relative;overflow-y:auto;box-shadow:0 16px 48px #0006}.card-popup.overvalue{border-left-color:var(--red);border-top-color:var(--red)}.card-popup.undervalue{border-left-color:var(--green);border-top-color:var(--green)}.card-popup.holding-warn-popup{border-left-color:var(--warn);border-top-color:var(--warn)}.card-popup-close{border:1px solid var(--border);background:var(--bg2);width:28px;height:28px;color:var(--text3);cursor:pointer;border-radius:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:12px;right:12px}.card-popup-close:hover{background:var(--border);color:var(--text)}#card-popup-content{flex-direction:column;gap:12px;display:flex}.expand-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:4px;font-family:sans-serif;font-size:10px;font-weight:600}.expand-kv-grid{grid-template-columns:1fr 1fr;gap:6px 16px;font-family:sans-serif;font-size:12px;display:grid}.expand-kv{flex-direction:column;gap:1px;display:flex}.expand-k{color:var(--text3);font-size:10px}.expand-v{color:var(--text);font-weight:600}@keyframes popupIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.inv-table tbody tr.inv-row{cursor:pointer;transition:background .12s}.inv-table tbody tr.inv-row:hover td{background:var(--accent-bg)}.inv-table tbody tr.inv-expand-row td{background:var(--bg2);padding:0}.inv-expand-inner{flex-wrap:wrap;gap:10px 24px;padding:14px 16px;font-family:sans-serif;font-size:12px;animation:.18s expandIn;display:flex}.inv-expand-inner .expand-kv{border-left:2px solid var(--border2);min-width:140px;padding-left:10px}.inv-row.inv-row-open td{background:var(--accent-bg)!important}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spin-icon{animation:.7s linear infinite spin;display:inline-block}.notes-section-wrap{flex-direction:column;gap:10px;margin-top:12px;display:flex}.notes-paste-hint{color:var(--text3);align-items:center;gap:4px;margin-top:-4px;font-family:sans-serif;font-size:10px;display:flex}.notes-section-label{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:4px;margin-bottom:5px;font-family:sans-serif;font-size:10px;font-weight:700;display:flex}.notes-section-label.pos{color:var(--green-t)}.notes-section-label.neg{color:var(--red-t)}.notes-rows-list{flex-direction:column;gap:4px;margin-bottom:5px;display:flex}.notes-input-row{align-items:center;gap:5px;display:flex}.notes-input-item{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:0;outline:none;flex:1;padding:5px 8px;font-family:sans-serif;font-size:12px;transition:border-color .15s}.notes-input-item:focus{border-color:var(--accent)}.notes-remove-btn{width:22px;height:22px;color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;display:flex}.notes-remove-btn:hover{background:var(--red-bg);color:var(--red-t)}.notes-add-row-btn{color:var(--text3)!important;border-style:dashed!important;padding:4px 10px!important;font-size:11px!important}.notes-add-row-btn:hover{color:var(--accent)!important;border-color:var(--accent)!important;background:var(--accent-bg)!important}.logo-wrap{cursor:default;display:inline-block;position:relative}.logo-wrap .logo-tooltip{background:var(--text);color:var(--bg);white-space:nowrap;z-index:999;opacity:0;pointer-events:none;letter-spacing:0;border-radius:0;padding:5px 10px;font-family:sans-serif;font-size:11px;font-weight:400;transition:opacity .18s,transform .18s;display:none;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 4px 12px #0000002e}.logo-wrap .logo-tooltip:before{content:"";border:5px solid #0000;border-bottom-color:var(--text);position:absolute;bottom:100%;left:14px}.logo-wrap:hover .logo-tooltip{opacity:1;display:block;transform:translateY(0)}.cyclical-warning{background:var(--accent-bg);border-top:1px solid var(--accent);color:var(--accent-t);z-index:95;align-items:center;gap:10px;padding:7px 24px;font-family:sans-serif;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.cyclical-warning svg{color:var(--accent);flex-shrink:0}.cyclical-warning span{flex:1;line-height:1.4}.cyclical-dismiss{cursor:pointer;color:var(--accent-t);opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1;transition:opacity .15s}.cyclical-dismiss:hover{opacity:1}.mos-info-btn{border:1px solid var(--border2);background:var(--bg2);width:14px;height:14px;color:var(--text3);cursor:pointer;vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;font-family:sans-serif;font-size:9px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:relative}.mos-info-btn:hover{background:var(--accent-bg);color:var(--accent-t);border-color:var(--accent)}.mos-tooltip{z-index:9999;background:var(--surface);border:1px solid var(--border);width:230px;color:var(--text2);border-radius:0;padding:10px 12px;font-family:sans-serif;font-size:11px;line-height:1.55;display:none;position:fixed;box-shadow:0 6px 20px #00000026}.mos-tooltip.visible{display:block}.mos-tooltip strong{color:var(--text);font-size:11.5px}#share-modal{z-index:500}.split-layout{grid-template-columns:1fr 340px;align-items:start;gap:20px;display:grid}.split-left{min-width:0}.split-right{background:var(--surface);border:1px solid var(--border);max-height:calc(100vh - 132px);box-shadow:var(--shadow);border-radius:0;flex-direction:column;display:flex;position:sticky;top:112px;overflow:hidden}.ticker-bar{background:var(--surface);border-bottom:2px solid var(--accent);z-index:99;align-items:center;gap:0;height:36px;display:flex;position:sticky;top:56px;overflow:hidden;box-shadow:0 2px 8px #00000026}.ticker-live-badge{border-right:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:5px;height:100%;padding:0 12px;display:flex}.ticker-live-dot{background:var(--green);border-radius:50%;width:6px;height:6px;position:relative}.ticker-live-dot:after{content:"";background:var(--green);will-change:transform,opacity;border-radius:50%;animation:1.5s infinite tickerPulse;position:absolute;inset:0}@keyframes tickerPulse{0%{opacity:.5;transform:scale(1)}70%{opacity:0;transform:scale(2.5)}to{opacity:0;transform:scale(2.5)}}.ticker-live-label{letter-spacing:.6px;text-transform:uppercase;color:var(--green-t);font-family:sans-serif;font-size:10px;font-weight:700}.ticker-scroll-outer{flex:1;align-items:center;height:100%;display:flex;position:relative;overflow:hidden}.ticker-scroll-outer:before,.ticker-scroll-outer:after{content:"";z-index:2;pointer-events:none;width:24px;position:absolute;top:0;bottom:0}.ticker-scroll-outer:before{background:linear-gradient(to right,var(--surface),transparent);left:0}.ticker-scroll-outer:after{background:linear-gradient(to left,var(--surface),transparent);right:0}.ticker-track{white-space:nowrap;will-change:transform;align-items:center;gap:0;animation:40s linear infinite tickerScroll;display:inline-flex}.ticker-track:hover{animation-play-state:paused}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{border-right:1px solid var(--border);cursor:pointer;align-items:center;gap:5px;height:36px;padding:0 16px;font-family:sans-serif;font-size:12px;display:inline-flex}.ticker-item:hover,.ticker-item-index,.ticker-item-index:hover{background:var(--accent-bg)}.ticker-item-index .ticker-sym{color:var(--accent-t,var(--accent))}.emiten-card.card-highlight{transition:box-shadow .2s,transform .2s;transform:translateY(-2px);box-shadow:0 0 0 2.5px var(--accent),0 6px 24px #00000021!important;border-left-color:var(--accent)!important}.ticker-sym{color:var(--text);letter-spacing:.2px;font-size:11px;font-weight:700}.ticker-price{color:var(--text2);font-size:11.5px}.ticker-chg{border-radius:0;padding:1px 5px;font-size:10px;font-weight:600}.ticker-chg.up{background:var(--green-bg);color:var(--green-t)}.ticker-chg.dn{background:var(--red-bg);color:var(--red-t)}.ticker-chg.flat{background:var(--bg2);color:var(--text3)}.ticker-loading{color:var(--text3);align-items:center;gap:6px;padding:0 16px;font-family:sans-serif;font-size:11px;display:flex}.ticker-refresh-btn{width:28px;height:28px;color:var(--text3);cursor:pointer;background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:color .15s,background .15s;display:flex}.ticker-refresh-btn:hover{color:var(--accent);background:var(--accent-bg)}.ai-key-banner{background:var(--accent-bg);border-bottom:1px solid var(--accent);flex-direction:column;flex-shrink:0;gap:7px;padding:10px 14px;display:flex}.ai-key-banner-title{color:var(--accent-t);align-items:center;gap:5px;font-family:sans-serif;font-size:11px;font-weight:700;display:flex}.ai-key-row{align-items:center;gap:6px;display:flex}.ai-key-input{border:1px solid var(--border2);background:var(--surface);color:var(--text);letter-spacing:.5px;border-radius:0;outline:none;flex:1;min-width:0;padding:5px 8px;font-family:sans-serif;font-size:11px}.ai-key-input:focus{border-color:var(--accent)}.ai-key-input::placeholder{letter-spacing:0;color:var(--text3)}.ai-key-status{align-items:center;gap:5px;padding:4px 0;font-family:sans-serif;font-size:11px;display:flex}.ai-key-status.ok{color:var(--green-t)}.ai-key-status.missing{color:var(--text3)}.ai-panel-header{border-bottom:2px solid var(--accent);background:linear-gradient(135deg,var(--surface),var(--accent-bg));flex-shrink:0;padding:14px 16px 12px}.ai-panel-title{color:var(--text);font-family:Noto Serif,Georgia,serif;font-size:14px;font-weight:700}.ai-panel-sub{color:var(--text3);margin-top:4px;font-family:sans-serif;font-size:11px;display:block}.ai-emiten-list{flex:1;padding:8px;overflow-y:auto}.ai-emiten-item{cursor:pointer;border:1px solid #0000;border-radius:0;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:10px 12px;transition:background .15s;display:flex}.ai-emiten-item:hover{background:var(--bg2);border-color:var(--border)}.ai-emiten-item.active{background:var(--accent-bg);border-color:var(--accent)}.ai-emiten-left{flex-direction:column;gap:3px;min-width:0;display:flex}.ai-emiten-ticker{color:var(--text);font-family:Noto Serif,Georgia,serif;font-size:15px;font-weight:700}.ai-emiten-meta{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;font-family:sans-serif;font-size:11px;overflow:hidden}.ai-emiten-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.ai-gen-btn{border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent-t);cursor:pointer;white-space:nowrap;letter-spacing:.3px;border-radius:0;padding:5px 12px;font-family:Noto Serif,sans-serif;font-size:11px;font-weight:700;transition:background .15s,color .15s,transform .1s}.ai-gen-btn:hover{background:var(--accent);color:#fff;transform:scale(1.03)}.ai-gen-btn:disabled{opacity:.5;cursor:not-allowed}.ai-gen-btn.loading{background:var(--bg2);border-color:var(--border);color:var(--text3)}.ai-empty-hint{color:var(--text3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px 16px;font-family:sans-serif;font-size:12px;display:flex}.ai-result-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.ai-result-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.ai-back-btn{border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;border-radius:0;align-items:center;gap:4px;padding:4px 8px;font-family:sans-serif;font-size:12px;transition:background .15s;display:flex}.ai-back-btn:hover{background:var(--border)}.ai-result-ticker{color:var(--text);text-align:center;flex:1;font-family:Noto Serif,Georgia,serif;font-size:14px;font-weight:700}.ai-result-body{flex:1;padding:14px 16px;overflow-y:auto}.ai-loading{color:var(--text3);flex-direction:column;align-items:center;gap:12px;padding:32px 0;font-family:sans-serif;font-size:12px;display:flex}.ai-loading-dots{gap:6px;display:flex}.ai-loading-dots span{background:var(--accent);transform-origin:bottom;border-radius:50%/60% 60% 40% 40%;width:8px;height:12px;animation:1.4s ease-in-out infinite inkDrop}.ai-loading-dots span:nth-child(2){animation-delay:.25s}.ai-loading-dots span:nth-child(3){animation-delay:.5s}@keyframes inkDrop{0%{opacity:.4;transform:scaleY(1)translateY(0)}40%{opacity:1;transform:scaleY(1.4)translateY(-4px)}70%{opacity:.6;transform:scaleY(.7)translateY(2px)}to{opacity:.4;transform:scaleY(1)translateY(0)}}.ai-section{margin-bottom:16px}.ai-section:last-child{margin-bottom:0}.ai-section-title{color:var(--accent-t);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);align-items:center;gap:5px;margin-bottom:7px;padding-bottom:5px;font-family:Noto Serif,Georgia,serif;font-size:12px;font-weight:700;display:flex}.ai-prose{color:var(--text2);font-family:sans-serif;font-size:12.5px;line-height:1.65}.ai-prose p{margin-bottom:8px}.ai-prose p:last-child{margin-bottom:0}.ai-prose strong{color:var(--text);font-weight:600}.ai-metric-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:5px 0;font-family:sans-serif;font-size:12px;display:flex}.ai-metric-row:last-child{border-bottom:none}.ai-metric-label{color:var(--text3)}.ai-metric-val{color:var(--text);font-weight:600}.ai-metric-val.green{color:var(--green-t)}.ai-metric-val.red{color:var(--red-t)}.ai-metric-val.accent{color:var(--accent-t)}.ai-scenario{border-radius:0;margin-bottom:8px;padding:10px 12px;font-family:sans-serif;font-size:12px;line-height:1.6}.ai-scenario.bull{background:var(--green-bg);border-left:3px solid var(--green)}.ai-scenario.bear{background:var(--red-bg);border-left:3px solid var(--red)}.ai-scenario-label{text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:700}.ai-scenario.bull .ai-scenario-label{color:var(--green-t)}.ai-scenario.bear .ai-scenario-label{color:var(--red-t)}.ai-scenario p{color:var(--text2);margin:0}.ai-verdict{border:1px solid;border-radius:0;margin-bottom:8px;padding:12px 14px;font-family:sans-serif;font-size:12.5px;line-height:1.6}.ai-verdict.bull{background:var(--green-bg);border-color:var(--green);color:var(--green-t)}.ai-verdict.bear{background:var(--red-bg);border-color:var(--red);color:var(--red-t)}.ai-verdict.neutral{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}.ai-verdict-label{text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.ai-tag{border-radius:0;margin:2px 2px 2px 0;padding:2px 7px;font-family:sans-serif;font-size:10px;font-weight:600;display:inline-block}.ai-tag.green{background:var(--green-bg);color:var(--green-t)}.ai-tag.red{background:var(--red-bg);color:var(--red-t)}.ai-tag.accent{background:var(--accent-bg);color:var(--accent-t)}.ai-disclaimer{color:var(--text3);border-top:1px solid var(--border);flex-shrink:0;align-items:flex-start;gap:6px;padding:8px 14px;font-family:sans-serif;font-size:10px;line-height:1.4;display:flex}.ai-cached-badge{background:var(--bg2);color:var(--text3);border:1px solid var(--border);border-radius:0;margin-left:auto;padding:2px 7px;font-family:sans-serif;font-size:10px}.ai-disclaimer svg{flex-shrink:0;margin-top:1px}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes cardDrop{0%{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%);transform:translate(-8px)}to{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translate(0)}}@keyframes pricePulseGreen{0%,to{text-shadow:none}40%{text-shadow:0 0 10px #16a34ab3,0 0 20px #16a34a4d}}@keyframes pricePulseRed{0%,to{text-shadow:none}40%{text-shadow:0 0 10px #dc2626b3,0 0 20px #dc26264d}}.anim-fade-down{animation:.5s cubic-bezier(.22,1,.36,1) both fadeSlideDown}.anim-fade-up{opacity:0;animation:.5s cubic-bezier(.22,1,.36,1) forwards fadeSlideUp}.anim-card-drop{opacity:0;animation:.45s cubic-bezier(.22,1,.36,1) forwards cardDrop}.price-pulse-up{animation:.8s pricePulseGreen}.price-pulse-down{animation:.8s pricePulseRed}#sakura-canvas{pointer-events:none;z-index:-1;opacity:1;width:100%;height:100%;position:fixed;top:0;left:0}#intro-gate{z-index:10000;background:#050508;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:fixed;inset:0;overflow:hidden}#intro-mist{pointer-events:none;position:absolute;inset:0}.intro-mist-left,.intro-mist-right{opacity:0;filter:blur(30px);background:radial-gradient(#28145066,#0000 70%);width:40%;animation:2.5s ease-in forwards mistDrift;position:absolute;top:0;bottom:0}.intro-mist-left{animation-delay:.3s;left:-10%}.intro-mist-right{animation-delay:.6s;right:-10%}@keyframes mistDrift{to{opacity:1;transform:translate(8%)}}#torii-gate{z-index:2;flex-shrink:0;position:relative}#torii-svg{filter:drop-shadow(0 0 24px #c0282aa6)}#torii-svg path,#torii-svg rect,#torii-svg line{stroke-dasharray:600;stroke-dashoffset:600px}#torii-gate.draw-start #torii-svg path,#torii-gate.draw-start #torii-svg rect,#torii-gate.draw-start #torii-svg line{animation:1.8s forwards drawGate}@keyframes drawGate{to{stroke-dashoffset:0}}#intro-text{z-index:3;text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}#intro-kanji{color:#c0282a;opacity:0;text-shadow:0 0 30px #c0282ab3;font-family:Noto Serif,serif;font-size:64px;line-height:1}#intro-title{color:#e8dfd4;opacity:0;letter-spacing:4px;text-shadow:0 2px 14px #000c;font-family:Noto Serif,Georgia,serif;font-size:28px;font-weight:700}#intro-subtitle{color:#e8dfd48c;opacity:0;letter-spacing:.3px;max-width:360px;padding:0 20px;font-family:Noto Serif,serif;font-size:12.5px;font-style:italic;line-height:1.9}#intro-kanji.reveal{animation:.8s forwards fadeInGlow}#intro-title.reveal,#intro-subtitle.reveal{animation:.6s forwards fadeInGlow}@keyframes fadeInGlow{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}#gate-left,#gate-right{z-index:4;background:linear-gradient(160deg,#080810,#0e0e1c 60%,#04040c);border:1px solid #201e38;width:50%;transition:transform 1.4s cubic-bezier(.77,0,.18,1);position:absolute;top:0;bottom:0}#gate-left{transform-origin:0;border-right:2px solid #302e50;left:0}#gate-right{transform-origin:100%;border-left:2px solid #302e50;right:0}#gate-left.open{transform:translate(-101%)}#gate-right.open{transform:translate(101%)}.gate-wood-line{background:linear-gradient(#0000,#f5d2a012 30% 70%,#0000);width:2px;position:absolute;top:0;bottom:0}.gate-wood-line:first-child{left:25%}.gate-wood-line:nth-child(2){left:50%}.gate-wood-line:nth-child(3){left:75%}#gate-left:before,#gate-right:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000,#0000 40px,#00000014 40px 41px);position:absolute;inset:0}#gate-left:after{content:"";background:linear-gradient(90deg,#0000,#c0282a59,#0000);width:4px;position:absolute;top:0;bottom:0;right:-2px}#gate-right:after{content:"";background:linear-gradient(270deg,#0000,#c0282a59,#0000);width:4px;position:absolute;top:0;bottom:0;left:-2px}#intro-stamp{z-index:5;opacity:0;color:#c0282a;text-shadow:0 0 40px #c0282acc;pointer-events:none;font-size:80px;transition:opacity .15s,transform .28s cubic-bezier(.34,1.3,.64,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(2.5)rotate(-10deg)}#intro-stamp.slam{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(-5deg)}#intro-skip{z-index:10001;color:#f5e6d066;cursor:pointer;background:#00000059;border:1px solid #f5e6d026;border-radius:0;padding:5px 13px;font-family:sans-serif;font-size:11px;transition:color .2s,border-color .2s;position:fixed;bottom:28px;right:28px}#intro-skip:hover{color:#f5e6d0d9;border-color:#f5e6d066}.stats-section-title{color:var(--text);align-items:center;gap:8px;margin-bottom:14px;font-family:Noto Serif,Georgia,serif;font-size:14px;font-weight:700;display:flex}.stats-section-title:after{content:"";background:linear-gradient(to right,var(--border),transparent);flex:1;height:1px}.form-divider{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-t);border-top:1px solid var(--accent);align-items:center;gap:8px;margin-top:4px;padding-top:14px;font-family:Noto Serif,sans-serif;font-size:11px;font-weight:600;display:flex}.form-divider:before{content:"✦";font-size:10px}.theme-btn-wrap{position:relative}.theme-btn-wrap .theme-tooltip{background:var(--text);color:var(--bg);white-space:nowrap;z-index:999;opacity:0;pointer-events:none;border-radius:0;padding:5px 10px;font-family:sans-serif;font-size:11px;font-weight:400;transition:opacity .18s,transform .18s;display:none;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px);box-shadow:0 4px 12px #0000004d}.theme-btn-wrap:hover .theme-tooltip{opacity:1;display:block;transform:translateY(0)}@media (width<=900px){.split-layout{grid-template-columns:1fr}.split-right{max-height:500px;position:static}}@media (width<=640px){.topbar{gap:8px;height:50px;padding:0 12px}.logo{font-size:14px}.main{padding:10px}.form-grid{grid-template-columns:1fr}.drag-handle{display:none}.emiten-grid{grid-template-columns:1fr}.ticker{font-size:18px}.price-val{font-size:19px}.emiten-card{padding:13px}.notes-cols{grid-template-columns:1fr}.actions-bar{flex-wrap:wrap}.actions-bar .btn-primary{justify-content:center;width:100%}.inv-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.inv-table{font-size:12px}.inv-table th,.inv-table td{padding:8px 10px}.inv-toolbar{flex-wrap:wrap;gap:8px}.inv-toolbar .section-title{width:100%}.inv-expand-inner{flex-direction:column;gap:8px}.inv-expand-inner .expand-kv{min-width:unset;width:100%}.modal{width:95%;padding:16px}.ticker-live-label{display:none}.cyclical-warning{padding:6px 14px;font-size:11px}.split-layout{grid-template-columns:1fr}.split-right{max-height:none;position:static}.card-popup{border-radius:0;max-width:100%}.pf-summary-grid{grid-template-columns:repeat(2,1fr)}.pf-summary-num{font-size:15px}.pf-hero{padding:14px 10px 2px}.pf-hero-num{font-size:12px}.pf-hero-label{font-size:9.5px}.pf-list-header,.pf-row{grid-template-columns:1fr 1fr 1fr 1fr;padding-left:5px;padding-right:5px}.pf-col-main{font-size:10.5px}.pf-col-sub{font-size:9px}#sakura-canvas{opacity:.7}}#oracle-fab{background:var(--accent);cursor:pointer;width:54px;height:54px;box-shadow:0 4px 16px #0000004d, 0 0 0 0 var(--accent);z-index:9990;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;animation:2.5s ease-in-out infinite fabGlow;display:flex;position:fixed;bottom:24px;right:24px}@keyframes fabGlow{0%,to{box-shadow:0 4px 16px #0000004d, 0 0 0 0 var(--accent)}50%{box-shadow:0 4px 16px #0000004d,0 0 0 6px #0000}}#oracle-fab:hover{animation:none;transform:scale(1.07);box-shadow:0 6px 22px #00000059}#oracle-fab:active{transform:scale(.96)}#oracle-fab svg{width:26px;height:26px}#oracle-panel{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--accent);z-index:9989;border-radius:0;flex-direction:column;width:360px;height:520px;font-family:sans-serif;transition:width .22s,height .22s;animation:.2s cubic-bezier(.34,1.3,.64,1) oraclePopIn;display:none;position:fixed;bottom:90px;right:24px;overflow:hidden;box-shadow:0 12px 40px #0000004d,0 2px 8px #00000026}#oracle-panel.open{display:flex}#oracle-panel.fullview{border-top:1px solid var(--border);z-index:9995;border-radius:0;width:100vw;height:100vh;inset:0}#oracle-fullview-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-t)}@keyframes oraclePopIn{0%{opacity:0;transform:scale(.93)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}#oracle-header{border-bottom:2px solid var(--accent);background:linear-gradient(135deg, var(--surface), var(--accent-bg));flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}#oracle-header-icon{background:var(--accent-bg);border:1.5px solid var(--accent);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;box-shadow:0 0 8px #0003}#oracle-header-icon svg{width:20px;height:20px}#oracle-header-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}#oracle-header-title strong{color:var(--text);font-family:Georgia,serif;font-size:13px;font-weight:700}#oracle-model-label{color:var(--text3);letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}#oracle-header-actions{flex-shrink:0;gap:4px;display:flex}.oracle-icon-btn{border:1px solid var(--border);background:var(--bg2);width:28px;height:28px;color:var(--text3);cursor:pointer;border-radius:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.oracle-icon-btn:hover{background:var(--border);color:var(--text)}.oracle-icon-btn svg{width:13px;height:13px}#oracle-settings{border-bottom:1px solid var(--border);background:var(--bg2);flex-direction:column;flex-shrink:0;gap:10px;padding:12px 14px;display:none}#oracle-settings.open{display:flex}.oracle-settings-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:2px;font-size:10px;font-weight:700}.oracle-field{flex-direction:column;gap:4px;display:flex}.oracle-field label{color:var(--text3);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.oracle-field input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:0;outline:none;padding:6px 9px;font-family:sans-serif;font-size:12px;transition:border-color .15s}.oracle-field input:focus{border-color:var(--accent)}#oracle-settings-save{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent-t);cursor:pointer;border-radius:0;align-self:flex-end;padding:6px 14px;font-family:sans-serif;font-size:12px;font-weight:600;transition:background .15s,color .15s}#oracle-settings-save:hover{background:var(--accent);color:#fff}#oracle-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;padding:12px 14px;display:flex;overflow-y:auto}#oracle-messages::-webkit-scrollbar{width:4px}#oracle-messages::-webkit-scrollbar-track{background:0 0}#oracle-messages::-webkit-scrollbar-thumb{background:var(--border2);border-radius:0}.oracle-msg{align-items:flex-end;gap:7px;animation:.18s oracleMsgIn;display:flex}@keyframes oracleMsgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.oracle-msg.user{flex-direction:row-reverse}.oracle-bubble{max-width:78%;color:var(--text);word-break:break-word;border-radius:0;padding:8px 12px;font-family:sans-serif;font-size:12.5px;line-height:1.6}.oracle-msg.user .oracle-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #00000040}.oracle-msg.bot .oracle-bubble{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-bottom-left-radius:4px;box-shadow:0 2px 6px #0000001f}.oracle-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.oracle-msg.bot .oracle-avatar{background:var(--accent-bg);border:1px solid var(--accent)}.oracle-msg.bot .oracle-avatar svg{width:13px;height:13px}.oracle-msg.user .oracle-avatar{background:var(--bg2);border:1px solid var(--border)}.oracle-typing{background:var(--bg2);border:1px solid var(--border);border-radius:0 0 0 4px;align-items:center;gap:4px;width:fit-content;padding:8px 11px;display:flex}.oracle-typing span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite oracleTyping}.oracle-typing span:nth-child(2){animation-delay:.2s}.oracle-typing span:nth-child(3){animation-delay:.4s}.oracle-answering{background:linear-gradient(90deg, var(--text3) 0%, var(--text3) 35%, var(--accent) 50%, var(--text3) 65%, var(--text3) 100%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;font-size:12px;font-style:italic;animation:1.8s linear infinite oracleShimmer;display:inline-block}@keyframes oracleShimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes oracleTyping{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.oracle-think{border:1px solid var(--border);background:var(--bg2);border-radius:0;margin-bottom:8px;overflow:hidden}.oracle-think-toggle{cursor:pointer;width:100%;color:var(--text3);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:7px 10px;font-family:sans-serif;font-size:11px;display:flex}.oracle-think-chevron{flex-shrink:0;width:12px;height:12px;transition:transform .18s}.oracle-think.collapsed .oracle-think-chevron{transform:rotate(-90deg)}.oracle-think-label{font-style:italic}.oracle-think:not(.collapsed) .oracle-think-label:after{content:"…"}.oracle-think-body{max-height:160px;color:var(--text3);white-space:pre-wrap;word-break:break-word;padding:0 10px 9px 28px;font-family:sans-serif;font-size:11px;font-style:italic;line-height:1.55;overflow-y:auto}.oracle-think.collapsed .oracle-think-body{display:none}.oracle-think-body::-webkit-scrollbar{width:4px}.oracle-think-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:0}#oracle-empty{height:100%;color:var(--text3);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:12px;display:flex}#oracle-empty svg{opacity:.4;width:32px;height:32px}#oracle-empty p{color:var(--text3);margin:0;line-height:1.5}.oracle-bubble.bot p{margin:0 0 6px}.oracle-bubble.bot p:last-child{margin-bottom:0}.oracle-bubble.bot ul,.oracle-bubble.bot ol{margin:4px 0;padding-left:18px}.oracle-bubble.bot li{margin:2px 0}.oracle-bubble.bot strong{color:var(--text);font-weight:700}.oracle-bubble.bot em{font-style:italic}.oracle-bubble.bot code{background:var(--bg);border:1px solid var(--border);border-radius:0;padding:1px 4px;font-family:monospace;font-size:11px}.oracle-bubble.bot pre{background:var(--bg);border:1px solid var(--border);border-radius:0;margin:6px 0;padding:8px;overflow-x:auto}.oracle-bubble.bot pre code{background:0 0;border:none;padding:0;font-size:11px}.oracle-bubble.bot h1,.oracle-bubble.bot h2,.oracle-bubble.bot h3{margin:6px 0 4px;font-size:13px;font-weight:700}.oracle-bubble.bot{position:relative}.oracle-copy-btn{background:var(--bg);border:1px solid var(--border);color:var(--text3);cursor:pointer;border-radius:0;align-items:center;gap:4px;margin-top:6px;padding:3px 7px;font-family:sans-serif;font-size:10px;transition:color .15s,border-color .15s;display:inline-flex}.oracle-copy-btn:hover{color:var(--text);border-color:var(--accent)}.oracle-copy-btn svg{flex-shrink:0;width:11px;height:11px}.oracle-copy-btn.copied{color:var(--accent-t);border-color:var(--accent)}.oracle-file-card{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0;align-items:center;gap:9px;margin-top:8px;padding:8px 9px;display:flex}.oracle-file-icon{background:var(--accent-bg);width:28px;height:28px;color:var(--accent-t);text-transform:uppercase;letter-spacing:.02em;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:flex}.oracle-file-meta{flex:1;min-width:0}.oracle-file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.oracle-file-size{color:var(--text3);margin-top:1px;font-size:10px}.oracle-file-dl{border:1px solid var(--border);width:26px;height:26px;color:var(--text2);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.oracle-file-dl:hover{color:var(--accent-t);border-color:var(--accent)}.oracle-file-dl svg{width:13px;height:13px}.oracle-truncated-notice{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-t);border-radius:0;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:6px 9px;font-size:11px;display:flex}.oracle-truncated-notice button{cursor:pointer;border:1px solid var(--warn-border);color:var(--warn-t);background:0 0;border-radius:0;padding:3px 9px;font-family:sans-serif;font-size:11px;font-weight:600}.oracle-truncated-notice button:hover{background:var(--warn-border);color:#fff}.oracle-error{background:var(--red-bg)!important;border-color:var(--red)!important;color:var(--red-t)!important}#oracle-input-area{border-top:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;padding:10px 12px;display:flex}#oracle-input{border:1px solid var(--border);background:var(--bg2);color:var(--text);resize:none;border-radius:0;outline:none;flex:1;max-height:100px;padding:8px 10px;font-family:sans-serif;font-size:13px;line-height:1.45;transition:border-color .15s;overflow-y:auto}#oracle-input:focus{border-color:var(--accent)}#oracle-input::placeholder{color:var(--text3)}#oracle-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s,transform .15s;display:flex}#oracle-send:hover{opacity:.88}#oracle-send:active{transform:scale(.93)}#oracle-send:disabled{opacity:.4;cursor:not-allowed}#oracle-send svg{width:16px;height:16px}#oracle-input-row{align-items:flex-end;gap:7px;display:flex}.oracle-attach-btn{border:1px solid var(--border);background:var(--bg2);width:32px;height:32px;color:var(--text3);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.oracle-attach-btn:hover{background:var(--border);color:var(--text);border-color:var(--accent)}.oracle-attach-btn svg{width:15px;height:15px}#oracle-attachments-preview{background:var(--surface);flex-wrap:wrap;gap:6px;padding:8px 12px 0;display:none}#oracle-attachments-preview.has-items{display:flex}.oracle-attach-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:0;align-items:center;gap:5px;max-width:150px;padding:4px 22px 4px 6px;font-family:sans-serif;font-size:10.5px;display:flex;position:relative}.oracle-attach-chip img{object-fit:cover;border-radius:0;flex-shrink:0;width:22px;height:22px}.oracle-attach-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.oracle-attach-chip .oracle-attach-remove{background:var(--surface);border:1px solid var(--border);width:15px;height:15px;color:var(--text3);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.oracle-attach-chip .oracle-attach-remove:hover{background:var(--red-bg);color:var(--red-t);border-color:var(--red)}.oracle-attach-chip.oracle-attach-pending{color:var(--text3);padding:4px 10px 4px 6px;font-style:italic}.oracle-attach-spinner{border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:.7s linear infinite oracleSpin}@keyframes oracleSpin{to{transform:rotate(360deg)}}.oracle-msg-attachments{flex-wrap:wrap;gap:5px;margin-bottom:6px;display:flex}.oracle-msg-attachments img{object-fit:cover;border:1px solid var(--border);border-radius:0;width:64px;height:64px}.oracle-msg-attachments .oracle-msg-filechip{background:#ffffff26;border-radius:0;align-items:center;gap:4px;padding:4px 8px;font-family:sans-serif;font-size:10.5px;display:flex}#oracle-disclaimer{color:var(--text3);text-align:center;background:var(--surface);flex-shrink:0;padding:5px 12px 7px;font-size:10px}@media (width<=400px){#oracle-panel{width:calc(100vw - 20px);bottom:80px;right:10px}#oracle-fab{bottom:16px;right:16px}}
