:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#263e35;background:#f4f2ec;font-synthesis:none;--ink:#263e35;--muted:#8a938a;--green:#42786b;--line:#e4e7dd;--paper:#fffefa;--purple:#86719d;--orange:#bc8253;--teal:#559994}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.46}button{transition:background .15s,box-shadow .15s,transform .15s}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #8fafa1;outline-offset:3px}a{color:inherit;text-decoration:none}svg{flex-shrink:0;vertical-align:middle}button{color:inherit}button:not(:disabled):active{transform:translateY(1px)}.app-shell{max-width:1640px;margin:0 auto;padding:0 42px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd5}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:4px;font-weight:500;color:#7d8a7f}.brand-mark{height:40px;width:40px;border:1px solid #416e5c;border-radius:11px;display:grid;place-items:center;background:#e8ede1;color:#42725e}.prototype{font-size:10px;font-weight:500;letter-spacing:0;border:1px solid #dfdfd2;border-radius:5px;padding:4px 6px;margin-left:8px;color:#8a8e7d}.topbar nav{display:flex;align-items:center;gap:19px}.text-button,.quiet-button{border:0;background:none;padding:8px 0;color:#718074;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.text-button:hover:not(:disabled){color:var(--green)}.outline-button{border:1px solid #d7ded2;border-radius:7px;padding:10px 14px;background:#fffefa;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;white-space:nowrap}.outline-button:hover:not(:disabled){background:#eef1e7;border-color:#9eb4a4}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:7px;padding:13px 15px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:600;width:100%}.primary-button:hover:not(:disabled){background:#356658;box-shadow:0 3px 10px #42786b25}.quiet-button{width:100%;margin-top:5px;font-size:11px}.compact{font-size:11px;padding:7px 9px}.icon-button{border:0;background:none;display:flex;align-items:center;justify-content:center;padding:4px;color:#7e897c}.hero{display:flex;align-items:center;height:170px;position:relative;gap:15px}.eyebrow{font-size:10px;letter-spacing:1.3px;color:#819180;display:flex;align-items:center;gap:6px;margin-bottom:14px}.live-dot{width:5px;height:5px;border-radius:50%;background:#769676}.hero h1{font-size:29px;letter-spacing:1px;font-weight:600;margin:0 0 12px}.hero h1>span{color:#73906e}.hero p{font-size:12px;letter-spacing:.6px;color:#859080;margin:0}.hero-art{width:320px;height:110px;margin-left:auto;opacity:.9}.week-stamp{width:112px;text-align:center;padding:10px 0 10px 24px;border-left:1px solid #daddce;margin-left:28px}.week-stamp>span{font-size:9px;letter-spacing:3px;color:#88977e}.week-stamp strong{font-size:44px;line-height:1.2;display:block;font-family:Georgia,serif;font-weight:400;color:#49694e}.week-stamp small{font-size:10px;color:#85917e;white-space:nowrap}.phasebar{display:flex;align-items:center;background:#eaece2;border:1px solid #e0e3d8;border-radius:9px;min-height:49px;padding:5px 7px;gap:6px;margin-bottom:26px}.phase-step{display:flex;align-items:center;gap:9px;flex:1;padding:11px 13px;color:#969d90;font-size:12px;border-radius:6px;position:relative}.phase-step span{font-size:10px;font-family:Georgia,serif;opacity:.8}.phase-step b{font-weight:500}.phase-step.current{background:#fffefa;color:#3b695a;box-shadow:0 1px 4px #424e3010}.phase-step.current span{color:#3b695a}.phase-step.complete{color:#66836a}.phase-note{font-size:10px;color:#89917f;padding:0 13px;white-space:nowrap}.player-tabs{display:flex;align-items:center;gap:8px;margin-bottom:18px}.player-tab{border:1px solid transparent;display:flex;align-items:center;gap:8px;padding:8px 12px;background:none;border-radius:8px;font-size:12px;color:#899482}.player-tab.active{background:#fffefa;border-color:#dce3d4;color:#314f3c;box-shadow:0 2px 3px #444e3010}.player-tab>small{font-size:9px;color:#8b9685;border-left:1px solid #dfe4d7;padding-left:8px}.avatar{display:inline-flex;align-items:center;justify-content:center;background:var(--avatar);color:white;font-size:11px;font-weight:600;width:29px;height:29px;border-radius:50%;flex-shrink:0}.avatar.small{width:24px;height:24px;font-size:10px}.calendar-legend{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:10px;color:#87927e}.legend{width:7px;height:7px;border-radius:2px;margin-left:10px}.legend.work{background:#d7dace}.legend.free{background:#b4c7a4}.legend.night{background:#c9bfdb}.resources{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.resource{display:flex;align-items:center;gap:13px;position:relative;background:#fffefa;border:1px solid #e3e6dc;border-radius:10px;min-height:83px;padding:15px 18px}.resource-icon{display:grid;place-items:center;height:45px;width:45px;border-radius:13px;background:#eef1e3;color:#7a914f}.resource.sanity .resource-icon{background:#f9ecdf;color:#ba8250}.resource.inspiration .resource-icon{background:#eee8f5;color:#9373b1}.resource.achievement .resource-icon{background:#e4f0eb;color:#5d9281}.resource>div>span{font-size:10px;color:#929983;display:block;margin-bottom:3px}.resource strong{font-size:26px;font-weight:500;letter-spacing:-1px}.resource strong small{font-size:10px;color:#97a28d;margin-left:5px}.resource em{margin-left:auto;font-style:normal;font-size:9px;color:#9b9f8e;align-self:flex-end;padding-bottom:5px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:21px;align-items:start}.main-column{min-width:0}.calendar-panel{background:#fffefa;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 3px 10px #3b482603}.panel-heading{padding:23px 22px 18px;display:flex;justify-content:space-between;align-items:center}.section-kicker{font-size:8px;letter-spacing:2.1px;color:#9aa48a;font-weight:500}.panel-heading h2{font-size:17px;letter-spacing:.3px;font-weight:600;margin:5px 0 0}.subtle{font-size:10px;color:#a1aa96;font-weight:400;margin-left:10px}.calendar-actions{display:flex;align-items:center;gap:10px}.lock-status{display:flex;align-items:center;gap:6px;font-size:10px;color:#929e86}.calendar-scroll{padding:0 18px}.calendar-grid{display:grid;grid-template-columns:27px repeat(7,minmax(0,1fr));gap:7px}.day-heading{display:flex;flex-direction:column;text-align:center;padding:5px 0 13px;gap:5px}.day-heading strong{font-size:12px;font-weight:500;color:#6f7e65}.day-heading span{font-size:8px;color:#a8ae9e;letter-spacing:.4px}.day-heading.weekend strong{color:#b4915e}.time-label{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;color:#969f8b;gap:6px}.time-label small{font-size:7px;letter-spacing:.5px;color:#b9bfaf}.slot{border:1px solid #e3e7db;background:#f3f4ed;border-radius:7px;min-height:140px;position:relative;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;overflow:hidden;width:100%}.slot.work{background:repeating-linear-gradient(135deg,#f2f3ed,#f2f3ed 5px,#f0f1eb 5px,#f0f1eb 6px);border-color:#e4e7dc}.slot.free{background:#f0f5e7;border-color:#d9e4c8}.slot.slack{background:#ecf5f0;border-color:#b9d6c8}.slot.night{background:#f3f0f7;border-style:dashed;border-color:#e1d9ea}.slot-top{display:flex;justify-content:space-between;width:100%;height:16px;align-items:center;gap:3px}.work-dot{width:4px;height:4px;background:#bcc5b4;border-radius:50%;margin-left:4px}.size-pill{font-size:8px;color:#83a271;white-space:nowrap;letter-spacing:.4px}.slack .size-pill{color:#6e9c89}.night .size-pill{color:#9b83af}.work-content,.free-content{display:flex;flex-direction:column;align-items:center;margin:auto 0;gap:8px;width:100%;color:#b0b9a4;padding-top:9px}.work-content strong{color:#84917a;font-size:11px;font-weight:500;letter-spacing:1px}.work-content span{color:#adb6a0;font-size:9px}.free-content{color:#a8bd93;gap:7px}.free-content strong{font-size:10px;color:#7a9469;font-weight:500}.free-content span{font-size:8px;color:#9aaf87;white-space:nowrap}.opportunity-strip{font-size:8px;color:#618b79;padding:5px 2px 0;border-top:1px solid #d1e3d5;width:100%;margin-top:auto;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:3px}.night .opportunity-strip{color:#9580ab;border-color:#e0d5ea}.slot-activity{display:flex;flex-direction:column;align-items:center;gap:7px;margin:7px 0 8px;width:100%;color:var(--accent,#588c71)}.slot-card-icon{height:32px;width:32px;border-radius:10px;background:var(--tint,#e1ecde);display:grid;place-items:center}.slot-activity strong{font-size:11px;font-weight:600;white-space:nowrap}.slot-effect{font-size:8px;text-align:center;color:#899f7b;line-height:1.8}.slot.night-slot{min-height:67px;padding-top:6px}.night-slot .slot-top{height:10px}.night-placeholder{font-size:8px;color:#b3a6c1;display:flex;gap:4px;align-items:center;margin:auto 0}.night-slot:has(.slot-activity){min-height:125px}.night-slot .free-content{padding-top:1px;gap:4px}.night-slot .free-content>svg{width:16px;height:16px}.night-slot .free-content strong{font-size:9px}.slot:not(:disabled):hover{border-color:#9fbaa2;box-shadow:0 2px 6px #4769410d}.slot.placeable{border:1px solid #699c7f;box-shadow:inset 0 0 0 1px #699c7f40;background:#e6f0dd}.slot.selected-slot{box-shadow:inset 0 0 0 2px #93b29a}.slot.resolving-now{box-shadow:0 0 0 2px #b99b56,inset 0 0 20px #e7cf8c35}.slot.inspected{border-color:#d4a18b}.inspection-mark{display:flex;align-items:center;gap:2px;font-size:7px;color:#bd836a;white-space:nowrap}.calendar-footer{display:flex;justify-content:space-between;gap:15px;padding:17px 22px 18px;font-size:9px;color:#9aa58e;align-items:center}.calendar-footer>span:first-child{display:flex;align-items:center;gap:6px}.calendar-footer>span:last-child{white-space:nowrap;color:#a5af98}.sidebar{display:flex;flex-direction:column;gap:14px}.sidebar section{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:20px}.phase-card h2{font-size:19px;margin:7px 0 10px;font-weight:500;letter-spacing:.5px}.phase-card>p{font-size:11px;color:#8c9880;line-height:1.9;margin:0 0 18px}.phase-card .tiny{font-size:9px;text-align:center;color:#9da98f;margin:10px 0 0}.split-buttons{display:flex;gap:8px;margin-top:9px}.split-buttons>button{flex:1}.split-buttons .outline-button{padding:9px 8px;font-size:11px}.turn-notice{background:#f3f5ec;border:1px solid #e5ebdb;border-radius:6px;display:flex;gap:9px;padding:10px;margin-bottom:12px;align-items:center}.turn-notice strong{font-size:11px;font-weight:500;display:block}.turn-notice small{font-size:8px;color:#9caa8c;display:block;margin-top:4px}.escape-heading{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:5px}.escape-heading>span:first-child{display:flex;align-items:center;gap:7px;font-weight:500}.escape-heading>span:last-child{font-size:8px;color:#a5ae9a}.income-number{font-size:34px;font-weight:500;margin-top:17px;color:#4f7b59;letter-spacing:-1px}.income-number small{font-size:12px;color:#9bab8e;margin-left:3px;letter-spacing:0}.progress-track{height:5px;border-radius:6px;background:#eaf0e1;margin-top:9px;overflow:hidden}.progress-track>div{height:100%;background:#92ae78;border-radius:6px;transition:width .25s}.escape-card>p{font-size:9px;line-height:1.7;color:#9aa98a;margin:10px 0 0}.prediction{display:flex;justify-content:space-between;border-top:1px solid #e8ecdf;margin-top:16px;padding-top:12px;font-size:9px;color:#9da990}.prediction b{color:#779366;font-weight:500;margin-left:3px}.prediction-note{font-size:8px;color:#b2bba3;display:block;line-height:1.7;margin-top:8px}.danger-text{color:#bc8066!important}.success-text{color:#598f71}.hidden-event{text-align:center;padding:25px 0 8px;color:#c4cbb9}.hidden-event p{font-size:11px;color:#a0ab91;margin:10px 0 5px}.hidden-event small{font-size:8px;color:#b2bba3}.inspection-card.revealed{background:#fbf4ea;border-color:#eddfc9}.inspection-card h3{font-size:14px;font-weight:500;margin:15px 0 8px;color:#9c7953}.inspection-card.revealed p{font-size:10px;color:#b59d7d;margin:0 0 12px;line-height:1.8}.inspection-times{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px}.inspection-times span{font-size:9px;color:#b08663;background:#f3e7d3;border-radius:4px;padding:5px 6px}.inspection-card.revealed>small{font-size:8px;color:#b59e80;line-height:1.7;display:block}.slot-editor{background:#edf4e9!important;border-color:#cddfc8!important}.slot-editor>p{font-size:10px;line-height:1.8;color:#819d77}.slot-editor .quiet-button{font-size:9px;margin-top:9px}.mini-log .escape-heading{margin-bottom:7px}.mini-log-line{display:flex;gap:8px;align-items:baseline;border-top:1px solid #eef0e5;padding-top:10px;margin-top:8px}.mini-log-line p{font-size:9px;color:#a1aa94;line-height:1.7;margin:0}.mini-log-line b{font-weight:500;color:#829774}.log-dot{width:5px;height:5px;display:inline-block;border-radius:50%;background:#b2bda1;flex-shrink:0}.log-dot.caught,.log-dot.warning{background:#c38b65}.log-dot.income,.log-dot.purchase,.log-dot.slack{background:#79a690}.log-dot.unlock{background:#b69a5c}.log-dot.inspiration{background:#a58aba}.shelf-panel{background:#fffefa;border:1px solid var(--line);border-radius:11px;margin-top:20px;overflow:hidden;scroll-margin-top:15px}.shelf-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e7ebdf;min-height:58px;gap:15px}.shelf-tabs{display:flex;align-items:center;gap:24px;align-self:stretch}.shelf-tabs button{border:0;background:none;font-size:12px;padding:0;position:relative;display:flex;align-items:center;gap:7px;color:#9ba68e;white-space:nowrap}.shelf-tabs button.active{color:#487052;font-weight:600}.shelf-tabs button.active:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:#6c946c}.shelf-tabs span{font-size:9px;padding:2px 5px;border-radius:4px;background:#edf1e4;color:#899d79;font-weight:400}.shelf-hint{font-size:8px;color:#a5af96;text-align:right}.hand-hint{font-size:10px;line-height:1.8;color:#9aa58e;padding:16px 20px 0}.hand-grid{padding:17px 20px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(163px,1fr));gap:12px}.market-groups{padding:18px 20px;display:flex;flex-direction:column;gap:20px}.market-label{display:flex;align-items:center;gap:10px;margin-bottom:10px}.market-label>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#7f8e70}.market-label small{font-size:8px;color:#acb59f}.market-grid{display:grid;gap:10px}.market-grid.opportunities{grid-template-columns:repeat(3,1fr)}.market-grid.activities{grid-template-columns:repeat(5,1fr)}.game-card{--accent:#667e62;--tint:#edf2e7;border:1px solid #e0e6d7;background:#fffefa;border-radius:7px;padding:11px 12px 9px;display:flex;flex-direction:column;min-height:203px;position:relative;overflow:hidden;transition:box-shadow .15s,border-color .15s}.game-card:before{content:'';height:3px;background:var(--accent);opacity:.5;position:absolute;left:0;right:0;top:0}.category-机会{--accent:#8b76a5;--tint:#eee8f3}.category-恢复{--accent:#809c6b;--tint:#eef3e5}.category-副业{--accent:#aa8558;--tint:#f7eedd}.category-灵感{--accent:#8875b0;--tint:#f0eaf8}.category-引擎{--accent:#5e9995;--tint:#e4f1ed}.category-创作{--accent:#c38f7a;--tint:#f8ece7}.category-解锁{--accent:#b39455;--tint:#f6efd9}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:5px}.card-category{font-size:8px;letter-spacing:1px;color:var(--accent)}.card-size{font-size:8px;color:#a6ad98;border:1px solid #e7eadd;padding:2px 4px;border-radius:4px;white-space:nowrap}.card-title{display:flex;align-items:center;gap:8px;margin:14px 0 11px}.card-title h3{font-size:12px;font-weight:600;margin:0;line-height:1.4;white-space:nowrap}.card-symbol{display:grid;place-items:center;width:35px;height:35px;background:var(--tint);border-radius:9px;color:var(--accent);flex-shrink:0}.card-description{font-size:9px;line-height:1.8;margin:0 0 13px;color:#8b977f}.card-flavor{font-size:8px;line-height:1.6;color:#b4baa6;margin:auto 0 10px;font-style:normal}.card-bottom{border-top:1px solid #ecf0e4;padding-top:8px;display:flex;align-items:center;gap:6px;min-height:34px}.price{font-size:10px;color:#93a279;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.price.sanity{color:#c19774}.price.inspiration{color:#9e86b6}.buy-button{margin-left:auto;border:1px solid #dce4d1;background:#edf2e5;border-radius:5px;font-size:9px;padding:5px 8px;color:#7c9668;white-space:nowrap}.buy-button:hover:not(:disabled){background:#dfead5}.placement-label{display:flex;gap:4px;align-items:center;font-size:9px;color:#a7b096}.card-placed{background:#f5f8f0;border-color:#cfddc1}.card-placed .placement-label{color:#7f9a67}.card-selected{border-color:#658f6b!important;box-shadow:0 0 0 2px #8faf7e65;background:#f0f6e9!important}.selectable{cursor:pointer}.selectable:hover{border-color:#abc198;box-shadow:0 3px 10px #526b3a0d}.discard-button{border:0;background:none;color:#bcc4ae;font-size:16px;padding:0 3px;margin-left:auto}.discard-button:hover{color:#bd8b74}.weekend-supply{display:flex;align-items:center;gap:15px;border-top:1px solid #e6eadc;padding:16px 20px;background:#faf9f1}.weekend-supply-icon{background:#f3edd7;color:#b19357;width:39px;height:39px;display:grid;place-items:center;border-radius:10px;flex-shrink:0}.weekend-supply strong{font-size:12px;color:#938552;font-weight:600}.weekend-supply p{font-size:9px;line-height:1.7;color:#a9a386;margin:5px 0 0}.supply-price{margin-left:auto}.weekend-supply button{color:#9b8a59;border-color:#e2ddc4;background:#fffdf5;font-size:10px}.empty-state{font-size:11px;color:#a8b198;grid-column:1/-1;padding:20px}.log-panel{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;padding:22px}.log-list{max-height:460px;overflow:auto}.log-row{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid #eef0e6;padding:10px 0}.log-player{font-size:10px;color:#829777;min-width:40px}.log-row p{font-size:10px;color:#9ba78c;line-height:1.8;margin:0}.notes-panel{background:#f6f7ee;padding:17px;border-radius:7px}.notes-panel h3{font-size:12px;font-weight:500;margin:0 0 9px}.notes-panel p{font-size:10px;line-height:1.8;color:#99a68a}.notes-panel textarea{resize:vertical;width:100%;min-height:165px;background:#fffefa;border:1px solid #dde4d2;border-radius:5px;padding:10px;font-size:11px;line-height:1.7;color:#6f8365}.notes-panel textarea::placeholder{color:#b6bea6}.notes-panel button{width:100%;margin-top:10px}.page-footer{display:flex;justify-content:space-between;color:#a6ad98;font-size:8px;letter-spacing:.5px;padding:27px 0 30px;margin-top:4px}.footer-dot{padding:0 8px}.dialog-backdrop{position:fixed;inset:0;background:#213c3260;backdrop-filter:blur(4px);z-index:20;display:flex;align-items:center;justify-content:center;padding:30px;overflow-y:auto}.dialog-panel{background:#fffefa;border:1px solid #f8f6eb;box-shadow:0 18px 70px #1f322c30;border-radius:15px;padding:38px;position:relative;max-width:870px;width:100%;max-height:calc(100dvh - 60px);overflow-y:auto;outline:none}.dialog-close{position:absolute;right:20px;top:20px}.dialog-panel>h2{font-size:26px;font-weight:500;letter-spacing:.5px;margin:12px 0 14px}.dialog-intro{font-size:12px;line-height:1.9;color:#8e9d82;margin:0 0 24px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-bottom:23px}.rules-grid article>span{font-size:9px;color:#a9b297;letter-spacing:1px}.rules-grid h3{font-size:13px;font-weight:500;margin:8px 0}.rules-grid p{font-size:11px;color:#93a085;line-height:1.9;margin:0}.rule-footnote{background:#f3f5e9;border-radius:6px;font-size:10px;line-height:1.8;color:#97a588;padding:13px 15px;margin:20px 0}.settings-dialog{max-width:700px}.setup-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-panel label{display:flex;flex-direction:column;font-size:11px;color:#869a7b;gap:9px}.dialog-panel input,.dialog-panel select{border:1px solid #dce5d2;background:#fafbf5;color:#56754d;border-radius:6px;padding:10px 11px;min-width:0;font-size:12px;width:100%}.settings-divider{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5eada;margin:24px 0 14px;padding-top:17px;font-size:10px;color:#9aaa89}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.seed-field{margin-top:22px}.seed-field small{font-size:9px;color:#a8b39b;line-height:1.7}.review-table{border:1px solid #e1e8d7;border-radius:7px;overflow:hidden;margin:23px 0}.review-row{display:grid;grid-template-columns:1.6fr repeat(3,.8fr) 1.2fr;align-items:center;padding:15px 17px;font-size:12px;gap:6px;border-top:1px solid #ebefdf}.review-row strong{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500}.review-row>span{text-align:center}.review-row.table-heading{background:#f2f5e9;font-size:10px;color:#96a586;border:0}.review-row.table-heading>span:first-child{text-align:left}.review-status{font-size:10px;color:#8ba377}.review-status b{color:#668e62;font-weight:500}.escape-choice{padding:18px;background:#f0f6e8;border:1px solid #d8e7cd;border-radius:8px;margin:12px 0}.escape-choice strong{font-size:14px;font-weight:500}.escape-choice p{font-size:11px;color:#92a783;line-height:1.8;margin:9px 0 14px}.escape-choice .split-buttons{max-width:420px}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.result-card{text-align:center;border:1px solid #e2e8d8;border-radius:9px;padding:23px 12px;background:#f6f7ef}.result-card.winner{background:#f0f6e8;border-color:#c7dcba}.result-card h3{font-size:14px;font-weight:500;margin:12px 0 9px}.result-label{font-size:10px;color:#9aa98a}.winner .result-label{color:#7ba363}.result-score{display:block;font-size:37px;font-weight:400;font-family:Georgia,serif;margin:20px 0;color:#65835a}.result-score small{font-size:10px;font-family:inherit;margin-left:4px}.result-card p{font-size:10px;color:#94a281;line-height:1.8}.result-resources{font-size:9px;line-height:1.9;color:#a7b198;border-top:1px solid #e3ebd8;padding-top:10px;margin-top:14px}.results-grid+.split-buttons{margin-top:25px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,12px);background:#304e41;color:#f7f8ef;padding:13px 22px;border-radius:8px;box-shadow:0 4px 24px #253e3430;font-size:12px;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 30px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.market-groups{flex-direction:row;gap:22px}.opportunity-market{flex:3;min-width:0}.activity-market{flex:5;min-width:0}.game-card{padding:11px 9px 9px}.card-title{gap:5px}.card-title h3{font-size:11px}.card-symbol{width:28px;height:28px}.card-symbol svg{width:20px}.market-label small{display:none}}
@media(max-width:1180px){.app-shell{padding:0 25px}.hero-art{width:220px}.week-stamp{margin-left:10px;width:95px;padding-left:16px}.play-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}.sidebar section{padding:17px}.resource{padding:13px;gap:10px}.resource em{display:none}.slot{min-height:130px}.slot-activity strong{font-size:10px}.slot-effect{font-size:7px}.slot-card-icon{width:28px;height:28px}.opportunity-strip{font-size:7px}.calendar-scroll{padding:0 12px}.calendar-grid{gap:5px;grid-template-columns:20px repeat(7,minmax(0,1fr))}.panel-heading{padding:21px 17px 16px}.calendar-footer{padding:15px 17px;font-size:8px}.calendar-footer>span:last-child{display:none}.phase-note{display:none}.phase-step{padding:10px 9px}.market-grid.activities{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:26px}.shelf-hint{display:none}.log-panel{grid-template-columns:1fr}.notes-panel textarea{min-height:100px}}
@media(max-width:900px){.app-shell{padding:0 18px}.topbar{height:75px}.topbar nav{gap:10px}.topbar nav .text-button{font-size:0;gap:0;padding:8px}.topbar nav .text-button svg{width:18px;height:18px}.brand{font-size:16px}.prototype{display:none}.hero{height:148px}.hero-art{width:180px}.hero h1{font-size:23px;letter-spacing:0}.hero p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:.5px}.week-stamp{width:78px}.week-stamp strong{font-size:34px}.play-layout{display:flex;flex-direction:column;gap:16px}.main-column{width:100%}.sidebar{width:100%;display:grid;grid-template-columns:1fr 1fr}.sidebar .phase-card{grid-column:1/-1}.phase-card .primary-button{max-width:360px}.phase-card .quiet-button{max-width:360px}.phase-card .split-buttons{max-width:360px}.phase-card .tiny{text-align:left}.phase-card>p{margin-bottom:12px}.phase-card .turn-notice{max-width:360px}.sidebar .mini-log{display:none}.sidebar .slot-editor{grid-column:1/-1;order:-1}.slot{min-height:139px}.slot-activity strong{font-size:11px}.opportunity-strip{font-size:8px}.slot-effect{font-size:8px}.resources{gap:10px}.resource-icon{width:35px;height:35px;border-radius:10px}.resource-icon svg{width:20px}.resource strong{font-size:23px}.resource{min-height:73px;padding:12px;gap:9px}.calendar-legend{font-size:8px;gap:4px}.player-tabs{gap:4px;flex-wrap:wrap}.player-tab{padding:7px 8px}.hero-art{margin-left:auto}.phasebar{margin-bottom:19px}.shelf-panel{margin-top:17px}.page-footer{font-size:7px}}
@media(max-width:620px){.app-shell{padding:0 12px}.topbar{height:66px}.brand{gap:8px;font-size:15px}.brand-mark{width:33px;height:33px;border-radius:8px}.brand small{font-size:7px;letter-spacing:1.6px}.topbar nav{gap:5px}.topbar .outline-button{padding:8px;font-size:0;gap:0}.topbar .outline-button svg{width:18px;height:18px}.hero{height:130px}.hero h1{font-size:21px}.hero p{font-size:9px;max-width:230px;line-height:1.7}.hero-art{display:none}.eyebrow{font-size:7px;max-width:230px;line-height:1.8;margin-bottom:9px}.week-stamp{margin-left:auto;width:70px;padding-left:12px}.week-stamp small{font-size:8px}.phasebar{gap:0;padding:4px;min-height:42px}.phase-step{gap:4px;justify-content:center;font-size:9px;padding:9px 3px}.phase-step span{font-size:8px}.calendar-legend{display:none}.player-tab{font-size:10px;gap:5px;padding:6px}.player-tab>small{padding-left:5px;font-size:8px}.avatar{width:24px;height:24px;font-size:9px}.resources{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.resource{min-height:65px;padding:9px 12px}.resource strong{font-size:23px}.resource>div>span{font-size:9px}.resource em{display:block;font-size:7px;margin-left:auto}.resource-icon{width:32px;height:32px}.calendar-scroll{overflow-x:auto;padding:0 10px 9px}.calendar-grid{min-width:660px;grid-template-columns:20px repeat(7,minmax(0,1fr));gap:6px}.slot{min-height:129px}.panel-heading{padding:17px 14px 15px;align-items:center}.section-kicker{font-size:7px;letter-spacing:1.5px}.panel-heading h2{font-size:15px}.subtle{display:none}.calendar-actions{gap:5px}.calendar-actions .compact{font-size:9px;padding:6px}.calendar-actions .text-button{font-size:0;gap:0}.calendar-footer{font-size:8px;line-height:1.7;padding:10px 14px}.calendar-footer>span svg{display:none}.shelf-header{padding:0 14px;min-height:52px}.shelf-tabs{gap:20px}.shelf-tabs button{font-size:11px}.market-groups{padding:15px 12px}.market-grid.opportunities,.market-grid.activities{grid-template-columns:1fr 1fr;gap:8px}.game-card{padding:11px 10px 9px;min-height:203px}.hand-grid{grid-template-columns:1fr 1fr;gap:8px;padding:14px 12px}.card-title h3{font-size:12px}.card-description{font-size:9px}.card-title{gap:6px}.weekend-supply{flex-wrap:wrap;padding:15px 14px;gap:10px}.weekend-supply>div:nth-child(2){flex:1;min-width:200px}.weekend-supply .supply-price{margin-left:0}.weekend-supply button{margin-left:auto}.hand-hint{padding:13px 14px 0;font-size:9px}.sidebar{gap:10px}.sidebar section{padding:15px}.escape-heading{font-size:10px;flex-wrap:wrap}.escape-heading>span:last-child{font-size:7px}.income-number{font-size:29px}.prediction{font-size:8px}.prediction-note{font-size:7px}.inspection-card h3{font-size:12px}.page-footer{flex-direction:column;gap:9px;text-align:center;padding:20px 0}.dialog-backdrop{padding:12px}.dialog-panel{padding:28px 19px;max-height:calc(100dvh - 24px);border-radius:11px}.dialog-panel>h2{font-size:23px}.dialog-intro{font-size:11px;margin-bottom:18px}.rules-grid{grid-template-columns:1fr;gap:17px}.settings-grid{grid-template-columns:1fr 1fr}.setup-row{gap:10px}.dialog-panel label{font-size:10px}.settings-grid input{padding:9px}.review-row{padding:12px 8px;grid-template-columns:1.3fr repeat(3,.7fr) 1fr;font-size:11px;gap:3px}.review-row strong{font-size:10px;gap:5px}.review-row .avatar{display:none}.review-row.table-heading{font-size:8px}.review-status{font-size:8px}.escape-choice{padding:15px}.escape-choice strong{font-size:13px}.escape-choice p{font-size:10px}.escape-choice .outline-button,.escape-choice .primary-button{font-size:11px}.results-grid{grid-template-columns:1fr 1fr}.result-card{padding:18px 10px}.result-card p{font-size:9px}.log-panel{padding:15px}.log-row{gap:7px}.log-row p{font-size:9px}.log-player{font-size:9px;min-width:34px}#toast{font-size:11px;width:max-content}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.night-rest-content{display:flex;flex-direction:column;align-items:center;gap:7px;margin:auto 0;padding:8px 0;color:#b1a4c1}.night-rest-content strong{font-size:11px;color:#9d8dad;font-weight:500}.night-rest-content span{font-size:8px;color:#b6a8c7}.night-rest-content.awake{color:#a296b3}.night-slot.slot{min-height:130px}.slot.work .size-pill{color:#acb7a1}.slot.night .opportunity-strip{margin-top:5px}.day-heading.weekend{background:#faf5e8;border-radius:5px}.calendar-panel .calendar-grid{padding-bottom:2px}

/* The calendar is a play surface: keep its rules and card effects readable. */
.work-content strong,.free-content strong,.night-rest-content strong,.slot-activity strong{font-size:12px;color:#516550}
.night-rest-content strong{color:#766284}
.work-content>span,.free-content>span,.night-rest-content>span,.slot-effect{font-size:10px;color:#687661;line-height:1.6}
.night-rest-content>span{color:#81708e}
.size-pill,.slot.work .size-pill{font-size:9px;color:#798774}
.opportunity-strip{font-size:9px;line-height:1.6;color:#736283}
.day-heading strong{font-size:13px;color:#53624e}
.day-heading>span,.time-label{color:#7e8a73}
.card-description{font-size:12px;color:#596b52;line-height:1.8}
.card-flavor{font-size:10px;color:#87917a;line-height:1.7}
.card-title h3{font-size:14px}
.card-category,.card-size,.placement-label,.price,.buy-button{font-size:10px}
.game-card{min-height:220px}
.phase-card>p,.escape-card>p,.slot-editor>p,.rules-grid p,.dialog-intro{font-size:12px;color:#6c7e60}
.rules-grid h3{font-size:14px}
.calendar-footer,.hand-hint,.rule-footnote{font-size:11px;color:#78866b}
.tiny,.prediction-note{color:#7e8a73}
.log-row p,.mini-log-line p{color:#6c7b61;font-size:11px}
.dialog-panel label{color:#617655;font-size:12px}
@media(max-width:1180px){.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:660px}.slot-effect,.opportunity-strip{font-size:9px}}
@media(min-width:1500px){.card-title h3{font-size:12px}.card-description{font-size:11px}.card-flavor{font-size:9px}}
@media(max-width:620px){.card-description{font-size:11px}.card-title h3{font-size:13px}.calendar-footer,.hand-hint{font-size:10px}.phase-card>p,.escape-card>p{font-size:11px}.game-card{min-height:230px}}
