:root{--bg:#f6f4ec;--paper:#fffef9;--ink:#293f37;--muted:#7c8576;--green:#315d4d;--line:#e5e7db;--yellow:#e7b767;--red:#aa5944;--shadow:0 4px 18px #2e4b3510;font-family:ui-rounded,'PingFang TC','Microsoft JhengHei',system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid transparent;border-radius:10px;padding:11px 15px;transition:background .18s,transform .18s;background:#edf0e5;font-weight:650}button:hover:not(:disabled){transform:translateY(-1px);background:#dce7d9}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #cc963f;outline-offset:3px}a{color:inherit;text-decoration:none}p{line-height:1.8;margin:9px 0 15px}h1,h2,h3{line-height:1.4;margin:0;font-weight:800}h1{font-size:clamp(24px,2.2vw,33px);letter-spacing:-.8px}h2{font-size:19px}h3{font-size:18px}small{line-height:1.65}#app{display:flex;min-height:100vh}.sidebar{width:215px;background:#254b40;color:#edf1db;padding:32px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5}.brand{align-self:flex-start}.brand-mark{display:block;font-family:Georgia,serif;font-size:45px;line-height:52px;width:54px;height:54px;border-radius:17px;background:#eacb83;color:#294b40;text-align:center;position:relative;font-weight:bold}.brand-mark span{font-family:system-ui;font-size:21px;position:absolute;right:-8px;top:-15px;color:#eacb83}.brand-name{font-size:21px;font-weight:800;margin:15px 0 36px}.brand-name small{display:block;font-size:11px;letter-spacing:2px;color:#b8c8af;margin-top:8px}.sidebar nav{display:flex;flex-direction:column;gap:9px}.nav-item{display:flex;gap:13px;align-items:center;text-align:left;padding:13px 12px;background:none;color:#c6d3bf;font-size:14px;white-space:nowrap}.nav-item span{font-size:23px;line-height:25px;width:24px;text-align:center}.nav-item.active{background:#e8edda;color:#2d5343}.nav-item:hover:not(:disabled){background:#3c6151;color:#fff}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom .pill{background:#385d4d;color:#dce7c5;font-size:11px}.sidebar-bottom p{font-size:13px;color:#bdcbb3}.sidebar-bottom a{font-size:12px}.sidebar-bottom>small{display:block;margin-top:18px;color:#93ad99;font-size:10px}main{width:calc(100% - 215px);max-width:1640px;margin-left:215px;padding:34px 35px 18px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.9px;color:#8b967c;display:block;margin-bottom:9px}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.day-badge{padding:11px 12px;background:#eee9d9;border:1px solid #e5dfcc;border-radius:10px;white-space:nowrap;font-size:13px}.day-badge small{font-size:10px;display:inline-block;min-width:30px;margin-left:6px;color:#7d856a}.quiet{background:#eaeede;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.stats article{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:19px 21px;box-shadow:var(--shadow)}.stats article>span{font-size:12px;color:var(--muted)}.stats strong{display:block;font-size:31px;letter-spacing:-.7px;margin:7px 0 5px;font-variant-numeric:tabular-nums}.stats em{font-style:normal;font-size:13px;color:#8c9582;font-weight:500}.stats small{font-size:11px;color:var(--muted)}.positive{color:#427653!important}.negative{color:var(--red)!important}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px}.main-column,.right-column{min-width:0}.panel{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:22px;margin-bottom:22px;box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.section-heading .eyebrow{margin-bottom:6px}.muted{color:var(--muted);font-size:11px}.pill{display:inline-flex;padding:6px 10px;border-radius:7px;background:#ecf0df;color:#6c7a54;font-size:11px;white-space:nowrap}.live{color:#507957}.office{padding:23px 23px 15px}.office-art{display:block;width:100%;height:auto}.office-caption{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:10px;color:#879077}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.choice{background:#fafaf3;border:1px solid var(--line);padding:14px 11px;text-align:left;position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:155px;font-weight:400}.choice-icon{font-size:22px;margin-bottom:9px}.choice b{font-size:12px;margin-bottom:6px}.choice small{font-size:10px;color:#79846e;line-height:1.7}.choice.selected{background:#edf2df;border-color:#9bab81}.choice i{font-style:normal;font-size:9px;margin-top:auto;padding-top:8px;color:#4c7150}.capacity-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px dashed #dfe2d4;padding-top:18px;margin-top:18px}.capacity-line b{font-size:13px}.capacity-line p{font-size:10px;color:var(--muted);margin:6px 0 0}.primary{background:var(--green);color:#fff9e7;font-size:12px}.primary:hover:not(:disabled){background:#244b3f}.outline{border:1px solid #ccd6bf;background:transparent;font-size:12px}.wide{width:100%}.ledger{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.ledger div{font-size:10px;color:var(--muted)}.ledger b{display:block;font-size:18px;color:var(--ink);margin-top:8px}.goal{background:#eef0df}.goal h2{font-size:18px}.goal p{font-size:12px;color:#748064}.progress{height:7px;background:#e1e6d5;border-radius:6px;overflow:hidden}.progress span{display:block;height:100%;background:#88a06d;border-radius:6px;transition:width .5s}.goal-details{display:flex;justify-content:space-between;font-size:10px;color:#7e886f;margin-top:11px}.goal-details b{color:#526d48}.text-button{padding:10px 0 0;background:none;font-size:12px}.event-card{background:#fcf7e9;border-color:#eae1c8}.event-icon{font-size:34px;margin:13px 0}.event-card p{font-size:12px;color:#82775e}.event-choice{display:block;width:100%;border:1px solid #e0d9c3;background:#fffdf5;margin:9px 0;text-align:left}.event-choice b{font-size:12px;display:block}.event-choice small{font-size:10px;display:block;color:#8b8168;margin-top:4px}.feed h2{font-size:15px}.feed-item{display:flex;gap:10px;border-top:1px solid #efefe5;padding:12px 0 0;margin-top:12px}.feed-dot{width:8px;height:8px;background:#b1bfa6;border-radius:50%;flex-shrink:0;margin-top:7px}.feed-dot.success{background:#d3ac59}.feed-dot.warn{background:#d39278}.feed-item p{font-size:11px;color:#74806b;margin:0 0 4px;line-height:1.8}.feed-item small{font-size:9px;color:#a1aa95}.welcome,.alert{padding:16px 20px;border-radius:12px;margin-bottom:20px;background:#e9eed8;border:1px solid #d6dfc0;font-size:13px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:12px}.welcome p{margin:6px 0 0;font-size:12px}.alert{background:#fff0d5;color:#8c6335}.cards{display:grid;gap:18px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card,.customer,.person-card{border:1px solid var(--line);padding:24px;border-radius:13px;background:#fcfcf5}.plan-card.selected{background:#eff3e3;border-color:#aab98c}.plan-icon{font-size:33px;display:block;margin-bottom:15px}.plan-card strong{font-size:33px;display:block;margin-top:18px}.plan-card strong small{font-size:12px;color:var(--muted)}.plan-card p,.customer p,.person-card p{font-size:13px;color:#74816d}.hint{font-size:12px;color:#8b927f;margin-bottom:0}.customer h3{display:flex;justify-content:space-between;gap:8px}.customer h3 small{font-size:13px}.customer>small{display:block;font-size:11px;color:var(--muted);margin-bottom:16px}.button-row{display:flex;gap:12px;flex-wrap:wrap}.person-card .portrait{display:block;font-size:55px;width:100px;height:100px;text-align:center;line-height:100px;margin:0 auto 22px;border-radius:50%;background:#efe6cf}.person-card blockquote{margin:15px 0;padding:12px;border-radius:8px;background:#f2efe2;color:#847a63;font-size:12px;line-height:1.8}.person-card>small{display:block;color:var(--muted);font-size:11px;margin-bottom:14px}.tech-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:18px;border-radius:12px}.tech-card>span{font-size:32px}.tech-card>div{flex:1}.tech-card h3{font-size:15px}.tech-card p{font-size:12px;color:var(--muted);margin:5px 0}.tech-card small{font-size:11px;color:#8b967c}.chart{display:flex;height:190px;align-items:flex-end;gap:6px;padding:20px 5px 0;border-bottom:1px solid #d6deca;margin-top:25px}.chart>div{position:relative;flex:1;max-width:80px;background:#a6bc8e;border-radius:5px 5px 0 0;min-width:2px}.chart>div:last-child{background:#49765a}.chart>div span{position:absolute;top:-20px;font-size:9px;left:50%;transform:translateX(-50%);color:#71865b}.chart p{font-size:13px;color:var(--muted)}.report{margin-bottom:0;background:#f2f3e5}.report p,.report small{color:#7e896d;font-size:12px}.report-values{display:flex;gap:45px;padding:15px 0}.report-values span{font-size:12px}.report-values b{display:block;font-size:28px;margin-top:5px}.milestones{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.diary{display:flex;gap:18px;border-top:1px solid var(--line);padding:12px 0;font-size:13px}.diary small{min-width:55px;color:var(--muted)}.settings{max-width:850px}.settings p{font-size:14px;color:#74816d}.settings h3{margin-top:32px}.danger{color:#9d503e;border:1px solid #dcc7b7;background:#fff9ef}.two+.panel{margin-top:22px}footer{display:flex;justify-content:space-between;gap:15px;color:#98a08d;font-size:10px;padding:6px 0 15px;line-height:1.7}dialog{border:1px solid #dce2cf;background:#fffdf4;color:var(--ink);border-radius:22px;padding:34px;max-width:540px;width:calc(100% - 36px);max-height:90dvh;box-shadow:0 25px 80px #183e3b40}dialog::backdrop{background:#1e3a335d;backdrop-filter:blur(4px)}dialog h2{font-size:25px;line-height:1.5}dialog p{font-size:13px;color:#7f866f}dialog>small{display:block;text-align:center;color:#9ba28b;margin-top:14px;font-size:11px}.intro-mark{font-size:42px;margin-bottom:15px}.intro-list{padding:12px 16px;background:#f0f2e5;border-radius:13px;margin:22px 0}.intro-list p{margin:8px 0;font-size:12px}.intro-list b{color:#406248}#notice{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#254b40;color:#fffbea;padding:14px 22px;border-radius:12px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:90%;box-shadow:0 6px 25px #20352b30}#notice.show{opacity:1;transform:translate(-50%,0)}.blink{animation:blink 2s infinite}.cat{animation:breathe 4s infinite}.steam{animation:blink 3s infinite}.plane{animation:float 5s ease-in-out infinite}@keyframes blink{50%{opacity:.35}}@keyframes breathe{50%{translate:0 -2px}}@keyframes float{50%{translate:8px -6px}}@media(min-width:1600px){main{margin-right:auto}.office-art{max-height:380px}}@media(max-width:1200px){.sidebar{width:185px;padding:25px 15px}main{margin-left:185px;width:calc(100% - 185px);padding:25px 22px}.dashboard{grid-template-columns:minmax(0,1fr) 265px;gap:17px}.panel{padding:18px}.stats{gap:12px}.stats article{padding:16px}.stats strong{font-size:27px}.policy-grid{grid-template-columns:repeat(2,1fr)}.choice{min-height:140px}.header-actions{max-width:230px;justify-content:flex-end}.three{gap:12px}.plan-card,.customer,.person-card{padding:17px}.tech-card{flex-wrap:wrap}}@media(max-width:960px){.sidebar{width:165px;padding:22px 12px}.brand-name{font-size:18px}.nav-item{font-size:12px;gap:8px;padding:11px 9px}main{margin-left:165px;width:calc(100% - 165px);padding:22px 18px}.dashboard{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.right-column .feed{grid-column:1/-1}.stats{grid-template-columns:repeat(2,1fr)}.policy-grid{grid-template-columns:repeat(4,1fr)}.three{grid-template-columns:1fr}.plan-card,.customer{display:block}.two{grid-template-columns:1fr}header{align-items:flex-start}.header-actions{max-width:200px}.office-caption{font-size:10px}}@media(max-width:640px){#app{display:block}.sidebar{position:relative;width:100%;padding:15px 16px 0;display:grid;grid-template-columns:40px 1fr;gap:0 10px}.brand-mark{width:36px;height:36px;line-height:36px;font-size:31px;border-radius:11px}.brand-mark span{font-size:15px;right:-6px;top:-10px}.brand-name{font-size:17px;margin:0 0 13px}.brand-name small{font-size:8px;letter-spacing:1px;margin-top:2px}.sidebar nav{grid-column:1/-1;display:flex;flex-direction:row;overflow-x:auto;gap:3px;padding-bottom:9px}.nav-item{padding:9px 10px;font-size:11px;gap:5px}.nav-item span{font-size:17px;width:16px}.sidebar-bottom{display:none}main{width:100%;margin:0;padding:23px 15px 12px}header{display:block;margin-bottom:18px}h1{font-size:26px}.eyebrow{font-size:9px}.header-actions{max-width:none;justify-content:flex-start;margin-top:15px}.stats{gap:10px;margin-bottom:17px}.stats article{padding:14px 15px;border-radius:12px}.stats strong{font-size:27px}.stats small{font-size:10px}.stats article>span{font-size:11px}.panel{padding:17px;margin-bottom:16px;border-radius:14px}.section-heading{flex-wrap:wrap;margin-bottom:14px}h2{font-size:17px}.office-caption{font-size:9px;flex-wrap:wrap}.policy-grid{grid-template-columns:repeat(2,1fr)}.choice{min-height:150px}.choice b{font-size:13px}.choice small{font-size:11px}.right-column{display:block}.capacity-line{align-items:flex-start;flex-direction:column}.capacity-line button{width:100%}.ledger{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 10px}.welcome{align-items:flex-start;flex-direction:column}.three,.two{grid-template-columns:1fr}.customer,.plan-card,.person-card{padding:22px}.chart{gap:3px}.chart>div span{font-size:8px}.diary{gap:10px;font-size:12px}footer{display:block;font-size:9px}footer span{display:block;margin-top:5px}dialog{padding:25px}dialog h2{font-size:23px}.event-card p,.feed-item p{font-size:13px}.event-choice b{font-size:13px}.event-choice small{font-size:11px}.settings p{font-size:13px}.button-row>button{flex-grow:1}.tech-card{padding:15px}.brand-name small{color:#bbcdb6}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.event-ribbon{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e7d8b4;background:#faf0d5;padding:12px 16px;border-radius:12px;margin-bottom:20px;font-size:12px;line-height:1.7}.event-ribbon small{color:#8b7e5b}.event-ribbon button{flex-shrink:0}@media(max-width:640px){.event-ribbon{align-items:flex-start}.event-ribbon small{display:block}.event-ribbon button{padding:9px;font-size:11px}}
/* Keep research explanations readable even before a prerequisite unlocks. */
.tech-card{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px 14px}.tech-card>button{grid-column:2;justify-self:start;min-height:44px}.tech-card small{color:#66745e}.health summary{cursor:pointer;line-height:1.7;font-weight:650}.health p{font-size:13px}.goal .milestones{gap:8px}

.office-story{border-top:1px solid var(--line);padding-top:14px;margin-top:12px}.office-story small,.staff-unlock{display:block;color:#61735c;margin-top:7px}.office-story p{background:#edf0df;border-radius:10px;padding:12px;font-size:13px;margin-bottom:0}.letter{background:#faf2dd;border:1px solid #e7dcc2;border-radius:10px;padding:16px;margin-top:12px}.letter h3{font-size:16px;margin:7px 0}.letter p{font-size:13px;margin-bottom:0}.letter small{color:#706a54}.office-caption button{min-height:44px}

.release-version{margin-top:9px;font-size:11px}
