@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";
:root{--bg:#f4f8f4;--panel:#fff;--panel-translucent:#fffffff5;--panel2:#f0fdf4;--text:#0e2a16;--text-heading:#064e3b;--muted:#496c51;--green:#16a34a;--green-bright:#22c55e;--green2:#15803d;--green-dark:#064e3b;--green-light:#dcfce7;--green-subtle:#f0fdf4;--green-border:#86efac;--green-border-subtle:#bbf7d0;--white:#fff;--orange:#d97706;--orange-light:#fef3c7;--red:#dc2626;--red-light:#fee2e2;--line:#e2ece4;--card-shadow:0 10px 30px #1046201a, 0 2px 8px #0000000a;--modal-shadow:0 25px 65px #0a2d1633, 0 4px 16px #0000000f}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55}button{font:inherit}main{min-height:100vh}.boot,.scene-loading{min-height:100vh;color:var(--green-dark);letter-spacing:.02em;background:radial-gradient(circle at 50% 30%,#e8f5e9 0%,#c8e6c9 100%);place-items:center;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:600;display:grid}.game-shell{background:#182118;height:100dvh;min-height:520px;position:relative;overflow:hidden}.canvas-wrap{z-index:0;position:absolute;inset:0}.hud{pointer-events:none;position:absolute;inset:0}.topbar{border-bottom:2px solid var(--green);pointer-events:auto;z-index:20;background:linear-gradient(#fffffffa 0%,#fffffff0 80%,#fff0 100%);justify-content:space-between;align-items:center;gap:12px;height:74px;padding:0 24px;display:flex}.brand{letter-spacing:.05em;color:var(--green-dark);cursor:pointer;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:700}.brand small{color:var(--green);letter-spacing:.14em;white-space:nowrap;font-size:11px;font-weight:700;display:block}.brand-text{display:inline-block}.stats{scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;display:flex;overflow-x:auto}.stats::-webkit-scrollbar{display:none}.stat{background:var(--white);border:1.5px solid var(--green-border-subtle);border-radius:12px;flex-shrink:0;min-width:90px;padding:8px 12px;transition:transform .15s,border-color .15s;box-shadow:0 2px 6px #16a34a14}.stat:hover{border-color:var(--green);transform:translateY(-1px)}.stat span,.mini-stats span{color:var(--green2);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.stat b{color:var(--green-dark);white-space:nowrap;margin-top:2px;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;display:block}.side{background:var(--panel-translucent);border:2px solid var(--green-border);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:310px;max-height:calc(100vh - 160px);box-shadow:var(--card-shadow);z-index:10;scrollbar-width:thin;scrollbar-color:var(--green-border) transparent;border-radius:20px;padding:20px;position:absolute;top:86px;left:24px;overflow:hidden auto}.side::-webkit-scrollbar{width:5px}.side::-webkit-scrollbar-thumb{background:var(--green-border);border-radius:99px}.eyebrow{color:var(--green2);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.side h2{color:var(--green-dark);margin:8px 0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;line-height:1.15}.level-line{color:var(--muted);justify-content:space-between;font-size:13.5px;font-weight:600;display:flex}.progress{background:#e2ece4;border-radius:99px;height:9px;margin:8px 0 14px;overflow:hidden}.progress i{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#16a34a);height:100%;display:block}.mission{color:var(--text);font-size:14.5px;line-height:1.5}.weather{border:1.5px solid var(--green-border-subtle);background:var(--panel2);border-radius:14px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;margin-top:14px;padding:12px 14px;display:grid}.weather span{color:var(--green2);letter-spacing:.1em;font-size:11.5px;font-weight:700}.weather b{color:var(--green-dark);font-size:14.5px;font-weight:700}.weather em{display:none}.hint{border:1px solid var(--green-border-subtle);color:var(--muted);background:#f0fdf4;border-radius:12px;margin-top:14px;padding:12px;font-size:13px;line-height:1.45}.muted{color:var(--muted)}.hint-touch{display:none}@media (pointer:coarse){.hint-mouse{display:none}.hint-touch{display:inline}}kbd{color:var(--green-dark);border:1px solid var(--green-border);background:#f0fdf4;border-radius:6px;padding:2px 6px;font-family:inherit;font-size:11.5px;font-weight:700;display:inline-block;box-shadow:0 1px 2px #0000000d}.hud-right{pointer-events:none;z-index:10;flex-direction:column;gap:12px;width:320px;max-height:calc(100vh - 120px);display:flex;position:absolute;top:86px;right:24px}.actions{pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--green-border) transparent;flex:auto;min-height:0;overflow:hidden auto}.actions::-webkit-scrollbar{width:5px}.actions::-webkit-scrollbar-thumb{background:var(--green-border);border-radius:99px}.card{background:var(--panel-translucent);border:2px solid var(--green-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--card-shadow);border-radius:22px;padding:22px}.card h3{color:var(--green-dark);margin:6px 0 12px;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700}.action-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.action{border:1.5px solid var(--green-border-subtle);background:var(--white);color:var(--text);cursor:pointer;text-align:left;border-radius:14px;padding:12px 14px;transition:all .15s;box-shadow:0 2px 6px #00000008}.action:hover{border-color:var(--green);background:#f0fdf4;transform:translateY(-1px);box-shadow:0 4px 10px #16a34a1f}.action.primary{color:#fff;background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);border-color:#15803d;box-shadow:0 4px 14px #16a34a47}.action.primary:hover{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-color:#16a34a;box-shadow:0 6px 18px #16a34a59}.action.primary strong{color:#fff}.action.primary small{color:#dcfce7}.action:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.action strong{color:var(--green-dark);font-size:14.5px;font-weight:700;display:block}.action small{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.35;display:block}.mini-stats{background:var(--green-border);border:2px solid var(--green-border);pointer-events:auto;box-shadow:var(--card-shadow);border-radius:14px;flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:2px;display:grid;position:static;overflow:hidden}.mini-stats div{background:var(--white);text-align:center;padding:8px 10px}.mini-stats span{justify-content:center;font-size:11px}.mini-stats b{color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:700}.bottom{border:2px solid var(--green-border);pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--card-shadow);background:#fffffffa;border-radius:20px;gap:8px;padding:8px 12px;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.tab{color:#14532d;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .15s}.tab.active{background:var(--green);color:#fff;font-weight:700;box-shadow:0 4px 12px #16a34a40}.tab:hover:not(.active){color:var(--green2);background:#f0fdf4}.toast{left:50%;top:calc(12px + env(safe-area-inset-top));color:#fff;text-align:center;border:1.5px solid var(--green-border);z-index:999;pointer-events:none;background:#064e3b;border-radius:99px;max-width:min(92vw,500px);padding:10px 20px;font-size:13.5px;font-weight:600;animation:.25s cubic-bezier(.16,1,.3,1) toastIn;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #064e3b59}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.modal-backdrop{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#06231073;place-items:center;display:grid;position:absolute;inset:0}.confirm-backdrop{z-index:150}.modal{background:var(--white);border:2px solid var(--green-border);width:min(800px,100vw - 32px);max-height:min(90vh,760px);box-shadow:var(--modal-shadow);color:var(--text);border-radius:26px;padding:24px 28px;overflow:auto}.modal.panel-modal{flex-direction:column;max-height:min(92vh,800px);padding:0;display:flex;overflow:hidden}.modal-top-bar{-webkit-backdrop-filter:blur(12px);border-bottom:1.5px solid var(--green-border);z-index:10;background:#fffffffa;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.modal-top-title{color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:16.5px;font-weight:700}.modal-close-btn{float:none!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;margin:0!important;padding:6px 14px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important}.modal-body-content{-webkit-overflow-scrolling:touch;flex:auto;padding:20px 24px 28px;overflow-y:auto}.biz-subtabs{background:var(--panel2);border:1.5px solid var(--green-border-subtle);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:14px;flex-wrap:nowrap;gap:6px;margin:12px 0 16px;padding:5px;display:flex;overflow-x:auto}.biz-subtabs::-webkit-scrollbar{display:none}.biz-subtabs .tab{white-space:nowrap;text-align:center;border-radius:10px;flex:none;padding:8px 14px;font-size:13px}@media (min-width:769px){.biz-subtabs .tab{flex:1}}.reserved-banner{background:#eff6ff;border:1.5px solid #93c5fd;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px 14px;display:flex}.reserved-info{flex:1;min-width:0}.reserved-info span{color:#1e3a8a;font-size:13px;font-weight:600;display:block}.reserved-info small{color:#2563eb}.release-btn{flex-shrink:0;color:#1e3a8a!important;background:#fff!important;border-color:#3b82f6!important;border-radius:8px!important;padding:6px 12px!important;font-size:12.5px!important}.release-btn:hover{background:#dbeafe!important}.modal.bulk-modal{flex-direction:column;max-height:min(92vh,720px);padding:0;display:flex;overflow:hidden}.bulk-header{background:var(--white);border-bottom:1.5px solid var(--green-border);flex-shrink:0;padding:20px 24px 12px}.bulk-header h2{margin:2px 0 6px;font-size:22px}.bulk-header p{margin:0 0 10px}.bulk-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.bulk-tab-btn{border:1.5px solid var(--green-border);color:var(--green-dark);white-space:nowrap;cursor:pointer;background:#f0fdf4;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.bulk-tab-btn:hover{border-color:var(--green);background:#dcfce7}.bulk-tab-btn.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff;box-shadow:0 2px 8px #064e3b40}.bulk-tab-btn .icon{font-size:15px}.bulk-body{flex:auto;min-height:0;padding:16px 24px;overflow-y:auto}.bulk-modal .batch-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-modal .crew-subgroup{border:1.5px solid var(--green-border);background:#f0fdf4;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:12px;display:grid;margin:8px 0!important}.bulk-modal .crew-subgroup label{color:var(--green-dark);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.bulk-modal .crew-subgroup select{border:1.5px solid var(--green-border);color:var(--text);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.bulk-modal .preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding:12px;display:grid;margin:8px 0!important}.bulk-modal .preview>div{flex-direction:column;display:flex}.bulk-modal .preview span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.bulk-modal .preview b{color:var(--green-dark);margin:2px 0;font-size:16px;font-weight:700}.bulk-modal .preview b.warn{color:#dc2626}.bulk-modal .preview small{color:var(--muted);font-size:11px}.bulk-footer{padding:14px 24px calc(14px + env(safe-area-inset-bottom));border-top:1.5px solid var(--green-border);background:#f8fafc;flex-direction:column;flex-shrink:0;gap:10px;display:flex}.bulk-footer .check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.bulk-footer .action.primary{border-radius:14px;padding:12px 18px}.modal h2{color:var(--green-dark);margin:4px 0 20px;font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700}.modal h4{color:var(--green-dark);margin:22px 0 10px;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700}.close{float:right;border:1.5px solid var(--green-border);color:var(--green2);cursor:pointer;background:#f0fdf4;border-radius:12px;padding:8px 16px;font-size:14px;font-weight:700;transition:all .15s}.close:hover{background:var(--green);color:#fff;border-color:var(--green)}.modal-row{border-bottom:1px solid var(--line);color:#1e3a24;justify-content:space-between;align-items:center;padding:14px 0;font-size:15px;display:flex}.modal-row b{color:var(--green-dark);font-size:16px}.inventory-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.inventory-grid div,.price-card,.lesson,.upgrade,.route,.batch{border:1.5px solid var(--green-border-subtle);background:#f8faf8;border-radius:16px;padding:18px;box-shadow:0 2px 6px #00000005}.inventory-grid span,.price-card span{color:var(--green2);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700;display:block}.inventory-grid b{color:var(--green-dark);margin-top:6px;font-family:Space Grotesk,sans-serif;font-size:26px;font-weight:700;display:block}.price-card b{color:var(--green-dark);margin:6px 0;font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:700;display:block}.price-card small{color:var(--muted);font-size:13px}.upgrade{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.upgrade b{color:var(--green-dark);font-size:16px;display:block}.upgrade small{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4;display:block}.upgrade button{border:1.5px solid var(--green);background:var(--green);color:#fff;cursor:pointer;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .15s;box-shadow:0 3px 8px #16a34a33}.upgrade button:hover:not(:disabled){background:var(--green2);transform:translateY(-1px)}.upgrade button:disabled{opacity:.4;cursor:not-allowed;color:#6b8572;box-shadow:none;background:#e2ece4;border-color:#cbdad0}.route{margin-top:14px}.route span{color:var(--green2);letter-spacing:.14em;font-size:12px;font-weight:700;display:block}.route b{color:var(--green-dark);margin-top:5px;font-size:16px;display:block}.lesson{margin-bottom:12px}.lesson b{color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:16px}.lesson p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.alert{background:var(--orange-light);color:#92400e;border:1.5px solid #fcd34d;border-radius:14px;margin:10px 0;padding:12px 16px;font-size:14px;line-height:1.45}.alert.danger{background:var(--red-light);color:#991b1b;border-color:#fca5a5}.alert.good{background:var(--green-light);color:#14532d;border-color:var(--green-border)}.choices{gap:10px;margin:14px 0;display:grid}.choice{text-align:left;border:1.5px solid var(--green-border-subtle);background:var(--white);color:var(--text);cursor:pointer;border-radius:14px;padding:14px;transition:all .15s;box-shadow:0 2px 6px #00000005}.choice:hover{border-color:var(--green);background:#f0fdf4;transform:translateY(-1px)}.choice.active{border-color:var(--green);box-shadow:0 0 0 2px var(--green);background:#f0fdf4}.choice:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.choice strong{color:var(--green-dark);font-size:15px;font-weight:700;display:block}.choice span{color:var(--green2);margin-top:3px;font-size:13.5px;font-weight:600;display:block}.choice small{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4;display:block}.bars{margin:14px 0 8px}.bar{margin-bottom:8px}.bar-label{color:#23462b;justify-content:space-between;font-size:13px;font-weight:600;display:flex}.bar .progress{height:7px;margin:5px 0 0}.harvest-box{border-top:1.5px solid var(--line);margin-top:14px;padding-top:10px}.harvest-box .modal-row{border:0;padding:8px 0}.harvest-box small{margin-bottom:10px;font-size:13px;line-height:1.45;display:block}.harvest-box .action{width:100%}.forecast{border:1.5px solid var(--green-border-subtle);background:#f0fdf4;border-radius:14px;margin-top:14px;padding:14px}.forecast .label{color:var(--green-dark);font-size:14px;font-weight:700}.forecast-days{text-align:center;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0 6px;display:grid}.forecast-days div{background:var(--white);border:1px solid var(--green-border-subtle);border-radius:10px;padding:8px 2px}.forecast-days small{color:var(--muted);font-size:11.5px;font-weight:600;display:block}.forecast-days b{margin:3px 0;font-size:20px;display:block}.forecast-days em{color:var(--green2);font-size:11.5px;font-style:normal;font-weight:600;display:block}.forecast>small{font-size:12px}.events{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chip{background:var(--red-light);color:#991b1b;border:1px solid #fca5a5;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:600}.batch{margin-bottom:12px}.batch-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.batch .progress{margin:6px 0}.grade{color:var(--green-dark);background:#e2ece4;border-radius:99px;padding:4px 10px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:700}.grade.gA{color:#15803d;background:#dcfce7;border:1px solid #86efac}.grade.gB{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.grade.gC{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.grade.gPremium{color:#fff;background:linear-gradient(135deg,#15803d 0%,#047857 100%);border:1px solid #34d399}.grade.big{margin-bottom:12px;padding:8px 18px;font-size:18px;display:inline-block}.decision{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.decision>div{background:var(--white);border:1.5px solid var(--green-border-subtle);border-radius:14px;padding:14px}.decision span{color:var(--green2);text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:700;display:block}.decision b{color:var(--green-dark);margin:4px 0;font-family:Space Grotesk,sans-serif;font-size:20px;display:block}.decision small{color:var(--muted);font-size:12.5px;line-height:1.4;display:block}.decision .action{width:100%;margin-top:10px}.buyers{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.buyer{text-align:left;border:1.5px solid var(--green-border);color:var(--text);cursor:pointer;background:#f0fdf4;border-radius:12px;padding:10px 12px;transition:all .15s}.buyer:hover{border-color:var(--green);background:#dcfce7;transform:translateY(-1px)}.buyer strong{color:var(--green-dark);font-size:13px;display:block}.buyer span{color:var(--green);margin-top:3px;font-size:13.5px;font-weight:600;display:block}.link{color:var(--green2);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0 4px;font-weight:600;text-decoration:underline}.spark{width:100%;height:40px;margin:8px 0;display:block}.spark-line{fill:none;stroke:var(--green);stroke-width:2px;vector-effect:non-scaling-stroke}.spark-base{stroke:#a7c4ac;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.report{pointer-events:auto;width:min(520px,100vw - 36px);box-shadow:var(--modal-shadow);z-index:30;position:absolute;top:120px;left:50%;transform:translate(-50%)}.report ul{margin:10px 0;padding-left:20px;font-size:14.5px;line-height:1.55}.report li.warning{color:#b45309}.report li.danger{color:#b91c1c}.report li.good{color:#15803d}.report .action{width:100%;margin-top:14px}.inspection ul{color:var(--text);margin:10px 0 0;padding-left:20px;font-size:14.5px;line-height:1.6}.log{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.log small{color:var(--green2);margin-right:8px;font-weight:700}.log.warning{color:#b45309}.log.danger{color:#b91c1c}.log.good{color:#15803d}kbd{border:1px solid var(--green-border);text-align:center;min-width:20px;color:var(--green-dark);background:#f0fdf4;border-radius:6px;padding:2px 6px;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:700;display:inline-block}.interact-prompt{pointer-events:auto;border:2px solid var(--green);color:var(--green-dark);cursor:pointer;white-space:nowrap;z-index:10;background:#fffffffa;border-radius:99px;padding:11px 22px;font-size:14.5px;font-weight:600;position:absolute;bottom:92px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #16a34a33}.interact-prompt kbd{background:var(--green);color:#fff;border:0;margin-right:8px;padding:2px 7px;font-size:12px}.npc-card .quote{color:var(--green-dark);border-left:3px solid var(--green);background:#f0fdf4;border-radius:12px;margin:10px 0;padding:10px 14px;font-size:14.5px;font-style:italic;line-height:1.5}.npc-card .tip{border-left:3px solid var(--green);color:var(--text);background:#f8faf8;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:13.5px;line-height:1.5}.side .collapse{border:1.5px solid var(--green-border);color:var(--green-dark);cursor:pointer;background:#f0fdf4;border-radius:8px;width:28px;height:28px;font-size:14px;font-weight:700;line-height:1;position:absolute;top:14px;right:14px}.side.compact{width:auto;max-width:290px;padding:14px 48px 14px 16px}.side.compact>:not(.collapse):not(.eyebrow):not(.mission){display:none}.side.compact .mission{font-size:13px}.pipeline{flex-wrap:wrap;gap:4px;margin:4px 0 14px;display:flex}.pipeline span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px solid var(--green-border-subtle);background:#f0fdf4;border-radius:99px;padding:4px 10px;font-size:11.5px;font-weight:600}.pipeline span.done{background:var(--green-light);color:var(--green2);border-color:var(--green-border);font-weight:700}.pipeline span.now{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}.pipeline span.skip{opacity:.5;text-decoration:line-through}.process-form{border:2px dashed var(--green);background:#f8faf8;border-radius:16px;margin:14px 0;padding:16px}.station{margin-bottom:12px}.station-label{letter-spacing:.12em;text-transform:uppercase;color:var(--green2);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.station>small{margin-top:6px;font-size:12.5px;line-height:1.4;display:block}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:1.5px solid var(--green-border-subtle);background:var(--white);min-width:95px;color:var(--text);cursor:pointer;border-radius:10px;flex:1;padding:9px 12px;font-size:13.5px;transition:all .15s}.seg button.on{border-color:var(--green);background:var(--green);color:#fff;font-weight:700}.seg button small{color:var(--muted);font-size:11.5px}.seg button.on small{color:#dcfce7}.preview{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.preview>div{border:1px solid var(--green-border-subtle);background:#f0fdf4;border-radius:12px;padding:10px}.preview span{color:var(--green2);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;display:block}.preview b{color:var(--green-dark);margin:3px 0;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;display:block}.preview small{color:var(--muted);font-size:11.5px;display:block}.action.wide{width:100%;margin-top:10px}.export-card{border:2px solid var(--green-border);color:var(--green-dark);background:linear-gradient(135deg,#f0fdf4,#e8f5e9);border-radius:16px;margin-bottom:16px;padding:16px}.export-card span{letter-spacing:.14em;color:var(--green2);font-size:11.5px;font-weight:700;display:block}.export-card b{margin:4px 0 6px;font-family:Space Grotesk,sans-serif;font-size:20px;display:block}.export-card small{color:var(--muted);font-size:13px;line-height:1.45;display:block}.mission.campaign{border:1.5px solid var(--green-border);background:#f0fdf4;border-radius:14px;padding:14px}.mission-step{letter-spacing:.12em;text-transform:uppercase;color:var(--green2);font-size:11.5px;font-weight:700;display:block}.mission.campaign b{color:var(--green-dark);margin:4px 0;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:700;display:block}.mission.campaign p{color:var(--text);margin:4px 0 8px;font-size:13.5px;line-height:1.45}.hint-line{color:var(--green2);margin-top:6px;font-size:13px;font-weight:600;display:block}.modal.story{width:min(540px,100vw - 36px)}.speaker{align-items:center;gap:12px;margin:14px 0 6px;display:flex}.speaker b{color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:17px;display:block}.speaker small{color:var(--muted);font-size:13px}.avatar{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;display:grid}.story-text{color:var(--text);margin:12px 0 18px;font-size:16px;line-height:1.6}.campaign-list{margin-bottom:10px}.campaign-row{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:start;gap:12px;padding:12px 0;display:grid}.campaign-row>span{width:28px;height:28px;color:var(--green-dark);background:#e2ece4;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.campaign-row.done>span{background:var(--green);color:#fff}.campaign-row.now>span{background:var(--green-bright);color:#fff}.campaign-row b{color:var(--green-dark);font-size:14.5px;display:block}.campaign-row small{color:var(--muted);font-size:13px;line-height:1.4;display:block}.campaign-row em{color:var(--green2);font-size:12.5px;font-style:normal;font-weight:700}.contract-terms{color:var(--text);gap:4px;margin:8px 0 10px;font-size:14px;display:grid}.contract-terms b{color:var(--green-dark)}.dispatch{border:1.5px dashed var(--green);background:#f8faf8;border-radius:14px;margin-top:10px;padding:14px}.dispatch .seg{margin:10px 0}.check{color:var(--text);align-items:center;gap:8px;margin:8px 0;font-size:13.5px;display:flex}.costs{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:10px 0;font-size:13px;display:flex}.costs b{color:var(--green-dark);font-size:15px}.costs.breakdown span{border:1px solid var(--green-border-subtle);color:var(--green-dark);background:#f0fdf4;border-radius:8px;padding:5px 10px}.journey-map{background:#0f2433;border-radius:14px;width:100%;height:auto;margin:10px 0;display:block}.cash-chart svg{border:1.5px solid var(--green-border-subtle);background:#fff;border-radius:12px;width:100%;height:80px;display:block}.cash-chart .cash-line{fill:none;stroke:var(--green);stroke-width:2px;vector-effect:non-scaling-stroke}.cash-chart .zero{stroke:#cbdad0;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.cash-chart .danger-zone{fill:#dc26261f}.cash-chart .cash-dot{fill:var(--green)}.cash-chart small{margin-top:6px;font-size:13px;line-height:1.4;display:block}.modal.levelup{text-align:center;width:min(480px,100vw - 36px)}.level-badge{color:#fff;background:linear-gradient(135deg,#22c55e,#15803d);border-radius:50%;place-items:center;width:92px;height:92px;margin:12px auto 6px;font-family:Space Grotesk,sans-serif;font-size:42px;font-weight:700;display:grid;box-shadow:0 10px 30px #16a34a59}.modal.levelup ul{text-align:left;margin:12px 0 18px;padding:0;list-style:none}.modal.levelup li{border:1px solid var(--green-border-subtle);color:var(--green-dark);background:#f0fdf4;border-radius:10px;margin:6px 0;padding:10px 14px;font-size:14.5px}.career-step{border-bottom:1px solid var(--line);opacity:.6;grid-template-columns:44px 1fr;gap:12px;padding:12px 0;display:grid}.career-step.reached{opacity:1}.career-level{color:var(--green);font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:700}.career-step b{color:var(--green-dark);margin-bottom:4px;font-size:15px;display:block}.career-step small{color:var(--muted);font-size:13px;line-height:1.45;display:block}.career-step small.got{color:var(--green2);font-weight:600}.zoom-ctrl{left:max(24px, env(safe-area-inset-left));bottom:calc(24px + env(safe-area-inset-bottom));border:2px solid var(--green-border);pointer-events:auto;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:15;background:#fffffffa;border-radius:14px;flex-direction:row;gap:2px;display:flex;position:absolute;overflow:hidden}.zoom-ctrl button{width:38px;height:38px;color:var(--green-dark);cursor:pointer;background:#fff;border:0;place-items:center;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;transition:all .15s;display:grid}.zoom-ctrl button:hover{color:var(--green);background:#f0fdf4}.zoom-ctrl button:active{background:#dcfce7}.zoom-ctrl button.rot{font-size:17px}.zoom-ctrl button.compass{place-items:center;padding:0;display:grid}.needle{width:22px;height:22px;display:inline-block;position:relative}.needle:before{content:"";border-left:3.5px solid #0000;border-right:3.5px solid #0000;border-bottom:8px solid var(--orange);position:absolute;top:2px;left:50%;transform:translate(-50%)}.needle:after{content:"";border-left:3.5px solid #0000;border-right:3.5px solid #0000;border-top:8px solid var(--muted);position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.needle i{color:var(--green-dark);pointer-events:none;font-family:Space Grotesk,sans-serif;font-size:8px;font-style:normal;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.inspect-banner{bottom:calc(82px + env(safe-area-inset-bottom));border:2px solid var(--green);color:var(--green-dark);box-shadow:var(--card-shadow);z-index:40;pointer-events:auto;white-space:nowrap;background:#fffffffa;border-radius:24px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 18px;font-size:13px;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.inspect-exit-btn{background:var(--green);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:5px 12px;font-size:12px;font-weight:700;transition:all .15s}.inspect-exit-btn:hover{background:var(--green-dark)}.screen{z-index:10;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:radial-gradient(at 50% 40%,#f0fdf4eb 0%,#dcfce7f7 80%);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.title-card,.intro-card{border:2px solid var(--green-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(500px,100%);color:var(--text);background:#fffffffa;border-radius:28px;padding:36px;box-shadow:0 30px 80px #104b232e}.title-mark small{color:var(--green);letter-spacing:.25em;font-size:13px;font-weight:700;display:block}.title-mark h1{letter-spacing:.02em;background:linear-gradient(135deg,#064e3b 20%,#16a34a 90%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:6px 0 0;font-family:Space Grotesk,sans-serif;font-size:56px;line-height:1}.title-intro{color:#2b4e33;margin:16px 0 24px;font-size:16px;line-height:1.6}.title-actions{gap:12px;display:grid}.title-actions .action{text-align:center;width:100%;padding:14px}.title-actions .action strong{font-size:16px}.action.big{padding:18px}.action.big strong{font-family:Space Grotesk,sans-serif;font-size:18px}.action.big small{font-size:13.5px}.title-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.title-foot{text-align:center;color:var(--muted);margin-top:16px;font-size:12.5px;display:block}.screen[aria-busy=true] .title-actions{visibility:hidden}.recovery{flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 16px;font-size:13.5px;line-height:1.5;display:flex}.action.danger{background:var(--red-light);color:#991b1b;border-color:#fca5a5}.action.danger:hover{background:#fecaca;border-color:#ef4444}.intro-card{width:min(540px,100%);animation:.35s ease-out cardIn}.intro-card h2{color:var(--green-dark);margin:8px 0 0;font-family:Space Grotesk,sans-serif;font-size:28px}.avatar.npc-amaka{background:#047857}.avatar.npc-chinedu{background:#065f46}.dots{justify-content:center;gap:8px;margin:8px 0 20px;display:flex}.dots i{background:#cbdad0;border-radius:50%;width:9px;height:9px}.dots i.on{background:var(--green);border-radius:99px;width:20px}.intro-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.intro-actions span{gap:10px;display:flex}.intro-actions .action{text-align:center;min-width:90px}.intro-choice{gap:10px;display:grid}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.mission.tutorial{border:1.5px solid var(--green-border);background:#f0fdf4;border-radius:14px;margin-bottom:10px;padding:14px}.mission.tutorial b{color:var(--green-dark);margin:3px 0;font-family:Space Grotesk,sans-serif;font-size:16px;display:block}.mission.tutorial p{color:var(--text);margin:3px 0 8px;font-size:13.5px;line-height:1.45}.tut-progress{gap:4px;margin:8px 0;display:flex}.tut-progress i{background:#e2ece4;border-radius:3px;flex:1;height:5px}.tut-progress i.done{background:var(--green)}.tut-progress i.on{background:var(--green-bright)}.tut-actions{justify-content:space-between;font-size:12.5px;display:flex}.tut-actions .link{color:var(--green2);padding:0}.side.compact .mission.tutorial{display:block}.side.compact .mission.tutorial p,.side.compact .tut-progress{display:none}@keyframes tutPulse{0%,to{box-shadow:0 0 0 2px var(--green), 0 0 0 0 #16a34a66}50%{box-shadow:0 0 0 2px var(--green), 0 0 0 8px #16a34a00}}.tut-end-day [data-tut=end-day],.tut-storage-tab [data-tut=storage-tab],.tut-prompt [data-tut=prompt],.tut-plot-panel .plot-panel{box-shadow:0 0 0 2px var(--green);animation:1.6s ease-in-out infinite tutPulse}.interact-prompt.world{white-space:nowrap;position:static;transform:none}.top-right{flex:none;align-items:center;gap:10px;display:flex}.menu-btn{border:1.5px solid var(--green-border-subtle);background:var(--white);width:42px;height:42px;color:var(--green-dark);cursor:pointer;border-radius:12px;font-size:20px;transition:all .15s}.menu-btn:hover{border-color:var(--green);background:#f0fdf4}.save-ind{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.save-ind i{background:var(--green);border-radius:50%;width:8px;height:8px}.save-ind.pending i{background:var(--orange);animation:1s infinite tutPulse}.save-ind.error{color:var(--red)}.save-ind.error i{background:var(--red)}.save-banner{left:50%;top:calc(90px + env(safe-area-inset-top));background:var(--red-light);color:#991b1b;pointer-events:auto;z-index:25;border:1.5px solid #fca5a5;border-radius:14px;width:min(540px,100vw - 28px);padding:12px 18px;font-size:14px;position:absolute;transform:translate(-50%)}.menu-list{gap:10px;display:grid}.menu-list .action,.journal-actions .action{text-align:center}.journal-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.modal.game-menu,.modal.confirm,.modal.settings{width:min(480px,100vw - 36px)}.modal.howto{width:min(800px,100vw - 36px)}.howto-grid{grid-template-columns:1fr 1fr;gap:6px 24px;display:grid}.howto-grid h4{margin:12px 0 6px}.howto-grid p{color:var(--text);margin:6px 0;font-size:14px;line-height:1.55}.confirm-body{color:var(--text);font-size:15px;line-height:1.55}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.confirm-actions .action{text-align:center;min-width:120px}.small{font-size:13.5px;line-height:1.5}.tip{vertical-align:middle;line-height:1;display:inline-block;position:relative}.tip-btn{border:1.5px solid var(--green-border-subtle);width:18px;height:18px;color:var(--green2);cursor:help;text-transform:none;letter-spacing:0;background:#f0fdf4;border-radius:50%;padding:0;font-size:11px;font-weight:700;line-height:15px}.tip-btn:hover,.tip-btn:focus-visible{color:#fff;background:var(--green);border-color:var(--green);outline:none}.tip .tip-pop{z-index:40;background:var(--white);border:1.5px solid var(--green-border);width:260px;box-shadow:var(--modal-shadow);color:var(--text);text-transform:none;letter-spacing:0;text-align:left;white-space:normal;pointer-events:none;border-radius:12px;padding:12px 14px;font:500 13px/1.45 DM Sans,sans-serif;display:block;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tip.left .tip-pop{left:-8px;transform:none}.tip.right .tip-pop{left:auto;right:-8px;transform:none}.stat .tip{margin-left:4px;display:inline-block}.stat .wx-label{color:inherit;font-size:inherit;text-transform:none;letter-spacing:0;display:inline}.grade-wrap{align-items:center;gap:6px;display:inline-flex}.brand-btn{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;margin:-6px -12px;padding:6px 12px;transition:background .15s,transform .15s}.brand-btn:hover{background:#16a34a14}.brand-btn:active{transform:scale(.98)}.profile-modal{width:min(680px,100vw - 36px);max-height:88dvh}.profile-tabs{border-bottom:1px solid var(--line);gap:8px;margin:16px 0 20px;padding-bottom:12px;display:flex;overflow-x:auto}.tab-btn{border:1.5px solid var(--green-border-subtle);background:var(--white);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:99px;padding:10px 18px;font-size:13.5px;font-weight:600;transition:all .15s}.tab-btn:hover{color:var(--green2);border-color:var(--green);background:#f0fdf4}.tab-btn.on{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 4px 12px #16a34a40}.tab-pane{gap:18px;animation:.25s ease-out cardIn;display:grid}.form-group{gap:8px;display:grid}.form-group label{letter-spacing:.12em;text-transform:uppercase;color:var(--green2);font-size:12px;font-weight:700}.form-group input[type=text]{box-sizing:border-box;background:var(--white);border:1.5px solid var(--green-border-subtle);width:100%;color:var(--text);border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .15s}.form-group input[type=text]:focus{border-color:var(--green);box-shadow:0 0 0 3px #16a34a26}.input-row{gap:10px;display:flex}.input-row input{flex:1}.input-row .action{white-space:nowrap;align-self:stretch;padding:10px 18px}.preset-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.chip-btn{border:1.5px solid var(--green-border-subtle);color:var(--green-dark);cursor:pointer;background:#f0fdf4;border-radius:99px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s}.chip-btn:hover{border-color:var(--green);background:var(--green);color:#fff}.tone-swatches{gap:12px;margin-top:6px;display:flex}.tone-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:40px;height:40px;transition:transform .15s,box-shadow .15s}.tone-swatch:hover{transform:scale(1.1)}.tone-swatch.on{box-shadow:0 0 0 3px var(--green);border-color:#fff;transform:scale(1.15)}.variant-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px;max-height:290px;padding-right:6px;display:grid;overflow-y:auto}.variant-card{text-align:center;background:var(--white);border:1.5px solid var(--green-border-subtle);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;transition:all .15s;display:flex}.variant-card:hover{border-color:var(--green);background:#f0fdf4}.variant-card.on{border-color:var(--green);box-shadow:0 0 0 2px var(--green);background:#f0fdf4}.variant-avatar{font-size:28px;line-height:1.1}.variant-name{color:var(--text);font-size:13px;font-weight:600}.emblem-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;display:grid}.emblem-btn{aspect-ratio:1;background:var(--white);border:1.5px solid var(--green-border-subtle);cursor:pointer;border-radius:12px;place-items:center;width:100%;font-size:24px;transition:all .15s;display:grid}.emblem-btn:hover{border-color:var(--green);background:#f0fdf4}.emblem-btn.on{border-color:var(--green);box-shadow:0 0 0 2px var(--green);background:#dcfce7;transform:scale(1.08)}.signboard-preview{border:1.5px dashed var(--green-border);text-align:center;background:#f0fdf4;border-radius:16px;margin-top:16px;padding:18px}.preview-label{text-transform:uppercase;letter-spacing:.14em;color:var(--green2);margin-bottom:12px;font-size:11.5px;font-weight:700;display:block}.preview-board{background:linear-gradient(135deg,#15803d,#064e3b);border:3px solid #86efac;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;max-width:100%;padding:16px 30px;display:inline-flex;box-shadow:0 10px 25px #064e3b40}.board-emblem{margin-bottom:4px;font-size:36px}.board-title{color:#fff;letter-spacing:.03em;font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:700}.board-sub{color:#dcfce7;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:12px}.export-stamp-preview{border:1.5px dashed var(--green-border);background:#f0fdf4;border-radius:16px;place-items:center;margin-top:16px;padding:18px;display:grid}.stamp-box{border:2px solid var(--green);text-align:center;background:var(--white);border-radius:14px;max-width:380px;padding:16px 26px;box-shadow:0 6px 20px #16a34a1f}.stamp-seal{letter-spacing:.22em;color:var(--green);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.stamp-brand{color:var(--green-dark);letter-spacing:.05em;margin:4px 0;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;display:block}.stamp-origin{color:var(--muted);margin-bottom:8px;font-size:12.5px;display:block}.stamp-grade{letter-spacing:.12em;color:#15803d;background:#dcfce7;border:1px solid #86efac;border-radius:99px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:14px;display:grid}.theme-card{text-align:center;background:var(--white);border:1.5px solid var(--green-border-subtle);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;padding:14px 10px;transition:all .15s;display:flex}.theme-card:hover{border-color:var(--green);background:#f0fdf4}.theme-card.on{border-color:var(--green);box-shadow:0 0 0 2px var(--green);background:#f0fdf4}.theme-swatch{border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:10px;display:grid;box-shadow:0 4px 10px #0000001a}.theme-pip{border:1.5px solid #fff9;border-radius:50%;width:14px;height:14px}.modal-actions-bar{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;display:flex}.brand-tag{color:var(--green2);border:1px solid var(--green-border);background:#dcfce7;border-radius:99px;align-items:center;gap:5px;margin-left:8px;padding:2px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.brand-dispatch-badge{border:1.5px solid var(--green-border);color:var(--green-dark);background:#f0fdf4;border-radius:10px;margin:10px 0;padding:10px 14px;font-size:13.5px}.automation-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;padding:12px 0 6px;display:grid}.automation-controls label{color:var(--muted);gap:6px;font-size:13px;display:grid}.automation-controls label b,.report-automation b{color:var(--green-dark)}.automation-controls .check{grid-template-columns:18px 1fr;align-items:center}.automation-controls input[type=range]{width:100%;accent-color:var(--green)}.report-automation{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin:10px 0;font-size:13.5px;display:flex}.audio-levels{color:var(--muted);grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;font-size:13.5px;display:grid}.audio-levels label{gap:6px;display:grid}.audio-levels input{width:100%;accent-color:var(--green)}.crew-management{gap:14px;margin:10px 0 18px;display:grid}.crew-card{background:var(--white);border:1.5px solid var(--green-border-subtle);border-radius:16px;padding:16px;box-shadow:0 2px 6px #00000005}.crew-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.crew-header b{color:var(--green-dark);font-size:15px;display:block}.crew-header small{color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.stepper{border:1.5px solid var(--green-border-subtle);background:#f0fdf4;border-radius:12px;align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.stepper button{border:1px solid var(--green-border);background:var(--white);width:32px;height:32px;color:var(--green-dark);cursor:pointer;border-radius:8px;place-items:center;font-size:18px;font-weight:700;line-height:1;transition:all .15s;display:grid}.stepper button:hover:not(:disabled){background:var(--green);color:#fff}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper span{text-align:center;min-width:24px;color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700}.crew-controls{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:12px;display:grid}.crew-controls .check{color:var(--text);cursor:pointer;grid-template-columns:20px 1fr;align-items:center;gap:10px;font-size:13.5px;display:grid}.crew-controls .check input{accent-color:var(--green);width:17px;height:17px}.crew-subgroup{border:1px solid var(--green-border-subtle);background:#f8faf8;border-radius:12px;grid-template-columns:1fr 1fr;gap:12px;margin:3px 0 8px 30px;padding:10px 14px;display:grid}.crew-subgroup label{color:var(--muted);gap:5px;font-size:12px;display:grid}.crew-subgroup select{background:var(--white);color:var(--text);border:1.5px solid var(--green-border-subtle);border-radius:8px;outline:none;padding:8px 10px;font-size:13.5px}.crew-subgroup select:focus{border-color:var(--green)}.unassigned-note{color:var(--muted);margin:6px 0 10px;font-size:13px;display:block}.hint-card{border:1.5px dashed var(--green-border);background:#f0fdf4;border-radius:14px;margin:10px 0 18px;padding:14px}.worker-banner{border:1.5px solid var(--green-border);color:var(--green-dark);background:#dcfce7;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:13.5px}.mobile-only{display:none!important}.desktop-only{display:initial}.compact-prog-badge,.zen-btn,.zen-floating-toggle{display:none}@media (max-width:1024px){.topbar{height:68px;padding:0 16px}.brand{font-size:14px}.stat{min-width:80px;padding:7px 10px}.stat span{font-size:10px}.stat b{font-size:14px}.side{width:280px;max-height:calc(100vh - 150px);top:78px;left:14px}.hud-right{width:290px;max-height:calc(100vh - 120px);top:78px;right:14px}}@media (max-width:768px){.mobile-only{display:flex!important}.desktop-only,.mobile-hide-dup{display:none!important}.compact-prog-badge{color:var(--green2);margin-left:2px;font-size:11px;font-weight:700;display:inline}.zen-btn{display:grid!important}.hud.zen-mode .topbar,.hud.zen-mode .side,.hud.zen-mode .hud-right,.hud.zen-mode .bottom{opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;transform:translateY(-10px)}.hud.zen-mode .bottom{transform:translateY(10px)}.hud.zen-mode .zen-floating-toggle{display:flex!important}.zen-floating-toggle{top:calc(8px + env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:50;pointer-events:auto;-webkit-backdrop-filter:blur(10px);border:1.5px solid var(--green);color:var(--green-dark);cursor:pointer;background:#fffffff0;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:11.5px;font-weight:700;position:absolute;box-shadow:0 4px 16px #0003}.zen-floating-toggle:active{background:var(--green-light)}.topbar{height:auto;min-height:0;padding:calc(6px + env(safe-area-inset-top)) 10px 4px;-webkit-backdrop-filter:blur(12px);border-bottom:1.5px solid var(--green);z-index:20;background:#fffffff5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 6px;display:flex}.brand{align-items:center;max-width:48vw;font-size:13px;display:flex}.brand small{letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.brand-text{display:none}.top-right{align-items:center;gap:6px;margin-left:auto;display:flex}.zen-btn{border:1.5px solid var(--green-border);background:var(--green-subtle);width:32px;height:32px;color:var(--green-dark);cursor:pointer;border-radius:9px;place-items:center;font-size:14px;transition:transform .15s,background .15s;display:grid}.zen-btn:active{background:var(--green-light);transform:scale(.92)}.save-ind{align-items:center;height:28px;padding:3px 6px;font-size:11px;display:flex}.save-ind .save-text{display:none}.menu-btn{border-radius:9px;width:32px;height:32px;font-size:16px}.stats{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;order:3;gap:5px;width:100%;padding:2px 0;display:flex;overflow-x:auto}.stats::-webkit-scrollbar{display:none}.stat{background:var(--green-subtle);border:1px solid var(--green-border-subtle);border-radius:9999px;flex-direction:row;flex-shrink:0;align-items:center;gap:4px;min-width:0;height:26px;padding:0 8px;display:inline-flex}.stat span{letter-spacing:.03em;color:var(--muted);text-transform:uppercase;font-size:9.5px;font-weight:600;display:inline}.stat span .tip{display:none!important}.stat b{color:var(--text-heading);margin:0;font-size:11.5px;font-weight:700}.wx-label{display:none}.side{top:calc(74px + env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));z-index:15;transition:all .2s ease-out;position:absolute}.side.compact{-webkit-backdrop-filter:blur(12px);border:1.5px solid var(--green-border);cursor:pointer;background:#fffffff0;border-radius:9999px;align-items:center;width:auto;max-width:calc(100vw - 64px);height:34px;padding:0 28px 0 10px;display:flex;overflow:hidden;box-shadow:0 4px 14px #0000001a}.side.compact>:not(.collapse):not(.mission),.side.compact .eyebrow{display:none!important}.side.compact .collapse{width:20px;height:20px;color:var(--green-dark);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;font-size:11px;display:grid;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.side.compact .mission{box-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:5px;margin:0;padding:0;line-height:1.2;display:flex;overflow:hidden}.side.compact .mission .mission-step{color:var(--green2);flex-shrink:0;font-size:10.5px;font-weight:700}.side.compact .mission b{color:var(--text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.side.compact .mission p,.side.compact .mission .progress,.side.compact .mission small,.side.compact .mission .hint-line,.side.compact .tut-progress,.side.compact .tut-actions{display:none!important}.side:not(.compact){-webkit-backdrop-filter:blur(16px);border:2px solid var(--green-border);background:#fffffffa;border-radius:18px;width:calc(100vw - 20px);max-width:360px;max-height:calc(100vh - 160px);padding:14px 16px;overflow-y:auto;box-shadow:0 12px 36px #00000040}.side:not(.compact) .collapse{border:1px solid var(--green-border);background:var(--green-subtle);width:26px;height:26px;color:var(--green-dark);cursor:pointer;border-radius:8px;place-items:center;font-weight:700;display:grid;position:absolute;top:12px;right:12px}.side.with-tutorial .mission.campaign{display:none}.zoom-ctrl{left:auto;right:max(8px, env(safe-area-inset-right));top:calc(74px + env(safe-area-inset-top));z-index:18;-webkit-backdrop-filter:blur(8px);background:#ffffffd1;border:1px solid #16a34a33;border-radius:10px;flex-direction:column;gap:1px;padding:1px;bottom:auto;box-shadow:0 3px 12px #0000001f}.zoom-ctrl button{background:0 0;border-radius:7px;width:30px;height:30px;font-size:13px}.zoom-ctrl button:active{background:var(--green-light)}.needle{width:17px;height:17px}.hud-right{top:auto;left:8px;right:8px;bottom:calc(52px + env(safe-area-inset-bottom));z-index:25;width:auto;max-height:52dvh}.actions .card:not(.plot-panel){-webkit-backdrop-filter:blur(12px);border:1px solid var(--green-border);background:#fffffff2;border-radius:12px;padding:5px 8px;box-shadow:0 4px 16px #0000001f}.mobile-ops-header{justify-content:space-between;align-items:center;margin-bottom:4px;padding:0 2px;display:flex}.ops-title{color:var(--green2);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.ops-min-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:1px 4px;font-size:10.5px;font-weight:700}.actions .card:not(.plot-panel) .action-grid{flex-direction:row;gap:5px;margin:0;display:flex}.actions .card:not(.plot-panel) .action{text-align:center;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:6px 4px;line-height:1.2;display:flex}.actions .card:not(.plot-panel) .action.primary{background:linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);flex:1.6;padding:6px 8px}.actions .card:not(.plot-panel) .action strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.actions .card:not(.plot-panel) .action small{display:none}.actions .card:not(.plot-panel) .action.primary small{opacity:.9;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9.5px;display:block;overflow:hidden}.operations-card.minimized{padding:4px 8px!important}.operations-card.minimized .action-grid,.operations-card.minimized .harvest-chip{display:none!important}.operations-card.minimized .mobile-ops-header{margin-bottom:0}.harvest-chip{cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;margin-top:4px;padding:3px 8px;font-size:10.5px;overflow:hidden}.actions .card.plot-panel{border-radius:18px 18px 0 0;max-height:54dvh;padding:14px 12px;overflow-y:auto;box-shadow:0 -8px 24px #0003}.mini-stats{display:none}.bottom{bottom:calc(6px + env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(12px);background:#fffffff5;border-radius:12px;justify-content:space-between;gap:2px;width:calc(100% - 16px);max-width:480px;padding:3px;display:flex;box-shadow:0 4px 16px #0000001f}.tab{text-align:center;border-radius:8px;flex:1;place-items:center;min-height:32px;padding:6px 2px;font-size:11px;display:grid}.inspect-banner{bottom:calc(105px + env(safe-area-inset-bottom));gap:6px;padding:5px 10px;font-size:11px}.interact-prompt{bottom:calc(108px + env(safe-area-inset-bottom));max-width:calc(100vw - 20px);font-size:11.5px}.modal-backdrop{place-items:end center}.modal{width:100%;max-height:88dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.modal.bulk-modal{padding:0}.bulk-header{padding:14px 16px 8px}.bulk-header h2{font-size:18px}.bulk-body{padding:10px 16px}.bulk-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal.story,.modal.levelup{width:100%}.modal.panel-modal{max-height:92dvh;padding:0!important}.modal.panel-modal .modal-top-bar{padding:12px 16px}.modal.panel-modal .modal-top-title{font-size:15px}.modal.panel-modal .modal-body-content{padding:14px 16px calc(24px + env(safe-area-inset-bottom))}.modal:not(.panel-modal):not(.bulk-modal) .close{z-index:2;position:sticky;top:0}.upgrade{flex-wrap:wrap;gap:10px}.title-card,.intro-card{border-radius:22px;padding:24px}.title-mark h1{font-size:42px}.title-intro{font-size:14.5px}.mission.tutorial p{font-size:12px}.preview{grid-template-columns:1fr 1fr}.decision,.decision.three{grid-template-columns:1fr;gap:8px}.buyers{grid-template-columns:1fr;gap:6px}.buyer{padding:9px 12px}.crew-subgroup{grid-template-columns:1fr;margin-left:0}.inventory-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important;margin-bottom:12px!important}.inventory-grid div{border-radius:14px!important;padding:10px 12px!important}.inventory-grid span{letter-spacing:.03em!important;font-size:10.5px!important}.inventory-grid b{margin-top:2px!important;font-size:17px!important;line-height:1.25!important}.journal-actions,.howto-grid{grid-template-columns:1fr}}@media (max-width:380px){.tab{padding:7px 1px;font-size:10px}.stat{padding:4px 6px}.stat b{font-size:12px}}[data-motion=reduce] *,[data-motion=reduce] :before,[data-motion=reduce] :after{transition:none!important;animation:none!important}.report{max-height:calc(100dvh - 150px);overflow-y:auto}.report-automation span.good{color:#15803d;font-weight:600}.report ul.report-blocked{margin-top:4px;font-size:13.5px}.report-lesson{background:var(--panel2);border:1.5px solid var(--green-border-subtle);border-radius:14px;margin:12px 0 0;padding:12px 14px}.report-lesson b{font-size:13.5px}.report-lesson p{color:var(--text);margin-top:4px;font-size:13.5px}.ship-checklist{margin-top:10px}.checklist{gap:6px;margin-bottom:10px;font-size:13.5px;display:grid}.checklist>div{border:1.5px solid var(--line);background:var(--white);border-radius:12px;padding:8px 12px}.checklist>div small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.checklist .ok{border-color:var(--green-border);background:var(--green-light);color:#14532d}.checklist .fixable{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.checklist .todo{background:var(--orange-light);color:#92400e;border-color:#fcd34d}details.dispatch>summary{cursor:pointer;color:var(--green-dark);font-size:13.5px;font-weight:600}details.dispatch[open]>summary{margin-bottom:8px}.check.auto-ship{background:var(--panel2);border:1.5px solid var(--green-border-subtle);border-radius:12px;align-items:flex-start;margin:6px 0 10px;padding:10px 12px;font-size:13.5px}.site-card{background:var(--white);border:1.5px solid var(--line);box-shadow:var(--card-shadow);border-radius:16px;margin:10px 0;padding:14px}.site-card.here{border-color:var(--green);background:var(--panel2)}.site-card.locked{opacity:.7}.site-card .site-head{gap:2px;display:grid}.site-card .site-head b{color:var(--green-dark);font-family:Space Grotesk,sans-serif;font-size:16px}.site-card p.small{margin:8px 0;font-size:13.5px}.site-card .btns{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.site-card .btns button{border:1.5px solid var(--green-border);background:var(--white);color:var(--green-dark);cursor:pointer;border-radius:12px;padding:8px 14px;font-weight:600}.site-card .btns button.primary{background:var(--green);border-color:var(--green);color:#fff}.site-card .btns button:disabled{opacity:.55;cursor:not-allowed}.site-soil{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.site-soil b{color:var(--green-dark)}.site-switch{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.site-switch button{border:1.5px solid var(--green-border-subtle);background:var(--white);color:var(--green-dark);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:600}.site-switch button.on{background:var(--green);border-color:var(--green);color:#fff}.harvest-chip .chip-note{opacity:.85;font-weight:400}.alert.harvest-chip.muted{background:var(--panel2);color:var(--muted);border-color:var(--green-border-subtle)}.alert.site-note{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd;font-size:13px}.title-foot a,.menu-legal{color:var(--green2);font-weight:600}.menu-legal{text-align:center;margin-top:14px;font-size:13px;display:block}.legal-page{background:radial-gradient(circle at 50% 0%, #e8f5e9 0%, var(--bg) 60%);min-height:100vh;padding:32px 16px 48px}.legal-card{background:var(--panel);border:1.5px solid var(--green-border-subtle);max-width:760px;box-shadow:var(--card-shadow);border-radius:20px;margin:0 auto;padding:28px clamp(18px,4vw,40px)}.legal-card h1{color:var(--text-heading);margin:4px 0 2px;font-family:Space Grotesk,sans-serif;font-size:clamp(28px,5vw,38px)}.legal-card h2{color:var(--green-dark);margin:26px 0 8px;font-family:Space Grotesk,sans-serif;font-size:19px}.legal-card p,.legal-card li{font-size:15px;line-height:1.65}.legal-meta{color:var(--muted);margin:0 0 12px}.legal-summary{background:var(--panel2);border:1.5px solid var(--green-border-subtle);border-radius:16px;padding:4px 18px 8px}.legal-summary h2{margin-top:14px}.legal-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px;display:block;overflow-x:auto}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 10px}.legal-table th{color:var(--green-dark);font-weight:600}.legal-card code{background:var(--panel2);border-radius:6px;padding:1px 5px;font-size:13px}.legal-card a{color:var(--green2);font-weight:600}.legal-back{margin-top:28px}.ferry-choice{background:var(--panel2);border:1.5px solid var(--green-border-subtle);border-radius:14px;margin:8px 0;padding:10px 12px}.ferry-choice h5{margin:6px 0 2px;font-family:Space Grotesk,sans-serif}.ferry-art{border-radius:10px;width:100%;height:auto;display:block}.ferry-boat{transform-box:fill-box;animation:3s ease-in-out infinite ferry-bob}@keyframes ferry-bob{50%{transform:translateY(2px)rotate(-.6deg)}}.port-scene{margin:8px 0}.port-scene svg{border-radius:12px;width:100%;height:auto;display:block}.port-ship{animation:26s linear infinite ship-pass}@keyframes ship-pass{0%{transform:translate(420px)}to{transform:translate(-160px)}}.crane-trolley{animation:6s ease-in-out infinite alternate trolley}@keyframes trolley{0%{transform:translate(-14px)}to{transform:translate(40px)}}.export-cert{margin:10px 0}.cert-border{text-align:center;color:#3a2d16;background:repeating-linear-gradient(45deg,#fbf5e1 0 12px,#f7efd4 12px 24px);border:3px double #b08a2e;border-radius:10px;padding:14px 16px 16px;position:relative;box-shadow:0 2px 10px #503c0a2e}.cert-crest{font-size:28px;line-height:1}.cert-agency{letter-spacing:.04em;text-transform:uppercase;color:#1f4e8c;font-size:11px;font-weight:700;display:block}.cert-border h4{letter-spacing:.08em;text-transform:uppercase;color:#7a5a10;margin:4px 0 0;font-family:Space Grotesk,serif;font-size:20px}.cert-sub{color:#6b5a30;margin-bottom:8px;display:block}.cert-fields{text-align:left;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:4px 14px;margin:0;font-size:13px;display:grid}.cert-fields div{border-bottom:1px dotted #c9b27a;gap:6px;padding:2px 0;display:flex}.cert-fields dt{color:#7a6a40;min-width:66px}.cert-fields dd{margin:0;font-weight:600}.cert-stamps{justify-content:center;align-items:center;gap:18px;margin-top:10px;display:flex}.cert-stamp{opacity:.88;mix-blend-mode:multiply;width:96px;height:96px}.cert-stamp.official{animation:.55s cubic-bezier(.2,1.6,.4,1) both stamp-in;transform:rotate(-12deg)}.cert-stamp.brand{color:#a3341f;border:3px solid #a3341f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.55s cubic-bezier(.2,1.6,.4,1) .35s both stamp-in;display:flex;transform:rotate(9deg)}.cert-emblem{font-size:32px;line-height:1}.cert-stamp.brand small{text-align:center;max-width:76px;font-size:9px;font-weight:700;line-height:1.1}@keyframes stamp-in{0%{opacity:0;transform:scale(2.4)rotate(-30deg)}}[data-motion=reduce] .port-ship,[data-motion=reduce] .crane-trolley,[data-motion=reduce] .ferry-boat,[data-motion=reduce] .cert-stamp{animation:none}
