:root {
  --ink: #14201c;
  --muted: #6e7a73;
  --paper: #f3f0e8;
  --card: #fffdf8;
  --line: #dcd8cd;
  --green: #174c3a;
  --lime: #c7ef72;
  --orange: #f28c4b;
  --red: #cb5a49;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Segoe UI", "Microsoft YaHei", sans-serif; }
button, input { font: inherit; }
button { cursor: pointer; }
.noise { position: fixed; inset: 0; pointer-events: none; opacity: .22; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E"); }
.topbar { height: 72px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: rgba(243,240,232,.9); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(12px); }
.brand { display: flex; gap: 11px; align-items: center; }
.brand-mark { width: 38px; height: 38px; border-radius: 10px; background: var(--green); color: var(--lime); display: grid; place-items: center; font-weight: 800; letter-spacing: -1px; transform: rotate(-3deg); }
.top-company-logo { width: 112px; height: 40px; object-fit: contain; object-position: left center; background: white; border-radius: 4px; }
.login-company-logo { width: min(560px, 100%); max-height: 190px; object-fit: contain; object-position: left center; background: white; border-radius: 10px; padding: 12px; margin-bottom: 32px; }
.brand b, .brand span { display: block; }.brand span { font-size: 11px; color: var(--muted); letter-spacing: 2px; margin-top: 2px; }
.session { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }.session b { color: var(--ink); }.live-dot { width: 8px; height: 8px; background: #67a83d; border-radius: 50%; box-shadow: 0 0 0 5px #67a83d20; }.divider { height: 14px; width: 1px; background: var(--line); }
.top-actions { display: flex; gap: 8px; }.ghost, .icon-btn { border: 1px solid var(--line); background: transparent; border-radius: 9px; padding: 9px 13px; color: var(--ink); }.icon-btn { width: 39px; padding: 0; font-size: 19px; }.ghost:hover, .icon-btn:hover { background: #fff; }
main { max-width: 1480px; margin: auto; padding: 0 4vw 80px; }
.hero { min-height: 290px; display: flex; justify-content: space-between; align-items: center; padding: 42px 0 34px; border-bottom: 1px solid var(--line); }
.eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 2.7px; color: #59816c; margin: 0 0 12px; }
h1 { font-family: Georgia, "Microsoft YaHei", serif; font-size: clamp(44px, 5vw, 72px); letter-spacing: -3px; line-height: 1.02; margin: 0; font-weight: 500; }
h1 em { color: var(--green); font-weight: 500; }.subtitle { max-width: 600px; color: var(--muted); line-height: 1.8; font-size: 14px; margin: 20px 0 0; }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--green); color: white; border-radius: 16px; padding: 20px 0; min-width: 500px; box-shadow: 0 18px 40px #174c3a20; }
.hero-stats div { padding: 6px 22px; border-right: 1px solid #ffffff20; }.hero-stats div:last-child { border: 0; }.hero-stats span, .hero-stats small { display: block; font-size: 10px; color: #c5d6cd; }.hero-stats b { display: inline-block; font-size: 27px; margin: 8px 4px 6px 0; }.hero-stats small { font-size: 9px; letter-spacing: .5px; }
.control-strip { padding: 20px 0; display: flex; align-items: center; justify-content: space-between; }.role-switcher { display: flex; gap: 14px; align-items: center; color: var(--muted); font-size: 11px; font-weight: 700; }.role-switcher > div { display: flex; padding: 4px; background: #e4e0d6; border-radius: 11px; }.role-tab { border: 0; background: transparent; padding: 9px 15px; border-radius: 8px; color: #68746d; font-size: 12px; }.role-tab.active { background: var(--card); color: var(--green); box-shadow: 0 2px 10px #24382d15; font-weight: 700; }
.admin-menu{position:sticky;top:82px;z-index:9;display:flex;gap:7px;margin:18px 0 22px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#ebe8dfdd;backdrop-filter:blur(12px);box-shadow:0 8px 24px #174c3a0d}.admin-menu button{flex:1;border:0;border-radius:9px;padding:11px 12px;background:transparent;color:var(--muted);font-weight:700}.admin-menu button:hover{background:#fff}.admin-menu button.active{background:var(--green);color:var(--lime);box-shadow:0 5px 14px #174c3a20}
.week-control { display: flex; gap: 9px; }.play-btn, .primary, .set-order { border: 0; border-radius: 10px; padding: 12px 18px; font-size: 12px; font-weight: 700; }.play-btn { background: #e4e0d6; color: var(--green); }.primary { color: var(--lime); background: var(--green); box-shadow: 0 6px 16px #174c3a20; }.primary span { margin-left: 12px; }.primary:hover { background: #0d3e2e; }
.supply-chain { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-bottom: 22px; }.stage { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px; position: relative; transition: .2s; }.stage::after { content: "→"; position: absolute; right: -12px; top: 50%; z-index: 2; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); color: #7c887f; border: 1px solid var(--line); font-size: 11px; }.stage:last-child::after { display: none; }.stage.active { border-color: #5d8c72; box-shadow: inset 0 0 0 1px #5d8c72, 0 10px 30px #174c3a10; transform: translateY(-2px); }.stage-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 12px; }.stage-title { display: flex; gap: 9px; align-items: center; }.stage-icon { width: 34px; height: 34px; display: grid; place-items: center; background: #e6eee7; color: var(--green); border-radius: 9px; font-size: 18px; }.stage-title b { font-size: 13px; }.stage-title span { display: block; font-size: 9px; color: var(--muted); margin-top: 3px; letter-spacing: 1px; }.stage-order { font-size: 10px; color: var(--muted); }.stage-order b { display: block; font-size: 19px; color: var(--orange); text-align: right; margin-top: 2px; }.stage-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding-top: 13px; }.stage-stats div { border-right: 1px solid var(--line); padding-left: 8px; }.stage-stats div:first-child { padding-left: 0; }.stage-stats div:last-child { border: 0; }.stage-stats span { font-size: 9px; color: var(--muted); display: block; }.stage-stats b { font-size: 16px; display: block; margin-top: 5px; }.stage-stats .bad { color: var(--red); }
.workspace { display: grid; grid-template-columns: 2.2fr 1fr; gap: 16px; }.order-panel, .brief-panel, .chart-section { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 24px; }.section-head { display: flex; justify-content: space-between; align-items: flex-start; }.section-head h2, .brief-panel h2 { font-family: Georgia, "Microsoft YaHei", serif; margin: 0; font-size: 24px; font-weight: 500; }.status-chip { font-size: 10px; color: #54735f; background: #dff0d7; padding: 6px 9px; border-radius: 20px; }
.decision-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 20px; }.decision-card { background: #f4f2ec; padding: 14px; border-radius: 10px; }.decision-card span, .decision-card small { color: var(--muted); font-size: 9px; display: block; }.decision-card b { font-size: 24px; display: block; margin: 6px 0 3px; }.decision-card.danger b { color: var(--red); }
.order-maker { margin-top: 10px; border: 1px solid var(--line); border-radius: 11px; padding: 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }.order-maker label { font-size: 12px; font-weight: 700; }.order-maker p { font-size: 9px; color: var(--muted); margin: 5px 0 0; }.number-input { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #f7f5ef; }.number-input button { border: 0; background: transparent; width: 32px; height: 38px; color: var(--green); font-size: 18px; }.number-input input { width: 45px; border: 0; background: transparent; text-align: center; outline: 0; font-weight: 800; }.set-order { background: var(--lime); color: var(--green); white-space: nowrap; }.tip { margin-top: 10px; background: #edf4e9; padding: 10px 13px; border-radius: 9px; font-size: 10px; color: #617069; display: flex; gap: 12px; }.tip b { color: var(--green); white-space: nowrap; }
.brief-panel { background: var(--green); color: white; }.brief-panel .eyebrow { color: var(--lime); }.brief-number { margin: 18px 0 13px; padding: 14px; border-radius: 10px; background: #ffffff0d; }.brief-number span, .brief-number small { font-size: 10px; color: #c5d6cd; }.brief-number b { font-size: 42px; display: inline-block; margin: 0 8px; color: var(--lime); }.brief-row { display: flex; justify-content: space-between; padding: 9px 2px; border-bottom: 1px solid #ffffff15; font-size: 11px; color: #c5d6cd; }.brief-row b { color: white; }.insight { margin-top: 14px; color: #d8e4dd; font-size: 10px; line-height: 1.7; padding-left: 10px; border-left: 2px solid var(--lime); }
.chart-section { margin-top: 16px; }.legend { display: flex; gap: 13px; flex-wrap: wrap; }.legend span { font-size: 9px; color: var(--muted); display: flex; align-items: center; gap: 5px; }.legend i { width: 14px; height: 2px; display: inline-block; }.chart-wrap { height: 330px; margin-top: 18px; }.chart-wrap svg { width: 100%; height: 100%; overflow: visible; }.grid-line { stroke: #d8d6ce; stroke-width: 1; stroke-dasharray: 3 5; }.axis-label { fill: #89928d; font-size: 9px; }.chart-line { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }.chart-dot { stroke: var(--card); stroke-width: 2; }
.modal-backdrop { display: none; position: fixed; inset: 0; z-index: 30; background: #10251ccc; align-items: center; justify-content: center; backdrop-filter: blur(8px); }.modal-backdrop.open { display: flex; }.modal { max-width: 760px; margin: 20px; padding: 34px; background: var(--paper); border-radius: 20px; position: relative; box-shadow: 0 20px 70px #0005; }.modal-close { position: absolute; right: 18px; top: 15px; border: 0; background: transparent; font-size: 25px; }.modal h2 { font: 500 34px Georgia, "Microsoft YaHei", serif; margin: 0 0 24px; }.guide-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }.guide-steps div { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 17px; }.guide-steps b { color: var(--orange); font: 500 28px Georgia; }.guide-steps h3 { font-size: 13px; margin: 9px 0 5px; }.guide-steps p { color: var(--muted); font-size: 10px; line-height: 1.7; margin: 0; }.full { width: 100%; margin-top: 14px; padding: 14px; }
@media (max-width: 1000px) { .hero { display: block; }.hero-stats { margin-top: 30px; min-width: 0; }.supply-chain { grid-template-columns: repeat(2,1fr); }.stage:nth-child(2)::after { display: none; }.workspace { grid-template-columns: 1fr; }.top-actions .ghost { display: none; } }
@media (max-width: 650px) { main { padding: 0 14px 50px; }.topbar { padding: 0 14px; }.session { display: none; }.hero { min-height: 0; padding: 30px 0; } h1 { font-size: 43px; }.hero-stats { grid-template-columns: 1fr; }.hero-stats div { border-right: 0; border-bottom: 1px solid #ffffff20; }.control-strip, .order-maker { align-items: stretch; flex-direction: column; }.role-switcher { display: block; }.role-switcher > div { margin-top: 8px; overflow-x: auto; }.week-control { margin-top: 12px; }.supply-chain { grid-template-columns: 1fr; }.stage::after { display: none; }.decision-grid { grid-template-columns: 1fr 1fr; }.guide-steps { grid-template-columns: 1fr; } }
@media(max-width:800px){.admin-menu{overflow-x:auto;top:72px}.admin-menu button{min-width:130px;white-space:nowrap}}

/* Multiplayer platform */
.hidden { display: none !important; }
.login-view { min-height: 100vh; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 8vw; padding: 7vw; background: var(--green); color: white; }
.login-brand { max-width: 690px; }.login-brand .big { width: 58px; height: 58px; font-size: 22px; margin-bottom: 36px; background: var(--lime); color: var(--green); }
.login-brand .eyebrow { color: var(--lime); }.login-brand h1 { color: white; }.login-brand h1 em { color: var(--lime); }.login-brand > p:not(.eyebrow) { color: #c5d6cd; max-width: 590px; line-height: 1.9; font-size: 14px; }
.chain-line { display: flex; gap: 13px; align-items: center; margin-top: 38px; flex-wrap: wrap; }.chain-line span { background: #ffffff12; border: 1px solid #ffffff20; padding: 9px 13px; border-radius: 8px; font-size: 11px; }.chain-line i { color: var(--lime); font-style: normal; }
.login-card { max-width: 430px; width: 100%; background: var(--paper); color: var(--ink); padding: 34px; border-radius: 20px; box-shadow: 0 30px 80px #071a1260; }
.login-card h2 { font: 500 32px Georgia, "Microsoft YaHei", serif; margin: 0 0 28px; }.login-card label { display: block; color: var(--muted); font-size: 11px; margin: 15px 0; font-weight: 700; }
.login-card input { display: block; width: 100%; margin-top: 8px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; outline: none; background: var(--card); color: var(--ink); }.login-card input:focus { border-color: #6f967f; box-shadow: 0 0 0 3px #174c3a12; }
.login-submit { width: 100%; margin-top: 8px; padding: 14px; }.form-error { min-height: 16px; margin: 0; font-size: 10px; color: var(--red); }
.demo-accounts { margin-top: 20px; padding: 13px; border-radius: 9px; background: #e8e5dc; color: var(--muted); font-size: 9px; line-height: 1.8; }.demo-accounts b,.demo-accounts span { display: block; }.demo-accounts b { color: var(--green); }
.account-notice{margin:16px 0 0;padding:12px;border-radius:8px;background:#e8e5dc;color:var(--muted);font-size:13px;line-height:1.7}
.app-view { min-height: 100vh; }.user-chip { background: #e5e9e1; padding: 9px 12px; border-radius: 9px; font-size: 11px; font-weight: 700; color: var(--green); }
.hero.compact { min-height: 235px; }.hero.compact h1 { font-size: clamp(42px,4.5vw,66px); }
.round-status { display: grid; grid-template-columns: auto auto; column-gap: 9px; align-items: center; }.round-status span { width: 9px; height: 9px; border-radius: 50%; grid-row: span 2; }.round-status .waiting { background: var(--orange); box-shadow: 0 0 0 5px #f28c4b20; }.round-status .ready { background: #6ca647; box-shadow: 0 0 0 5px #6ca64720; }.round-status b { font-size: 12px; }.round-status small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.stage.submitted { border-color: #aacb9c; }.stage.submitted .stage-order { color: #61904d; }.stage.submitted .stage-order b { color: #61904d; }
.decision-grid { grid-template-columns: repeat(4,1fr); }.status-chip.done { background: #d9ead1; color: #47733b; }.set-order:disabled, .primary:disabled, .number-input button:disabled { opacity: .45; cursor: not-allowed; }
.admin-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 16px; }.metric-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 18px; }.metric-card span,.metric-card small { display: block; color: var(--muted); font-size: 9px; }.metric-card b { display: block; margin: 8px 0 4px; font-size: 28px; }.metric-card.accent { background: var(--green); color: white; border-color: var(--green); }.metric-card.accent span,.metric-card.accent small { color: #c5d6cd; }.metric-card.accent b { color: var(--lime); }
.toast { position: fixed; left: 50%; bottom: 30px; transform: translate(-50%,30px); background: #132b21; color: white; padding: 11px 18px; border-radius: 9px; font-size: 11px; opacity: 0; pointer-events: none; transition: .25s; z-index: 50; }.toast.show { opacity: 1; transform: translate(-50%,0); }
@media(max-width:900px){.login-view{grid-template-columns:1fr;padding:35px 20px}.login-brand{display:none}.login-card{margin:auto}.admin-grid{grid-template-columns:repeat(2,1fr)}.decision-grid{grid-template-columns:repeat(2,1fr)}}
.admin-actions { display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; margin-bottom: 16px; }
.action-panel, .message-center { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 22px; }
.action-panel h2, .message-center h2 { font: 500 23px Georgia, "Microsoft YaHei", serif; margin: 0; }
.panel-note { color: var(--muted); font-size: 10px; line-height: 1.7; margin: 17px 0; }
.action-row { display: flex; gap: 10px; align-items: center; }.action-row .number-input { flex: 1; justify-content: space-between; }.action-row .number-input input { width: 80px; }
.message-compose { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 17px; }
.message-compose select, .message-compose input, .message-compose textarea { border: 1px solid var(--line); background: #f7f5ef; border-radius: 8px; padding: 10px; color: var(--ink); outline: 0; font-size: 11px; }
.message-compose input, .message-compose textarea, .message-compose button { grid-column: span 2; }.message-compose textarea { min-height: 70px; resize: vertical; font-family: inherit; }
.message-center { margin-bottom: 16px; }.message-list { display: grid; gap: 9px; margin-top: 18px; }
.message-item { display: grid; grid-template-columns: 135px 1fr; gap: 18px; background: #f4f2ec; border-radius: 10px; padding: 14px; border-left: 3px solid var(--orange); }
.message-meta span, .message-meta b, .message-meta small { display: block; }.message-meta span { color: var(--orange); font-size: 10px; font-weight: 800; }.message-meta b { font-size: 11px; margin: 6px 0; }.message-meta small { color: var(--muted); font-size: 9px; }
.message-item h3 { margin: 0 0 6px; font-size: 13px; }.message-item p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; white-space: pre-wrap; }.empty-messages { color: var(--muted); font-size: 11px; padding: 16px 0; }
@media(max-width:900px){.admin-actions{grid-template-columns:1fr}.message-item{grid-template-columns:1fr}.action-row{align-items:stretch;flex-direction:column}.action-row>*{width:100%}}
.config-panel, .report-section { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 22px; margin-bottom: 16px; }
.config-panel h2, .report-section h2 { font: 500 23px Georgia, "Microsoft YaHei", serif; margin: 0; }
.config-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 9px; margin: 18px 0 14px; }
.scale-summary{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding:13px;border-radius:10px;background:#edf4e9;color:var(--green)}.scale-summary b,.scale-summary span{padding:3px 8px}.scale-summary span{border-left:1px solid #bdd0b6;color:var(--muted);font-size:13px}
.config-grid label { color: var(--muted); font-size: 9px; font-weight: 700; }.config-grid input { width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 7px; background: #f7f5ef; padding: 9px; color: var(--ink); }
.decision-form { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 10px; }
.receipt-panel { display:grid; grid-template-columns:1fr auto auto auto; gap:12px; align-items:center; margin-top:18px; padding:15px; border:1px dashed #9ab28e; border-radius:11px; background:#edf4e9; }.receipt-panel b{color:var(--green)}.receipt-panel p{margin:3px 0 0;color:var(--muted);font-size:13px}.receipt-panel strong{font-size:20px;color:var(--orange);white-space:nowrap}.receipt-panel.done{border-style:solid;background:#f4f2ec}.receipt-panel.done strong{color:#518244}
.decision-field { border: 1px solid var(--line); border-radius: 11px; padding: 15px; background: #f7f5ef; }.decision-field label { font-size: 11px; font-weight: 700; }.decision-field p { font-size: 9px; color: var(--muted); margin: 5px 0 12px; }.decision-field .number-input { width: 100%; justify-content: space-between; background: var(--card); }.decision-field .number-input input { width: 90px; font-size: 18px; }
.expand-check { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--green); }.expand-check input { width: auto; }
.submit-bar { justify-content: flex-end; }.submit-bar > div { margin-right: auto; }
.report-section select { border: 1px solid var(--line); border-radius: 8px; padding: 8px 12px; background: #f7f5ef; color: var(--ink); }.report-scroll { overflow-x: auto; margin-top: 18px; }
.report-section table { width: 100%; min-width: 1000px; border-collapse: collapse; font-size: 10px; }.report-section th { text-align: right; color: var(--muted); font-size: 9px; padding: 9px; border-bottom: 1px solid var(--line); white-space: nowrap; }.report-section th:first-child,.report-section td:first-child { text-align: left; }.report-section td { text-align: right; padding: 10px 9px; border-bottom: 1px solid #ebe8df; }.report-section tbody tr:hover { background: #f7f5ef; }.positive { color: #518244; font-weight: 800; }.negative { color: var(--red); font-weight: 800; }.empty-cell { text-align: center !important; color: var(--muted); padding: 26px !important; }
.ledger-title{margin:20px 0 -8px;font-size:15px;color:var(--green)}#ledgerSection table{min-width:650px}
.account-shell{position:relative;width:min(500px,100%);background:var(--paper);border-radius:20px;padding:30px;box-shadow:0 25px 90px #0006}.account-shell h2{font:500 28px Georgia,"Microsoft YaHei",serif;margin:0 0 20px}.account-shell label{display:block;margin:13px 0;color:var(--muted);font-size:14px;font-weight:700}.account-shell input,.account-shell select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.account-new{margin-top:8px}
@media(max-width:1100px){.config-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.config-grid{grid-template-columns:repeat(2,1fr)}.decision-form{grid-template-columns:1fr}}
.register-toggle { width: 100%; margin-top: 8px; }.register-fields { border-top: 1px solid var(--line); margin-top: 15px; padding-top: 2px; }.register-fields .set-order { width: 100%; margin-top: 4px; }
.platform-panel, .ranking-panel { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 22px; margin-bottom: 16px; }.platform-panel h2,.ranking-panel h2 { font: 500 23px Georgia, "Microsoft YaHei", serif; margin: 0; }.platform-actions { display: flex; gap: 8px; }
.platform-actions .danger-action{color:var(--red);border-color:#cb5a4960}.platform-actions .danger-action:disabled{opacity:.45;cursor:not-allowed}
.position-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 20px;border:1px solid #9ab28e;border-radius:14px;background:#edf4e9}.position-panel b,.position-panel span{display:block}.position-panel span{margin-top:4px;color:var(--muted);font-size:13px}.position-panel select{min-width:360px;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.platform-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 18px; }.platform-block { background: #f4f2ec; padding: 14px; border-radius: 10px; }.platform-block h3 { font-size: 11px; margin: 0 0 10px; }.platform-block input,.platform-block select,.platform-block button { width: 100%; margin-top: 6px; border: 1px solid var(--line); border-radius: 7px; padding: 9px; background: var(--card); color: var(--ink); font-size: 10px; }
.platform-block .danger-action{color:var(--red);border-color:#cb5a4960;background:#fff7f5}.platform-block .danger-action:disabled{opacity:.45;cursor:not-allowed}
.ranking-list { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 18px; }.rank-card { display: flex; align-items: center; gap: 12px; background: #f4f2ec; padding: 13px; border-radius: 10px; }.rank-card>b { color: var(--orange); font: 500 24px Georgia; }.rank-card div { flex: 1; }.rank-card h3 { margin: 0 0 4px; font-size: 11px; }.rank-card span,.rank-card small { color: var(--muted); font-size: 8px; line-height: 1.5; }
@media(max-width:1100px){.platform-grid,.ranking-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.platform-grid,.ranking-list{grid-template-columns:1fr}}
@media(max-width:750px){.position-panel{align-items:stretch;flex-direction:column}.position-panel select{min-width:0;width:100%}}
.scenario-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin:18px 0; }.scenario-grid label { font-size:9px;color:var(--muted);font-weight:700 }.scenario-grid input,.scenario-grid select,.scenario-grid textarea { width:100%;margin-top:6px;padding:9px;border:1px solid var(--line);border-radius:7px;background:#f7f5ef }.scenario-grid .wide { grid-column:span 2 }.scenario-grid textarea{min-height:62px;resize:vertical}
.allocation-field{grid-column:span 2}.allocation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.allocation-row input{width:75px;padding:7px;border:1px solid var(--line);border-radius:6px}.allocation-auto{width:100%;margin-top:10px}
.pipeline-section,.analytics-section{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:16px}.pipeline-section h2,.analytics-section h2{font:500 23px Georgia,"Microsoft YaHei",serif;margin:0}.pipeline-view{display:grid;gap:10px;margin-top:18px}.pipe-row{display:flex;align-items:center;gap:8px;overflow-x:auto}.pipe-row>b{min-width:80px;font-size:10px;color:var(--muted)}.pipe-row span{min-width:76px;text-align:center;padding:10px;border-radius:8px;background:#edf2e9;color:var(--green);font-weight:800}.pipe-row small{display:block;font-size:8px;color:var(--muted);font-weight:400;margin-bottom:4px}.event-view{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:9px}.event-view span{padding:7px 9px;background:#f5eee7;border-radius:7px}
.analytics-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.analytics-section table{width:100%;border-collapse:collapse;font-size:10px}.analytics-section th,.analytics-section td{padding:9px;border-bottom:1px solid var(--line);text-align:right}.analytics-section th:first-child,.analytics-section td:first-child{text-align:left}.auto-review{margin-top:14px;padding:15px;border-left:3px solid var(--lime);background:#edf4e9;color:var(--green);font-size:11px;line-height:1.8}
@media(max-width:900px){.scenario-grid{grid-template-columns:repeat(2,1fr)}.analytics-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.scenario-grid{grid-template-columns:1fr}.scenario-grid .wide,.allocation-field{grid-column:span 1}}
.help-modal{position:fixed;inset:0;z-index:80;background:#10251cdd;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}.help-shell{width:min(980px,100%);max-height:90vh;overflow:auto;background:var(--paper);border-radius:20px;padding:28px;box-shadow:0 25px 90px #0006}.help-head{display:flex;justify-content:space-between;align-items:flex-start}.help-head h2{font:500 30px Georgia,"Microsoft YaHei",serif;margin:0}.help-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0;border-bottom:1px solid var(--line);padding-bottom:10px}.help-tabs button{border:0;background:transparent;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:10px}.help-tabs button.active{background:var(--green);color:var(--lime)}.help-content h3{font-size:18px;margin:0 0 10px}.help-lead{background:var(--green);color:white;padding:18px;border-radius:12px;margin-bottom:12px}.help-lead p{color:#c5d6cd;font-size:11px;line-height:1.7;margin:0}.guide-list{display:grid;gap:8px;padding:0;list-style:none}.guide-list li{display:flex;align-items:center;gap:13px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:9px;font-size:11px}.guide-list b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--green)}.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.help-columns>div,.lesson-grid article,.metric-dictionary article,.debrief-grid article{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:15px}.help-columns h4{margin:0 0 10px;font-size:12px}.help-columns p,.lesson-grid p,.metric-dictionary p,.debrief-grid p{color:var(--muted);font-size:10px;line-height:1.7;margin:6px 0}.lesson-grid,.metric-dictionary,.debrief-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.lesson-grid h3{font-size:12px}.metric-dictionary b{color:var(--green);font-size:12px}.advice-list{display:grid;gap:8px}.advice-list p{margin:0;padding:13px;background:#edf4e9;border-left:3px solid var(--lime);border-radius:7px;color:var(--green);font-size:11px}.debrief-grid article>b{color:var(--orange);font:500 25px Georgia}.debrief-grid h3{font-size:12px;margin:7px 0}
@media(max-width:650px){.help-shell{padding:18px}.help-columns,.lesson-grid,.metric-dictionary,.debrief-grid{grid-template-columns:1fr}.help-tabs{overflow-x:auto;flex-wrap:nowrap}.help-tabs button{white-space:nowrap}}

/* Standard readable web typography */
html { font-size: 16px; }
body { font-size: 16px; line-height: 1.6; }
button, input, select, textarea { font-size: 14px; line-height: 1.45; }
.brand span, .session, .ghost, .play-btn, .primary, .set-order, .role-tab,
.user-chip, .status-chip, .round-status b { font-size: 14px; }
.eyebrow { font-size: 12px; }
.subtitle, .login-brand > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.hero-stats span, .hero-stats small, .stage-title span, .stage-order,
.stage-stats span, .decision-card span, .decision-card small,
.brief-number span, .brief-number small, .brief-row, .metric-card span,
.metric-card small, .panel-note, .order-maker p, .decision-field p,
.tip, .insight, .message-meta span, .message-meta b, .message-meta small,
.message-item p, .empty-messages, .platform-block h3, .rank-card span,
.rank-card small, .config-grid label, .scenario-grid label, .axis-label,
.legend span, .pipe-row > b, .pipe-row small, .event-view { font-size: 13px; }
.stage-title b, .order-maker label, .decision-field label, .message-item h3,
.help-columns h4, .lesson-grid h3, .metric-dictionary b, .debrief-grid h3 {
  font-size: 15px;
}
.stage-stats b { font-size: 20px; }
.decision-card b { font-size: 28px; }
.login-card label { font-size: 14px; }
.demo-accounts { font-size: 13px; line-height: 1.75; }
.message-compose select, .message-compose input, .message-compose textarea,
.platform-block input, .platform-block select, .platform-block button {
  font-size: 14px;
}
.report-section table, .analytics-section table { font-size: 14px; line-height: 1.5; }
.report-section th, .analytics-section th { font-size: 13px; }
.report-section td, .report-section th, .analytics-section td, .analytics-section th {
  padding: 12px 10px;
}
.help-tabs button, .help-columns p, .lesson-grid p, .metric-dictionary p,
.debrief-grid p { font-size: 14px; }
.help-lead p, .advice-list p { font-size: 15px; }
.guide-list li { font-size: 15px; }
.form-error { font-size: 13px; }
.chain-line span { font-size: 14px; }

@media (max-width: 650px) {
  body { font-size: 15px; }
  button, input, select, textarea { font-size: 14px; }
}
@media(max-width:800px){.receipt-panel{grid-template-columns:1fr}.receipt-panel button{width:100%}}
