/* The investment office: scenic game art, walnut joinery and brass instruments.
   Presentation only. Financial colours and the shared touch/safe-area rules remain. */
:root{--navy:#163d32;--ink:#302e24;--muted:#6e6957;--paper:#e9dfca;--surface:#f7efdc;--line:#c9bb9b;--gold:#8e682d;--font-ui:"PingFang SC","Microsoft YaHei",sans-serif;--room-shadow:0 5px 16px #090f0b35;--brass:#b2985c}
body{background:radial-gradient(ellipse at 60% 0,#5863504d,transparent 70%),repeating-linear-gradient(90deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(110deg,#1d2923,#303a2d 45%,#172820);color:var(--ink)}
.topbar{height:calc(82px + var(--safe-top));padding-top:var(--safe-top);gap:24px;background:linear-gradient(0deg,#111d17,#2b3a2e 60%,#374535);border-bottom:4px double #b49b64;box-shadow:0 3px 0 #101b13,0 8px 25px #0004;position:relative;z-index:1}
.topbar:after{content:"";position:absolute;inset:5px 8px;pointer-events:none;border:1px solid #b2985c3d}
.brand{font-size:26px;letter-spacing:4px;text-shadow:0 2px 2px #0008;flex-shrink:0}.brand-mark{width:45px;height:45px}.brand small{font-size:8px;color:#c8b785}.product-name{font-size:10px;letter-spacing:1px;color:#c4c0a3}.product-name b{font-size:8px;letter-spacing:1px}
button{background:linear-gradient(#fff9e9,#e3d6b6);border:1px solid #ac9564;color:#433b29;box-shadow:inset 0 1px #fff9,0 2px 3px #1d251816;transition:background .15s,box-shadow .15s,transform .15s}
button:hover{background:linear-gradient(#fffdf4,#f0dfb4);border-color:#866124;box-shadow:inset 0 1px #fff9,0 3px 8px #33261624}button:active{transform:translateY(1px);box-shadow:inset 0 2px 5px #1e251c30}button:disabled{transform:none;box-shadow:none}
.header-actions{gap:7px}.header-actions button{font-size:11px;padding:7px 11px;background:linear-gradient(#40513f,#24382d);border:1px solid #a28d5d9c;color:#eee5c7;box-shadow:inset 0 1px #d8d0aa26,0 2px 4px #0003}.header-actions button:hover{background:linear-gradient(#5a694d,#344a39);border-color:#dbc68e}.header-actions #leaderboard{background:linear-gradient(#5f593c,#393c2a);border-color:#bba372;color:#ffebae}.header-actions #reset{color:#e6c7a0;border-color:#a78a5d}
.primary{background:linear-gradient(#32604b,#1b3e31);color:#fff2d0;border:1px solid #9d8a53;box-shadow:inset 0 1px #ffffff25,0 3px 5px #14271b25}.primary:hover{background:linear-gradient(#44735a,#285440);border-color:#9e7734;color:#fff8df}
main{max-width:1740px;padding:18px max(18px,var(--safe-right)) 0 max(18px,var(--safe-left))}.desk-shell{grid-template-columns:156px minmax(0,1fr);gap:16px;min-height:calc(100vh - 164px)}
.desk-rail{padding:0 10px 18px;top:calc(12px + var(--safe-top));border:3px double #ab915c;outline:1px solid #111e15;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 6px),linear-gradient(100deg,#28382b,#15271e 75%,#33402e);box-shadow:var(--room-shadow),inset 0 0 0 3px #0d211d;min-height:580px;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom))}
.rail-heading{margin:10px -2px 0;padding:18px 0 16px;color:#eddfb9;text-align:center;font-size:18px;border-bottom:3px double #a88e58;letter-spacing:2px}.rail-heading>span{display:block}.rail-heading small{font-size:8px;color:#bdb18b;letter-spacing:3px;margin-top:8px}.office-emblem{display:block;width:64px;height:64px;margin:0 auto 18px;filter:drop-shadow(0 3px 3px #0006)}
.tabs{gap:9px;margin:20px 0 0}.tabs button{min-height:48px;padding:9px 10px;gap:8px;color:#e2d8b9;border:1px solid #b2985c66;background:linear-gradient(#3c4936,#283b2c);box-shadow:inset 0 1px #e6d89d1f,0 2px 4px #0003;font-size:12px}.tabs button:before{content:'◇';color:#c8ad71;font-size:15px}.tabs button:hover{color:#fff4d8;background:linear-gradient(#556044,#364d35);border-color:#bea16b}.tabs button.active{background:linear-gradient(#8c4e35,#683727);color:#fff5db;border:1px solid #d0b374;box-shadow:inset 0 0 0 2px #e6c98a22,0 3px 6px #0004}.tabs button.active:before{color:#f0d49c}.tabs .count,.tabs button.active .count{background:#0b1d1745;color:#ead9a9;border:1px solid #dbc38c35;border-radius:0;padding:2px 4px}.rail-seal{writing-mode:horizontal-tb;margin:38px auto 0;color:#b9a477;font-size:10px;text-align:center;letter-spacing:2px}.rail-seal span{display:block;font-size:7px;margin:6px 0 0;letter-spacing:1.5px}
.desk-main{padding:0 0 28px;min-width:0}.intro.office-scene{position:relative;isolation:isolate;min-height:294px;margin:0;border:4px double #c4aa73;outline:1px solid #13251a;background:#263c2f url('art/office-harbor-lite.webp') center/cover;box-shadow:var(--room-shadow),inset 0 0 0 3px #10251e;display:flex;align-items:flex-end;justify-content:space-between;padding:28px;gap:30px;overflow:hidden}
.office-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0c211aed,transparent 80%),linear-gradient(90deg,#0d211ac7,transparent 70%);pointer-events:none}.office-scene:after{content:"";position:absolute;inset:7px;border:1px solid #e8ce8d59;pointer-events:none}
.intro .office-copy{max-width:470px}.intro .eyebrow{color:#f4d999;font-size:10px;letter-spacing:3px}.intro h1{color:#fff2ce;font-size:34px;line-height:1.45;margin:12px 0;text-shadow:0 2px 7px #0008}.intro p{color:#eee6cd;text-shadow:0 1px 3px #000;font-size:12px;line-height:1.9;margin:0;max-width:440px}.intro>div:last-child{flex-shrink:0;padding:16px;background:#142c24e8;border:1px solid #ccb5779c;box-shadow:inset 0 0 0 3px #a9905326,0 5px 14px #0004;min-width:185px}.year-controls{flex-direction:column;align-items:stretch;gap:15px}.year-number{font-family:Georgia,serif;font-size:43px;line-height:1;color:#efd39a;text-shadow:0 2px #0007}.year-number small{color:#d4ceb4;font-size:10px;text-align:left;letter-spacing:.4px;margin-top:9px}.advance{background:linear-gradient(#9a553c,#723b2a);border:1px solid #d2b57a;color:#fff1d1;box-shadow:inset 0 1px #ffffff33,0 3px 5px #0004;padding:11px 14px;min-width:150px;font-size:12px}.advance:hover{background:linear-gradient(#ad6846,#8d4932);border-color:#f0d49b}.save-status{color:#d8dfbf;font-size:9px;text-align:center;margin-top:9px}.intro:has(.save-status):has(.advance:disabled){filter:saturate(.8)}
.metrics{display:grid;grid-template-columns:1.15fr 1fr 1.05fr .95fr;gap:0;background:linear-gradient(#354438,#1c3228);border:3px double #b9a06a;border-top:0;margin:0 0 20px;box-shadow:var(--room-shadow);position:relative}.metrics .metric,.metrics .metric:first-child,.metrics .metric:nth-child(2),.metrics .metric:nth-child(3),.metrics .metric:last-child{padding:14px 18px;background:transparent;border:0;border-right:1px solid #b9a06a66;box-shadow:inset 0 1px #f5e9b61a;min-width:0}.metrics .metric:last-child{border:0}.metric-label{color:#d7caab;font-size:10px;font-weight:400}.metric-value,.metric:first-child .metric-value{font-size:25px;line-height:1.2;color:#fff1c9;margin:7px 0;font-weight:500;text-shadow:0 2px 2px #0005}.metric-value small{font-size:9px;color:#c0bc9f}.metric-note{font-size:9px;color:#c0c5ab;line-height:1.6}.metrics .positive{color:#ffac83}.metrics .negative{color:#91d5ae}
.desk-stage{grid-template-columns:minmax(0,1fr) 234px;gap:16px;align-items:start}.desk-content{padding:19px;background:linear-gradient(100deg,#f5edda,#e8dcc1);border:3px double #b9a06a;box-shadow:var(--room-shadow),inset 0 0 0 3px #fff5d970;min-width:0}.dossier-heading{margin:-16px -16px 17px;padding:14px 17px;background:linear-gradient(#46523a,#303e2c);border-bottom:3px double #b49a60;color:#ead9b1}.dossier-heading>span{font-size:21px;color:#f7e8c7;letter-spacing:2px;text-shadow:0 1px 2px #0005}.dossier-heading small{color:#d0bc8d;font-size:8px;letter-spacing:1px}.section-intro{font-size:11px;margin-bottom:14px;color:#696047}.section-intro select{border-color:#a18d60;background:linear-gradient(#fff9e9,#ede2c8);font-size:13px}.deal-grid{gap:13px}.deal{display:grid;grid-template-columns:126px minmax(0,1fr) 98px;padding:0;border:1px solid #b4a075;border-left:1px solid #b4a075;background:linear-gradient(110deg,#fff7e6,#f1e7ce);box-shadow:0 3px 5px #4b392318,inset 0 0 0 2px #fffaf0;overflow:hidden;position:relative}.deal-body{padding:16px 15px;min-width:0}.deal-head{gap:8px;align-items:flex-start}.deal .company-icon{display:none}.deal h3{font-size:22px;line-height:1.35;margin:0 0 4px;color:#243f32}.deal .project-code{font-size:9px;line-height:1.5;margin:4px 0;color:#847042}.deal .subline{font-size:10px;color:#76633f;line-height:1.6}.deal .status-tag{font-size:9px;padding:3px 6px;background:#e7ebda;color:#405a36;border-color:#9ba986}.deal-desc{font-size:11px;line-height:1.8;margin:12px 0;min-height:0;color:#655e49}.historical-ticket{font-size:10px;margin:0 0 10px}.numbers{gap:10px}.numbers strong{font-size:20px;color:#433b28}.numbers label{font-size:9px;color:#817557}.deal-foot{padding:15px 10px;border:0;border-left:1px solid #c5b58f;background:linear-gradient(90deg,#e7dcc0,#eee4cc);font-size:9px;gap:13px;flex-direction:column;align-items:stretch;justify-content:space-between;margin:0}.deal-foot:before{display:block;content:'NO. ' counter(case,decimal-leading-zero);color:#8b733d;letter-spacing:2px;font:10px Georgia,serif}.deal-foot button{font-size:10px;padding:8px 5px;background:linear-gradient(#45634b,#2a4737);border:1px solid #8d9167;color:#fff1cd;min-width:0}.deal-foot button:hover{background:linear-gradient(#5c7857,#3d5e43)}
.sector-art{background-image:url('art/industries.webp');background-size:300% 300%;background-position:0 0;background-color:#405444}.sector-art[data-sector="企业软件"]{background-position:0 0}.sector-art[data-sector="精密制造"]{background-position:50% 0}.sector-art[data-sector="消费品牌"]{background-position:100% 0}.sector-art[data-sector="通信设备"]{background-position:0 50%}.sector-art[data-sector="互联网"]{background-position:50% 50%}.sector-art[data-sector="生物科技"]{background-position:100% 50%}.sector-art[data-sector="移动应用"]{background-position:0 100%}.sector-art[data-sector="清洁能源"]{background-position:50% 100%}.sector-art[data-sector="人工智能"]{background-position:100% 100%}
.venture-art{position:relative;min-height:210px;border-right:3px double #9d8554;box-shadow:inset 0 0 20px #101d165c;overflow:hidden}.venture-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 4px #dfc58a38,inset 0 -60px 35px -35px #081d15;pointer-events:none}.venture-art>span{position:absolute;bottom:14px;left:0;right:0;color:#f9e6b8;text-align:center;font:12px var(--serif);letter-spacing:2px;text-shadow:0 1px 3px #000;z-index:1}
.sidebar{border:0;padding:0;display:block}.era{background:linear-gradient(120deg,#49563d,#203b2d);border:3px double #b69d65;box-shadow:var(--room-shadow);padding:19px 17px;margin:0 0 15px;min-height:0;overflow:hidden}.era:before{background:none}.era-top{font-size:9px;color:#e6c98c;letter-spacing:2px}.era-top span{font-size:9px;color:#c8c8ad;border-bottom:1px solid #c7b27755;padding:9px 0 12px;letter-spacing:0}.era h2{font-size:21px;line-height:1.65;color:#fff0cb;margin:16px 0 10px}.era p{font-size:11px;color:#d6d7bd;line-height:1.85}.era-bottom{font-size:9px;margin-top:16px;gap:6px}.era-bottom>span{color:#bfbf9d}.era-bottom b{background:#152e2259;border-color:#b29a5e78;color:#f1daa5;font-weight:400;padding:4px 7px}.side-card,.sidebar .side-card:nth-child(2){background:linear-gradient(110deg,#efe6cf,#e4d6b7);border:3px double #b39b65;padding:16px 14px;margin:0 0 14px;box-shadow:var(--room-shadow)}.side-title{font-size:16px;color:#4a452e;border-bottom:1px solid #c5b284;padding-bottom:11px;margin-bottom:15px}.hint{color:#73664c;border-color:#bbaa80;font-size:10px;line-height:1.8}.legend{font-size:10px}.legend em{color:#4e583a}.nav-current{font-size:25px;color:#354d39}.chart-labels{color:#7b704e}.allocation{height:7px;box-shadow:inset 0 1px 3px #0004}.log-item time{color:#80642f}.log-item p{color:#635e48;font-size:10px;line-height:1.8}.log-item{border-color:#b9a775}.log-item:before{background:#8d7c48;border:1px solid #dbc68e}
.portfolio-row,.team-card,.market-board,.team-policy{background:linear-gradient(110deg,#fff7e7,#efe3c6);border:1px solid #b8a16b;border-top:3px double #b8a16b;box-shadow:0 3px 6px #4b392318}.portfolio-row{border-left:4px solid var(--sector-line)}.portfolio-top{padding-bottom:12px;border-bottom:1px solid #cbbb96}.company-icon{background:linear-gradient(#f8e7ba,#d5bc7e);color:#675127;border:3px double #9b7b3b;box-shadow:0 2px 3px #0002}.portfolio-actions button[data-action="record"]{background:linear-gradient(#f9f0d8,#dbceab);color:#5d522e;border-color:#b6a06c}.round-note,.annual-dispatch{background:#e9d8ad;border-color:#b79a5f;color:#684c24}.annual-dispatch>summary{color:#604a27}.financial-table{border-color:#baa87e}.financial-table th{background:#d9ccaa;color:#4b4b31}.financial-table tbody tr:nth-child(even){background:#eae1c9}.financial-table tbody tr.held-company{background:#e0e7d0}.market-board h2{color:#35523a}.team-overview{background:linear-gradient(100deg,#f7eed8,#e1d2ad);border:1px solid #ad935c;border-top:3px double #ad935c;box-shadow:0 3px 5px #4b392318}.team-budget{border-color:#b9a16d}.team-card .eyebrow{color:#94763a;letter-spacing:3px}.team-card h3{font-family:var(--serif)}.team-actions button:first-child{background:linear-gradient(#f6ead0,#e1cda3);color:#5b492b;border-color:#ad925d}.team-actions .primary{background:linear-gradient(#39624b,#20412f);color:#fff0c8}.level-track span.filled{background:#496447;color:#f5e7c1}.history-row{background:linear-gradient(100deg,#fff6e2,#e7d9b6);border:1px solid #c1ac7b;border-left:4px solid #9e7d3e;padding:18px 16px;margin-bottom:10px;box-shadow:0 2px 4px #47361d13}.history-row time{color:#7e5b26;font-family:Georgia,serif}.history-row p{color:#625a43}.empty{background:#efe4c8;border:1px dashed #b5a06d;color:#74654a;padding:30px 20px}
dialog{background:linear-gradient(110deg,#fff7e4,#ede0c1);border:4px double #aa8a4b;box-shadow:0 15px 60px #0008,inset 0 0 0 4px #fff3cf;outline:1px solid #11291d}.dialog-bar{background:linear-gradient(#3d513a,#253e2d);border-bottom:3px double #c0a16a}.dialog-bar>span{color:#dfc68f}.dialog-bar .dialog-close{color:#f4dfac;background:transparent}.dialog-bar .dialog-close:hover{background:#ffffff15}.dossier-art{height:140px;margin:-22px -24px 22px;border-bottom:4px double #ac8d51;background-size:300% 900%;box-shadow:inset 0 0 20px #0e231e38}.dossier-art[data-sector]{background-position-x:var(--scene-x,0%)}.dossier-art[data-sector="精密制造"],.dossier-art[data-sector="互联网"],.dossier-art[data-sector="清洁能源"]{--scene-x:50%}.dossier-art[data-sector="消费品牌"],.dossier-art[data-sector="生物科技"],.dossier-art[data-sector="人工智能"]{--scene-x:100%}.dossier-art[data-sector="通信设备"],.dossier-art[data-sector="互联网"],.dossier-art[data-sector="生物科技"]{background-position-y:40%}.dossier-art[data-sector="移动应用"],.dossier-art[data-sector="清洁能源"],.dossier-art[data-sector="人工智能"]{background-position-y:80%}.dd-box,.venture-risk,.competition-report,.financing-plan,.acquisition-budget{background:#e4e8d3;border-color:#acb294}.venture-risk{border-left-color:#71815a}.ticket-options button{background:linear-gradient(#f8eed5,#ddc79b);border-color:#ac925d;color:#5d4727}.ticket-options button.primary{background:linear-gradient(#39624b,#20412f);color:#fff0c8}.exit-recap,.result-banner{background:#e3e6cd;border-color:#a9b38a}.board-row{background:#f9efd8}.board-mine{background:#ebd9ab;box-shadow:0 0 0 6px #ebd9ab}.board-name-form input{background:#fff9ea;border-color:#b69c64}.board-tabs button[aria-pressed="true"]{background:#34513b;color:#fff1cb}.modal-actions{border-color:#c1ad79}
footer{max-width:1740px;color:#b8b99e;font-size:10px;padding:20px max(20px,var(--safe-right)) 25px max(20px,var(--safe-left))}.producer{color:#ddc796}#toast{background:#253e2d;border:2px double #d1b477;color:#fff0cb}
@media(min-width:1500px){.desk-shell{grid-template-columns:172px minmax(0,1fr);gap:20px}.desk-stage{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.desk-main{padding-left:0}.intro.office-scene{min-height:330px;padding:32px}.deal{grid-template-columns:155px minmax(0,1fr) 112px}.deal-body{padding:19px 20px}.deal-desc{font-size:12px}.sidebar{padding-left:0}.era{padding:23px 20px}.side-card{padding:20px 18px}}
@media(max-width:1200px){.desk-shell{grid-template-columns:134px minmax(0,1fr);gap:12px}.desk-stage{grid-template-columns:minmax(0,1fr) 210px;gap:12px}.desk-main{padding-left:0}.desk-rail{padding-left:8px;padding-right:8px}.rail-heading{font-size:16px}.tabs button{font-size:11px;padding:9px 7px;gap:5px}.intro.office-scene{min-height:270px;padding:23px}.intro h1{font-size:30px}.intro .office-copy{max-width:360px}.intro p{font-size:11px}.intro>div:last-child{min-width:170px;padding:14px}.metrics .metric,.metrics .metric:first-child,.metrics .metric:nth-child(2),.metrics .metric:nth-child(3),.metrics .metric:last-child{padding:13px 12px}.metric-value,.metric:first-child .metric-value{font-size:23px}.desk-content{padding:16px}.dossier-heading{margin:-13px -13px 15px;padding:13px}.dossier-heading>span{font-size:20px}.dossier-heading small{font-size:7px}.deal{grid-template-columns:95px minmax(0,1fr)}.deal-body{padding:13px 12px}.deal h3{font-size:20px}.deal-foot{grid-column:1/-1;flex-direction:row;align-items:center;border-left:0;border-top:1px solid #c5b58f;padding:9px 12px}.deal-foot:before{display:none}.deal-foot button{min-width:100px}.venture-art{min-height:190px}.numbers strong{font-size:18px}.era{padding:17px 14px}.era h2{font-size:20px}.side-card{padding:16px 12px}}
@media(max-width:1000px){.desk-stage{grid-template-columns:minmax(0,1fr)}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:0}.era{grid-column:auto;margin:0}.sidebar .side-card{margin:0}.sidebar .side-card:last-child{grid-column:auto}.deal{grid-template-columns:125px minmax(0,1fr) 100px}.deal-foot{grid-column:auto;flex-direction:column;align-items:stretch;border-top:0;border-left:1px solid #c5b58f;padding:14px 10px}.deal-foot button{min-width:0}.deal-foot:before{display:block}.venture-art{min-height:200px}.intro .office-copy{max-width:320px}.intro h1{font-size:28px}.intro>div:last-child{min-width:155px;padding:13px}.advance{min-width:130px}.metrics{grid-template-columns:1.1fr 1fr 1fr .9fr}.metric-value,.metric:first-child .metric-value{font-size:22px}.metric-note{font-size:8px}.desk-content{margin-bottom:14px}}
@media(max-width:700px), (max-width:1000px) and (max-height:500px){
 .topbar{height:auto;min-height:0;padding:calc(15px + var(--safe-top)) max(14px,var(--safe-right)) 9px max(14px,var(--safe-left));gap:13px;border-bottom:3px double #b49b64}.topbar:after{inset:5px}.brand{font-size:23px;letter-spacing:4px;gap:10px}.brand-mark{width:38px;height:38px}.brand small{font-size:7px;margin-top:5px}.header-actions{gap:4px;border-top:1px solid #bca16b44;padding-top:9px;grid-template-columns:repeat(5,minmax(0,1fr))}.header-actions button{font-size:9px;min-height:38px;padding:6px 2px;border:1px solid #a28d5d77;background:linear-gradient(#40513f,#24382d)}.header-actions button:last-child{border:1px solid #a28d5d77}.header-actions #leaderboard{background:linear-gradient(#5f593c,#393c2a)}
 main{padding:12px max(10px,var(--safe-right)) 0 max(10px,var(--safe-left))}.desk-shell{display:block}.desk-rail{position:static;min-height:0;max-height:none;padding:0;border:0;outline:0;background:none;box-shadow:none}.rail-heading,.rail-seal{display:none}.desk-main{padding:0}.intro.office-scene{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0;min-height:330px;padding:20px 16px 14px;background-position:55% center}.office-scene:before{background:linear-gradient(0deg,#0d251bf5,transparent 100%),linear-gradient(90deg,#0d211a77,transparent)}.intro .office-copy{max-width:100%;flex-basis:100%;align-self:flex-end;margin-top:80px}.intro .eyebrow{font-size:8px;letter-spacing:2px}.intro h1{font-size:28px;line-height:1.4;margin:8px 0}.intro p{font-size:11px;line-height:1.7;max-width:none}.intro>div:last-child{flex-basis:100%;min-width:0;margin:17px 0 0;padding:12px 0 0;background:none;box-shadow:none;border:0;border-top:1px solid #d3bd7c6b}.year-controls{flex-direction:row;align-items:center;gap:12px}.year-number{font-size:33px}.year-number small{font-size:9px;margin-top:5px}.advance{min-width:137px;max-width:58%;font-size:11px;padding:11px 12px;white-space:normal}.save-status{text-align:right;margin:6px 0 0;font-size:8px}
 .metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:13px;gap:0;border:3px double #b9a06a;border-top:0}.metrics .metric,.metrics .metric:first-child,.metrics .metric:nth-child(2),.metrics .metric:nth-child(3),.metrics .metric:last-child{padding:11px 8px;background:transparent;border:0;border-right:1px solid #b9a06a66}.metrics .metric:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid #b9a06a66;padding:12px}.metric:first-child .metric-label{font-size:11px}.metric:first-child .metric-value{font-size:30px;color:#fff1c9;grid-column:2;grid-row:1/3;margin:0}.metric:first-child .metric-note{display:block;font-size:9px;margin-top:4px}.metrics .metric:last-child{border-right:0}.metric-label{font-size:9px}.metric-value{font-size:19px;margin:5px 0;line-height:1.4}.metric-value small{font-size:8px}.metrics .metric:not(:first-child) .metric-note{display:none}.metrics .metric:not(:first-child){padding-top:10px;padding-bottom:10px}
 .desk-stage{display:block}.desk-content{padding:13px 10px;margin-bottom:13px}.dossier-heading{margin:-10px -7px 13px;padding:12px 9px;gap:8px}.dossier-heading>span{font-size:21px}.dossier-heading small{font-size:7px;letter-spacing:.4px}.section-intro{font-size:10px;gap:8px;align-items:center}.section-intro select{font-size:13px;min-height:44px;max-width:124px}.deal-grid{gap:12px}.deal{grid-template-columns:82px minmax(0,1fr);overflow:hidden}.deal-body{padding:13px 10px}.deal h3{font-size:21px}.deal .status-tag{font-size:8px;padding:3px 4px}.deal-head{flex-wrap:wrap;gap:5px}.deal-head>div{min-width:0}.deal .project-code{font-size:8px;letter-spacing:0}.deal .subline{font-size:9px}.deal-desc{font-size:10px;margin:10px 0;line-height:1.8}.venture-art{min-height:200px;border-right-width:2px}.venture-art>span{font-size:10px;letter-spacing:1px;bottom:12px}.numbers{gap:6px}.numbers label{font-size:8px}.numbers strong{font-size:17px;line-height:1.5}.numbers strong small{font-size:8px;margin-left:1px}.deal-foot{grid-column:1/-1;flex-direction:row;align-items:center;border-left:0;border-top:1px solid #c5b58f;padding:9px 10px;gap:8px;margin:0;font-size:9px}.deal-foot:before{display:none}.deal-foot button{min-width:96px;font-size:10px;min-height:44px}.historical-ticket{font-size:9px;line-height:1.7;margin-bottom:8px}
 .sidebar{display:block;margin-top:14px}.era,.sidebar .side-card{margin-bottom:13px}.era{min-height:0;padding:20px}.era h2{font-size:23px;max-width:none}.era p{font-size:12px;max-width:none}.era-top span{font-size:10px}.side-card{padding:20px 16px}.tabs{border-top:3px double #c6a66b;background:linear-gradient(#344632,#182e22);box-shadow:0 -5px 20px #07160d59;gap:0;padding:6px max(5px,var(--safe-right)) calc(6px + var(--safe-bottom)) max(5px,var(--safe-left));margin:0}.tabs button{font-size:10px;min-height:54px;padding:5px 0;background:transparent;border:0;box-shadow:none;gap:4px;color:#c4c8af}.tabs button:before{content:'';width:19px;height:19px;color:inherit;font-size:inherit}.tabs button.active{border:0;background:linear-gradient(#8f69454a,#8f694508);color:#f6d899;box-shadow:inset 0 2px #d9b971}.tabs button.active:before{color:inherit}.tabs button:hover{background:#ffffff08;color:#f6e4bf;border:0}.tabs .count,.tabs button.active .count{position:absolute;top:2px;right:calc(50% - 21px);font-size:8px;line-height:1.2;padding:1px 3px;background:#3b4b33;border:1px solid #ad9860;color:#f8e1ad}.tabs button.active:after{display:none}
 .portfolio-row{padding:16px 13px}.team-overview{padding:18px 14px}.history-row{padding:17px 12px;gap:12px}.history-row p{font-size:11px}.dialog-bar{padding-left:15px}.dialog-bar>span{font-size:8px;letter-spacing:1px}.dossier-art{height:110px;margin:-22px -14px 20px}.ticket-options button{font-size:15px}.ticket-options button small{font-size:10px}.board-row{gap:9px}footer{padding:18px 15px calc(105px + var(--safe-bottom));font-size:9px;color:#b8b99e;gap:5px}.producer{font-size:11px}#toast{bottom:calc(86px + var(--safe-bottom))}
}
@media(max-width:360px){.intro.office-scene{padding:18px 12px 13px}.intro h1{font-size:25px}.intro .office-copy{margin-top:80px}.advance{min-width:125px;padding:11px 9px;font-size:10px}.year-number{font-size:30px}.deal{grid-template-columns:65px minmax(0,1fr)}.deal-body{padding:12px 8px}.deal h3{font-size:20px}.deal .subline{font-size:8px}.numbers{gap:3px}.numbers strong{font-size:16px}.numbers label{font-size:8px}.dossier-heading small{font-size:6px}.header-actions button{font-size:8px}.metric-value{font-size:17px}.metric-label{font-size:8px}.venture-art>span{font-size:9px;letter-spacing:0}}
.venture-art{background-size:auto 300%}
.numbers .positive{color:var(--red)}.numbers .negative{color:var(--green)}
@media(max-width:700px), (max-width:1000px) and (max-height:500px){.header-actions button{min-height:44px}.section-intro select{font-size:16px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* The same navigation symbols work on the office rail and phone dock. */
.tabs button[data-tab=deals]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6h7l2 2h9v12H3zM3 6V4h7l2 2' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
.tabs button[data-tab=portfolio]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 8h18v12H3zM8 8V4h8v4M3 12l9 3 9-3M12 13v4' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
.tabs button[data-tab=market]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3v17h17M7 15l4-5 4 3 6-8' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
.tabs button[data-tab=team]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7' r='3' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M2 20v-3c0-6 14-6 14 0v3M16 4c5 0 5 7 0 7M19 14c3 1 3 4 3 6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
.tabs button[data-tab=history]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h14v18H5zM8 7h8M8 11h8M8 15h6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")}
.tabs button:before{content:"";display:block;flex-shrink:0;width:18px;height:18px;background:currentColor;mask:var(--nav-icon) center/18px 18px no-repeat;-webkit-mask:var(--nav-icon) center/18px 18px no-repeat}

/* Release audit: readable type and stronger ink on the darkest paper tones. */
:root{--muted:#615b45}
.numbers label,.deal .numbers label{font-size:10px;color:#6f603d}
.deal .project-code{color:#6f603d}.deal .subline{color:#6b5735}
.hint{color:#615b45}.chart-labels{color:#655734}
.side-title small{color:#615b45}.legend em{color:#4e583a}
.deal-desc{font-size:12px}.deal-foot{color:#615b45}
.deal-foot:before{color:#6d572b}.deal .status-tag{font-size:10px}
.metric-value,.numbers strong,.portfolio-data b,.nav-current{overflow-wrap:anywhere}
@media(max-width:700px), (max-width:1000px) and (max-height:500px){
 .header-actions button{font-size:11px}
 .metric-label,.metrics .metric:first-child .metric-label{font-size:11px}
 .metric:first-child .metric-note{font-size:10px}
 .section-intro{font-size:12px}.dossier-heading small{font-size:9px;letter-spacing:0}
 .deal .project-code,.deal .subline{font-size:11px}
 .deal-desc{font-size:12px;line-height:1.8}.deal .status-tag{font-size:10px}
 .deal .numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}
 .deal .numbers strong{font-size:19px}.deal .numbers label{font-size:11px}
 .deal-foot{font-size:11px}.deal-foot button{font-size:12px;flex-shrink:0}
 .historical-ticket{font-size:11px}.intro p{font-size:12px}
 .advance{font-size:12px}.year-number small{font-size:11px}
 .save-status{font-size:10px}.log-item p{font-size:12px}
 .hint,.legend{font-size:12px}.era-top span,.era-bottom{font-size:11px}
 .history-row p{font-size:13px}.side-title small{font-size:10px}
 .venture-art>span{font-size:11px;writing-mode:vertical-rl;left:auto;right:8px;bottom:10px;padding:6px 4px;background:#10251ce8;border:1px solid #c8ad7177}
}

/* Each company keeps its own illustrated business scene across every view. */
.project-art{position:relative;overflow:hidden;background:#344b3b;background-image:none}
.project-picture{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;pointer-events:none;object-fit:cover;object-position:center}
.project-art>span{position:absolute;z-index:1}
.portfolio-top{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:15px;align-items:center}
.portfolio-art{width:88px;height:88px;border:3px double #a68b53;box-shadow:0 2px 5px #35270c26}
.portfolio-identity{min-width:0}.portfolio-top>.status-tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px), (max-width:1000px) and (max-height:500px){
 .portfolio-top{grid-template-columns:66px minmax(0,1fr);gap:7px 12px;align-items:start}
 .portfolio-art{width:66px;height:100%;min-height:86px;grid-row:1/span 2}
 .portfolio-top>.status-tag{grid-column:2;justify-self:start;margin-left:0}
 .portfolio-identity h3{margin-bottom:4px}
}

/* Bound illustration rendering to native pixels; do not stretch square art into a wide banner. */
.dossier-art.project-art{height:min(176px,calc(var(--art-native,362px)/var(--art-density,2)));background:linear-gradient(90deg,#203b30,#4a6047 50%,#203b30)}
.dossier-art .project-picture{object-fit:contain}
.project-art.art-failed>.project-picture{visibility:hidden}
.art-retry[hidden]{display:none}
.art-retry{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 12px);max-width:160px;min-height:44px;padding:7px 3px;white-space:normal;line-height:1.5;font-size:11px}
.art-retry span,.art-retry b{display:block}.art-retry:active{transform:translate(-50%,-50%)}
/* Reserve the application area before the saved campaign is parsed and rendered. */
#app{min-height:calc(var(--view-height,100vh) - 80px)}
.venture-art.project-art,.portfolio-art.project-art{background:linear-gradient(180deg,#21392e,#405943,#20372c)}
.venture-art .project-picture,.portfolio-art .project-picture{width:min(100%,calc(var(--art-native,362px)/var(--art-density,2)));height:min(100%,calc(var(--art-native,362px)/var(--art-density,2)));left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%)}
