:root{
  --ink:#102e35;--muted:#687678;--paper:#f2ead8;--paper-deep:#e4d9c1;--paper-pale:#fbf7ec;
  --cyan:#10a8a3;--cyan-dark:#08706e;--orange:#ef8f2f;--yellow:#f4b942;--red:#c84836;
  --green:#507e54;--line:rgba(16,46,53,.25);--shadow:0 14px 40px rgba(13,38,44,.14);
  --sans:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;
  --serif:"STSong","SimSun","Songti SC",serif;
}
html{background:#0a333c;color:var(--ink);font-family:var(--sans)}
body{min-width:320px;min-height:100vh;background:
  radial-gradient(circle at 20% 10%,rgba(16,168,163,.12),transparent 24rem),
  linear-gradient(180deg,#0a333c 0,#0d4650 15rem,#d8d0bc 15rem,#eee6d4 100%);}
.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.09'/%3E%3C/svg%3E")}
button{cursor:pointer}.site-header{max-width:1380px;margin:auto;padding:28px 28px 24px;color:#f9f2df;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.brand{display:inline-grid;gap:2px}.brand-kicker,.brand-sub{font-size:12px;letter-spacing:.15em;color:#a9d6d3}.brand strong{font-family:var(--serif);font-size:clamp(32px,5vw,58px);line-height:1;letter-spacing:.08em;color:#fff2cf;text-shadow:2px 3px 0 rgba(0,0,0,.22)}
.header-tools{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.text-button,.danger-link{padding:9px 12px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.12);color:#eef7f1;border-radius:3px}.danger-link{color:#ffc1b8;border-color:rgba(255,152,137,.5)}
.app-shell{width:min(1380px,calc(100% - 28px));min-height:560px;margin:0 auto 28px;background:var(--paper);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.35);position:relative;overflow:visible}
.app-shell::before{content:"";display:block;height:10px;background:repeating-linear-gradient(90deg,var(--cyan) 0 56px,var(--orange) 56px 112px,var(--yellow) 112px 168px)}
.site-footer{max-width:1380px;margin:0 auto;color:#546e71;display:flex;justify-content:space-between;gap:16px;padding:2px 28px 34px;font-size:12px}
.start-screen{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);min-height:650px}
.start-copy{padding:clamp(34px,7vw,88px);border-right:1px dashed var(--line);position:relative}.issue-no{font:700 12px/1 var(--sans);letter-spacing:.2em;color:var(--red)}
.start-copy h1{margin:20px 0 18px;font:900 clamp(43px,7vw,94px)/.94 var(--serif);letter-spacing:-.04em}.start-copy h1 span{display:block;color:var(--cyan-dark)}
.dek{max-width:680px;font:700 clamp(18px,2.3vw,29px)/1.55 var(--serif);border-block:4px double var(--ink);padding:18px 0}.quote{margin-top:28px;color:var(--muted);font-size:14px;line-height:1.8;max-width:610px}.quote strong{color:var(--red)}
.start-panel{padding:clamp(28px,4vw,52px);background:rgba(255,255,255,.28);display:flex;flex-direction:column;justify-content:center}.start-panel h2{font:900 28px/1.2 var(--serif);margin-bottom:8px}.start-panel>p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:24px}
.difficulty-grid{display:grid;gap:10px}.difficulty-card{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;width:100%;padding:14px;text-align:left;background:var(--paper-pale);border:1px solid var(--line);border-left:5px solid var(--cyan);color:var(--ink);transition:.16s}.difficulty-card:hover,.difficulty-card:focus-visible{transform:translateX(4px);box-shadow:4px 5px 0 rgba(16,46,53,.12)}.difficulty-card.selected{border-color:var(--red);border-left-color:var(--red);background:#fff1da}.difficulty-card .radio{width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.difficulty-card.selected .radio{box-shadow:inset 0 0 0 3px var(--paper-pale);background:var(--red)}.difficulty-card strong{display:block}.difficulty-card small{display:block;color:var(--muted);margin-top:4px}.difficulty-card em{font-style:normal;font-size:12px;color:var(--red)}
.primary-button{margin-top:20px;padding:15px 20px;background:var(--ink);color:#fff9e9;font-weight:900;letter-spacing:.08em;border:2px solid var(--ink);box-shadow:5px 6px 0 var(--yellow)}.primary-button:hover{background:var(--cyan-dark)}.secondary-button{margin-top:13px;padding:12px;background:transparent;color:var(--ink);border:1px dashed var(--ink);font-weight:700}.resume-note{margin-top:18px!important;padding-top:16px;border-top:1px dashed var(--line)}
.stamp{display:inline-block;border:3px double var(--red);color:var(--red);font:900 13px/1 var(--serif);padding:7px 10px;transform:rotate(-4deg);letter-spacing:.12em;text-transform:uppercase}
.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:8px}.toast{background:var(--ink);color:#fff7e4;padding:12px 16px;border-left:5px solid var(--yellow);box-shadow:var(--shadow);max-width:340px;font-size:13px}
@media(max-width:800px){.site-header{padding:20px 16px}.brand-sub{display:none}.header-tools{max-width:140px}.app-shell{width:calc(100% - 16px)}.start-screen{grid-template-columns:1fr}.start-copy{border-right:0;border-bottom:1px dashed var(--line);padding:36px 24px}.start-panel{padding:28px 24px}.site-footer{padding-inline:16px;display:block}.site-footer span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.game-view{padding:24px}.game-mast{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding-bottom:18px;border-bottom:4px double var(--ink)}
.game-mast h1{font:900 clamp(28px,4vw,48px)/1 var(--serif)}.game-mast p{margin-top:8px;color:var(--muted);font-size:13px}.month-ticket{text-align:right}.month-ticket strong{display:block;font:900 27px/1 var(--serif);color:var(--cyan-dark)}.month-ticket span{font-size:12px;color:var(--muted)}
.stat-grid{display:grid;grid-template-columns:repeat(8,minmax(95px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:18px 0}.stat{background:var(--paper-pale);padding:12px 11px;min-width:0}.stat span{display:block;font-size:11px;color:var(--muted);letter-spacing:.08em}.stat strong{display:block;margin-top:5px;font:900 clamp(17px,2vw,24px)/1 var(--serif);white-space:nowrap}.stat .bar{height:3px;margin-top:8px;background:var(--paper-deep);overflow:hidden}.stat .bar i{display:block;height:100%;background:var(--cyan)}.stat.danger strong{color:var(--red)}.stat.danger .bar i{background:var(--red)}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.section-heading{position:sticky;top:0;z-index:30;display:flex;align-items:end;justify-content:space-between;gap:14px;margin:5px 0 12px;padding:10px 0;background:var(--paper);border-bottom:2px solid var(--ink);box-shadow:0 8px 12px -12px var(--ink)}.section-heading h2{font:900 23px/1.15 var(--serif)}.section-heading p{font-size:12px;color:var(--muted)}
.hours-meter{border:2px solid var(--ink);padding:10px 12px;background:#fff8e8;min-width:190px}.hours-meter strong{font-size:20px}.hours-meter span{font-size:11px;color:var(--muted)}.meter-track{height:7px;background:var(--paper-deep);margin-top:7px}.meter-track i{display:block;height:100%;background:var(--cyan)}.hours-meter.warning .meter-track i{background:var(--orange)}.hours-meter.danger .meter-track i{background:var(--red)}
.activity-groups{display:grid;gap:18px}.activity-group{border-top:1px solid var(--ink);padding-top:8px}.activity-group>h3{font-size:11px;letter-spacing:.16em;color:var(--muted);margin-bottom:8px}.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.activity-card{background:rgba(255,255,255,.42);border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center}.activity-card.active{background:#fff7df;border-color:var(--cyan-dark);box-shadow:inset 4px 0 var(--cyan)}.activity-card.disabled{opacity:.45}.activity-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:#fff6df;font:900 16px/1 var(--serif);border-radius:50%}.activity-copy strong{font-size:14px}.activity-copy p{font-size:11px;color:var(--muted);line-height:1.45;margin-top:3px}.hour-stepper{display:grid;grid-template-columns:30px 42px 30px;align-items:center}.hour-stepper button{height:30px;background:var(--paper-deep);color:var(--ink);font-weight:900}.hour-stepper button:hover{background:var(--yellow)}.hour-stepper output{text-align:center;font:900 14px/1 var(--serif)}
.allocation-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.field{display:grid;gap:5px}.field label{font-size:11px;color:var(--muted)}.field select{width:100%;padding:9px 10px;background:#fff9eb;border:1px solid var(--line);color:var(--ink)}.settle-button{width:100%;margin-top:15px;padding:17px;background:var(--red);color:#fff8e8;font-weight:900;letter-spacing:.12em;box-shadow:5px 6px 0 var(--ink)}.settle-button small{display:block;font-weight:400;letter-spacing:0;margin-top:4px;opacity:.8}
.side-column{display:grid;align-content:start;gap:12px}.ledger-card{background:rgba(255,255,255,.5);border:1px solid var(--line);padding:15px}.ledger-card h2{font:900 18px/1.2 var(--serif);padding-bottom:8px;border-bottom:1px solid var(--ink)}.bill-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dotted var(--line);font-size:12px}.bill-list li.total{font-weight:900;font-size:14px;border-top:2px solid var(--ink);border-bottom:0;margin-top:4px}.bill-list small{color:var(--muted)}.identity-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:6px 0;font-size:12px;border-bottom:1px dotted var(--line)}.identity-row span{color:var(--muted)}.identity-row strong{text-align:right}.status-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tag{font-size:11px;border:1px solid var(--line);padding:4px 6px;background:var(--paper-pale)}.tag.red{border-color:var(--red);color:var(--red)}.tag.green{border-color:var(--green);color:var(--green)}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.action-button{padding:10px 7px;background:var(--ink);color:#fff9e9;font-size:12px;font-weight:700}.action-button.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.news-item{padding:10px 0;border-bottom:1px dotted var(--line)}.news-item small{color:var(--red);font-size:10px}.news-item strong{font-family:var(--serif);display:block;margin:2px 0}.news-item p{font-size:11px;line-height:1.55;color:var(--muted)}
.trend{display:flex;align-items:end;gap:3px;height:52px;margin-top:10px}.trend i{flex:1;min-width:5px;background:var(--cyan)}.trend i.negative{background:var(--red)}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(3,25,30,.72);display:grid;place-items:center;padding:18px}.modal{width:min(680px,100%);max-height:88vh;overflow:auto;background:var(--paper);border-top:9px solid var(--cyan);box-shadow:0 25px 80px rgba(0,0,0,.35);padding:24px;position:relative}.modal.wide{width:min(900px,100%)}.modal-close{position:absolute;right:14px;top:12px;background:transparent;font-size:24px}.modal h2{font:900 27px/1.2 var(--serif);padding-right:35px}.modal>.lead{color:var(--muted);font-size:13px;line-height:1.7;margin:7px 0 18px}.modal-section{margin-top:18px;padding-top:13px;border-top:1px solid var(--ink)}.modal-section h3{font:900 17px/1.2 var(--serif);margin-bottom:8px}.choice-list{display:grid;gap:8px}.choice-row{border:1px solid var(--line);background:var(--paper-pale);padding:12px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.choice-row p{font-size:11px;color:var(--muted);line-height:1.5;margin-top:4px}.choice-row button{background:var(--ink);color:#fff;padding:9px 12px;font-size:12px}.amount-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.amount-buttons button{padding:8px 11px;background:var(--paper-deep);border:1px solid var(--line);color:var(--ink)}
.settlement-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding-right:48px}.settlement-figure{text-align:right;max-width:260px}.settlement-figure strong{display:block;font:900 28px/1.15 var(--serif);overflow-wrap:anywhere}.settlement-figure span{display:block;font-size:11px;line-height:1.45;color:var(--muted);margin-top:4px}.delta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.delta{background:var(--paper-pale);padding:10px}.delta span{font-size:10px;color:var(--muted);display:block}.delta strong{font-size:17px}.delta.good strong{color:var(--green)}.delta.bad strong{color:var(--red)}.verdict{font:700 18px/1.65 var(--serif);border:3px double var(--ink);padding:14px;margin-top:14px}.event-slip{margin-top:10px;padding:11px;border-left:5px solid var(--orange);background:#fff3d8}.event-slip p{font-size:12px;line-height:1.6;margin-top:4px}.modal-primary{width:100%;margin-top:18px;padding:13px;background:var(--ink);color:#fff;font-weight:900}.ending-card{text-align:center;padding:14px}.ending-card h2{font-size:42px;margin:18px 0 8px}.ending-card p{font:700 18px/1.7 var(--serif)}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.report-grid div{padding:11px;background:var(--paper-pale)}.report-grid span{display:block;font-size:10px;color:var(--muted)}.report-grid strong{font-size:18px}.help-list{counter-reset:help}.help-list li{counter-increment:help;padding:10px 0 10px 38px;border-bottom:1px dotted var(--line);font-size:13px;line-height:1.6;position:relative}.help-list li::before{content:counter(help);position:absolute;left:0;top:8px;width:25px;height:25px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:50%;font-weight:900}
.decision-meta{font-size:12px;line-height:1.5;color:var(--cyan-dark);margin-top:6px;padding-top:5px;border-top:1px dotted var(--line)}.decision-meta b{color:var(--ink)}.settle-button small{font-size:13px;line-height:1.5;margin-top:5px;opacity:.9}.cash-definition{margin:-8px 0 18px;padding:8px 11px;background:rgba(16,168,163,.09);border-left:4px solid var(--cyan);font-size:12px;color:var(--cyan-dark)}.hospital-button{background:var(--red)}
.gain-positive{color:var(--green)!important}.gain-negative{color:var(--red)!important}.investment-report{margin:0 0 18px}.investment-report>div{border-top:3px solid var(--cyan)}
@media(max-width:1080px){.stat-grid{grid-template-columns:repeat(4,1fr)}.game-grid{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.game-view{padding:16px}.game-mast{align-items:flex-start}.stat-grid{grid-template-columns:repeat(2,1fr)}.activity-list,.side-column,.allocation-tools{grid-template-columns:1fr}.section-heading{align-items:start}.hours-meter{min-width:150px}.activity-card{grid-template-columns:34px 1fr}.hour-stepper{grid-column:2}.settlement-head{grid-template-columns:1fr;padding-right:42px}.settlement-figure{text-align:left;max-width:none}.delta-grid,.report-grid{grid-template-columns:repeat(2,1fr)}}
.stat-label,.activity-title{display:flex;align-items:center;justify-content:space-between;gap:4px}.stat-label{min-height:25px}.info-icon{flex:none;width:16px;height:16px;margin-left:auto;padding:0;border:1px solid var(--cyan-dark);border-radius:50%;background:#e7f5f1;color:var(--cyan-dark);font:900 11px/1 var(--serif);display:inline-grid;place-items:center;cursor:pointer}.info-icon:hover,.info-icon:focus-visible{background:var(--cyan-dark);color:white;outline:2px solid var(--yellow);outline-offset:1px}.activity-card.disabled .info-icon{opacity:1}
.amount-buttons button:disabled{opacity:.4;cursor:not-allowed}
.skill-field{grid-column:1/-1}.career-rate-board{display:grid;gap:6px;margin-top:8px}.career-rate-board>strong{font:900 13px/1.2 var(--serif);color:var(--ink);margin-top:4px}.skill-chance-list{display:flex;flex-wrap:wrap;gap:6px}.skill-chance-list span{padding:5px 8px;border:1px solid var(--line);background:var(--paper-pale);font-size:12px}.skill-chance-list span.selected{background:var(--cyan-dark);color:#fff;border-color:var(--cyan-dark)}.market-rate-list span{background:#fff3d8;border-color:rgba(239,143,47,.45)}.market-rate-list span.selected{background:var(--orange);border-color:var(--orange);color:#fff}
.settle-panel{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:12px;align-items:stretch;margin-top:15px}.forecast-ledger{border:1px solid var(--line);background:rgba(255,255,255,.55);padding:11px 14px}.forecast-ledger h3{font:900 17px/1.2 var(--serif);margin-bottom:5px}.forecast-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:6px 0;border-bottom:1px dotted var(--line);font-size:13px}.forecast-row:last-child{border-bottom:0}.forecast-row span{color:var(--muted)}.forecast-row strong{text-align:right}.settle-panel .settle-button.compact{width:132px;margin:0;padding:16px 12px;display:grid;place-content:center;box-shadow:4px 5px 0 var(--ink)}.settle-button.compact strong{font:900 22px/1 var(--serif)}.settle-button.compact small{font-size:13px;margin-top:5px}.confirm-forecast{margin:16px 0}.settlement-figure .monthly-change{font-size:40px}.settlement-figure small{display:block;margin-top:8px;font-size:13px;color:var(--ink)}.settlement-deltas{grid-template-columns:repeat(5,1fr)}
@media(max-width:700px){.settle-panel{grid-template-columns:1fr}.settle-panel .settle-button.compact{width:100%;min-height:72px}.forecast-row{font-size:12px;gap:8px}.settlement-deltas{grid-template-columns:repeat(2,1fr)}}
.history-list{display:grid;gap:10px}.history-run{border:1px solid var(--line);border-left:6px solid var(--cyan-dark);background:var(--paper-pale);padding:14px}.history-run-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.history-run-head small{font-size:11px;color:var(--red)}.history-run-head h3{font:900 20px/1.2 var(--serif);margin-top:3px}.history-run-head>strong{font:900 22px/1 var(--serif);text-align:right;white-space:nowrap}.history-run-head>strong span{display:block;font:400 10px/1.3 var(--sans);color:var(--muted);margin-top:5px}.history-run>p{font:700 14px/1.65 var(--serif);margin:12px 0;color:var(--ink)}.history-run-stats{display:flex;flex-wrap:wrap;gap:6px}.history-run-stats span{border:1px solid var(--line);background:var(--paper-deep);padding:5px 7px;font-size:11px}.history-empty{padding:18px;border:1px dashed var(--line);color:var(--muted);text-align:center}.current-run{margin-top:0}.current-run .report-grid{margin-bottom:0}@media(max-width:600px){.history-run-head{display:block}.history-run-head>strong{display:block;text-align:left;margin-top:10px}.history-run-stats{display:grid;grid-template-columns:1fr 1fr}}
