:root{font-family:Inter,Arial,sans-serif;color:#233e47;background:#e5e7e9;--ink:#162c43;--teal:#1557a0;--gold:#f2ac00;--line:#d8dfdc}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #c4cfcb;background:#fff;color:var(--ink);padding:9px 12px;border-radius:5px;font-size:12px;font-weight:700;min-height:36px}button:hover{background:#edf3ee}button:disabled{opacity:.4;cursor:default}button.active,button.primary{background:var(--teal);color:white;border-color:var(--teal)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f2ac00;outline-offset:2px}.gold{background:var(--gold);border-color:var(--gold)}.danger{color:#a53f33}.quiet{background:transparent}.home{font-weight:700;text-decoration:none;color:var(--ink);font-size:13px;margin-left:auto}header{display:flex;align-items:center;gap:24px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--line)}.site-logo{width:138px;flex-shrink:0}.site-logo img{width:100%;display:block}.app-title span,.panel-heading>span{font-size:9px;font-weight:800;letter-spacing:1.8px;color:#768880}.app-title h1{font-family:Georgia,serif;font-size:25px;margin:4px 0 0;letter-spacing:-.5px}.project-bar{display:flex;align-items:center;gap:16px;background:var(--ink);color:#fff;padding:12px 24px}label{display:block;font-size:10px;letter-spacing:.2px;font-weight:700}input,select{display:block;width:100%;padding:9px 10px;border:1px solid #c6d2cd;border-radius:4px;background:#fff;color:var(--ink);margin:5px 0 10px;font-size:12px;min-height:35px}input[type=checkbox]{display:inline;width:auto;min-height:0;margin:0 6px 0 0;accent-color:var(--teal)}input[type=color]{padding:3px}.project-bar input,.project-bar select{margin:4px 0 0;min-height:32px}.project-name{flex:1;max-width:300px}.project-actions{display:flex;gap:7px;margin-left:auto}#saveState{font-size:10px;color:#b4cec6;max-width:110px;line-height:1.5}.workshop{display:grid;grid-template-columns:245px minmax(0,1fr) 265px;gap:0;max-width:1900px;margin:auto}.panel{background:#ffffff;padding:22px 18px}.catalog-panel{border-right:1px solid var(--line)}.inspector-panel{border-left:1px solid var(--line)}h2{font-family:Georgia,serif;font-size:23px;margin:9px 0 12px;line-height:1.08;letter-spacing:-.4px}.panel-heading p,.empty-state p{font-size:12px;line-height:1.65;color:#6a7e77}.search-label input{background:#fff}.groups{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0}.groups button{font-size:10px;min-height:31px;padding:5px 8px}.palette{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:440px;overflow:auto;padding:2px}.piece{display:flex;flex-direction:column;align-items:start;text-align:left;gap:5px;padding:10px 8px;background:#fff;min-height:94px}.piece strong{font-size:11px;line-height:1.3}.piece span{font-size:9px;color:#7d8d86;font-weight:400}.piece svg{width:35px;height:27px;flex-shrink:0}.building{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}h3{font-size:13px}.dimensions{display:flex;gap:8px}.dimensions>label{flex:1;min-width:0}.dimensions input{padding:8px 5px}.minor-actions{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.minor-actions button{font-size:10px;padding:6px 8px}.studio{min-width:0;display:flex;flex-direction:column;background:#273647}.view-toolbar{display:flex;justify-content:space-between;gap:8px;padding:12px;background:#ffffff;flex-wrap:wrap}.mode-buttons,.view-buttons{display:flex;gap:4px}.view-toolbar button{font-size:10px;padding:8px 9px}.canvas-wrap{position:relative;flex:1;min-height:490px;height:calc(100vh - 335px);max-height:850px;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none;outline-offset:-4px}.canvas-badge{position:absolute;top:40px;left:15px;display:flex;gap:6px;align-items:center;font-size:8px;letter-spacing:1px;color:#23434b;background:#ebf2eee6;padding:8px 9px;border-radius:3px;pointer-events:none}.canvas-badge i{width:6px;height:6px;border-radius:50%;background:#188d80}.canvas-badge b{border-left:1px solid #b6c8c0;padding-left:6px}.canvas-tip{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);padding:7px 10px;font-size:10px;white-space:nowrap;background:#193b43d9;color:#f4f5e8;border-radius:4px;pointer-events:none}.placement{position:absolute;top:79px;left:15px;background:var(--ink);color:#fff;padding:8px 10px;border-radius:4px;display:flex;align-items:center;gap:12px;font-size:11px}.placement[hidden]{display:none}.placement button{padding:5px 7px;min-height:29px}.stage-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 15px;background:#ffffff;border-bottom:1px solid var(--line)}.stage-controls label{font-size:10px}.stage-controls button{margin-left:auto;background:var(--ink);color:#fff;border-color:var(--ink);font-size:10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c5d3cd}.metrics div{padding:15px 10px;text-align:center;background:#ffffff}.metrics b{font-size:22px;display:block;letter-spacing:-1px}.metrics span{display:block;font-size:9px;color:#7a8c82;margin-top:4px}.metrics .score{background:#f2ac00}.metrics .score span{color:#715c2b}.status-line{padding:10px 14px;font-size:10px;line-height:1.4;color:#4b6960;display:flex;align-items:center;gap:10px;justify-content:space-between}.status-line button{font-size:9px;padding:5px 6px;min-height:25px;background:transparent;border-color:#b7c9c0;white-space:nowrap}.empty-state{padding:12px 0}.empty-state b{font-size:13px}.check-label{font-size:11px;display:flex;align-items:center;line-height:1.4;margin:10px 0}.hint,.fine{font-size:10px;color:#7b8d84;line-height:1.6}.challenge{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}#missionText{font-size:11px;line-height:1.6;color:#6a8075}.goal{display:flex;align-items:flex-start;gap:8px;margin:12px 0}.goal>b{background:#e5a200;color:#8c692b;border-radius:50%;width:20px;height:20px;text-align:center;padding-top:3px;font-size:10px;flex-shrink:0}.goal.met>b{color:#fff;background:#278573}.goal strong{font-size:11px;font-weight:600;display:block}.goal small{display:block;font-size:10px;color:#758b7d;line-height:1.5;margin-top:3px}.stock-actions{display:flex;gap:6px;flex-wrap:wrap}.stock-actions button{font-size:10px;padding:7px 8px}footer{display:flex;gap:22px;justify-content:center;align-items:center;padding:16px;font-size:11px;background:#fff;color:#6b8276}footer a{color:var(--teal);font-weight:700}footer button{font-size:10px;background:transparent}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#133e45;color:#fff;box-shadow:0 8px 30px #142e4433;padding:12px 20px;border-radius:6px;font-size:12px;max-width:90vw;z-index:20;display:none}.mobile-tabs{display:none}dialog{border:none;border-radius:12px;padding:28px;max-width:590px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 90px #102b4d55}dialog::backdrop{background:#162c43ab}.close{float:right;font-size:25px;line-height:1;padding:3px 9px;min-height:32px;border:0}dialog h2{font-size:31px}dialog p,dialog li{font-size:13px;line-height:1.65}dialog ul,dialog ol{padding-left:20px}dialog table{width:100%;border-collapse:collapse;font-size:12px}dialog td,dialog th{padding:10px 5px;text-align:left;border-bottom:1px solid #d7e3db}dialog .dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.tour .panel{display:none}.tour .workshop{grid-template-columns:1fr}.tour .canvas-wrap{min-height:65vh}.tour .view-toolbar{justify-content:center}.tour .canvas-tip{background:#f0a400;color:#162c43}.feature-page{max-width:950px;margin:40px auto;padding:25px}.feature-page h1{font-family:Georgia,serif;font-size:clamp(38px,7vw,68px);line-height:1.03}.feature-page p{line-height:1.75}.feature-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.feature-columns li{font-size:14px;line-height:1.7;margin:10px 0}.feature-link{display:inline-block;padding:13px 20px;background:var(--ink);color:#fff;border-radius:5px;text-decoration:none;font-weight:700}.eyebrow{letter-spacing:2px;font-size:11px;font-weight:800;color:#538070}
@media(max-width:1200px){.workshop{grid-template-columns:205px minmax(0,1fr) 235px}.panel{padding:18px 12px}header{gap:16px}.project-bar{gap:10px}.project-name{max-width:210px}.site-logo{width:116px}.view-toolbar{justify-content:center}.view-toolbar button{padding:7px}.metrics b{font-size:19px}}
@media(max-width:900px){header{padding:10px 14px;gap:12px}.site-logo{width:98px}.app-title h1{font-size:20px}.app-title span{font-size:7px;letter-spacing:1px}header .quiet{display:none}.project-bar{padding:10px 14px;flex-wrap:wrap}.project-bar>label:first-child{flex:1}.project-name{flex:1;max-width:none}.project-actions{width:100%;margin:0;justify-content:flex-start}#saveState{max-width:none;font-size:9px;position:absolute;right:15px;margin-top:70px}.project-actions button{font-size:10px;padding:7px 10px}.workshop{display:flex;flex-direction:column}.studio{order:0}.panel{order:1;display:none;padding:18px}.catalog-panel.mobile-active,.inspector-panel.mobile-active{display:block}.canvas-wrap{height:45vh;min-height:300px;max-height:580px;flex:none}.view-toolbar{padding:8px;gap:5px}.view-toolbar button{min-height:31px;padding:7px 9px}.stage-controls{gap:10px;padding:10px}.metrics div{padding:11px 5px}.metrics b{font-size:20px}.metrics span{font-size:8px}.mobile-tabs{display:flex;padding:6px 10px;gap:5px;background:#fff;border-bottom:1px solid var(--line)}.mobile-tabs button{flex:1;font-size:11px}.palette{grid-template-columns:repeat(3,1fr);max-height:320px}.panel-heading h2{font-size:22px}.panel-heading>p{margin:0}.piece{min-height:89px}.building{max-width:650px}.challenge{margin-top:0;padding-top:0;border:0}.inspector-panel[data-tab=selection] #challengePanel,.inspector-panel[data-tab=challenge] #selectionPanel{display:none}.canvas-tip{font-size:9px;bottom:34px;max-width:95%;white-space:normal;text-align:center}.stage-controls button{font-size:9px}footer{gap:12px;flex-wrap:wrap}footer span{width:100%;text-align:center;font-size:10px}.feature-columns{grid-template-columns:1fr}.tour .panel{display:none!important}.tour .canvas-wrap{height:65vh}.tour .mobile-tabs{display:none}}
@media(max-width:400px){header{gap:8px}.site-logo{width:79px}.app-title h1{font-size:18px}.home{font-size:11px}.project-name{display:none}.project-bar>label:first-child{flex:none;width:100%}#saveState{margin-top:64px;max-width:70px}.project-actions{gap:4px}.project-actions button{padding:7px 8px}.view-toolbar button{font-size:9px;padding:6px 7px}.stage-controls label{font-size:9px}.palette{gap:6px}.piece{padding:8px 6px}.canvas-badge{font-size:7px}.status-line{padding:8px;font-size:9px}}
@media print{header,.project-bar,.panel,.view-toolbar,.stage-controls,.mobile-tabs,footer,.canvas-tip,.canvas-badge,.status-line{display:none!important}.workshop{display:block}.canvas-wrap{height:65vh;min-height:400px}.metrics{border:1px solid #888}.studio{break-inside:avoid}body{background:#fff}}
.screen-gallery{display:flex;gap:22px;overflow-x:auto;padding:12px 4px 25px;scroll-snap-type:x mandatory}.screen-gallery figure{margin:0;flex:0 0 216px;scroll-snap-align:start;text-align:center}.gallery-phone{position:relative;border:7px solid #213b43;border-radius:29px;background:#213b43;width:216px;height:451px;overflow:hidden}.gallery-phone iframe{border:0;width:390px;height:844px;transform:scale(.5179487);transform-origin:top left;pointer-events:none;background:#e5e7e9}.screen-gallery figcaption{font-size:12px;font-weight:700;line-height:1.5;margin:12px 0;color:#3d5c58}

.project-bar>label{min-width:170px}#setupDialog p{font-size:13px;line-height:1.6}.outcome{padding:14px;background:#f2b400;border-radius:5px}input[readonly]{background:#e5e7e9;color:#637f70}@media(max-width:1200px){.project-name{display:none}.project-bar{flex-wrap:wrap}.project-bar>label{flex:1}.project-actions{margin-left:0}#saveState{margin-left:auto}}@media(max-width:900px){#saveState{position:static;margin:0!important;max-width:none!important}.project-bar>label{flex:1;min-width:140px}.project-actions{width:auto;flex-wrap:wrap}.project-bar>label:first-child{width:auto;flex:1}.project-name{display:none}.view-toolbar{gap:4px}}

.game-progress{padding:12px 10px;background:#155b35;margin:15px 0;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:5px}.game-progress b{font-size:11px}.game-progress button{font-size:9px;padding:6px;min-height:29px}.metrics .over-budget{background:#a51f26}.metrics .over-budget b{color:#ad4835}

.inventory-focus{display:block;font-size:10px;color:#72887c;margin-top:3px}.project-bar>label{min-width:145px}.project-bar>label:nth-child(2){max-width:200px}@media(max-width:900px){.project-bar>label:nth-child(2){max-width:none}.project-bar>label{min-width:140px}.project-bar select{font-size:11px}#setupDialog{max-height:92vh;overflow:auto}}

.budget-meter{padding:9px 14px;background:#ffffff;display:flex;gap:12px;align-items:center}.budget-meter>div{height:6px;border-radius:10px;background:#d9e2d6;flex:1;overflow:hidden}.budget-meter i{height:100%;display:block;background:#319481}.budget-meter b{font-size:10px;color:#4f7967}.budget-meter.exceeded i{background:#cd5b41}.budget-meter.exceeded b{color:#b14d37}@media(max-width:900px){.budget-meter{padding:9px 10px}.budget-meter b{font-size:9px}}

header #autoDemo{font-size:11px;white-space:nowrap}.demo-panel{display:flex;gap:24px;padding:17px 24px;background:#f2b400;border-bottom:1px solid #d3b76e;scroll-margin-top:10px}.demo-panel[hidden]{display:none}.demo-narration{flex:1}.demo-narration>span{font-size:9px;letter-spacing:1.4px;font-weight:800;color:#977033}.demo-narration h2{font-size:25px;margin:6px 0}.demo-narration p{font-size:12px;line-height:1.6;margin:0;max-width:850px}.demo-playback{min-width:330px;align-self:center}.demo-transport{display:flex;gap:6px;align-items:end;flex-wrap:wrap}.demo-transport button{font-size:10px;padding:8px}.demo-transport label{font-size:8px}.demo-transport select{margin:3px 0 0;padding:6px;min-height:34px;width:55px}.demo-playback progress{width:85%;height:8px;accent-color:#188a7e;margin-top:12px}.demo-playback>span{font-size:9px;color:#756137;margin-left:6px}.demo-active .canvas-tip{display:none}.demo-active .canvas-wrap{min-height:420px}.piece-price{font-family:Georgia,serif;font-size:42px!important;font-weight:700;margin:15px 0!important;color:#167f76}.price-impact{padding:15px;background:#e6e6e6;border-radius:6px;font-size:14px}.price-impact p{margin:0 0 10px}.price-impact.over{background:#b22424;color:#a84834}#setupDemo{margin-top:12px;width:100%}@media(max-width:900px){header{flex-wrap:wrap;gap:9px}header #autoDemo{margin-left:auto;font-size:10px;min-height:32px;padding:6px 9px}.demo-panel{display:block;padding:12px 14px}.demo-narration h2{font-size:21px}.demo-narration p{font-size:11px;line-height:1.45}.demo-playback{min-width:0;margin-top:10px}.demo-transport{gap:5px}.demo-transport button{padding:7px;min-height:31px;font-size:9px}.demo-transport select{min-height:31px}.demo-playback progress{margin-top:7px}.demo-active .project-bar,.demo-active .view-toolbar,.demo-active .stage-controls{display:none}.demo-active .canvas-wrap{height:48vh;min-height:300px}.demo-active .panel{max-height:360px;overflow:auto}.demo-active.tour .canvas-wrap{height:52vh}.demo-active header .home{margin-left:auto}}

.demo-price{position:absolute;right:16px;bottom:45px;width:205px;background:#fffffffa;border:1px solid #d7bd75;border-radius:8px;padding:14px;box-shadow:0 5px 20px #19384526;pointer-events:none}.demo-price[hidden]{display:none}.demo-price small{font-size:8px;letter-spacing:1px;color:#9b7842;display:block}.demo-price b{display:block;font-size:12px;margin:7px 0}.demo-price strong{font-family:Georgia,serif;display:block;font-size:27px;color:#157f76}.demo-price span{display:block;font-size:9px;margin-top:6px;color:#6d7f72}@media(max-width:900px){.demo-price{right:10px;bottom:35px;width:165px;padding:10px}.demo-price strong{font-size:23px}.demo-price b{font-size:11px}}

#statCost{font-size:19px}@media(max-width:900px){#statCost{font-size:17px}}

/* Readable, searchable instruction manual. */
.manual-shell{max-width:1180px;margin:0 auto;padding:36px 24px 60px}.manual-hero{max-width:840px;padding:8px 0 24px}.manual-hero h1{font-family:Georgia,serif;font-size:clamp(35px,6vw,62px);line-height:1.05;letter-spacing:-1.5px;margin:12px 0}.manual-hero>p{font-size:16px;line-height:1.7;color:#627e71}.manual-links{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.manual-links .feature-link{font-size:13px}.manual-search{font-size:12px;max-width:640px}.manual-search input{font-size:15px;padding:13px}.manual-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:28px;align-items:start}.manual-index{position:sticky;top:18px;display:flex;flex-direction:column;gap:12px;background:#162c43;border-radius:8px;padding:20px}.manual-index a{font-size:12px;line-height:1.5;color:#e6efdb;text-decoration:none}.manual-index a:hover{color:#f1c667}.manual-chapter{background:#fff;border:1px solid #d4dfd6;border-radius:10px;padding:32px;margin:0 0 24px;scroll-margin-top:15px}.manual-chapter[hidden]{display:none}.manual-chapter h2{font-size:32px;line-height:1.16}.manual-lead{font-size:17px!important;color:#728b7d!important}.manual-chapter h3{font-size:17px;line-height:1.4;color:#147e77;margin:25px 0 12px}.manual-chapter p,.manual-chapter li{font-size:15px;line-height:1.75;color:#354f54}.manual-chapter li{margin:9px 0}.manual-chapter ol,.manual-chapter ul{padding-left:22px}.manual-callout{padding:18px 20px;background:#f4e7bb;border-left:4px solid #ddb153;border-radius:3px;margin:20px 0;font-size:14px;line-height:1.75;color:#705d36}.manual-table{overflow-x:auto;margin:18px 0}.manual-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.65}.manual-table th{background:#162c43;color:#fff;font-size:13px;text-align:left;padding:12px}.manual-table td{padding:12px;border-bottom:1px solid #d5e1d8;vertical-align:top}.manual-table td:first-child{width:32%;font-weight:700;color:#2c655f}.manual-table tr:nth-child(odd) td{background:#f0f5ef}.setup-manual{margin:10px 0;font-size:12px}.setup-manual a{color:#147e77;font-weight:700}@media(max-width:900px){.manual-shell{padding:25px 15px 40px}.manual-layout{grid-template-columns:1fr;gap:18px}.manual-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}.manual-index a{font-size:11px}.manual-chapter{padding:22px 18px}.manual-chapter h2{font-size:27px}.manual-hero>p{font-size:15px}.manual-links .feature-link{font-size:12px;padding:11px 14px}.manual-table th,.manual-table td{padding:10px;font-size:12px}.manual-chapter p,.manual-chapter li{font-size:14px}.manual-callout{font-size:13px;padding:15px}.manual-hero{padding-bottom:15px}}@media print{.manual-page header,.manual-hero,.manual-search,.manual-index,#searchCount{display:none!important}.manual-layout{display:block}.manual-chapter{border:0;border-radius:0;padding:0;margin:0 0 25px;break-before:page}.manual-shell{padding:0}.manual-chapter p,.manual-chapter li,.manual-table td{font-size:10pt}.manual-links{display:none}}

.difficulty-warning{padding:13px 15px;margin:18px 0;background:#f2b400;border-left:4px solid #b88228;border-radius:6px;color:#604b25}.difficulty-warning strong{font-size:14px;font-weight:800}.difficulty-warning p{font-size:12px;line-height:1.6;margin:6px 0 0}

/* Initial setup is a modal; keep the same Home control accessible inside it. */
#setupDialog>.site-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:#112438;color:#fff;border-bottom:3px solid #ffc43d;border-radius:9px;font:700 14px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;margin-bottom:14px}

/* Clear industrial colors, with readable status contrast. */
.game-progress{color:#fff}.game-progress button{background:#fff;color:#16334d}.metrics .over-budget,.metrics .over-budget b{color:#fff}.metrics .score,.metrics .score span{color:#192c3e}.budget-meter b,.status-line,.hint,.fine,.panel-heading p,.goal small,#missionText{color:#405164}.canvas-badge{background:#172d45ed;color:#fff}.canvas-badge i{background:#f2b400}.demo-narration>span,.demo-playback>span{color:#49320a}

header{border-bottom:3px solid #e66b12}.view-toolbar,.stage-controls{background:#fff}.studio{background:#222e3a}.metrics{background:#5b6671}.metrics div{border-top:3px solid #18529a}.metrics .score{background:#f0a400}.price-impact.over{background:#a62323;color:#fff}.demo-price{background:#fffffffa;border:2px solid #e66b12}
