:root,:root[data-theme=light],:root:has(>head>meta[name=color-scheme][content=light]){color-scheme:light;--bg: #ebf0ed;--paper: #ffffff;--paper2: #f2f6f4;--paper3: #dfe6e3;--ink: #13212a;--ink2: #435865;--ink3: #738996;--rule: rgba(19, 33, 42, .11);--rule-strong: rgba(19, 33, 42, .24);--seal: #8c1d3c;--seal-soft: rgba(140, 29, 60, .085);--gold: #966816;--gold-soft: rgba(150, 104, 22, .11);--sage: #0f6e68;--sage-soft: rgba(15, 110, 104, .095);--crimson: #b8293d;--crimson-soft: rgba(184, 41, 61, .09);--shadow: 0 2px 10px rgba(19, 33, 42, .045), 0 12px 32px rgba(19, 33, 42, .055);--glass: rgba(235, 240, 237, .92)}:root[data-theme=dark],:root:has(>head>meta[name=color-scheme][content=dark]){color-scheme:dark;--bg: #10171d;--paper: #172129;--paper2: #1d2933;--paper3: #263542;--ink: #ecf2f5;--ink2: #a8bac4;--ink3: #6e8390;--rule: rgba(236, 242, 245, .11);--rule-strong: rgba(236, 242, 245, .24);--seal: #e05277;--seal-soft: rgba(224, 82, 119, .14);--gold: #dfb04b;--gold-soft: rgba(223, 176, 75, .14);--sage: #2bc4b9;--sage-soft: rgba(43, 196, 185, .14);--crimson: #f25c6e;--crimson-soft: rgba(242, 92, 110, .14);--shadow: 0 4px 18px rgba(0, 0, 0, .32);--glass: rgba(16, 23, 29, .92)}:root{--serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--target-size: 24px}@media(pointer:coarse){:root{--target-size: 44px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100dvh;overflow-x:hidden;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.serif-title{text-wrap:balance}p,li,dd{text-wrap:pretty}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 16% 0%,rgba(140,29,60,.045),transparent 55%),radial-gradient(ellipse at 85% 100%,rgba(15,110,104,.055),transparent 55%)}.app-shell{position:relative;z-index:1;max-width:1420px;margin:0 auto;padding:16px 22px 54px}.mast{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--rule-strong);font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink3);flex-wrap:nowrap;overflow:hidden}.mast>:not(button,select){min-inline-size:0}.mast-brand{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700;flex:1;min-width:0;overflow:hidden;white-space:nowrap}.mast-title-text{flex-shrink:0;white-space:nowrap}.ticker-text{color:var(--ink3);margin-left:6px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mast-dot{width:8px;height:8px;border-radius:50%;background:var(--seal);display:inline-block;flex-shrink:0}.mast-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:nowrap}.btn,.ctrl-btn,.lang-select{min-height:var(--target-size);font-family:var(--sans);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:5px;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.btn:hover,.ctrl-btn:hover{border-color:var(--seal);background:var(--paper2)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:6px;font-family:var(--serif);font-size:17px;font-weight:700;letter-spacing:.08em;cursor:pointer;box-shadow:var(--shadow);transition:background .18s,transform .12s}.btn-primary:hover{background:var(--seal);border-color:var(--seal);transform:translateY(-1px)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;background:var(--paper2);color:var(--ink);border:1px solid var(--rule-strong);border-radius:6px;font-size:13.5px;font-weight:600;cursor:pointer}.btn-secondary:hover{border-color:var(--seal);color:var(--seal)}.scr{display:none;animation:scrFade .28s ease}.scr.on{display:block}@keyframes scrFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.intro-wrap{max-width:1140px;margin:18px auto 0;display:grid;grid-template-columns:1.15fr .95fr;gap:36px;align-items:stretch}.intro-left{display:flex;flex-direction:column;justify-content:center}.kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.22em;color:var(--seal);text-transform:uppercase;font-weight:700;margin-bottom:10px}.hero-title{font-family:var(--serif);font-size:clamp(34px,4.4vw,54px);font-weight:900;line-height:1.12;letter-spacing:-.01em;margin-bottom:14px;color:var(--ink)}.hero-sub{font-family:var(--serif);font-size:16.5px;color:var(--ink2);line-height:1.8;margin-bottom:20px}.pulse-box{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 18px;background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--seal);border-radius:6px;margin-bottom:20px;box-shadow:var(--shadow)}.pulse-num{font-family:var(--mono);font-size:21px;font-weight:700;color:var(--ink)}.pulse-lbl{font-size:12px;color:var(--ink3);margin-top:2px}.seed-row{display:flex;gap:8px;margin-top:10px;align-items:center;flex-wrap:wrap}.seed-input{flex:1;min-width:170px;min-height:var(--target-size);padding:9px 12px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:12.5px}.intro-right{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.odds-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--rule);margin-bottom:12px}.odds-title{font-family:var(--serif);font-weight:700;font-size:16px}.odds-list{display:grid;gap:11px}.odds-item{display:grid;grid-template-columns:118px 1fr 54px;align-items:center;gap:10px;font-size:12.5px}.odds-bar{height:8px;background:var(--paper2);border-radius:4px;overflow:hidden}.odds-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--seal),var(--gold))}.roll-stage{max-width:980px;margin:24px auto;text-align:center}.dice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.die-card{background:var(--paper);border:1px solid var(--rule-strong);border-radius:8px;padding:20px 14px;min-height:168px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);transition:border-color .22s,background .22s,transform .2s}.die-card.rolling{border-color:var(--gold);background:linear-gradient(180deg,var(--paper) 0%,var(--gold-soft) 100%)}.die-card.locked{border-color:var(--seal);border-width:1.5px;transform:translateY(-2px)}.die-num{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--ink3)}.die-val{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);margin:12px 0 6px}.die-sub{font-family:var(--mono);font-size:11.5px;color:var(--seal)}.cert-doc{max-width:880px;margin:14px auto;background:var(--paper);border:1px solid var(--rule-strong);border-top:4px solid var(--seal);border-radius:8px;padding:28px 34px;box-shadow:var(--shadow);position:relative}.cert-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--rule);flex-wrap:wrap}.cert-city{font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);font-weight:900;color:var(--ink);margin-top:4px}.cert-stamp{border:2px solid var(--seal);color:var(--seal);padding:6px 12px;border-radius:4px;font-family:var(--serif);font-weight:900;font-size:13px;letter-spacing:.14em;transform:rotate(-3deg);background:var(--seal-soft)}.cert-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.cert-cell{background:var(--paper2);border:1px solid var(--rule);border-radius:6px;padding:11px 14px}.cert-cell .k{font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.06em}.cert-cell .v{font-family:var(--serif);font-size:14.5px;font-weight:700;color:var(--ink);margin-top:3px}.cert-monograph{background:var(--paper2);border-left:3px solid var(--sage);padding:16px 20px;border-radius:4px;margin:16px 0 20px}.cert-monograph-title{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--sage);font-weight:700;margin-bottom:6px}.cert-monograph p{font-family:var(--serif);font-size:15px;line-height:1.85;color:var(--ink)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--glass);backdrop-filter:blur(10px);border:1px solid var(--rule-strong);border-radius:8px;margin-bottom:14px;position:sticky;top:8px;z-index:30;box-shadow:var(--shadow);flex-wrap:nowrap;overflow:hidden}.topbar>:not(.topbar-ctrls){min-inline-size:0}.topbar-id{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0;overflow:hidden}.topbar-age{font-family:var(--serif);font-size:22px;font-weight:900;color:var(--seal);flex-shrink:0;white-space:nowrap}.topbar-city{font-weight:700;font-size:14.5px;color:var(--ink);min-width:0;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-meta{font-family:var(--mono);font-size:12px;color:var(--ink2);flex-shrink:0;white-space:nowrap}.topbar-ctrls{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:nowrap}.ctrl-btn.active{background:var(--seal);color:#fff;border-color:var(--seal)}.life-grid{display:grid;grid-template-columns:325px minmax(0,1fr) 335px;gap:16px;align-items:start}.life-col{display:grid;gap:14px;content-visibility:auto;contain-intrinsic-size:auto 320px auto 720px}@supports not (content-visibility: auto){.life-col{contain:layout style paint}}.panel{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:15px 17px;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:9px;margin-bottom:11px;border-bottom:1px solid var(--rule)}.panel-title{font-family:var(--serif);font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:.03em;white-space:nowrap}.panel-tag{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap;flex-shrink:0}.stat-list{display:grid;gap:9px}.stat-row{display:grid;grid-template-columns:82px 1fr 42px;align-items:center;gap:8px;font-size:12.5px}.stat-track{height:7px;background:var(--paper2);border-radius:4px;overflow:hidden}.stat-fill{height:100%;border-radius:4px;transition:width .25s ease}.cashflow-box{margin-top:12px;padding-top:11px;border-top:1px dashed var(--rule)}.cashflow-bar{display:flex;height:9px;border-radius:4px;overflow:hidden;background:var(--paper3);margin:7px 0}.fam-dl{display:grid;gap:8px}.kin-card{padding:10px 12px;background:var(--paper2);border:1px solid var(--rule);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:10px}.kin-card.deceased{opacity:.55}.kin-main{flex:1;min-width:0}.kin-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kin-title{font-size:13px;font-weight:700;color:var(--ink);line-height:1.35}.kin-sub{font-size:11.5px;color:var(--ink2);margin-top:3px;line-height:1.4}.kin-badge{display:inline-block;font-family:var(--mono);font-size:10.5px;padding:1px 6px;border-radius:3px;background:var(--sage-soft);color:var(--sage);white-space:nowrap}.kin-badge.warn{background:var(--crimson-soft);color:var(--crimson)}.mini-act-btn{min-height:var(--target-size);padding:4px 9px;font-size:11.5px;font-weight:600;border:1px solid var(--rule-strong);border-radius:4px;background:var(--paper);color:var(--ink2);cursor:pointer;white-space:nowrap;flex-shrink:0}.mini-act-btn:hover{border-color:var(--seal);color:var(--seal)}.stance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.stance-chip{min-height:var(--target-size);padding:8px 9px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--paper2);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.stance-chip.active{border-color:var(--seal);background:var(--seal-soft)}.stance-chip-name{font-weight:700;font-size:12.5px;display:block}.stance-chip-desc{font-size:11px;color:var(--ink2);display:block;margin-top:2px;line-height:1.35}.action-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px dashed var(--rule)}.tactical-btn{min-height:34px;padding:6px;font-size:11.5px;font-weight:700;border-radius:5px;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);cursor:pointer;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s,background .15s,color .15s}.tactical-btn:hover{border-color:var(--seal);background:var(--paper2);color:var(--seal)}.tactical-btn.flip{border-color:var(--seal);color:var(--seal);background:var(--seal-soft)}.tactical-btn.flip:hover{background:var(--seal);color:#fff}.choice-box{background:var(--paper);border:2px solid var(--seal);border-radius:9px;padding:0 18px 16px;overflow:hidden;box-shadow:0 6px 24px #8c1d3c24,var(--shadow)}.choice-head-banner{margin:0 -18px 14px;padding:10px 18px;background:linear-gradient(90deg,#162430,#7d1935);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:8px}.choice-head-title{font-family:var(--serif);font-size:14.5px;font-weight:800;color:#fff;letter-spacing:.03em}.choice-head-tag{font-family:var(--mono);font-size:10.5px;padding:2px 7px;border-radius:3px;background:#ffffff29;color:#f8fafc;white-space:nowrap;flex-shrink:0}.comm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.comm-card{padding:12px 14px;border-radius:7px;background:var(--paper2);border:1px solid var(--rule);min-width:0}.comm-card.work{border-left:4px solid #1d4ed8;background:#1d4ed80e}.comm-card.home{border-left:4px solid #d97706;background:#d9770611}.comm-app{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink3);margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:8px}.comm-app-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comm-pill{font-size:10px;padding:1px 6px;border-radius:3px;font-weight:700;white-space:nowrap;flex-shrink:0}.comm-pill.work{background:#1d4ed824;color:#1d4ed8}.comm-pill.home{background:#d9770629;color:#b45309}.comm-sender{font-weight:800;font-size:13px;margin-bottom:5px}.comm-sender.work{color:#1e3a8a}.comm-sender.home{color:#92400e}:root[data-theme=dark] .comm-sender.work{color:#93c5fd}:root[data-theme=dark] .comm-sender.home{color:#fcd34d}.comm-text{font-size:13.5px;color:var(--ink);line-height:1.58}.choice-opts{display:grid;gap:9px;margin-top:12px}.choice-btn{width:100%;text-align:left;padding:11px 14px;border:1.5px solid var(--rule-strong);border-radius:6px;background:var(--paper2);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:stretch;gap:8px;transition:border-color .15s,background .15s,transform .1s}.choice-btn:hover{border-color:var(--seal);background:var(--paper);transform:translate(3px)}.choice-btn-main{display:flex;align-items:flex-start;gap:7px;line-height:1.5;font-size:13.5px;font-weight:600;color:var(--ink)}.choice-label-text{flex:1;min-width:0}.choice-btn-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--rule)}.choice-foot-left{display:flex;align-items:center;gap:6px;min-width:0}.choice-key{display:inline-block;font-family:var(--mono);font-weight:800;font-size:11.5px;padding:1px 5px;border-radius:3px;background:var(--seal-soft);color:var(--seal);flex-shrink:0;margin-top:1px}.choice-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.delta-tag{font-family:var(--mono);font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--paper);border:1px solid var(--rule);color:var(--ink2);white-space:nowrap}.delta-tag.pos{background:var(--sage-soft);border-color:var(--sage);color:var(--sage)}.delta-tag.neg{background:var(--crimson-soft);border-color:var(--crimson);color:var(--crimson)}.delta-tag.gamble{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}.log-list{display:grid;gap:8px;max-height:540px;overflow-y:auto;padding-right:4px}.log-item{padding:9px 12px;border-left:2.5px solid var(--rule-strong);background:var(--paper2);border-radius:0 5px 5px 0;font-size:13.5px}.log-item.warm{border-left-color:var(--sage)}.log-item.warn{border-left-color:var(--crimson);background:var(--crimson-soft)}.log-item.epic{border-left-color:var(--gold);background:var(--gold-soft)}.log-age{font-family:var(--mono);font-weight:700;font-size:11.5px;color:var(--seal);margin-right:8px}.asset-ledger{display:grid;gap:9px}.asset-box{padding:10px 12px;background:var(--paper2);border:1px solid var(--rule);border-radius:6px}.asset-k{font-family:var(--mono);font-size:11px;color:var(--ink3)}.asset-v{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--ink);margin-top:2px}.grid64{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}.age-cell{aspect-ratio:1;border-radius:3px;background:var(--paper2);border:1px solid var(--rule);font-family:var(--mono);font-size:9.5px;display:flex;align-items:center;justify-content:center;color:var(--ink3)}.age-cell.past{background:var(--sage-soft);color:var(--sage);border-color:var(--sage)}.age-cell.now{background:var(--seal);color:#fff;font-weight:700}.end-wrap{max-width:1120px;margin:14px auto;display:grid;grid-template-columns:1.2fr .85fr;gap:22px}dialog{margin:auto;border:1px solid var(--rule-strong);border-top:4px solid var(--seal);border-radius:8px;background:var(--paper);color:var(--ink);max-width:680px;width:calc(100% - 28px);box-shadow:var(--shadow)}dialog::backdrop{background:#13212a7a;backdrop-filter:blur(3px)}.dialog-box{padding:20px 22px;max-height:85vh;overflow-y:auto}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--rule)}.dialog-close-btn{min-width:var(--target-size);min-height:var(--target-size);border:1px solid var(--rule);background:var(--paper2);color:var(--ink);border-radius:4px;cursor:pointer;font-size:16px;flex-shrink:0}.modal-balance-banner{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;margin-bottom:12px;border-radius:6px;background:var(--sage-soft);border:1px solid var(--sage);font-size:13px;color:var(--ink)}.modal-balance-banner strong{font-family:var(--mono);font-size:14px;color:var(--sage)}.modal-sec-head{font-family:var(--serif);font-size:13px;font-weight:800;color:var(--seal);margin:10px 0 2px;padding-bottom:4px;border-bottom:1px dashed var(--rule-strong)}.modal-option-card{width:100%;text-align:left;padding:11px 14px;border:1.5px solid var(--rule-strong);border-radius:6px;background:var(--paper2);color:var(--ink);cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;transition:border-color .15s,background .15s,transform .1s}.modal-option-card:hover{border-color:var(--seal);background:var(--paper);transform:translate(3px)}.modal-option-main{min-width:0}.modal-option-title{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.45}.modal-option-sub{font-size:11.5px;color:var(--ink3);margin-top:3px;line-height:1.4}.modal-exec-pill{font-family:var(--mono);font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:5px;background:var(--paper);border:1px solid var(--rule-strong);color:var(--ink);white-space:nowrap;flex-shrink:0}.modal-exec-pill.pos{background:var(--sage-soft);border-color:var(--sage);color:var(--sage)}.modal-exec-pill.gamble{background:var(--gold-soft);border-color:var(--gold);color:var(--gold)}.modal-exec-pill.neg{background:var(--crimson-soft);border-color:var(--crimson);color:var(--crimson)}.boss-overlay{position:fixed;inset:0;z-index:9999;background:#fff;color:#1e293b;padding:24px;font-family:Consolas,monospace;overflow:auto}@media(max-width:1040px){.life-grid{grid-template-columns:290px minmax(0,1fr)}.life-col.col-right{grid-column:1 / -1;grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.app-shell{padding:10px 12px 44px}.topbar{flex-wrap:wrap}.topbar-city{max-width:100%}.intro-wrap,.end-wrap,.life-grid,.comm-grid,.life-col.col-right{grid-template-columns:1fr}.dice-grid,.stance-grid,.stance-seg-bar,.vow-grid,.action-bar,.cert-bento{grid-template-columns:repeat(2,1fr)}.cert-doc{padding:18px 16px}.life-col.col-center{order:1}.life-col.col-left{order:2}.life-col.col-right{order:3}}.alert-stack{display:grid;gap:8px;margin-bottom:14px}.alert-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 16px;border-radius:7px;border:1px solid var(--rule-strong);background:var(--paper);box-shadow:var(--shadow);flex-wrap:wrap}.alert-banner.danger{border-left:4px solid var(--crimson);background:var(--crimson-soft);border-color:var(--crimson)}.alert-banner.warn{border-left:4px solid var(--gold);background:var(--gold-soft)}.alert-main{flex:1;min-width:240px}.alert-title-row{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;color:var(--ink)}.alert-tag{font-family:var(--mono);font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:3px;background:var(--seal);color:#fff;letter-spacing:.05em}.alert-banner.warn .alert-tag{background:var(--gold)}.alert-detail{font-size:12px;color:var(--ink2);margin-top:3px;line-height:1.45}.alert-act-btn{min-height:var(--target-size);padding:6px 12px;border-radius:5px;border:1px solid var(--seal);background:var(--paper);color:var(--seal);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.alert-act-btn:hover{background:var(--seal);color:#fff}.body-diag-box{margin-top:11px;padding:9px 11px;background:var(--paper2);border-left:3px solid var(--sage);border-radius:4px}.body-diag-box.sub{border-left-color:var(--gold);background:var(--gold-soft)}.body-diag-box.crit{border-left-color:var(--crimson);background:var(--crimson-soft)}.body-diag-badge{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink)}.body-diag-text{font-size:11.5px;color:var(--ink2);margin-top:2px;line-height:1.45}.bill-table{display:grid;gap:5px;margin-top:8px;font-size:11.5px}.bill-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:var(--ink2)}.bill-row strong{font-family:var(--mono);color:var(--ink)}.city-lock-box{margin-top:11px;padding-top:10px;border-top:1px dashed var(--rule)}.trait-chip-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.trait-chip{font-family:var(--mono);font-size:10.5px;padding:2px 7px;border-radius:3px;background:var(--paper2);border:1px solid var(--rule-strong);color:var(--ink2)}.action-toast{position:fixed;top:18px;right:22px;z-index:95;max-width:420px;padding:11px 16px;background:var(--ink);color:var(--paper);border-left:4px solid var(--gold);border-radius:6px;font-size:12.5px;font-weight:600;box-shadow:var(--shadow);animation:toastSlide .22s ease}@keyframes toastSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.macro-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 15px;margin-bottom:12px;border-radius:6px;border:1px solid var(--rule-strong);background:var(--paper2);font-size:12px;flex-wrap:wrap}.macro-bar.wave{background:var(--gold-soft);border-color:var(--gold)}.rank-box{padding:12px 14px;margin-bottom:12px;background:linear-gradient(135deg,#162430,#243b4d);border:1px solid rgba(223,176,75,.35);border-left:4px solid #dfb04b;border-radius:6px;box-shadow:0 3px 10px #13212a1f}.rank-head-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.rank-title{font-family:var(--serif);font-size:14.5px;font-weight:800;color:#f8fafc;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-badge{font-family:var(--mono);font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:3px;white-space:nowrap;flex-shrink:0;background:#2bc4b938;color:#5eead4;border:1px solid rgba(94,234,212,.35)}.rank-badge.pos{background:#dfb04b38;color:#fcd34d;border-color:#fcd34d73}.rank-badge.calm{background:#94a3b838;color:#e2e8f0;border-color:#e2e8f052}.rank-badge.warn{background:#f25c6e38;color:#fda4af;border-color:#fda4af66}.rank-role{font-size:11.5px;font-weight:600;color:#e2e8f0;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-sub{font-size:11.5px;color:#cbd5e1;margin-top:4px;line-height:1.45}.year-stage-card{padding:18px 22px;background:var(--paper);border:1.5px solid var(--rule-strong);border-left:4px solid var(--seal);border-radius:8px;box-shadow:var(--shadow)}.year-stage-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px dashed var(--rule-strong)}.year-stage-age{font-family:var(--serif);font-size:15px;font-weight:800;color:var(--seal);letter-spacing:.03em}.year-stage-tag{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap}.year-stage-body{font-family:var(--serif);font-size:16px;line-height:1.82;color:var(--ink);letter-spacing:.015em}.compact-console{padding:13px 16px;display:grid;gap:11px}.console-vow-section{padding-bottom:10px;border-bottom:1px dashed var(--rule)}.vow-head-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.console-stance-section{display:grid;gap:8px}.console-stance-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.console-stance-label{font-family:var(--serif);font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap}.console-stance-hint{font-size:11.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stance-seg-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;background:var(--paper2);border:1px solid var(--rule-strong);border-radius:6px}.stance-seg-btn{min-height:32px;padding:5px 8px;font-size:12.5px;font-weight:700;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--ink2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s ease}.stance-seg-btn:hover{color:var(--ink);background:var(--paper)}.stance-seg-btn.active{background:var(--seal);color:#fff;border-color:var(--seal);box-shadow:0 1px 4px #8c1d3c38}.vow-box{padding:11px 14px;background:linear-gradient(90deg,rgba(15,110,104,.07) 0%,var(--paper) 100%);border:1.5px solid var(--sage);border-left:4px solid var(--sage);border-radius:7px;box-shadow:var(--shadow)}.vow-head-title{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:9px}.vow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vow-choice-card{padding:8px 10px;border-radius:6px;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:border-color .15s,background .15s,transform .1s}.vow-choice-card:hover{border-color:var(--sage);background:var(--sage-soft);transform:translateY(-1px)}.vow-choice-title{font-size:12.5px;font-weight:800;color:var(--sage)}.vow-choice-desc{font-size:11px;color:var(--ink2);line-height:1.35}.vow-active-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px}.vow-active-title{color:var(--ink);min-width:0}.vow-active-title strong{color:var(--sage)}.vow-active-meta{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap;flex-shrink:0}.side-status-bar{margin-top:9px;padding:7px 11px;background:var(--gold-soft);border:1px dashed var(--gold);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:10px}.side-status-text{font-size:11.5px;color:var(--ink2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-status-text strong{color:var(--ink)}.side-status-right{display:flex;align-items:center;gap:7px;flex-shrink:0}.side-mini-track{width:64px;height:6px;border-radius:3px;background:#9668162e;overflow:hidden}.side-mini-fill{height:100%;background:var(--gold);border-radius:3px;transition:width .25s ease}.side-status-pct{font-family:var(--mono);font-size:11px;font-weight:800;color:var(--gold);white-space:nowrap}.right-tab-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.right-tab-btn{min-height:30px;padding:5px 6px;font-size:11.5px;font-weight:700;border-radius:5px;border:1px solid var(--rule-strong);background:var(--paper2);color:var(--ink2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s}.right-tab-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.strat-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule)}.strat-pill{font-size:11px;padding:3px 8px;border-radius:4px;border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink2);cursor:pointer}.strat-pill.active{background:var(--sage);color:#fff;border-color:var(--sage)}.filter-tabs{display:flex;gap:5px}.filter-tab{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid var(--rule);background:var(--paper2);color:var(--ink2);cursor:pointer}.filter-tab.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.seo-monograph{max-width:1180px;margin:28px auto 64px;padding:0 20px;color:var(--ink)}.seo-card{background:var(--paper);border:1px solid var(--rule-strong);border-radius:10px;padding:28px 32px;margin-bottom:24px;box-shadow:var(--shadow)}.seo-kicker{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--seal);margin-bottom:8px}.seo-h1{font-family:var(--serif);font-size:clamp(24px,3vw,34px);font-weight:900;line-height:1.25;color:var(--ink);margin-bottom:12px}.seo-h2{font-family:var(--serif);font-size:clamp(19px,2.2vw,24px);font-weight:700;color:var(--ink);margin:22px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.seo-h3{font-size:16.5px;font-weight:700;color:var(--sage);margin:16px 0 8px}.seo-lead{font-size:15.5px;line-height:1.75;color:var(--ink2);margin-bottom:16px}.seo-p{font-size:14.5px;line-height:1.78;color:var(--ink2);margin-bottom:12px}.seo-calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:16px 0;padding:18px;background:var(--paper2);border:1px solid var(--rule-strong);border-radius:8px}.seo-field{display:flex;flex-direction:column;gap:5px}.seo-field label{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--ink2)}.seo-field input,.seo-field select{padding:9px 11px;font-family:var(--mono);font-size:14px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--paper);color:var(--ink)}.seo-result-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:var(--sage-soft);border:1.5px solid var(--sage);border-radius:8px;margin:16px 0}.seo-result-val{font-family:var(--mono);font-size:24px;font-weight:800;color:var(--sage)}.seo-table-wrap{overflow-x:auto;margin:14px 0 18px}.seo-table{width:100%;border-collapse:collapse;font-size:13.5px}.seo-table th,.seo-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--rule)}.seo-table th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;background:var(--paper2);color:var(--ink)}.seo-archive-drawer{max-width:1120px;margin:8px auto 24px;padding:0 20px}.seo-archive-summary{list-style:none;cursor:pointer;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink3);opacity:.55;padding:8px 12px;user-select:none;transition:opacity .2s,color .2s}.seo-archive-summary::-webkit-details-marker{display:none}.seo-archive-summary:hover{opacity:.9;color:var(--ink2)}.seo-link-grid{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--rule)}.seo-nav-pill{font-family:var(--mono);font-size:11.5px;color:var(--ink3);text-decoration:none;transition:color .15s}.seo-nav-pill:hover{color:var(--seal);text-decoration:underline}.seo-byline{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;color:var(--ink3);padding-top:12px;margin-top:14px;border-top:1px dashed var(--rule)}
