.portal-knowledge-page{display:flex;flex-direction:column;height:100dvh;background:var(--bg);color:var(--fg)}.portal-knowledge-top{display:flex;align-items:center;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.portal-knowledge-brand{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:700;color:var(--fg);text-decoration:none}.portal-knowledge-navlink{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--fs-base);padding:4px 12px;cursor:pointer;text-decoration:none;transition:var(--btn-transition)}.portal-knowledge-navlink:hover{color:var(--fg);border-color:var(--accent)}.portal-knowledge-user{font-size:var(--fs-xs);color:var(--muted);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-knowledge-body{flex:1 1;min-height:0;display:flex}.kb-module{display:flex;flex-direction:column;flex:1 1;height:100%;min-height:0;width:100%;background:var(--bg)}.kb-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);background:var(--panel)}.kb-bar-btn{background:transparent;border:1px solid var(--border);color:var(--fg);border-radius:var(--radius-sm);padding:5px 12px;font:inherit;font-size:var(--fs-base);cursor:pointer;transition:var(--btn-transition);white-space:nowrap}.kb-bar-btn:hover{border-color:var(--accent)}.kb-bar-btn:disabled{opacity:.55;cursor:default}.kb-bar input[type=search]{background:var(--panel);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-base);font-family:inherit;outline:none;min-width:220px;flex:0 1 340px}.kb-bar input[type=search]:focus{border-color:var(--accent)}.kb-bar-spacer{flex:1 1}.kb-bar-status{font-size:var(--fs-xs);color:var(--muted)}.kb-bar-status.is-err{color:var(--err-fg)}.kb-cats{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center;padding:6px var(--sp-3);border-bottom:1px solid var(--border);background:var(--panel)}.kb-cat{background:transparent;border:1px solid var(--border);color:var(--muted);font:inherit;font-size:var(--fs-xs);padding:3px 12px;border-radius:999px;cursor:pointer;transition:var(--btn-transition)}.kb-cat:hover{color:var(--fg);border-color:var(--accent)}.kb-cat.is-active{color:var(--on-accent,#fff);background:var(--accent);border-color:var(--accent)}.kb-cats-hint{margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}.kb-body{flex:1 1;min-height:0;overflow-y:auto;padding:var(--sp-2) var(--sp-3) var(--sp-3)}.kb-search-wrap{margin-bottom:14px}.kb-section-title{font-size:var(--fs-base);color:var(--muted);padding:0 var(--sp-1) 6px}.kb-hits{display:flex;flex-direction:column;gap:8px}.kb-hit{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:var(--sp-2) var(--sp-3)}.kb-hit-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kb-hit-sim{font-size:var(--fs-xs);font-weight:700;color:var(--accent);background:var(--brand-soft);border-radius:var(--radius-sm);padding:1px 6px;min-width:40px;text-align:center}.kb-hit-title{font-weight:600;color:var(--fg);font-size:var(--fs-base)}.kb-hit-open{background:transparent;border:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;padding:0;text-align:left}.kb-hit-open:hover{text-decoration:underline}.kb-hit-text{font-size:var(--fs-md);color:var(--fg);white-space:pre-wrap;line-height:1.6;max-height:7.5em;overflow:hidden;opacity:.9}.kb-list-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow-x:auto;overflow-y:clip;-webkit-overflow-scrolling:touch}.kb-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.kb-table td,.kb-table th{text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);color:var(--fg);vertical-align:top}.kb-table th{font-size:var(--fs-xs);color:var(--muted);font-weight:600;position:sticky;top:0;z-index:2;background:var(--panel);box-shadow:0 2px 4px rgba(0,0,0,.18)}.kb-table tr:last-child td{border-bottom:0}.kb-table tbody tr:hover{background:var(--brand-soft)}.kb-title-btn{background:transparent;border:0;color:var(--accent);font:inherit;font-weight:500;padding:0;cursor:pointer;text-align:left}.kb-title-btn:hover{text-decoration:underline}.kb-src{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--fs-xs)}.kb-src a{color:var(--accent);text-decoration:none}.kb-src a:hover{text-decoration:underline}.kb-chip{display:inline-block;font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 6px;white-space:nowrap}.kb-tag-row{display:flex;flex-wrap:wrap;gap:4px}.kb-tag{display:inline-block;font-size:var(--fs-xs);color:var(--accent);background:var(--brand-soft);border-radius:var(--radius-sm);padding:0 6px}.kb-actions{display:flex;flex-wrap:wrap;gap:var(--sp-1);justify-content:flex-end}.kb-actions button{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);padding:2px var(--sp-2);font:inherit;font-size:var(--fs-xs);cursor:pointer;transition:var(--btn-transition)}.kb-actions button:hover{color:var(--fg);border-color:var(--accent)}.kb-actions button.danger{color:var(--up);border-color:var(--up)}.kb-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:200}.kb-modal{width:min(600px,92vw);max-height:88vh;max-height:88dvh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);box-shadow:var(--shadow-xl,0 12px 32px rgba(0,0,0,.45))}.kb-modal h3{margin:0 0 2px;font-size:var(--fs-md);color:var(--fg)}.kb-modal label{font-size:var(--fs-xs);color:var(--muted)}.kb-modal input[type=text],.kb-modal select,.kb-textarea{width:100%;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:var(--fs-md);font-family:inherit;outline:none;box-sizing:border-box}.kb-modal input[type=text]:focus,.kb-modal select:focus,.kb-textarea:focus{border-color:var(--accent)}.kb-textarea{min-height:220px;resize:vertical;line-height:1.6}.kb-form-row{display:flex;gap:var(--sp-3)}.kb-upload-hint{margin:4px 0;font-size:var(--fs-base);color:var(--muted);line-height:1.6}.kb-modal-row{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}.kb-modal-row button{background:var(--accent);color:var(--on-accent,#fff);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:6px 16px;font:inherit;font-size:var(--fs-base);cursor:pointer}.kb-modal-row button.ghost{background:transparent;color:var(--muted);border-color:var(--border)}.kb-modal-row button:disabled{opacity:.55;cursor:default}.kb-reader{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;--rbg:#fbfbf9;--rfg:#1c1c1a;--rmuted:#8a8a80;--rline:rgba(0,0,0,0.1);--rsel:rgba(232,200,120,0.4);--rpanel:#ffffff;--rnote:#1d4ed8;background:var(--rbg);color:var(--rfg)}.kb-reader[data-rtheme=sepia]{--rbg:#f4ecd8;--rfg:#463f30;--rmuted:#a99a7c;--rline:rgba(90,70,40,0.16);--rsel:rgba(190,150,80,0.35);--rpanel:#faf4e4;--rnote:#1e5aa8}.kb-reader[data-rtheme=night]{--rbg:#1a1c1e;--rfg:#c8c5be;--rmuted:#6f7076;--rline:rgba(255,255,255,0.1);--rsel:rgba(120,140,170,0.35);--rpanel:#24262a;--rnote:#7ab0ff}.kb-reader-top{position:relative;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top, 0px)) 18px 10px;border-bottom:1px solid var(--rline);background:var(--rbg);flex-shrink:0}.kb-reader-title{font-size:14px;font-weight:600;color:var(--rfg);max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-reader-tools{display:flex;align-items:center;gap:6px}.kb-reader-progress{font-size:12px;color:var(--rmuted);min-width:40px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kb-r-btn{background:transparent;border:1px solid var(--rline);color:var(--rfg);border-radius:8px;padding:4px 12px;font:inherit;font-size:13px;cursor:pointer;transition:background .12s ease}.kb-r-btn:hover{background:var(--rline)}.kb-r-btn:disabled{opacity:.4;cursor:default}.kb-r-pop{position:absolute;top:calc(100% + 6px);right:18px;z-index:5;background:var(--rpanel);border:1px solid var(--rline);border-radius:12px;padding:12px 14px;box-shadow:0 12px 34px rgba(0,0,0,.28);min-width:260px;display:flex;flex-direction:column;gap:10px}.kb-r-pop-row{display:flex;align-items:center;gap:10px}.kb-r-pop-label{font-size:12px;color:var(--rmuted);width:32px;flex-shrink:0}.kb-r-seg{display:flex;align-items:center;gap:4px;flex:1 1}.kb-r-seg button{flex:1 1;background:transparent;border:1px solid var(--rline);color:var(--rfg);border-radius:7px;padding:5px 8px;font:inherit;font-size:13px;cursor:pointer}.kb-r-seg button:hover{background:var(--rline)}.kb-r-seg button.on{background:var(--rfg);color:var(--rbg);border-color:var(--rfg)}.kb-r-val{min-width:26px;text-align:center;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kb-r-toc{max-height:70vh;max-height:70dvh;overflow-y:auto;min-width:300px;gap:2px}.kb-r-toc-head{font-size:12px;color:var(--rmuted);padding:0 4px 6px}.kb-r-toc-item{text-align:left;background:transparent;border:0;color:var(--rfg);font:inherit;font-size:14px;padding:8px 10px;border-radius:7px;cursor:pointer}.kb-r-toc-item.on,.kb-r-toc-item:hover{background:var(--rline)}.kb-r-toc-item.on{font-weight:600}.kb-reader-scroll{flex:1 1;min-height:0;overflow-y:auto;scroll-behavior:smooth}.kb-reader-scroll ::selection{background:var(--rsel)}.kb-reader-page{margin:0 auto;padding:48px 24px 140px;box-sizing:content-box;color:var(--rfg);text-align:justify;-webkit-hyphens:auto;hyphens:auto}.kb-reader-header{text-align:center;margin-bottom:44px}.kb-reader-header h1{font-size:1.7em;font-weight:700;margin:0 0 12px;line-height:1.35}.kb-reader-sub{font-size:.95em;color:var(--rmuted)}.kb-reader-h2{font-size:1.22em;font-weight:700;margin:1.8em 0 .9em;line-height:1.4;scroll-margin-top:80px}.kb-reader-p{margin:0 0 1.1em;text-indent:2em;white-space:pre-line;word-break:break-word}.kb-reader-p.is-ainote{color:var(--rnote);text-indent:0}.kb-reader-p.is-ainote:first-line{font-weight:600}.kb-reader-hr{border:0;border-top:1px solid var(--rline);margin:2.4em auto;width:40%}.kb-reader-end{text-align:center;color:var(--rmuted);font-size:.85em;margin-top:3em;letter-spacing:.3em}.kb-sel-bar{position:fixed;z-index:320;transform:translate(-50%,-130%);display:flex;gap:2px;background:#2a2d33;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:3px;box-shadow:0 8px 22px rgba(0,0,0,.4)}.kb-sel-bar button{background:transparent;border:0;color:#f0f0f0;font:inherit;font-size:13px;padding:5px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}.kb-sel-bar button:hover{background:rgba(255,255,255,.14)}@media (max-width:720px){.kb-bar input[type=search]{flex:1 1 100%;min-width:0;order:5}.kb-bar-status{order:6}.kb-cats-hint{display:none}.kb-list-card{border:0;background:transparent}.kb-table,.kb-table tbody,.kb-table td,.kb-table thead,.kb-table tr{display:block;width:100%}.kb-table thead{display:none}.kb-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:8px 12px;margin-bottom:10px}.kb-table td{border:0!important;padding:4px 0;display:flex;gap:10px;align-items:baseline}.kb-table td:before{content:attr(data-label);flex:0 0 44px;color:var(--muted);font-size:var(--fs-xs)}.kb-table td[data-label="标题"]{display:block;font-size:var(--fs-md);padding-bottom:6px}.kb-table td[data-label="标题"]:before{display:none}.kb-src{max-width:none;white-space:normal;word-break:break-all}.kb-actions{justify-content:flex-start}.kb-bar-btn{min-height:40px;padding:8px 14px;font-size:var(--fs-md)}.kb-cat{min-height:34px;padding:6px 16px;font-size:var(--fs-sm)}.kb-reader-top{gap:6px;padding:calc(8px + env(safe-area-inset-top, 0px)) 10px 8px}.kb-r-btn{min-height:44px;padding:0 14px;font-size:14px;display:inline-flex;align-items:center;white-space:nowrap}.kb-reader-tools{gap:6px}.kb-reader-title{font-size:15px;max-width:30vw}.kb-reader-progress{min-width:30px;font-size:12px}.kb-r-pop{right:8px;left:8px;min-width:0;padding:14px;gap:14px}.kb-r-seg button{min-height:38px;font-size:14px}.kb-r-toc{max-height:60vh;max-height:60dvh}.kb-r-toc-item{padding:12px;font-size:15px}.kb-sel-bar button{padding:9px 15px;font-size:14px}.kb-reader-page{padding:28px 18px 120px}}.kb-sched{margin-bottom:14px}.kb-sched .kb-section-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;color:var(--fg);font-weight:600}.kb-sched-hint{font-size:var(--fs-xs);color:var(--muted);font-weight:400}.kb-sched-table td{vertical-align:middle}.kb-sched-title{font-weight:500}.kb-sched-today td{background:var(--brand-soft)}.kb-sched-today-chip{display:inline-block;margin-left:6px;font-size:var(--fs-xs);font-weight:700;color:var(--accent);background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:0 5px}.kb-sched-err{padding:12px 16px;color:var(--muted)}.kb-sched-err button{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);font:inherit;padding:2px 10px;cursor:pointer}.kb-sched-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--panel)}.kb-sched-form input{background:var(--rbg,var(--bg));color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;font-size:var(--fs-base);font-family:inherit;outline:none}.kb-sched-form input:focus{border-color:var(--accent)}.kb-sched-form .kb-sched-form-title{flex:1 1 200px;min-width:160px}.kb-sched-form button{background:var(--accent);color:#fff;border:0;border-radius:var(--radius-sm);padding:6px 14px;font-size:var(--fs-base);font-family:inherit;cursor:pointer}.kb-sched-form button:disabled{opacity:.6;cursor:default}@media (max-width:720px){.kb-sched-form button,.kb-sched-form input{flex:1 1 100%;min-height:40px}.kb-sched-today td{background:transparent}.kb-sched-today{outline:1px solid var(--accent);border-radius:var(--radius)}}.app-shell:has(.pb-module){grid-template-rows:1fr}.app-main:has(>.pb-module){min-height:0;overflow:hidden}.pb-module{display:flex;flex-direction:column;height:100%;min-width:0;background:var(--bg);color:var(--fg)}.pb-body,.pb-module{min-height:0;flex:1 1}.pb-body{overflow-y:auto;padding:var(--sp-4) var(--sp-5);max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}@media (min-width:900px){.pb-xinfa-cat{display:inline-block;width:48%;vertical-align:top;margin-right:3%;box-sizing:border-box}.pb-xinfa-cat:nth-child(2n){margin-right:0}}.pb-hero{border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--panel);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.pb-hero-title{font-size:var(--fs-xl);font-weight:700;margin-bottom:4px}.pb-hero-sub{font-size:var(--fs-base);color:var(--muted);line-height:1.6}.pb-inputs{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.pb-dim{display:flex;align-items:center;gap:var(--sp-3)}.pb-dim-label{width:68px;flex-shrink:0;font-size:var(--fs-sm);color:var(--muted)}.pb-seg{display:flex;gap:4px;flex-wrap:wrap}.pb-seg-btn{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);padding:6px 14px;font:inherit;font-size:var(--fs-base);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.pb-seg-btn:hover{color:var(--fg);border-color:var(--brand)}.pb-seg-btn.on{background:var(--brand);border-color:var(--brand);color:#fff}.pb-seg-btn.warn.on{background:var(--up);border-color:var(--up)}.pb-verdict{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4)}.pb-verdict-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.pb-verdict-badge{font-size:var(--fs-md);font-weight:700;padding:3px 12px;border-radius:var(--radius-sm);color:#fff;background:var(--muted)}.pb-verdict-state{font-size:var(--fs-base);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-verdict-text{margin-top:6px;font-size:var(--fs-md);color:var(--fg);line-height:1.6}.pb-verdict.tone-attack{border-color:var(--brand);background:var(--brand-soft)}.pb-verdict.tone-attack .pb-verdict-badge{background:var(--brand)}.pb-verdict.tone-neutral .pb-verdict-badge{background:var(--muted-2,var(--muted))}.pb-verdict.tone-defend{border-color:var(--up)}.pb-verdict.tone-defend .pb-verdict-badge{background:var(--up)}.pb-verdict.tone-danger{border-color:var(--up);background:var(--up-bg,rgba(232,58,71,.1))}.pb-verdict.tone-danger .pb-verdict-badge{background:var(--up)}.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-4)}@media (max-width:760px){.pb-grid{grid-template-columns:1fr}}.pb-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel);padding:var(--sp-3) var(--sp-4)}.pb-card-h{font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--sp-2)}.pb-card ul{margin:0;padding-left:1.2em}.pb-card li{font-size:var(--fs-md);color:var(--fg);line-height:1.7;margin-bottom:3px}.pb-do{border-left:3px solid var(--brand)}.pb-dont{border-left:3px solid var(--up)}.pb-dont li{color:var(--fg)}.pb-xinfa-cat{margin-bottom:var(--sp-3)}.pb-xinfa-cat-h{font-size:var(--fs-base);font-weight:600;color:var(--brand);margin-bottom:4px}.pb-xinfa-cat ul{margin:0;padding-left:1.2em}.pb-xinfa-cat li{font-size:var(--fs-base);color:var(--muted);line-height:1.7;margin-bottom:3px}.pb-ch{color:var(--muted-2,var(--muted));margin-left:2px}.pb-ch,.pb-foot{font-size:var(--fs-xs)}.pb-foot{margin-top:var(--sp-2);line-height:1.6}.jixia-journal .muted,.pb-foot{color:var(--muted)}.jixia-journal .tab{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:5px 12px;font-size:var(--fs-sm);line-height:1.4;cursor:pointer;white-space:nowrap;transition:var(--btn-transition)}.jixia-journal .tab:hover:not(:disabled){color:var(--fg);background:var(--panel-hi);border-color:var(--border-strong)}.jixia-journal .tab:active:not(:disabled){transform:scale(.97)}.jixia-journal .tab:disabled{opacity:.5;cursor:default}.jixia-journal .tab.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:600}.jixia-journal .tab.active:hover:not(:disabled){background:var(--accent-medium);border-color:var(--brand);color:var(--brand)}.jixia-journal .tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-soft);border-color:var(--brand)}.jixia-journal input:not([type=checkbox]):not([type=radio]):not([type=file]),.jixia-journal select,.jixia-journal textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);padding:6px 9px;font-size:var(--fs-md);font-family:inherit;transition:border-color var(--t-fast) var(--easing),box-shadow var(--t-fast) var(--easing)}.jixia-journal textarea{line-height:1.7}.jixia-journal input::placeholder,.jixia-journal textarea::placeholder{color:var(--muted-2)}.jixia-journal input:focus,.jixia-journal select:focus,.jixia-journal textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.jixia-journal input[type=date]{cursor:pointer}.jixia-journal .jr-sec-title{position:relative;padding-left:11px;font-size:var(--fs-lg);font-weight:600;letter-spacing:.01em}.jixia-journal .jr-sec-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:.95em;border-radius:2px;background:var(--brand)}.jixia-journal .jr-worksheet{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card)}.jixia-journal .jr-topbar{gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.acts-panel{--acts-bear:#2eae5f;--acts-amber:#d99a2b;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}html[data-theme=light] .acts-panel{--acts-bear:#1f9150;--acts-amber:#b97f14}.acts-panel .acts-topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.acts-panel .acts-topbar-right{margin-left:auto;display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.acts-panel .acts-algo-toggle{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer}.acts-panel .acts-algo-toggle:hover{border-color:var(--border-strong,var(--muted));color:var(--fg,inherit)}.acts-panel .acts-algo-toggle.active{color:var(--accent);border-color:var(--accent)}.acts-panel .acts-hmm-chip{display:inline-flex;align-items:baseline;gap:5px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-algo-card{flex-shrink:0;margin:10px 14px 0;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:12px;line-height:1.8}.acts-panel .acts-body{flex:1 1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 16px;display:flex;flex-direction:column;gap:8px}.acts-panel .acts-body>*{flex-shrink:0}.acts-panel button.acts-algo-toggle,.acts-panel button.acts-expand-btn,.acts-panel button.acts-index-summary,.acts-panel button.acts-vote-chip{height:auto;min-height:0;line-height:1.6;overflow:visible}.acts-panel .acts-index{border:1px solid var(--border);border-radius:8px;background:var(--panel);overflow:hidden}.acts-panel .acts-index.open{border-color:var(--border-strong,var(--muted))}.acts-panel .acts-index-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;padding:9px 12px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.acts-panel .acts-index-summary:hover{background:var(--accent-soft,rgba(232,58,71,.06))}.acts-panel .acts-index-name{font-weight:700;font-size:14px;min-width:72px}.acts-panel .acts-sum-item{font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-sum-close{margin-left:auto;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-chevron{color:var(--muted);font-size:12px;transition:transform .15s}.acts-panel .acts-chevron.open{transform:rotate(180deg)}.acts-panel .acts-badge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:4px;font-size:12px;font-weight:700;line-height:1.6;border:1px solid transparent;flex-shrink:0}.acts-panel .acts-badge--sm{padding:0 6px;font-size:11px}.acts-panel .acts-badge--bull{color:var(--up);background:var(--up-bg,rgba(232,58,71,.1));border-color:var(--up)}.acts-panel .acts-badge--bear{color:var(--acts-bear);background:rgba(46,174,95,.12);border-color:var(--acts-bear)}.acts-panel .acts-badge--range{color:var(--flat);background:rgba(156,163,175,.14);border-color:var(--flat)}.acts-panel .acts-badge--pending{color:var(--acts-amber);background:rgba(217,154,43,.14);border-color:var(--acts-amber)}.acts-panel .acts-section-head{display:flex;align-items:center;gap:8px;padding:6px 2px 0}.acts-panel .acts-section-title{font-size:13px;font-weight:700}.acts-panel .acts-var-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border)}.acts-panel button.acts-var-chip{padding:3px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font:inherit;font-size:12px;cursor:pointer;height:auto;min-height:0;line-height:1.6}.acts-panel button.acts-var-chip:hover{border-color:var(--border-strong,var(--muted));color:inherit}.acts-panel button.acts-var-chip.active{background:var(--accent-medium,rgba(232,58,71,.16));border-color:var(--accent);color:var(--accent);font-weight:700}.acts-panel .acts-battle-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--border)}.acts-panel .acts-votes{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.acts-panel .acts-vote-chip{display:inline-flex;align-items:baseline;gap:4px;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:inherit;font:inherit;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.acts-panel .acts-vote-chip:hover{background:var(--accent-soft,rgba(232,58,71,.06))}.acts-panel .acts-vote-crash{font-size:10px;padding:0 4px;border-radius:3px;border:1px solid var(--acts-bear);color:var(--acts-bear);white-space:nowrap}.acts-panel .acts-k-tag{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:999px;border:1px dashed var(--border);cursor:help}.acts-panel .acts-vote-detail{padding:7px 12px;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.8}.acts-panel .acts-index-detail{border-top:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:10px}.acts-panel .acts-chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:8px;background:var(--bg,transparent)}.acts-panel .acts-chart{display:block}.acts-panel .acts-chart-cur{animation:acts-cur-pulse 2.2s ease-in-out infinite}@keyframes acts-cur-pulse{0%,to{stroke-opacity:.95}50%{stroke-opacity:.35}}@media (prefers-reduced-motion:reduce){.acts-panel .acts-chart-cur{animation:none}}.acts-panel .acts-chart-caption{font-size:11px;line-height:1.6}.acts-panel .acts-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--panel-hi,var(--panel));font-size:13px}.acts-panel .acts-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.acts-panel .acts-card-stats{display:flex;gap:6px 16px;flex-wrap:wrap;margin-top:8px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-card-note{margin-top:6px;font-size:12px;line-height:1.7}.acts-panel .acts-live-tag{font-size:10px;padding:0 5px;border-radius:3px;border:1px solid var(--accent);color:var(--accent);margin-left:4px;white-space:nowrap}.acts-panel .acts-playbook{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.acts-panel .acts-playbook-title{font-size:11px;color:var(--muted);margin-bottom:6px}.acts-panel .acts-playbook-row{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px;line-height:2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-playbook-name{font-weight:600;min-width:88px}.acts-panel .acts-table{width:100%;border-collapse:collapse;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.acts-panel .acts-table th{text-align:left;color:var(--muted);font-weight:500;padding:4px 8px}.acts-panel .acts-table td,.acts-panel .acts-table th{border-bottom:1px solid var(--border);white-space:nowrap}.acts-panel .acts-table td{padding:5px 8px}.acts-panel .acts-table tbody tr{cursor:pointer}.acts-panel .acts-table tbody tr:hover{background:var(--accent-soft,rgba(232,58,71,.06))}.acts-panel .acts-table tbody tr.selected{background:var(--accent-medium,rgba(232,58,71,.12))}.acts-panel .acts-table tbody tr:last-child td{border-bottom:0}.acts-panel .acts-expand-btn{align-self:flex-start;margin-top:2px;padding:3px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:12px;cursor:pointer}.acts-panel .acts-expand-btn:hover{border-color:var(--border-strong,var(--muted));color:inherit}@media (max-width:720px){.acts-panel .acts-body{padding:10px 10px 14px}.acts-panel .acts-sum-close,.acts-panel .acts-table thead{display:none}.acts-panel .acts-table,.acts-panel .acts-table tbody{display:block}.acts-panel .acts-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--panel)}.acts-panel .acts-table td{display:flex;align-items:center;gap:6px;border:0;padding:2px 0;white-space:normal}.acts-panel .acts-table td:before{content:attr(data-label);color:var(--muted);font-size:11px;flex-shrink:0}.acts-panel .acts-table td:first-child{grid-column:1/-1}.acts-panel .acts-table td:first-child:before{content:none}}.acts-row-pick{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;margin:0;height:auto;color:inherit;font:inherit;cursor:pointer}.acts-chart g[role=button]:focus-visible,.acts-row-pick:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.toast-stack{position:fixed;z-index:2000;right:calc(var(--sp-5, 24px) + env(safe-area-inset-right, 0px));bottom:calc(var(--sp-5, 24px) + env(safe-area-inset-bottom, 0px));flex-direction:column;align-items:flex-end;max-width:min(380px,calc(100vw - 32px));pointer-events:none}.toast-stack,.toast-stack-item{display:flex;gap:var(--sp-2,8px)}.toast-stack-item{pointer-events:auto;position:relative;overflow:hidden;align-items:flex-start;width:100%;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:var(--radius-md,8px);background:var(--panel);color:var(--fg);font-size:var(--fs-md);line-height:1.5;box-shadow:var(--shadow-lg);cursor:pointer;animation:toast-stack-in var(--t-mid,.18s) var(--easing,ease-out)}.toast-stack-item.exit{animation:toast-stack-out .18s var(--easing,ease-in) forwards}.toast-stack-icon{flex:0 0 auto;width:16px;text-align:center;font-size:var(--fs-base);line-height:1.5;color:var(--muted)}.toast-stack-msg{flex:1 1 auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.toast-stack-action{flex:0 0 auto;height:var(--btn-h-sm,24px);padding:0 var(--btn-px-sm,8px);border:1px solid var(--border-strong);border-radius:var(--btn-radius-sm,4px);background:transparent;color:inherit;font-size:var(--fs-sm);cursor:pointer;transition:var(--btn-transition)}.toast-stack-action:hover{background:var(--panel-hi);border-color:var(--brand)}.toast-stack-action:focus-visible{outline:2px solid var(--btn-focus-ring);outline-offset:1px}.toast-stack-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;transform-origin:left center;background:var(--muted);opacity:.55}.toast-stack-item.kind-success{background:linear-gradient(var(--evt-positive-bg),var(--evt-positive-bg)),var(--panel);border-color:var(--evt-positive-bd);border-left-color:var(--evt-positive-fg)}.toast-stack-item.kind-success .toast-stack-icon{color:var(--evt-positive-fg)}.toast-stack-item.kind-success .toast-stack-progress{background:var(--evt-positive-fg)}.toast-stack-item.kind-error{background:linear-gradient(var(--err-bg),var(--err-bg)),var(--panel);border-color:var(--err-border-soft);border-left-color:var(--err-fg-soft)}.toast-stack-item.kind-error .toast-stack-icon{color:var(--err-fg)}.toast-stack-item.kind-error .toast-stack-progress{background:var(--err-fg-soft)}.toast-stack-item.kind-warn{background:linear-gradient(var(--warn-bg),var(--warn-bg)),var(--panel);border-color:var(--warn-border-soft);border-left-color:var(--warn-accent)}.toast-stack-item.kind-warn .toast-stack-icon{color:var(--warn-fg)}.toast-stack-item.kind-warn .toast-stack-progress{background:var(--warn-fg)}.toast-stack-item.kind-info{background:linear-gradient(var(--info-bg),var(--info-bg)),var(--panel);border-color:var(--info-border);border-left-color:var(--info-strong)}.toast-stack-item.kind-info .toast-stack-icon{color:var(--info-fg)}.toast-stack-item.kind-info .toast-stack-progress{background:var(--info-strong)}@keyframes toast-stack-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-stack-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes toast-stack-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width:720px){.toast-stack{left:calc(var(--sp-3, 12px) + env(safe-area-inset-left, 0px));right:calc(var(--sp-3, 12px) + env(safe-area-inset-right, 0px));bottom:calc(var(--sp-4, 16px) + env(safe-area-inset-bottom, 0px));max-width:none;align-items:stretch}.toast-stack-item{font-size:var(--fs-md);padding:12px}}@media (prefers-reduced-motion:reduce){.toast-stack-item,.toast-stack-item.exit,.toast-stack-progress{animation:none!important}}.toast-stack-close{flex:0 0 auto;width:var(--btn-h-sm,24px);height:var(--btn-h-sm,24px);padding:0;border:0;border-radius:var(--btn-radius-sm,4px);background:transparent;color:var(--muted);font-size:var(--fs-md);line-height:1;cursor:pointer;transition:var(--btn-transition)}.toast-stack-close:hover{background:var(--panel-hi);color:var(--fg)}.toast-stack-close:focus-visible{outline:2px solid var(--btn-focus-ring);outline-offset:1px}