body:not(.dark){--bg:#faf5eb;--panel:#fffdf8;--panel2:#f6efdf;--text:#30291f;--muted:#746855;--line:#e7dbc6;--blue:#28765b;--blue2:#e3f1e8;--shadow:0 8px 24px #6348230a;background:radial-gradient(ellipse at 90% 0,#f5e5cd,transparent 55%),var(--bg)}
.sidebar{background:var(--panel)}.sidebar nav button,.nav-link{min-height:48px;font-size:13px;border-radius:14px;margin:3px 0}.sidebar nav button.active{box-shadow:inset 3px 0 var(--blue);background:var(--blue2)}.sidebar h4{font-size:11px;line-height:1.5}
#content{max-width:1600px;margin:auto;padding:28px clamp(16px,3vw,48px) 64px}.topbar{background:var(--panel);border-bottom:1px solid var(--line)}.top-actions{flex-wrap:wrap}.panel{border-radius:20px;padding:22px}.panel h3{font-size:17px}.panel p,.section-title p{font-size:14px;line-height:1.65}
.outline,.primary,.theme-btn,.pill-btn{min-height:44px;font-size:13px;border-radius:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.primary:hover{filter:brightness(1.08)}
.game-hero{background:linear-gradient(120deg,#215b47,#387e63);border:1px solid #478c6e;border-radius:24px;padding:28px;box-shadow:0 12px 26px #215b4722}.game-hero h2{font-size:clamp(25px,3vw,36px)}.game-hero p{font-size:14px;color:#e3efe7;line-height:1.65}.coin-box{background:#ffffff18;border-radius:18px}.coin-box span,.coin-box small{font-size:12px;color:#e3efe7}.coin-box strong{font-size:30px;color:#ffe2a0}.game-content-shortcuts button,.unified-nav button{min-height:44px;font-size:13px;border-radius:12px}.unified-banner{border-radius:20px}
.help-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:24px;background:var(--panel);margin-bottom:24px}.help-hero h2{font-size:clamp(27px,3vw,40px);line-height:1.16;letter-spacing:-.035em;margin:12px 0}.help-hero p{color:var(--muted);font-size:15px;line-height:1.7;max-width:600px;margin:0 0 22px}.help-hero .primary{padding:13px 22px}.help-art{display:grid;place-items:center;width:150px;aspect-ratio:1;border-radius:40px;background:var(--blue2);font-size:72px;transform:rotate(-5deg);border:1px solid var(--line)}
.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.help-card{display:flex;flex-direction:column;gap:12px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.help-icon{display:grid;place-items:center;width:54px;height:54px;font-size:28px;border-radius:16px;background:var(--panel2)}.help-card h3{font-size:19px;margin:6px 0 0}.help-card p{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 10px;flex:1}.help-card button{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%}.help-caption{margin:20px 0;color:var(--muted);font-size:13px;line-height:1.7}
@media(max-width:760px){.help-grid{grid-template-columns:1fr}.help-hero{grid-template-columns:1fr}.help-art{display:none}.help-card{padding:22px}.game-hero{padding:22px}.top-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* One bounded workspace, one visible operation panel. */
#compact-game{height:clamp(480px,78dvh,900px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow)}
#compact-game>.game-hero{flex-shrink:0;border-radius:0;border:0;padding:16px 22px;box-shadow:none}#compact-game>.game-hero h2{font-size:23px;margin:4px 0}#compact-game>.game-hero p{margin:5px 0;font-size:12px}#compact-game .coin-box{padding:10px;min-width:140px}#compact-game .coin-box strong{font-size:22px}
.compact-tools{display:flex;flex-wrap:wrap;gap:7px;padding:14px;border-bottom:1px solid var(--line);max-height:180px;overflow:auto;flex-shrink:0;background:var(--panel2)}.compact-tools button{min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font-size:13px;font-weight:700}.compact-tools button[aria-expanded=true]{background:var(--blue);color:white;border-color:var(--blue)}
.compact-stage{flex:1;min-height:0;overflow:auto;padding:18px;overscroll-behavior:contain;scrollbar-gutter:stable}.compact-panel[hidden],.compact-empty[hidden]{display:none!important}.compact-panel{min-width:0}.compact-panel>.panel{margin:0!important}.compact-empty{text-align:center;color:var(--muted);padding:40px 12px}.compact-panel .lesson-strip{margin-top:0}.compact-panel ol{line-height:1.8}
@media(max-width:620px){#compact-game{height:78dvh;min-height:440px;border-radius:16px}#compact-game>.game-hero{flex-direction:row;align-items:center;padding:12px;gap:12px}#compact-game>.game-hero h2{font-size:17px}#compact-game>.game-hero p,#compact-game .coin-box small,#compact-game .reward-point-line{display:none}#compact-game .coin-box{min-width:105px}.compact-tools{max-height:150px;padding:10px}.compact-tools button{font-size:12px;padding:8px 10px}.compact-stage{padding:12px}}
/* Visible artwork and compact icon controls. */
#compact-game>.visual-game-hero{position:relative;isolation:isolate;min-height:172px;padding:18px 22px 18px 132px;align-items:center;overflow:hidden}
.visual-game-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1e594bed 0%,#245f4be8 52%,#245f4b65 100%),var(--workshop-scene) right center/auto 100% no-repeat}
.hero-character{position:absolute;left:16px;bottom:0;width:105px;height:164px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 5px 6px #0003)}
.game-player{display:flex;align-items:center;gap:10px;margin-bottom:10px}.game-player-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:2px solid #ffe2a0;border-radius:50%;background:#fff4d7;color:#2e654e;font-size:16px;font-weight:900;box-shadow:0 3px 9px #0002}.game-player strong{display:block;font-size:15px;line-height:1.4;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-player small{display:block;color:#e0ede3;font-size:11px;line-height:1.5}.visual-game-hero .kicker{display:none}#compact-game>.visual-game-hero h2{font-size:20px}.visual-game-hero p{max-width:510px}
.hero-crew{display:flex;align-items:center;margin-top:10px;padding-left:4px}.hero-crew-avatar{width:34px;height:34px;margin-left:-4px;overflow:hidden;border:2px solid #f9e7c8;border-radius:50%;background:#e2eee0;box-shadow:0 2px 5px #0002}.hero-crew-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;transform:scale(2.2);transform-origin:50% 14%}.hero-crew small{margin-left:8px;color:#e8efe5;font-size:11px}
.compact-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:8px;max-height:215px;padding:12px}.compact-tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:74px;padding:8px 6px;font-size:12px;line-height:1.25;text-align:center;position:relative;border-radius:14px}.compact-tool-icon{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 2px #0001)}.compact-tools button[aria-expanded=true]{box-shadow:0 4px 10px #28765b33}.compact-tools button[aria-expanded=true]:after{content:'';width:5px;height:5px;background:#ffe2a0;border-radius:50%;position:absolute;right:7px;top:7px}
.compact-panel .lesson-strip .lesson{min-height:46px;font-size:12px}.compact-panel .lesson-detail-head p{font-size:12px}.compact-panel .lesson-detail-grid{font-size:12px}
@media(max-width:620px){#compact-game>.visual-game-hero{min-height:156px;padding:12px 12px 12px 90px;gap:8px}.hero-character{left:7px;width:77px;height:140px}#compact-game>.visual-game-hero h2{font-size:15px}.game-player{gap:7px;margin-bottom:8px}.game-player-avatar{width:34px;height:34px;flex-basis:34px;font-size:13px}.game-player strong{font-size:13px;max-width:145px}.game-player small{font-size:10px}.hero-crew small{display:none}.hero-crew-avatar{width:28px;height:28px}#compact-game .coin-box{min-width:90px;padding:8px}#compact-game .coin-box strong{font-size:19px}.compact-tools{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));max-height:174px;gap:6px;padding:8px}.compact-tools button{min-height:70px;font-size:11px}.compact-tool-icon{width:28px;height:28px}}
.compact-quick{display:flex;gap:14px;align-items:center;padding:10px 14px;flex-shrink:0;background:var(--panel2);border-bottom:1px solid var(--line)}.compact-quick button{min-height:44px;padding:8px 16px;background:var(--blue);color:white;border:0;border-radius:12px;font-weight:800}.compact-current{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-more{flex-shrink:0;border-bottom:1px solid var(--line)}.compact-more>summary{cursor:pointer;font-size:12px;padding:10px 16px;color:var(--muted)}.compact-more>summary:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.compact-more:not([open])>.compact-tools{display:none}
.start-dashboard h3{font-size:20px;margin:8px 0}.start-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.start-heading p,.start-note{font-size:13px;line-height:1.65;color:var(--muted)}.start-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.start-tabs button{min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font-weight:700}.start-tabs button[aria-pressed=true]{background:var(--blue);color:white}.start-task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start-task{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:14px;display:flex;flex-direction:column;gap:10px}.start-task .mission{border:0;box-shadow:none;padding:0;flex:1;background:none}.start-task .mission>b{font-size:14px}.start-task .mission p,.start-task .mission small{font-size:12px}.start-task>.outline{margin-top:auto}.start-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.start-phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start-phase-grid p,.start-event-grid p{font-size:13px;line-height:1.65}.start-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.start-level{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px}.start-level.current{border-color:var(--blue);background:var(--blue2)}.start-level summary{cursor:pointer;font-weight:700;font-size:13px;min-height:32px}.start-level p,.start-level small{font-size:12px;line-height:1.6}.start-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}[data-start-pane][hidden]{display:none!important}
@media(max-width:760px){.start-task-grid,.start-phase-grid{grid-template-columns:1fr}.start-level-grid{grid-template-columns:1fr 1fr}.start-heading{align-items:flex-start;flex-direction:column}.start-event-grid{grid-template-columns:1fr}.compact-current{max-width:180px}.start-tabs button{flex:1;white-space:nowrap;font-size:12px}}

.game-data-tools{margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.game-data-tools>summary{cursor:pointer;padding:11px 15px;font-size:13px;font-weight:700;min-height:44px}.game-data-tools>summary span{font-size:11px;color:var(--muted);font-weight:400;margin-left:12px}.game-data-tools>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.game-data-tools>.unified-banner{margin:0;border:0;box-shadow:none}.game-data-tools:not([open])>.unified-banner{display:none}

/* Fit the available viewport; scroll only inside the operation panel. */
html.compact-mode,html.compact-mode body{height:100%;min-height:0;overflow:hidden}html.compact-mode .app-shell{height:100dvh;min-height:0}html.compact-mode .main{height:100%;min-height:0;display:flex;flex-direction:column}html.compact-mode .topbar{flex-shrink:0}html.compact-mode #content{flex:1;min-height:0;width:100%;max-width:none;display:flex;flex-direction:column;overflow:hidden;padding:14px 20px!important;margin:0}html.compact-mode #content>.unified-banner,html.compact-mode #content>.game-data-tools{flex-shrink:0}html.compact-mode #compact-game{flex:1;min-height:0;height:auto;max-height:none;width:100%;margin:0}.compact-quick[hidden]{display:none!important}.compact-more[hidden]{display:none!important}
@media(max-width:620px){html.compact-mode #content{padding:8px!important}html.compact-mode #compact-game{min-height:0;height:auto}}

.game-section-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 4px 16px #63482308}.game-section-tabs button{min-height:42px;padding:9px 13px;border:1px solid transparent;border-radius:10px;background:var(--panel2);color:var(--text);font-size:12px;font-weight:700}.game-section-tabs button[aria-current=page]{background:var(--blue);color:white}.game-section-tabs .game-section-home{background:var(--blue2);color:var(--blue)}.game-section-tabs button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.game-help-compact{max-width:900px;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:var(--shadow)}.game-help-compact h2{font-size:25px;margin:10px 0}.game-help-compact p{font-size:13px;color:var(--muted);line-height:1.7}.game-help-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.start-followup{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}.start-followup>summary{cursor:pointer;font-size:12px;color:var(--muted);padding:8px 0;min-height:36px}html.embed-game:not(.compact-mode),html.embed-game:not(.compact-mode) body{min-height:100dvh;background:var(--bg)}
@media(max-width:620px){.game-section-tabs{gap:5px;padding:8px}.game-section-tabs button{font-size:11px;padding:8px 10px}.game-help-compact{padding:18px}.game-help-actions button{width:100%}}
/* Compact finance: essentials first, details on request. */
.game-section-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;box-shadow:none;padding:8px;margin-bottom:12px}.game-section-tabs button{white-space:nowrap;flex-shrink:0;font-size:12px;padding:8px 11px}.fc-heading{margin:14px 0!important;gap:16px!important}.fc-heading h2{font-size:clamp(22px,2.3vw,29px)!important;line-height:1.25!important;margin:5px 0!important}.fc-heading .fc-eyebrow{font-size:10px!important}.fc-heading .fc-source{padding:9px 12px!important}.fc-toolbar{margin:12px 0!important;gap:8px!important}.fc-kpis{gap:10px!important;margin:14px 0!important}.fc-kpis>div{min-height:0!important;padding:15px!important}.fc-kpis strong{font-size:26px!important}.fc-kpis small{font-size:11px!important;line-height:1.5!important}.finance-fold{margin:10px 0;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:0 14px}.finance-fold>summary{min-height:44px;padding:13px 0;font-size:13px;font-weight:700;cursor:pointer;color:var(--text)}.finance-fold>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.finance-fold[open]{padding-bottom:14px}.finance-fold>.fc-panel,.finance-fold>.ic-top{margin:0!important;border:0!important;box-shadow:none!important}.finance-fold>p,.finance-fold .fc-explain,.finance-fold .fc-filter-note,.finance-fold .fc-foot{font-size:12px!important;line-height:1.65!important}.fc-unready{max-width:1000px}.fc-unready .fc-setup{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.fc-unready .fc-setup p{font-size:13px;line-height:1.65;max-width:560px}.fc-setup-actions{display:flex;flex-wrap:wrap;gap:8px}.fc-setup-actions button{min-height:44px}.fc-unready .finance-fold .ic-top{padding:12px 0}.fc-unready .fc-heading p{font-size:14px;color:var(--muted)}
@media(max-width:620px){.fc-unready .fc-setup{flex-direction:column;align-items:stretch;padding:16px}.fc-setup-actions button{flex:1}.fc-kpis{grid-template-columns:1fr 1fr!important}.finance-fold{padding:0 12px}.fc-heading h2{font-size:23px!important}}
.fc-kpis>.fc-metric{min-height:0!important;padding:15px!important}.fc-kpis>.fc-metric>span{font-size:12px!important;line-height:1.4!important}.fc-kpis>.fc-metric>strong{margin:9px 0!important}

/* Player progression and factual achievements. */
.game-player-content{min-width:0;flex:1}.player-progression{max-width:630px;margin:9px 0}.player-rank,.player-xp-label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.player-rank strong{font-size:16px}.player-title{display:inline-flex;align-items:center;gap:5px;background:#ffffff18;border-radius:20px;padding:3px 9px;font-size:11px}.player-rank-icon{width:30px!important;height:30px!important}.player-title-icon,.player-xp-icon,.hero-money-icon{width:22px!important;height:22px!important;object-fit:contain;vertical-align:middle}.player-xp-label{justify-content:space-between;font-size:12px;margin:7px 0;color:#fff3cd}.player-xp-label>span{display:flex;gap:6px;align-items:center}.player-xp-track{height:9px;background:#ffffff25;border-radius:12px;overflow:hidden}.player-xp-track i{height:100%;display:block;background:linear-gradient(90deg,#78e8bd,#ffe29c);border-radius:inherit}.game-player-avatar{position:relative}.game-player-avatar[data-level]:after{content:'Lv ' attr(data-level);position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;border-radius:8px;background:#ffe29c;color:#185644;padding:2px 5px}.game-player-avatar[data-level=""]:after{display:none}.achievement-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.achievement-kpis article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.achievement-kpis span{font-size:12px;color:var(--muted)}.achievement-kpis b{display:block;font-size:22px;margin-top:8px}.achievement-kpis article:last-child b{font-size:14px}.achievement-chart{margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.achievement-chart figcaption{font-size:13px;font-weight:700}.achievement-chart svg{display:block;width:100%;max-width:620px;height:180px;margin:10px auto}.achievement-chart text{fill:var(--text);font-size:11px}.achievement-chart p{font-size:11px;color:var(--muted);line-height:1.6}.achievement-ranks,.achievement-titles{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:0 14px}.achievement-ranks summary,.achievement-titles summary{padding:14px 0;cursor:pointer;font-weight:700;font-size:13px}.achievement-rank-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-bottom:14px}.achievement-rank-grid article{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;border-radius:12px;padding:12px;background:var(--panel2)}.achievement-rank-grid .locked{opacity:.65}.achievement-rank-icon{width:48px!important;height:48px!important;object-fit:contain}.achievement-rank-grid span{font-size:12px}.achievement-rank-grid small{font-size:10px;color:var(--muted)}.achievement-title-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement-title-list article{display:flex;gap:10px;align-items:center;padding:10px;background:var(--panel2);border-radius:10px}.achievement-title-icon{width:36px!important;height:36px!important}.achievement-title-list small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.achievement-titles>button{margin:12px 0;min-height:44px}@media(max-width:680px){.achievement-kpis,.achievement-rank-grid,.achievement-title-list{grid-template-columns:repeat(2,minmax(0,1fr))}.player-xp-label{gap:5px}.player-rank strong{font-size:13px}.player-title{font-size:10px}.achievement-chart svg{height:150px}}

.board-periods{display:flex;gap:8px;margin:12px 0}.board-periods button{min-height:42px}.board-calendar,.board-levels{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:12px 0}.board-calendar button,.board-levels button,.board-events button{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);min-height:64px;padding:10px 5px}.board-calendar button[hidden]{display:none!important}.board-calendar small,.board-levels small,.board-events small{font-size:10px;color:var(--muted)}.board-calendar [aria-pressed=true],.board-levels [aria-pressed=true],.board-events [aria-pressed=true],.board-periods [aria-pressed=true]{outline:2px solid #28765b;outline-offset:1px;background:var(--blue2)}.board-calendar .current,.board-levels .current,.board-levels .done{border-color:#28765b}.board-levels .locked{background:var(--panel2)}.board-detail{padding:16px;margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.board-detail h3{margin:0 0 10px}.board-task{max-width:760px;padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:12px}.board-task h4{margin:0 0 10px}.board-task p{font-size:12px;line-height:1.6;color:var(--muted)}.board-task button{min-height:44px}.board-task button:disabled{opacity:.65;cursor:not-allowed}.board-events{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0}.board-event-icon{width:30px!important;height:30px!important}.board-events b{font-size:12px}.board-active{font-size:12px;color:var(--blue)}@media(max-width:680px){.board-calendar,.board-levels{grid-template-columns:repeat(5,minmax(0,1fr))}.board-events{grid-template-columns:repeat(3,minmax(0,1fr))}.board-periods{flex-wrap:wrap}.board-detail{padding:12px}}

/* One customer order, one visible operation step. */
.workshop-desk{max-width:1500px;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:18px}.workshop-desk>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.workshop-desk h2{font-size:24px;margin:7px 0}.workshop-desk header p{font-size:12px;color:var(--muted)}.workshop-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px;max-height:calc(100dvh - 210px);min-height:440px}.workshop-layout>aside{overflow:auto;padding:10px;border-radius:12px;background:var(--panel2)}.workshop-layout>aside h3{font-size:13px;margin:10px 0}.workshop-layout>aside button{display:block;width:100%;text-align:left;margin:7px 0;padding:12px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px}.workshop-layout>aside button[aria-pressed=true]{border-color:#28765b;background:var(--blue2)}.workshop-desk small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.workshop-main{overflow:auto;min-width:0;padding-right:6px}.workshop-order-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.workshop-order-title h3{font-size:18px;margin:8px 0}.workshop-order-title>b{font-size:12px;color:var(--blue)}.workshop-main>nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.workshop-main>nav button{min-height:42px;padding:8px 10px;font-size:12px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:9px}.workshop-main>nav [aria-pressed=true]{background:#28765b;color:white}.workshop-step{padding:16px;border:1px solid var(--line);border-radius:13px}.workshop-step h3{font-size:16px;margin:6px 0 12px}.workshop-step p{font-size:13px;line-height:1.65}.workshop-step button,.workshop-purchases button{min-height:42px}.workshop-step button:disabled{opacity:.6;cursor:not-allowed}.workshop-step form{display:grid;gap:10px;max-width:650px}.workshop-step label{display:block;font-size:13px}.workshop-step textarea,.workshop-step input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}.workshop-chat{max-width:700px;background:var(--panel2);padding:12px;border-radius:12px;margin-bottom:12px}.workshop-reply{background:var(--blue2);border-radius:8px;padding:10px}.workshop-materials{display:flex;gap:10px;flex-wrap:wrap}.workshop-materials article{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:10px}.workshop-materials span{font-size:12px}.workshop-machines{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.workshop-machines label{padding:12px;border:1px solid var(--line);border-radius:10px}.workshop-buy,.workshop-main>details{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.workshop-buy>summary,.workshop-main>details>summary{cursor:pointer;min-height:40px;font-size:13px;font-weight:700}.workshop-purchases article{border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0}.workshop-purchases article>div,.workshop-documents,.workshop-actions{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.workshop-purchases button,.workshop-documents button{font-size:12px;padding:8px 10px}.workshop-buy .machine-market-panel h2{font-size:18px}.workshop-buy .machine-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#workshop-purchase-dialog{max-width:800px;width:90vw;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text)}#workshop-purchase-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:10px}@media(max-width:800px){.workshop-layout{grid-template-columns:1fr;max-height:none;min-height:0}.workshop-layout>aside{display:flex;overflow-x:auto;gap:8px}.workshop-layout>aside h3{display:none}.workshop-layout>aside button{min-width:190px;max-width:210px;flex-shrink:0}.workshop-main{overflow:visible}.workshop-desk{padding:12px}.workshop-desk>header{align-items:flex-start}.workshop-buy .machine-market-grid{grid-template-columns:1fr!important}}

.workshop-advanced{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.workshop-advanced>summary{cursor:pointer;min-height:40px;font-size:12px;color:var(--muted)}

/* Human context and readable workshop depth. */
.workshop-brief{display:grid;grid-template-columns:125px minmax(0,1fr) 170px;gap:16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,var(--panel2),var(--panel));box-shadow:0 8px 22px #6147260a}.workshop-product{display:flex;flex-direction:column;justify-content:center;gap:6px;text-align:center}.workshop-product>img{width:100%;height:115px;object-fit:contain;border-radius:12px;background:var(--panel)}.workshop-product>span{font-size:9px;color:var(--muted)}.workshop-client{min-width:0}.workshop-client-head{display:flex;align-items:center;gap:10px}.workshop-client-head b{font-size:16px}.workshop-customer-avatar{display:grid;place-items:center;flex-shrink:0;width:45px;height:45px;border-radius:16px;background:#ead6a7;color:#385b4e;font-weight:800;font-size:16px;box-shadow:inset 0 0 0 3px #fff6}.workshop-traits{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.workshop-traits>span{padding:4px 8px;border-radius:20px;font-size:10px;background:var(--blue2);color:var(--blue)}.workshop-facts{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;align-items:center;margin:10px 0}.workshop-facts>span{display:flex;align-items:center;gap:4px}.workshop-fact-icon{width:22px!important;height:22px!important;object-fit:contain}.workshop-time-track{height:7px;background:#b2baac35;border-radius:8px;overflow:hidden}.workshop-time-track i{display:block;height:100%;background:linear-gradient(90deg,#28765b,#72c995);border-radius:inherit}.workshop-mini-floor{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px;border-radius:12px;background:var(--panel)}.workshop-mini-floor>img{width:100%;height:95px;object-fit:contain}.workshop-machine-state{font-size:10px;font-weight:700;border-radius:15px;padding:4px 7px;background:var(--blue2);color:var(--blue)}.workshop-spools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.workshop-spools span{display:flex;align-items:center;gap:3px;font-size:9px}.workshop-spool{width:22px!important;height:22px!important}.workshop-mini-floor>small{font-size:9px!important;text-align:center}.workshop-mini-floor.is-running .workshop-machine-state{animation:workshop-status-glow 2.4s ease-in-out infinite}@keyframes workshop-status-glow{50%{box-shadow:0 0 0 4px #4eb79022}}.workshop-estimate{margin:8px 0 12px;padding:0 10px;border:1px solid var(--line);border-radius:10px}.workshop-estimate summary{cursor:pointer;font-size:11px;padding:10px 0}.workshop-estimate>div{display:flex;gap:15px;flex-wrap:wrap;font-size:11px}.workshop-estimate b{display:block;margin-top:5px}.workshop-estimate p{font-size:10px;color:var(--muted)}.workshop-guide{display:flex;align-items:center;gap:10px;margin:10px 0;padding:8px 12px;border-radius:12px;background:var(--panel2);border-left:3px solid #c5a160}.workshop-guide>div{width:42px;flex-shrink:0;height:46px;overflow:hidden;border-radius:10px}.workshop-guide img{width:100%;height:100%;object-fit:contain}.workshop-guide p{margin:0;flex:1;font-size:12px;color:var(--muted);line-height:1.6}.workshop-guide b{display:block;color:var(--text);font-size:11px}.workshop-guide>button{font-size:11px;padding:8px}.workshop-reply-drafts{display:flex;gap:5px;flex-wrap:wrap}.workshop-reply-drafts>span{width:100%;font-size:10px;color:var(--muted)}.workshop-reply-drafts button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:20px;min-height:34px;font-size:11px;padding:7px 10px}.workshop-chat>p:first-child{margin-top:4px}.workshop-chat .workshop-customer-priority{font-size:11px;color:var(--blue);border-top:1px dashed var(--line);padding-top:8px}.workshop-step{box-shadow:0 5px 16px #49321908}.workshop-layout>aside button{transition:background .15s,border-color .15s,transform .15s}.workshop-layout>aside button:hover{transform:translateY(-1px);border-color:#b6a489}@media(max-width:1000px){.workshop-brief{grid-template-columns:90px minmax(0,1fr)}.workshop-mini-floor{display:none}.workshop-product>img{height:90px}.workshop-guide{flex-wrap:wrap}}@media(max-width:520px){.workshop-brief{padding:10px;gap:10px;grid-template-columns:65px minmax(0,1fr)}.workshop-product>img{height:75px}.workshop-client-head b{font-size:13px}.workshop-customer-avatar{width:34px;height:34px;font-size:12px}.workshop-facts{gap:6px}.workshop-guide>div{display:none}}@media(prefers-reduced-motion:reduce){.workshop-mini-floor.is-running .workshop-machine-state{animation:none}.workshop-layout>aside button{transition:none}}

.workforce-head h2{font-size:22px!important}.workforce-head p{font-size:13px!important;line-height:1.6!important}.workforce-tabs button{font-size:13px!important;min-height:44px!important}.workforce-stats span{font-size:11px!important}.worker-card small{font-size:12px!important;line-height:1.6!important}.worker-card h4{font-size:17px!important}.worker-card b{font-size:13px!important}.workforce-guide{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px;margin:12px 0;background:var(--panel2);border-radius:12px;font-size:13px}.workforce-guide span{flex:1;min-width:220px;color:var(--muted);line-height:1.6}.clear-situations{max-width:1000px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.clear-situations>article{padding:14px;margin:10px 0;border:1px solid var(--line);border-radius:12px}.clear-situations p{font-size:13px;line-height:1.65}.clear-situations details{margin:16px 0}.clear-situations summary{cursor:pointer;padding:10px 0;font-size:13px}

/* Colorful controls and tactile feedback, without gameplay mutations. */
.vivid-game button{position:relative;isolation:isolate;transition:transform .14s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.vivid-game button:focus-visible{outline:3px solid #408abf;outline-offset:3px}.vivid-game button:active:not(:disabled){transform:translateY(1px) scale(.98)}.vivid-game .primary{background:linear-gradient(135deg,#2563eb,#5147df);box-shadow:0 4px 0 #253dac,0 8px 18px #385bde24}.vivid-game .primary:hover:not(:disabled){box-shadow:0 5px 0 #253dac,0 12px 22px #385bde32}.vivid-game .game-action-visual{border-radius:11px;border:1px solid #cdbf9d;box-shadow:0 3px 0 #cdbf9d55;min-height:42px}.vivid-game [data-visual-tone=green]{background:linear-gradient(135deg,#238063,#1b6650);color:#fff;border-color:#176048;box-shadow:0 3px 0 #114d3d}.vivid-game [data-visual-tone=teal]{background:linear-gradient(135deg,#e1f7f2,#c7eee3);color:#165d50;border-color:#7ac5b3;box-shadow:0 3px 0 #81b9aa}.vivid-game [data-visual-tone=gold]{background:linear-gradient(135deg,#ffe8a4,#ffce62);color:#543a10;border-color:#d4a247;box-shadow:0 3px 0 #c0913d}.vivid-game [data-visual-tone=purple]{background:linear-gradient(135deg,#eee2ff,#ded0f5);color:#573780;border-color:#b5a1d0;box-shadow:0 3px 0 #ac93ca}.vivid-game [data-visual-tone=blue]{background:linear-gradient(135deg,#e3f0ff,#caddfb);color:#224a7e;border-color:#92b2df;box-shadow:0 3px 0 #8eaad0}.vivid-game [data-visual-tone=sand]{background:linear-gradient(135deg,#fffaf0,#f4e8d0);color:#624c29;border-color:#d8c6a2;box-shadow:0 3px 0 #c9b895}.vivid-game [data-visual-tone=amber]{background:#fff1df;color:#885424;border-color:#e0b887;box-shadow:0 3px 0 #d1ad7b}.vivid-game .game-action-visual img,.vivid-game .game-section-tabs img,.vivid-game .workshop-main>nav img{width:23px!important;height:23px!important;object-fit:contain;vertical-align:middle;margin-right:5px}.vivid-game .workshop-main>nav [aria-pressed=true],.vivid-game .game-section-tabs [aria-current=page]{background:linear-gradient(135deg,#277e62,#195c49);color:white;border-color:#175b47;box-shadow:0 3px 0 #124a3b}.vivid-game button:disabled{opacity:.55;filter:saturate(.35);box-shadow:none!important;cursor:not-allowed;transform:none!important}.game-press-wave{pointer-events:none;position:absolute;z-index:5;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:#fff9;animation:game-press .45s ease-out forwards}@keyframes game-press{to{transform:scale(3);opacity:0}}.vivid-game .game-section-tabs,.vivid-game .workshop-main>nav{padding-bottom:6px}.vivid-game .machine-visual-card{border:1px solid #dcc9a6;background:linear-gradient(145deg,var(--panel),var(--panel2));box-shadow:0 8px 20px #6249230b;overflow:hidden}.machine-illustration{margin:0 0 12px;background:radial-gradient(ellipse at 50% 70%,#dceee599,transparent 75%);border-radius:14px;text-align:center}.machine-illustration .art72-thumb{display:block!important;width:100%!important;max-width:none!important;height:140px!important;padding:5px!important;border:0!important;background:transparent!important;box-shadow:none!important}.machine-illustration img{width:100%!important;height:100%!important;object-fit:contain!important}.machine-illustration figcaption{font-size:10px;color:var(--muted);padding:3px 0 7px}.machine-visual-card h3{font-size:19px}.machine-visual-card p{font-size:13px;line-height:1.65}.market-machine-card .machine-illustration .art72-thumb{height:120px!important}.stock-material-icon{width:42px!important;height:42px!important;object-fit:contain}.vivid-game .stock-card{background:linear-gradient(130deg,var(--panel),var(--panel2));border-radius:14px}.vivid-game .worker-train{padding:9px 12px}.vivid-game .game-action-visual:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.025)}@media(hover:none){.vivid-game .game-action-visual:hover:not(:disabled){transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.vivid-game button{transition:none!important;transform:none!important}.game-press-wave{display:none;animation:none}.vivid-game .game-action-visual:hover:not(:disabled){transform:none}}

/* Mobile hero: avoid compressed player text and overlapping Coin. */
@media(max-width:620px){
 #compact-game>.game-hero,
 #compact-game>.visual-game-hero{
  display:flex;flex-direction:column;align-items:stretch;
  padding:16px;gap:12px;min-height:0;height:auto;
 }
 #compact-game>.visual-game-hero .hero-character{display:none}
 #compact-game .game-player-content{width:100%;min-width:0;flex:none}
 #compact-game .game-player{width:100%;min-width:0;gap:10px;margin-bottom:10px}
 #compact-game .game-player>div{min-width:0;flex:1}
 #compact-game .game-player strong{max-width:none;white-space:normal;overflow-wrap:anywhere;font-size:15px}
 #compact-game .game-player small{font-size:11px;line-height:1.5}
 #compact-game .player-progression{width:100%;max-width:none;margin:8px 0 0}
 #compact-game .player-rank{width:100%;gap:7px;align-items:center}
 #compact-game .player-rank strong{font-size:14px;line-height:1.5;word-break:normal}
 #compact-game .player-xp-label{justify-content:space-between;gap:6px 12px;line-height:1.5;font-size:12px}
 #compact-game .player-xp-label>span,
 #compact-game .player-xp-label>b{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:normal}
 #compact-game .player-xp-track{width:100%;margin-top:8px}
 #compact-game .coin-box{width:100%;min-width:0;flex:none;padding:12px 14px;margin:0;text-align:left;position:static}
 #compact-game .coin-box>span{display:flex;align-items:center;gap:6px}
 #compact-game .coin-box strong{font-size:27px;line-height:1.2;display:block;margin:5px 0}
 #compact-game .coin-box small{display:block;font-size:10px;line-height:1.5}
 #compact-game .reward-point-line{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin-top:7px}
}

/* Remaining workshop pages share imagery, readable cards and controls. */
.workshop-section-heading{position:relative;align-items:center;gap:16px}.workshop-section-art{display:flex;justify-content:center;align-items:center;flex:0 0 76px;width:76px;height:76px;border-radius:22px;background:linear-gradient(140deg,#e0f3eb,#f9eacb);border:1px solid #ddcfb1;box-shadow:0 5px 0 #dbcbaa44}.workshop-section-art>img,.workshop-section-symbol{width:48px!important;height:48px!important;object-fit:contain}.workshop-section-employees .worker-card{position:relative;padding:18px!important;border-radius:17px!important;background:linear-gradient(145deg,var(--panel),var(--panel2));box-shadow:0 6px 16px #5e44290b;border-top:4px solid #8ca9ba}.workshop-section-employees .worker-card[data-worker-status=ready]{border-top-color:#2b956f}.workshop-section-employees .worker-card[data-worker-status=locked]{border-top-color:#c5bca9}.workshop-section-employees .worker-avatar{width:90px!important;height:105px!important;flex-shrink:0;background:linear-gradient(150deg,#e3f2ec,#f8edd7);border-radius:15px;overflow:hidden}.workshop-section-employees .worker-avatar .art72-thumb{width:100%!important;height:100%!important;background:none!important;border:0!important}.workshop-section-employees .worker-avatar img{width:100%!important;height:100%!important;object-fit:contain!important}.workshop-section-employees .worker-card h4{font-size:19px;margin:5px 0}.workshop-section-employees .worker-card small{font-size:12px;line-height:1.6}.worker-lock-label{display:block;font-size:11px;color:var(--muted);padding:8px 0}.workshop-section-maintenance .table-wrap{border-radius:13px;overflow:auto}.workshop-section-maintenance thead th{background:var(--panel2);padding:13px;font-size:12px}.workshop-section-maintenance tbody td{padding:14px;font-size:13px;line-height:1.5}.workshop-section-maintenance tbody tr:nth-child(even){background:var(--panel2)}.workshop-section-maintenance .notice{border-radius:12px;font-size:13px;line-height:1.65}.workshop-section-risk .incident-card{border-radius:13px!important;padding:13px!important;min-height:80px!important;background:var(--panel)}.workshop-section-risk .incident-card b{font-size:14px!important}.workshop-section-risk .incident-card small{font-size:11px!important;line-height:1.6}.workshop-section-risk .incident-card.active{border:2px solid #ce9a4e!important;background:var(--panel2)!important}.workshop-section-risk .risk-detail-grid>div{border-radius:13px;padding:14px;border:1px solid var(--line);background:var(--panel)}.risk-explain-icon{display:block;margin-bottom:8px}.risk-explain-icon .workshop-section-symbol{width:30px!important;height:30px!important}.workshop-section-risk .risk-detail-grid p{font-size:13px;line-height:1.75}.workshop-section-risk .risk-filter-row{gap:6px;flex-wrap:wrap}.workshop-section-risk .risk-filter-row button{min-height:40px;border-radius:10px}.workshop-section-customers .ic-contact-list button{position:relative;min-height:65px;border-radius:12px;padding:12px 12px 12px 58px!important;margin-bottom:7px;border:1px solid var(--line);background:var(--panel)}.contact-initial-avatar{position:absolute;left:10px;top:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#d7eee5,#e7ddb9);color:#315e4e;font-size:13px;font-weight:800}.workshop-section-customers .ic-contact-list button.active{background:var(--blue2);border-color:#348f72}.workshop-section-customers .ic-chat-room{border-radius:17px}.workshop-section-customers .ic-chat-room>header{position:relative;padding-left:58px;min-height:50px;border-bottom:1px solid var(--line);padding-bottom:12px}.contact-room-icon{position:absolute;left:0;top:0}.contact-room-icon img{width:42px!important;height:42px!important}.workshop-section-customers textarea{border-radius:12px}.workshop-section-materials .ml-hero{border:1px solid #d4c5a5;box-shadow:0 7px 22px #5c45230a}.workshop-section-materials .ml-hero .workshop-section-art{flex-shrink:0}.workshop-section-materials .ml-metrics>div{border-radius:14px;background:linear-gradient(140deg,var(--panel),var(--panel2));border:1px solid var(--line)}.workshop-section-materials .material-control{border-radius:10px;min-height:40px}.workshop-section-materials .ml-notice{font-size:12px;line-height:1.7;border-radius:12px}.workshop-section-materials input,.workshop-section-materials select{border-radius:10px}@media(max-width:680px){.workshop-section-art{flex-basis:55px;width:55px;height:55px;border-radius:16px}.workshop-section-art>img{width:36px!important;height:36px!important}.workshop-section-employees .worker-avatar{width:70px!important;height:85px!important}.workshop-section-employees .worker-card{padding:14px!important}.workshop-section-materials .ml-hero .workshop-section-art{display:none}}

/* Phone viewport fit: shrink grid tracks, not the entire page. */
@media(max-width:620px){
 .app-shell{grid-template-columns:minmax(0,1fr)}
 .main,#content,#compact-game,.compact-stage{min-width:0;max-width:100%}
 #content{padding:10px!important}
 #compact-game{width:100%;border-radius:14px}
 #compact-game>.game-hero,#compact-game>.visual-game-hero{padding:12px;gap:9px}
 #compact-game .game-player strong{font-size:14px}
 #compact-game .player-rank strong{font-size:13px}
 #compact-game .player-xp-label{font-size:11px}
 #compact-game .coin-box{padding:10px 12px}
 #compact-game .coin-box strong{font-size:23px}
 .compact-stage{padding:10px}
 .compact-stage>*{min-width:0;max-width:100%}
 .compact-quick{padding:8px 10px;gap:8px;flex-wrap:wrap}
 .compact-current{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .compact-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .compact-tools button{min-width:0;white-space:normal;padding:7px;font-size:11px}
 .start-dashboard{min-width:0;width:100%}
 .start-heading{gap:5px}
 .start-dashboard h3{font-size:17px;line-height:1.4;margin:5px 0}
 .start-heading p,.start-note{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
 .start-tabs{gap:6px;margin:10px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .start-tabs button{min-width:0;white-space:normal;padding:8px;font-size:11px;min-height:42px}
 .start-shortcuts{gap:6px}
 .start-shortcuts button{min-width:0;max-width:100%;white-space:normal}
 .start-task-grid,.start-phase-grid,.start-event-grid,.grid-2,.grid-3,.grid-4,.cards,.map-layout,.map-layout,.mapbox-layout,.finance-grid{grid-template-columns:minmax(0,1fr)}
 .start-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .start-task,.start-level,.panel{min-width:0;padding:12px}
 .start-dashboard article,.start-dashboard details,.start-dashboard section{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .start-dashboard button{max-width:100%}
 .table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .map-layout{grid-template-columns:minmax(0,1fr)}
 .top-actions{min-width:0;flex-wrap:wrap}
 .top-actions button{max-width:100%;white-space:normal}
 .card-actions,.lesson-actions,.workshop-actions{flex-wrap:wrap}
 .card-actions button{min-width:0}
 input,select,textarea{max-width:100%;min-width:0}
 img:not(.ico96-img):not(.art72-thumb img),video,canvas,svg{max-width:100%}
 .lesson-detail-grid,.machine-market-grid,.achievement-kpis{grid-template-columns:minmax(0,1fr)}
}

/* Mobile uses a single document scroll; hero must not reserve task viewport. */
@media(max-width:620px){
 html.compact-mode,html.compact-mode body{height:auto;min-height:100%;overflow:visible}
 html.compact-mode .app-shell{height:auto;min-height:100dvh}
 html.compact-mode .main{height:auto;min-height:0;display:block}
 html.compact-mode #content{display:block;height:auto;overflow:visible;padding:8px!important}
 html.compact-mode #compact-game,
 #compact-game{display:block;height:auto;min-height:0;max-height:none;overflow:visible}
 #compact-game .compact-stage{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;padding:10px}
 #compact-game>.game-hero,
 #compact-game>.visual-game-hero{position:relative;display:block;padding:12px;min-height:0;max-height:none}
 #compact-game .game-player{margin-bottom:6px}
 #compact-game .game-player-avatar{width:30px;height:30px;flex-basis:30px;font-size:12px}
 #compact-game .game-player strong{font-size:13px;line-height:1.4}
 #compact-game .game-player small{font-size:10px}
 #compact-game .player-progression{margin:5px 0 8px}
 #compact-game .player-rank strong{font-size:12px}
 #compact-game .player-rank-icon{width:24px!important;height:24px!important}
 #compact-game .player-title{font-size:10px;padding:2px 6px}
 #compact-game .player-xp-label{font-size:10px;gap:5px}
 #compact-game .player-xp-track{height:6px;margin-top:5px}
 #compact-game .hero-crew{display:none}
 #compact-game .coin-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:8px 10px;border-radius:10px}
 #compact-game .coin-box>span{grid-column:1;grid-row:1;font-size:10px}
 #compact-game .coin-box>strong{grid-column:1;grid-row:2;font-size:21px;line-height:1.2;margin:0}
 #compact-game .coin-box>small{grid-column:1/-1;grid-row:3;font-size:9px;margin:0}
 #compact-game .reward-point-line{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;gap:3px;margin:0;padding:0;border:0;font-size:10px;text-align:right}
 #compact-game .reward-point-line b{font-size:16px}
 #compact-game .compact-tools{max-height:none}
}

/* Workshop visual hierarchy: existing source-bound content and assets. */
.workshop-section-polish .workshop-section-heading:not(.ml-hero){
 padding:24px;border:1px solid var(--line);border-radius:20px;
 background:linear-gradient(120deg,var(--panel),var(--panel2));margin:12px 0 20px;
 box-shadow:0 8px 24px #40584a08;
}
.workshop-section-polish .workshop-section-heading>div:first-child{flex:1;min-width:0}
.workshop-section-polish .workshop-section-heading h2{font-size:clamp(22px,2.2vw,30px);line-height:1.3;margin:7px 0}
.workshop-section-polish .workshop-section-heading p{font-size:13px;line-height:1.6;max-width:780px}
.workshop-section-polish .workshop-section-art{width:96px;height:96px;flex-basis:96px}
.workshop-section-polish .workshop-section-art>img{width:64px!important;height:64px!important}
.workshop-section-polish .metric{border-radius:16px;padding:18px}
.workshop-section-polish .metric strong{font-size:28px}
.maintenance-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;margin-top:18px}
.maintenance-visual-card{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;border:1px solid var(--line);border-top:4px solid #31876b;border-radius:18px;background:var(--panel);padding:18px;align-items:center;box-shadow:0 6px 18px #40584a08}
.maintenance-visual-card .machine-illustration{margin:0}
.maintenance-visual-card .machine-illustration .art72-thumb{height:150px!important}
.maintenance-visual-card figcaption{font-size:9px}
.maintenance-card-info{min-width:0}.maintenance-card-info h3{font-size:17px;margin:6px 0 12px}
.maintenance-card-info dl{margin:0;display:grid;gap:9px}
.maintenance-card-info dl>div{border-top:1px solid var(--line);padding-top:8px}
.maintenance-card-info dt{font-size:11px;color:var(--muted)}.maintenance-card-info dd{font-size:13px;font-weight:700;margin:3px 0 0;overflow-wrap:anywhere}
.maintenance-table-details{margin-top:16px}.maintenance-table-details>summary{padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer;font-size:13px;font-weight:700}
.workshop-section-employees .worker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:16px}
.workshop-section-employees .worker-card{display:grid;grid-template-columns:90px minmax(0,1fr);gap:15px;align-items:start;min-width:0}
.workshop-section-employees .worker-card>div:last-child{min-width:0}
.workshop-section-employees .worker-card h4{font-size:19px}
.workshop-section-employees .worker-card .game-action-visual{width:100%;min-height:44px;font-size:12px!important;padding:9px 10px!important;line-height:1.45;white-space:normal;margin-top:10px}
.workshop-section-employees .worker-card small{overflow-wrap:anywhere}
.workshop-section-employees .worker-card.locked{opacity:.62}
.workshop-section-risk .risk-main-grid{grid-template-columns:minmax(340px,.9fr) minmax(0,1.3fr);gap:18px}
.workshop-section-risk .incident-card b{display:flex;gap:8px;align-items:center;line-height:1.45}
.workshop-section-risk .incident-card b img{width:28px!important;height:28px!important;flex-shrink:0}
.workshop-section-risk .risk-detail-grid{gap:12px}
.workshop-section-risk .risk-detail-grid>div{background:var(--panel2);border-top:3px solid #47937a}
.workshop-section-risk .risk-detail-grid>div:nth-child(2){border-top-color:#d49740}
.workshop-section-risk .risk-detail-grid>div:nth-child(3){border-top-color:#6f85b3}
.workshop-section-customers .ic-chat-layout{grid-template-columns:minmax(230px,.65fr) minmax(0,2fr);gap:18px}
.workshop-section-customers .ic-contact-list{min-width:0;align-self:start;background:var(--panel2)}
.contact-empty-art{display:grid;place-items:center;width:86px;height:86px;border-radius:24px;background:var(--panel);border:1px solid var(--line);margin:12px auto 18px}
.contact-empty-symbol{width:56px!important;height:56px!important}
.workshop-section-customers .ic-contact-list>p{font-size:13px;line-height:1.7;text-align:center}
.workshop-section-customers .ic-chat-room{min-width:0;box-shadow:0 6px 18px #40584a08}
@media(max-width:1000px){
 .workshop-section-risk .risk-main-grid{grid-template-columns:minmax(0,1fr)}
 .workshop-section-risk .risk-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
 .workshop-section-polish .workshop-section-heading:not(.ml-hero){padding:14px;gap:10px;flex-wrap:wrap;align-items:flex-start}
 .workshop-section-polish .workshop-section-heading h2{font-size:20px}
 .workshop-section-polish .workshop-section-art{width:52px;height:52px;flex-basis:52px}
 .workshop-section-polish .workshop-section-art>img{width:34px!important;height:34px!important}
 .workshop-section-polish .workshop-section-heading>button{order:3;width:100%;min-height:44px}
 .maintenance-visual-grid,.workshop-section-employees .worker-grid,.workshop-section-customers .ic-chat-layout,.workshop-section-risk .risk-detail-grid{grid-template-columns:minmax(0,1fr)}
 .maintenance-visual-card{grid-template-columns:90px minmax(0,1fr);padding:12px;gap:12px}
 .maintenance-visual-card .machine-illustration .art72-thumb{height:105px!important}
 .maintenance-card-info h3{font-size:15px}
 .workshop-section-employees .worker-card{grid-template-columns:70px minmax(0,1fr);gap:12px}
 .workshop-section-polish .metric{padding:14px}
}

/* safety-card-polish-20261009: presentation only */
.workshop-section-risk .risk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.workshop-section-risk .risk-tabs button{font-size:13px;padding:11px 17px;min-height:42px}
.workshop-section-risk .safety-workspace{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr)}
.workshop-section-risk .safety-workspace h3{font-size:20px;line-height:1.35;margin:0 0 9px}
.workshop-section-risk .safety-workspace .panel-sub{font-size:13px;line-height:1.6;margin-bottom:20px}
.workshop-section-risk .safety-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.workshop-section-risk .safety-list .safety-check-card{display:grid;grid-template-columns:20px 40px minmax(0,1fr);gap:10px;align-items:start;padding:16px;background:var(--panel,#fffdf8);border-radius:14px;min-width:0;cursor:pointer;transition:border-color .15s,background .15s}
.safety-check-card input{width:18px;height:18px;margin:10px 0 0;accent-color:#19765d}
.safety-check-icon{display:grid;place-items:center;width:40px;height:40px;background:#e6f1e9;border-radius:12px;font-size:23px}
.safety-check-card strong{display:block;font-size:14px;line-height:1.5;margin-bottom:5px}
.safety-check-card small{display:block;font-size:12px;line-height:1.65;color:var(--muted,#6f756e)}
.safety-check-card:has(input:checked){border-color:#26886b;background:#edf7f0}
.safety-check-card:focus-within{outline:2px solid #26886b;outline-offset:2px}
.safety-guide-symbol{display:grid;place-items:center;width:58px;height:58px;background:#fff0d2;border-radius:16px;font-size:34px;margin-bottom:16px}
.workshop-section-risk .safety-callout{padding:14px;gap:12px;border-radius:13px;margin:12px 0;grid-template-columns:30px minmax(0,1fr)}
.workshop-section-risk .safety-callout p{font-size:13px;line-height:1.75}
.workshop-section-risk .safety-callout>span{font-size:15px}
@media(max-width:1100px){.workshop-section-risk .safety-workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.workshop-section-risk .safety-list{grid-template-columns:minmax(0,1fr)}.workshop-section-risk .safety-workspace .panel{padding:16px}.workshop-section-risk .safety-list .safety-check-card{padding:13px}.workshop-section-risk .risk-tabs button{font-size:12px;padding:10px 12px}}

/* support-shop-v1 */
.support-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.support-shop .market-machine-card{min-width:0;display:flex;flex-direction:column}.support-shop .market-machine-card p{font-size:13px;line-height:1.6;flex:1}.support-shop .market-machine-card small{font-size:12px;overflow-wrap:anywhere}.support-device-image{width:100%;aspect-ratio:1;background-image:url("./support-equipment-game-v1.png");background-size:300% 200%;background-repeat:no-repeat;border-radius:14px}.support-shop footer{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}.support-shop button{background:#176b56;color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:700;min-height:44px}.support-shop button:disabled{opacity:.5}.support-shop{margin:18px 0}@media(max-width:1000px){.support-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.support-shop-grid{grid-template-columns:minmax(0,1fr)}}

/* support-tools-v2 */
.support-tool-image{background-image:url("./support-tools-game-v1.png");background-size:500% 400%}.support-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.support-filters button{background:#f4ecd9;color:#214e43}.support-filters button[aria-pressed="true"]{background:#176b56;color:white}.support-kind{margin-top:14px;color:#176b56;font-weight:700}.support-shop .support-use{background:#eff6f2;color:#176b56;border:1px solid #bad5c8}

/* individual product images */
.support-shop .support-product-image{display:block;width:100%;height:150px;max-height:150px;aspect-ratio:auto;object-fit:contain;box-sizing:border-box;padding:12px;border-radius:12px;background:#faf7ee}
@media(max-width:620px){.support-shop .support-product-image{height:120px;max-height:120px;padding:8px}}

/* compact-shop-cards-v5 */
.machine-market-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.machine-market-grid .compact-printer-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:5px 12px;padding:14px;align-content:start;min-width:0}
.compact-printer-card>.machine-illustration{grid-column:1;grid-row:1/3;margin:0;align-self:center}
.compact-printer-card .machine-illustration .art72-thumb{height:76px!important;width:76px!important;padding:0!important}
.compact-printer-card .machine-illustration figcaption{display:none}
.compact-printer-card>.machine-tech{grid-column:2;justify-self:start;align-self:end;font-size:11px}
.compact-printer-card>h3{grid-column:2;margin:2px 0 8px;font-size:15px;line-height:1.4}
.compact-printer-card>.printer-specs{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.printer-specs>summary{font-size:12px;cursor:pointer;min-height:28px;line-height:28px;color:var(--muted)}
.compact-printer-card .machine-stats{gap:6px;margin:8px 0}
.compact-printer-card .machine-stats b{font-size:12px}
.compact-printer-card .printer-specs p{font-size:12px;line-height:1.5}
.compact-printer-card>footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:6px}
.compact-printer-card>footer>b{font-size:14px}
.compact-printer-card .machine-buy-actions{display:flex;gap:6px}
.compact-printer-card .machine-buy-actions button{min-height:40px;padding:7px 9px;font-size:12px}
.compact-printer-card .machine-buy-actions .game-action-visual img{width:17px!important;height:17px!important}
.support-shop-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.support-shop .support-product-image{height:100px;max-height:100px;padding:8px}
.support-shop .market-machine-card{padding:14px}
.support-shop .market-machine-card h3{font-size:15px;line-height:1.4;margin:7px 0}
.support-shop .support-kind{margin-top:8px;font-size:11px}
.support-shop footer{margin-top:10px}
@media(max-width:620px){.machine-market-grid,.support-shop-grid{grid-template-columns:minmax(0,1fr)}.support-shop .support-product-image{height:85px;max-height:85px}.workshop-buy .machine-market-grid{grid-template-columns:minmax(0,1fr)!important}}

/* Mobile column: never reuse the desktop 400px horizontal flex basis as height. */
@media(max-width:620px){.fc-unready .fc-setup{gap:12px;height:auto;min-height:0;padding:14px}.fc-unready .fc-setup>div{flex:0 0 auto;min-height:0;width:100%}.fc-unready .fc-setup-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.fc-unready .fc-setup-actions button{flex:none;width:100%;height:auto;min-height:44px;padding:11px 12px;font-size:13px;line-height:1.4}.fc-unready .fc-setup p{margin:6px 0 0;font-size:13px;line-height:1.55}.fc-unready .fc-setup b{font-size:15px}.fc-unready .fc-heading h2{font-size:21px!important}}

/* Compact offer cards with product-specific illustrative assets. */
.market-product-art{height:145px;display:flex;align-items:center;justify-content:center;position:relative;background:var(--panel2);padding:10px}
.market-product-art img{width:100%;height:100%;object-fit:contain}
.market-product-art small{position:absolute;bottom:5px;left:8px;font-size:9px;color:var(--muted)}
.market-offers .card-body{padding:14px}
.market-offers .voucher{display:inline-block;padding:4px 8px;margin-top:6px;font-size:11px;min-height:0}
.market-offers .card-actions button{min-height:40px;padding:8px 10px;font-size:12px;line-height:1.3}
@media(max-width:620px){
.market-offers{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:10px}
.market-offers .market-offer-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:12px;align-items:start;border-radius:14px}
.market-offers .market-product-art{height:100px;padding:3px;border-radius:10px}
.market-offers .card-body{padding:0;min-width:0}
.market-offers .card-meta{gap:4px;flex-wrap:wrap}
.market-offers .badge{font-size:10px;padding:3px 6px}
.market-offers h3{font-size:14px;line-height:1.35;margin:5px 0}
.market-offers .card-body>p{font-size:11px;line-height:1.45;margin:4px 0}
.market-offers .offer-price{margin-top:6px!important;gap:6px;flex-wrap:wrap}
.market-offers .offer-price strong{font-size:18px}
.market-offers .offer-price del{font-size:10px}
.market-offers .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.market-offers .card-actions button{width:100%;min-height:44px;padding:7px 5px;font-size:11px;box-shadow:none}
}

.map-product-preview{position:absolute;z-index:4;left:12px;right:auto;bottom:28px;width:max-content;max-width:calc(100% - 24px);display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--panel,#fff);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 14px #0002;pointer-events:none}
.map-product-preview img{width:40px;height:40px;object-fit:contain;border-radius:8px;flex-shrink:0}
.map-product-preview div{min-width:0;max-width:180px;display:grid;gap:2px}
.map-product-preview small{display:none}
.map-product-preview b{font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-product-preview strong{font-size:14px}
.map-offer-thumb{width:48px;height:48px;object-fit:contain;float:left;margin-right:8px}
@media(max-width:620px){.street-map{height:310px!important;min-height:0!important}.street-offers button{padding:9px!important;min-height:74px}.street-offers button b{font-size:12px!important;line-height:1.35}.street-offers button span{font-size:10px!important}.street-note{font-size:11px!important;line-height:1.5}.map-side{padding:14px!important}}

.market-data-notice{padding:10px 12px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.5;color:var(--muted)}.market-location-pending{font-size:10px;color:var(--muted);align-self:center}.market-rfq-link{display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;padding:9px;min-height:44px;border-radius:9px}.verified-map-empty{max-width:640px;padding:18px!important}.verified-map-empty h2{font-size:20px}.verified-map-empty p{font-size:13px;line-height:1.6}.verified-map-empty button,.verified-map-empty a{display:inline-flex;margin:6px 8px 0 0;min-height:44px;align-items:center;padding:10px 14px;text-decoration:none}

.game-map-pin{position:absolute!important;z-index:3;transform:translate(-50%,-100%);display:flex;align-items:center;gap:3px;padding:4px!important;min-height:36px!important;border:2px solid #176c56!important;border-radius:10px!important;background:#fff!important;color:#174c3c!important;box-shadow:0 2px 6px #0003;white-space:nowrap;font-size:10px!important;pointer-events:auto}.game-map-pin img{position:static!important;width:30px!important;height:30px!important;object-fit:contain!important;visibility:visible!important}.game-map-pin[aria-pressed=true]{border-color:#d08c15!important;background:#fff3cb!important}.game-map-pin span{font-size:10px}.street-tiles .game-map-pin{touch-action:manipulation}

.street-tiles .game-map-pin img{position:static!important;width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;object-fit:contain!important}
