/* Island workshop: shared surfaces for building, materials and the library. */
.overlay-screen{--work-paper:#fffaf0;--work-sand:#eee3cd;--work-line:#c8cdb6;--work-ink:#314c42;--work-green:#396e55;--slot-fill:#e4e5cc}
.overlay-screen [hidden]{display:none!important}
.overlay-screen :is(.hud-chip,.hud-top .btn-icon,.orbit-exit,.build-dock,.catalog-sheet,.island-card,.fly-card){background:var(--work-paper);color:var(--work-ink);border:1px solid var(--work-line);text-shadow:none;box-shadow:0 3px 0 #64765738,0 5px 18px #21392b18;border-radius:12px}
.overlay-screen :is(.btn,.btn-icon,.hot-slot,.sheet-tab,.rail-tab):focus-visible{outline:3px solid #b37c27;outline-offset:2px}
.hud-top{gap:6px;align-items:center;flex-wrap:wrap;padding:12px var(--edge);pointer-events:none}
.hud-top>*{pointer-events:auto;flex-shrink:0}
.hud-top .btn-icon{width:48px;height:48px;min-height:48px;padding:10px}
.hud-top .hud-chip-island{max-width:220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;height:48px;padding:0 14px}
.hud-top .hud-chip-count{font-size:11px;box-shadow:none;border:0;background:transparent;color:var(--work-ink);display:none}
.hud-top .save-chip{position:static;display:flex!important;max-width:240px;min-width:0;font-size:11px;gap:6px;height:auto;min-height:36px;padding:6px 9px;opacity:1;transform:none}
.hud-top .save-chip span{white-space:normal;line-height:1.3}
.hud-top .save-chip svg{width:18px;min-width:18px;height:18px}
.hud-top .save-chip.is-failed{background:#fff0d6;color:#85431e;border-color:#c79563}
.hud-top .workshop-done{background:var(--work-green);border:1px solid #315f47;color:#fff;border-radius:12px;min-height:48px;padding:9px 15px;text-shadow:none;box-shadow:0 3px 0 #254a36;font-size:14px}
.hud-top .workshop-grid[aria-pressed=true]{background:#d2e6b7;border-color:#578157;box-shadow:inset 0 0 0 2px #578157}
.overlay-screen.is-orbit .orbit-exit{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 16px;left:var(--edge);right:auto;top:max(12px,env(safe-area-inset-top));font-size:14px;color:var(--work-ink);z-index:2}
.overlay-screen .build-dock{padding:6px;gap:5px;max-width:calc(100% - 2 * var(--edge));background:#f6f0ddf2}
.overlay-screen .hotbar{gap:5px;scrollbar-color:#7b9576 transparent}
.overlay-screen .hot-slot{border:1px solid #c3c7aa;background:#e4e5cc;border-radius:8px;box-shadow:inset 0 -3px 0 #b6bf9d55}
.overlay-screen .hot-slot.is-active{background:#e2edc7;border:2px solid #4d7d4b;box-shadow:inset 0 0 0 2px #fffbee}
.overlay-screen .hot-empty,.overlay-screen .hot-num{color:#627659;text-shadow:none}
.overlay-screen .dock-catalog{background:#d8b878;color:#463c25;border:1px solid #bc9755;box-shadow:0 2px 0 #a18351;border-radius:8px}
.workshop-more-slots{display:none;flex:0 0 48px;width:48px;height:48px;min-height:48px;background:#e0e8d4;border:1px solid #b2c1a4;border-radius:8px;color:#456447;box-shadow:none;padding:12px}
.workshop-more-slots svg{width:22px;height:22px;transform:rotate(-90deg)}
.overlay-screen :is(.hint-bar,.lock-prompt,.hot-name){background:#314d42de;color:#fffaf0;border-radius:8px}
.overlay-screen :is(.btn-side,.btn-round){background:#f8f2dbd9;color:#405d46;border-color:#fff7dbb0;box-shadow:0 2px 0 #355e4c33}
.overlay-screen .btn-tool.is-active{background:#e5c67e;color:#51401e;border-color:#fff0bc}
.overlay-screen .key-cap{background:#fff7df;color:#3e5747}
.overlay-screen .key-row{background:#355b447a}
.overlay-screen .catalog{background:#263d354f}
.overlay-screen .catalog-sheet{border:2px solid #c2c9b0;background:var(--work-paper);color:var(--work-ink);border-radius:16px}
.overlay-screen .sheet-tab{color:#627762;border-radius:8px}
.overlay-screen .sheet-tab.is-active{background:#dfe8cc;color:#2d593d;border-color:#aec298}
.overlay-screen .catalog-head .btn-icon{background:#ebe9d8;color:#426047;border:1px solid #bdc8af;box-shadow:none;border-radius:8px}
.overlay-screen .catalog-search{background:#fffefa;border-color:#c9cbb4;color:#536e52;border-radius:8px}
.overlay-screen .catalog-search-input{color:#314c42}
.overlay-screen .catalog-search-input::placeholder{color:#74806c}
.overlay-screen .btn-search-clear{color:#456247}
.overlay-screen .catalog-result-count{color:#627861}
.overlay-screen .catalog-rail .rail-tab{background:#eee9d7;color:#536a4a;border-color:#d1d2b9;border-radius:8px}
.overlay-screen .catalog-rail .rail-tab.is-active{background:#dae7c4;color:#2f5336;border-color:#70915b}
.overlay-screen :is(.catalog-grid,.plot-pane){background:#eaeedb;border-color:#ccd2b6;border-radius:10px;scrollbar-color:#90a479 transparent}
.overlay-screen .catalog-rail{scrollbar-color:#90a479 transparent}
.overlay-screen :is(.block-swatch,.floor-btn){background:#f7f4df;border-color:#ced3b9;border-radius:7px}
.overlay-screen :is(.block-swatch.is-active,.floor-btn.is-active){background:#d9e8b9;box-shadow:inset 0 0 0 2px #698d53;border-color:#698d53}
.overlay-screen .catalog-footer{border-color:#c9cfb4;gap:8px}
.overlay-screen .pick-icon{background:#dbe4c6;border-color:#bacbad}
.overlay-screen .options-label{color:#526945}
.overlay-screen :is(.pick-name,.pick-slot,.catalog-empty,.option-label){color:var(--work-ink)}
.overlay-screen :is(.catalog-collection,.catalog-material,.catalog-variants){background:#fffbed;color:#3d593f;border:1px solid #bfc7ab;border-radius:8px;min-height:48px}
.overlay-screen :is(.catalog-favorite,.btn-catalog-done){background:#3c7053;color:#fff9e9;border:1px solid #345d44;box-shadow:none;border-radius:8px;min-height:48px}
.overlay-screen .catalog-favorite{min-width:48px}
.overlay-screen .options-group{background:#fff9e9;border-color:#d7d5bd}
.overlay-screen :is(.option-title,.option-note,.plot-note){color:#516846}
.overlay-screen .opt-btn{background:#eee8d3;color:#516846;border-color:#bfc9aa;box-shadow:none;min-height:48px}
.overlay-screen .opt-btn.is-active{background:#d8e8bc;border-color:#6e9054;color:#385435}
.overlay-screen .menu-item{background:#ece9d8;color:#456145;border-color:#c8ceb4;text-shadow:none;box-shadow:none;border-radius:9px}
.overlay-screen .menu-resume{background:#3b6b4e;color:#fff9e9}
.overlay-screen .window-title{color:#3d6148;text-shadow:none}
.workshop-pin{display:none}
@media(min-width:1100px) and (min-height:650px){
  .workshop-pin{display:flex}
  .catalog.is-side{justify-content:flex-end}
  .catalog.is-side .catalog-sheet{width:540px}
  .catalog.is-side .catalog-rail{width:112px}
  .catalog.is-side .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}
  .catalog.is-side .catalog-result-count{display:none}
}


@media(max-width:850px){
  .hud-top .save-chip{order:20;max-width:100%;font-size:10px}
  .hud-top .hud-spacer{display:none}
  .hud-top .hud-chip-island{flex:1;max-width:none;font-size:13px}
  .hud-top .workshop-done{order:2}
  .hud-top .btn-icon:last-child{order:3}
  .hud-top :is(.workshop-undo,.workshop-redo,.workshop-overview,.workshop-grid){order:10}
  .hud-top .workshop-undo{margin-left:auto}
  .hud-top{max-width:100%;gap:5px}
  .overlay-screen .build-dock{max-width:calc(100% - 2 * var(--edge))}
  .workshop-more-slots{display:flex}
  .overlay-screen .catalog-button-label,.overlay-screen .catalog-key{display:none}
  .overlay-screen .dock-catalog{min-width:48px;width:48px;padding:10px}
}
@media(max-width:560px){
  .hud-top{padding:8px var(--edge);column-gap:5px;row-gap:6px}
  .hud-top .hud-chip-island{max-width:calc(100% - 190px)}
  .hud-top .save-chip{width:100%;min-height:24px;padding:4px 8px;background:#fff9e9e8;border:0;box-shadow:none;justify-content:center}
  .hud-top .workshop-undo{margin-left:0}
  .hud-top .workshop-overview{margin-left:auto}
  .hud-top .workshop-done{padding:8px 12px}
  .hud-top .workshop-undo{clear:both}
  .hud-top::after{content:'';order:9;flex-basis:100%;height:0}
  .hud-top .hud-chip-island{border:0;background:#fff9e9e8;padding:0 8px}
}
@media(orientation:landscape) and (max-height:500px){
  .has-sheet .build-dock{display:none}
  .overlay-screen .catalog{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .hud-top{padding-top:6px;flex-wrap:nowrap;padding-right:8px;gap:4px}
  .hud-top .hud-chip-island{max-width:120px;min-width:55px;flex:1}
  .hud-top .save-chip{position:absolute;top:60px;left:var(--edge);width:auto;max-width:calc(100% - var(--edge) - 15px);font-size:10px;min-height:24px;padding:3px 7px;box-shadow:none}
  .hud-top .workshop-undo{margin:0}
  .hud-top .workshop-done{padding:8px}
  .hud-top::after{display:none}
  .hud-top .workshop-grid{display:none}
  .hud-top .workshop-overview{margin:0}
}
@media(prefers-reduced-motion:reduce){.overlay-screen *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[data-screen="settings"]{--text:#344e3d;--text-dim:#66775b;--panel-line:#c4cdb2;background:#e9eddded;color:var(--text)}
[data-screen="settings"] .settings-panel{background:#fff9eb;border-color:#c4cdb2;border-radius:14px;box-shadow:0 3px 0 #aab59a40}
[data-screen="settings"] :is(.screen-title,.options-label,.task-name,.controls-hint){color:var(--text);text-shadow:none}
[data-screen="settings"] :is(.opt-btn,.key-btn,.btn){background:#e7e9d4;color:#4d6545;border-color:#c4cdb2;box-shadow:none;border-radius:9px}
[data-screen="settings"] :is(.opt-btn.is-active,.btn-primary){background:#3d6c4e;color:#fff9e9;border-color:#3d6c4e}
.life-creative,.life-places{margin:12px 0;display:grid;gap:8px}
.life-creative-theme,.life-places{border:1px solid var(--work-line);border-radius:8px;padding:8px}
.life-creative-theme summary,.life-places summary{cursor:pointer;min-height:40px;padding:8px;touch-action:pan-y}
.life-creative-goal{border-top:1px solid var(--work-line);padding:10px 0}
.life-creative-goal .btn{min-height:44px;margin-top:6px}
.life-place-row{display:flex;gap:6px;margin-top:6px}
.life-place-row .btn:first-child{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal}
.life-place-row .btn{min-height:44px}
.overlay-screen .hud-chip-count.is-near-limit{color:#926021;border-color:#be9450}
.overlay-screen .hud-chip-count.is-at-limit{color:#963a28;border-color:#b9523b}
.orbit-tools{display:none;position:absolute;right:var(--edge);top:max(12px,env(safe-area-inset-top));gap:6px;pointer-events:auto;z-index:3}
.is-orbit .orbit-tools{display:flex}
.orbit-tools .btn-icon{width:44px;height:44px;background:var(--work-paper);color:var(--work-ink)}
.life-hud.is-placement{flex-wrap:wrap;max-width:min(430px,calc(100% - 2 * var(--edge,12px)))}
.life-hud.is-placement .life-hub{display:none}
.life-hud.is-placement .life-hud-text{flex:1 1 100%;width:auto;max-width:100%}
.life-hud.is-placement .life-hud-detail{white-space:normal;overflow-wrap:anywhere}
.overlay-screen .life-hud:not(.is-visiting){top:var(--hud-action-top)}
.overlay-screen .life-greet{top:var(--hud-greet-top)}
.life-welcome-grid{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}
.life-welcome-grid .life-thumbnail{height:100px}
.life-welcome-grid .life-card{gap:8px;padding:12px}
.life-welcome-grid .life-actions .btn{flex:1 1 110px}
@media(max-height:600px){.life-welcome-grid .life-thumbnail{height:64px}.life-welcome-grid .life-card{gap:5px}.life-welcome-grid .life-card h3{font-size:18px}}
