:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#2a3842;background:#b1c26a;font-synthesis:none;-webkit-tap-highlight-color:transparent;--panel:#ffffff;--panel-glass:#fffffff5;--accent:#2f7ddc;--accent-soft:#e6f0ff;--line:#dde3e8;--muted:#6b7a85;--ink:#1f2d38;--shadow:0 6px 22px #1c2f1438,0 1px 3px #1c2f1426;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--top-h:96px;--dock-h:150px;--gap:14px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:#b1c26a;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:focus-visible{outline:3px solid #268fba;outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}svg{fill:currentColor}p{font-size:12px;line-height:1.6}h2{font-size:16px;margin:0;font-weight:700}#world{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 34% 30% at 0% 100%,#ffffffd9,#fff6 45%,#fff0),radial-gradient(ellipse 30% 26% at 100% 0%,#ffffffb3,#fff0),radial-gradient(ellipse 22% 20% at 100% 100%,#ffffff80,#fff0),radial-gradient(ellipse 75% 70% at 50% 50%,#0000 62%,#1a2e0f38)}#topbar{position:fixed;z-index:3;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:calc(var(--safe-top) + var(--gap)) calc(var(--safe-right) + 18px) 0 calc(var(--safe-left) + 18px);pointer-events:none}#topbar>*{pointer-events:auto}#topbar:has(.menu.open){z-index:7}.brand{display:flex;align-items:center;gap:12px;color:#fff;min-height:48px;padding:9px 20px 9px 12px;background:linear-gradient(180deg,#232c38f5,#151b23f5);border:1.5px solid #c99a3e;border-radius:14px;box-shadow:var(--shadow),inset 0 0 0 3px #151b23,inset 0 0 0 4px #c99a3e55;pointer-events:none!important}.logo{width:40px;height:40px;flex-shrink:0;filter:drop-shadow(0 2px 3px #0005)}h1{font-family:Cinzel,Trajan Pro,Georgia,Times New Roman,serif;font-size:19px;letter-spacing:3.5px;margin:0;font-weight:700;color:#f5ead2}.brand small{font-family:Georgia,Times New Roman,serif;font-size:9.5px;letter-spacing:4px;color:#d9bf86}.contract{display:flex;align-items:center;gap:14px;padding:10px 18px 10px 12px;background:var(--panel-glass);border:0;border-radius:16px;box-shadow:var(--shadow),inset 0 0 0 1px #c99a3e66;width:min(540px,100%);pointer-events:none!important}.thumb-button{flex-shrink:0;align-self:center;display:block;padding:0;border:0;background:none;border-radius:10px;cursor:zoom-in;pointer-events:auto;position:relative}.thumb-button:after{content:"⤢";position:absolute;right:5px;top:5px;width:16px;height:16px;display:grid;place-items:center;font-size:12px;line-height:1;color:#f5ead2;background:#151b23cc;border-radius:5px;opacity:.85}.thumb-button:focus-visible{outline:3px solid #c99a3e;outline-offset:2px}#panel-thumb{display:block;width:132px;height:88px}#demand{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.demand-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto 14px;grid-template-rows:auto 4px;align-items:center;column-gap:7px;row-gap:2px;font-size:12px}.demand-row canvas{grid-row:1/3;width:24px;height:24px}.demand-name{font-weight:600;color:#3a4a55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demand-name:first-letter{text-transform:uppercase}.demand-count{font-weight:700;color:#3a4a55;font-variant-numeric:tabular-nums;white-space:nowrap}.demand-check{font-weight:800;color:#2e9b4f;visibility:hidden}.demand-row.done .demand-check{visibility:visible}.demand-row.done .demand-count{color:#2e9b4f}.demand-bar{grid-column:2/4;height:4px;background:#e1e6ea;border-radius:3px;overflow:hidden}.demand-bar i{display:block;height:100%;background:linear-gradient(90deg,#5aa6f5,#2f7ddc);border-radius:3px;transition:width .25s}.demand-row.done .demand-bar i{background:#3fb563}.contract-copy{flex:1;min-width:0}.contract-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:#a06a12;white-space:nowrap}.steps{display:inline-flex;align-items:center;gap:5px;margin-right:auto;padding-left:2px}.steps i{width:8px;height:8px;transform:rotate(45deg);background:#2a3340;border:1.5px solid #14181d;border-radius:1px}.steps i.done{background:linear-gradient(135deg,#f3d27a,#c99a3e)}.steps i.active{background:#fff6dc;box-shadow:0 0 0 2px #e9b949,0 0 6px #e9b949}.reward{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reward strong{color:#4f6670;font-weight:700}.contract h2{margin:2px 0 4px;font-size:19px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contract h2:first-letter{text-transform:uppercase}.contract #delivery-feedback{margin:5px 0 0;font-size:11px;line-height:1.4;color:#9a5c18;font-weight:600}.contract #delivery-feedback:empty{display:none}.actions{position:relative;display:flex;align-items:center;gap:8px}.icon-button,.menu button,.navigation button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:46px;min-height:46px;padding:0 16px;background:var(--panel-glass);border:0;border-radius:12px;box-shadow:var(--shadow);font-size:14px;font-weight:700;color:var(--ink)}.icon-button svg{width:20px;height:20px}#menu-toggle{display:none;padding:0}#artwork-menu{display:none}.menu{display:flex;gap:8px}.menu-icon{font-size:16px;color:var(--ink);width:16px;text-align:center}@media(hover:hover){.icon-button:hover,.menu button:hover,.navigation button:hover,#toolbar button:hover:not(.selected),.quick button:hover,#variants button:hover{background:#eef4fb}}.spin-handle{position:fixed;z-index:2;left:0;top:0;width:46px;height:46px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--accent);color:#fff;box-shadow:0 3px 12px #1f3b4455;display:flex;align-items:center;justify-content:center;will-change:transform}.spin-handle[hidden]{display:none}.spin-handle svg{width:24px;height:24px}.spin-handle.turning svg{animation:spin-icon .22s ease-out}@keyframes spin-icon{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}#reverse.turning svg{animation:flip-icon .22s ease-out}@keyframes flip-icon{0%{transform:scaleX(-1)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.spin-handle.turning svg,#reverse.turning svg{animation:none}}.navigation{position:fixed;z-index:2;right:calc(var(--safe-right) + 18px);bottom:calc(var(--dock-h) + 14px);display:flex;flex-direction:column;gap:6px}.navigation button{padding:0;font-size:22px;font-weight:500}.navigation svg{width:20px;height:20px}#dock{position:fixed;z-index:3;left:50%;bottom:calc(var(--safe-bottom) + 12px);transform:translate(-50%);width:max-content;max-width:calc(100% - 32px - var(--safe-left) - var(--safe-right));background:var(--panel-glass);border:0;border-radius:18px;box-shadow:var(--shadow);padding:10px 12px 12px}#status{position:fixed;z-index:6;left:50%;bottom:calc(var(--dock-h) + 12px);transform:translate(-50%) translateY(4px);margin:0;max-width:min(520px,calc(100vw - 40px));width:max-content;padding:7px 13px;border-radius:999px;background:#34434ce6;color:#f4f7f8;font-size:12px;line-height:1.35;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#status.show{opacity:1;transform:translate(-50%)}.ports-open #status,.guide-open #status,.settings-open #status{bottom:auto;top:calc(var(--top-h) + 10px)}#tool-info{display:flex;align-items:center;gap:10px;padding:0 2px 8px;min-height:44px}.tool-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.tool-text strong{font-size:13px;color:var(--accent);white-space:nowrap}.tool-text span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#variants{display:flex;gap:3px;padding:3px;background:#e8edef;border-radius:10px}#variants[hidden]{display:none}#variants button{min-height:38px;padding:0 9px;border:0;border-radius:8px;background:transparent;font-size:12px;font-weight:600;color:#5b6c75;white-space:nowrap}#variants button[aria-pressed=true]{background:#fff;color:var(--accent);box-shadow:0 1px 3px #3445522a}.quick{display:flex;gap:6px}.quick button{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#f5f7f9;font-size:12px;font-weight:600;color:#4b5d66;white-space:nowrap}.quick svg{width:18px;height:18px}.dir-arrow{font-size:17px;line-height:1;color:var(--accent)}.quick kbd{font-family:inherit;font-size:9px;color:#9ba7ae;margin-left:2px}#tabs{display:flex;gap:2px;flex-shrink:0}#tabs button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:600;color:#4c5b66}#tabs svg{width:16px;height:16px;color:#64737e}#tabs button[aria-selected=true]{background:var(--accent-soft);color:#1d4f8f}#tabs button[aria-selected=true] svg{color:var(--accent)}#dock[data-cat=logistics] #toolbar [data-cat]:not([data-cat=logistics]),#dock[data-cat=processing] #toolbar [data-cat]:not([data-cat=processing]),#dock[data-cat=painting] #toolbar [data-cat]:not([data-cat=painting]),#dock[data-cat=storage] #toolbar [data-cat]:not([data-cat=storage]){display:none}@media(max-width:1180px),(max-height:700px),(pointer:coarse){#tabs{display:none}}#toolbar{display:flex;gap:6px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity}#toolbar::-webkit-scrollbar{display:none}#toolbar{overflow-y:hidden;touch-action:pan-x;overscroll-behavior:contain}#dock{touch-action:pan-x}#topbar{touch-action:none}#toolbar.at-end{-webkit-mask-image:none;mask-image:none}#toolbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex-shrink:0;width:76px;height:70px;padding:4px 2px;background:#fff;border:1px solid #e1e6ea;border-radius:12px;box-shadow:0 1px 2px #1c2f1414;font-size:12px;font-weight:600;color:#33424d;scroll-snap-align:start}#toolbar .tool-art{width:40px;height:40px}#toolbar .tool-icon{width:32px;height:32px;margin:5px 0;color:var(--accent)}#toolbar .selected{background:var(--accent-soft);border:2px solid var(--accent);color:#1d4f8f}#toolbar .selected .tool-icon{color:var(--accent)}#toolbar kbd{position:absolute;right:5px;top:3px;font-family:inherit;font-size:9px;font-weight:500;color:#9ba7ae}#toolbar [data-tool=erase] .tool-icon{color:#e0453c}#toolbar button.locked{opacity:.5}#toolbar button.locked .tool-art{filter:grayscale(1)}#toolbar button.locked:after{content:"";position:absolute;right:5px;top:5px;width:11px;height:11px;background:#7d8c94;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0110 0v3h1.5v12h-13V10zm2 0h6V7a3 3 0 00-6 0z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V7a5 5 0 0110 0v3h1.5v12h-13V10zm2 0h6V7a3 3 0 00-6 0z'/%3E%3C/svg%3E") center/contain no-repeat}#toolbar button.locked kbd{display:none}#guide,#settings{position:fixed;z-index:5;top:calc(var(--top-h) + 10px);right:calc(var(--safe-right) + 18px);width:380px;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 34px);overflow:auto;background:#fbfcfc;box-shadow:0 12px 40px #34455230;border:1px solid var(--line);border-radius:14px;padding:20px 22px;-webkit-user-select:text;user-select:text}#guide h2,#settings h2{font-size:19px;padding-right:30px;margin-bottom:6px}#guide li{font-size:12px;line-height:1.65;margin-bottom:8px}#guide ol{padding-left:20px}#guide p{color:#5c6e78}#hint{border-left:3px solid var(--accent);padding-left:12px}#close-help,#close-settings{position:absolute;right:8px;top:8px;border:0;background:none;font-size:26px;width:44px;height:44px;color:#5d6d76}#settings h3{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#71828b;margin:18px 0 6px}#settings p{color:#5c6e78;font-size:12.5px;line-height:1.55;margin-bottom:10px}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.setting small{display:block;font-size:11.5px;font-weight:400;color:#71828b;margin-top:2px}.setting input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0}.segmented{display:flex;background:#eef2f4;border-radius:10px;padding:3px;flex-shrink:0}.segmented button{border:0;background:none;min-width:46px;min-height:40px;border-radius:8px;font-weight:700;color:#5c6e78}.segmented button[aria-checked=true]{background:#fff;color:var(--ink);box-shadow:0 1px 4px #34455226}#settings button.danger,#restart-cancel{border:1px solid #dfc1bd;border-radius:10px;color:#9a625c;background:#fbf0ee;min-height:46px;width:100%;font-weight:700}#restart-confirm{border:1px solid #dfc1bd;border-radius:12px;padding:12px;background:#fff8f6}.confirm-row{display:flex;gap:8px}#restart-cancel{color:var(--ink);background:#fff;border-color:var(--line)}#settings #restart-yes{background:#b4564c;color:#fff;border-color:#b4564c}#machine-ports{position:fixed;z-index:4;top:calc(var(--top-h) + 10px);left:calc(var(--safe-left) + 18px);width:300px;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 34px);overflow:auto;padding:14px;background:#fbfcfcf7;border:1px solid #bac7cf;border-radius:14px;box-shadow:0 5px 24px #34455222}.ports-heading{display:flex;align-items:center;justify-content:space-between}.ports-heading small{font-size:9px;letter-spacing:1.3px;color:#71828e}.ports-heading h2{font-size:17px;margin:3px 0}.ports-heading button{border:0;background:none;font-size:26px;width:44px;height:44px;color:#5d6d76}.port-diagram{display:grid;grid-template-columns:1fr 68px 1fr;grid-template-rows:42px 68px 42px;align-items:center;justify-items:center;gap:3px;margin:6px 0}#port-north{grid-area:1/2}#port-west{grid-area:2/1}#port-machine{grid-area:2/2;width:68px;height:68px}#port-east{grid-area:2/3}#port-south{grid-area:3/2}.port-slot{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:68px;min-height:38px;line-height:1.3;border:1px solid transparent;border-radius:6px;padding:3px}.port-slot strong{font-size:10px;white-space:nowrap}.port-slot small{font-size:9px;color:#6c7c84}.port-slot canvas{width:24px;height:24px}.port-slot.shape-in,.port-slot.item-in{border-color:#8dc4a7;background:#e7f4ec;color:#17653f}.port-slot.paint-in{border-color:#d9b567;background:#fff2d4;color:#805907}.port-slot.output{border-color:#91b7db;background:#e7f0fb;color:#20558d}.port-slot:empty{visibility:hidden}.port-legend{display:flex;justify-content:space-between;font-size:9px;padding-top:8px;border-top:1px solid #d8e0e5}.port-legend .shape-in{color:#17653f}.port-legend .paint-in{color:#805907}.port-legend .output{color:#20558d}#ports-note,#ports-state{font-size:11px;line-height:1.5;margin:8px 0;color:#5b6b76}#ports-state:empty{display:none}#ports-state.port-warning{color:#a74632;font-weight:600}#reset-filter{min-height:44px;width:100%;margin-bottom:6px;border:1px solid #b9d3c4;border-radius:10px;background:#eef7f1;color:#245c43;font-size:13px;font-weight:600}#reset-filter[hidden]{display:none}.port-slot.chain-in{border-color:#c3ccd1;background:#f0f3f4;color:#56656d}#turn-machine{min-height:44px;width:100%;border:1px solid #b5c7d4;border-radius:10px;background:#eff4f7;font-size:13px;font-weight:600}#recipe-panel{position:fixed;z-index:4;top:calc(var(--top-h) + 10px);right:calc(var(--safe-right) + 18px);width:320px;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 200px);min-height:160px;overflow:auto;padding:14px;background:var(--panel-glass);border-radius:16px;box-shadow:var(--shadow)}#recipe-panel[hidden],.guide-open #recipe-panel,.settings-open #recipe-panel{display:none}.recipe-head{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f3}#recipe-goal canvas{display:block;background:#f2f5f8;border-radius:12px}.recipe-title{flex:1;min-width:0;display:flex;flex-direction:column}.recipe-title small{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--accent)}.recipe-title h2{font-size:15px;line-height:1.25;margin:2px 0;color:var(--ink)}.recipe-title h2:first-letter{text-transform:uppercase}#recipe-count{font-size:11px;color:var(--muted)}#close-recipe{align-self:flex-start;border:0;background:none;font-size:24px;width:40px;height:40px;margin:-8px -8px 0 0;color:#5d6d76}#recipe-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}#recipe-steps li{display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-items:center;padding:6px 4px;border-radius:10px}#recipe-steps li:nth-child(odd){background:#f6f8fa}.recipe-num{grid-row:1/3;align-self:start;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:#1d4f8f;font-size:11px;font-weight:800;margin-top:4px}.recipe-deliver .recipe-num{background:#dff3e4;color:#1d6b35}.recipe-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.recipe-op{font-size:13px;font-weight:700;color:#8695a0}.recipe-machine{border-radius:6px}.recipe-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 3px;border-radius:999px;background:#fff;border:1px solid #e1e6ea}.recipe-chip small{font-size:10px;font-weight:700;color:#4c5b66;text-transform:capitalize}.recipe-hub{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 8px;border-radius:7px;background:#34424c;color:#fff;font-size:10px;font-weight:800;letter-spacing:1px}.recipe-text{display:flex;flex-direction:column;line-height:1.3;margin-top:3px}.recipe-text strong{font-size:12px;color:var(--ink)}.recipe-text small{font-size:11px;color:var(--muted)}.recipe-text small:first-letter{text-transform:uppercase}@media(min-width:721px)and (max-width:1400px){#menu-toggle{display:inline-flex}.menu{display:none;position:absolute;top:calc(100% + 8px);right:0;flex-direction:column;gap:2px;min-width:180px;padding:6px;background:#fbfcfc;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #3445522e}.menu.open{display:flex}.menu button{justify-content:flex-start;gap:10px;width:100%;border:0;box-shadow:none;background:transparent;min-height:44px;font-size:14px}#artwork-menu{display:inline-flex}}@media(max-width:1180px)and (min-width:721px){#topbar{flex-wrap:wrap}.contract{order:3;width:min(470px,calc(100% - 60px));margin:0 auto}}@media(max-width:720px){:root{--gap:8px}#topbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 12px) 10px calc(var(--safe-left) + 12px);background:var(--panel);border-bottom:1px solid #d2dade;box-shadow:0 2px 14px #34455214}.brand{display:none}.contract{width:auto;min-width:0;padding:0;gap:11px;background:none;border:0;box-shadow:none}.thumb-button{align-self:flex-start}#panel-thumb{width:84px;height:56px}.thumb-button:after{display:none}.contract h2{font-size:15px;line-height:1.25;margin:1px 0 3px}#demand{flex-direction:row;flex-wrap:wrap;gap:4px 6px;margin:0}.demand-row{display:inline-flex;gap:4px;padding:1px 7px 1px 2px;border-radius:999px;background:#f0f3f6;font-size:11.5px}.demand-row canvas{width:20px;height:20px}.demand-row.done{background:#e3f4e8}.demand-name,.demand-bar,.demand-check{display:none}.demand-row.done .demand-check{display:inline}#tool-info:has(#variants:not([hidden])) .tool-text{display:none}#variants,#variants button{flex:1}.eyebrow{font-size:9px;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;min-width:0}.contract-meta{min-width:0;overflow:hidden}.steps,.reward,.step-word{display:none}.reward{font-size:9.5px}.contract #delivery-feedback{font-size:10.5px;margin-top:4px}.actions{align-self:start;gap:6px}#menu-toggle{display:inline-flex}.menu{display:none;position:absolute;top:calc(100% + 8px);right:0;flex-direction:column;gap:2px;min-width:170px;padding:6px;background:#fbfcfc;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #3445522e}.menu.open{display:flex}.menu button{justify-content:flex-start;gap:10px;width:100%;border:0;box-shadow:none;background:transparent;min-height:46px;font-size:14px}#artwork-menu{display:inline-flex}#dock{left:0;right:0;bottom:0;transform:none;width:auto;max-width:none;border-radius:16px 16px 0 0;border-width:1px 0 0;padding:8px calc(var(--safe-right) + 10px) max(10px,calc(var(--safe-bottom) - 10px)) calc(var(--safe-left) + 10px);background:var(--panel);box-shadow:0 -2px 16px #34455216}#tool-info{gap:8px;padding:0 0 8px}.tool-text strong{font-size:13px}.tool-text span{font-size:10.5px}#variants button{padding:0 7px;font-size:11px}.quick button{padding:0 10px}.quick kbd,#toolbar kbd{display:none}#toolbar{margin:0 -10px;padding:0 10px;scroll-padding:0 10px}#toolbar button{width:64px;height:64px;font-size:10.5px}.navigation{right:calc(var(--safe-right) + 10px);bottom:calc(var(--dock-h) + 10px)}.navigation button{min-width:42px;min-height:42px;box-shadow:0 2px 8px #51616d22}#guide,#settings{left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);width:auto;top:calc(var(--top-h) + 8px);max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 16px);padding:16px 18px}#guide p,#guide li{font-size:12px}#machine-ports{top:auto;left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);bottom:calc(var(--dock-h) + 8px);width:auto;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 16px);padding:10px 12px}.ports-open .navigation{display:none}#recipe-panel{top:auto;left:calc(var(--safe-left) + 10px);right:calc(var(--safe-right) + 10px);bottom:calc(var(--dock-h) + 8px);width:auto;min-height:0;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 24px);padding:10px 12px}.recipe-open .navigation,.ports-open #recipe-panel{display:none}.port-diagram{grid-template-columns:1fr 60px 1fr;grid-template-rows:36px 60px 36px;margin:2px 0;gap:2px}#port-machine{width:60px;height:60px}.ports-heading h2{font-size:15px}.port-slot{padding:2px;min-height:33px}#ports-note,#ports-state{font-size:10.5px;margin:5px 0}#machine-ports[data-mode=placement] .port-diagram{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:44px}#machine-ports[data-mode=placement] #port-machine,#machine-ports[data-mode=placement] .port-slot canvas,#machine-ports[data-mode=placement] #turn-machine,#machine-ports[data-mode=placement] .port-legend{display:none}#machine-ports[data-mode=placement] .port-slot{grid-area:auto;min-width:0;width:100%;min-height:40px}#machine-ports[data-mode=placement] .port-slot:empty{display:none}#machine-ports[data-mode=placement] .port-slot strong{font-size:9.5px}#machine-ports[data-mode=placement] .ports-heading small{display:none}#machine-ports[data-mode=placement] .ports-heading h2{font-size:13px}#machine-ports[data-mode=placement] .ports-heading button{height:34px}}@media(max-width:380px){.reward{display:none}#variants button{padding:0 5px}.quick #direction{display:none}}@media(max-height:520px)and (orientation:landscape){:root{--gap:6px}#topbar{flex-wrap:nowrap;display:flex;align-items:center;gap:10px;padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 12px) 6px calc(var(--safe-left) + 12px);background:var(--panel);border-bottom:1px solid #d2dade;box-shadow:0 2px 12px #34455214}.brand{display:none}.contract{flex:1;width:auto;max-width:none;margin:0;order:0;padding:0;gap:10px;background:none;border:0;box-shadow:none}#panel-thumb{width:60px;height:40px}.thumb-button:after,.steps{display:none}.contract-copy{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px}.contract-meta{grid-column:1}.reward{display:none}.contract h2{grid-column:2;font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#demand{grid-column:3;flex-direction:row;flex-wrap:nowrap;gap:5px;margin:0}.demand-row{display:inline-flex;gap:4px;padding:1px 7px 1px 2px;border-radius:999px;background:#f0f3f6;font-size:11px}.demand-row canvas{width:20px;height:20px}.demand-row.done{background:#e3f4e8}.demand-name,.demand-bar,.demand-check{display:none}.demand-row.done .demand-check{display:inline}.contract #delivery-feedback{grid-column:1/-1;margin:2px 0 0;font-size:10px}#menu-toggle{display:inline-flex}.menu{display:none;position:absolute;top:calc(100% + 8px);right:0;flex-direction:column;gap:2px;min-width:170px;padding:6px;background:#fbfcfc;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #3445522e}.menu.open{display:flex}.menu button{justify-content:flex-start;gap:10px;width:100%;border:0;box-shadow:none;background:transparent;min-height:44px;font-size:14px}#artwork-menu{display:inline-flex}#dock{left:0;right:0;bottom:0;transform:none;width:auto;max-width:none;display:flex;align-items:center;gap:8px;border-radius:14px 14px 0 0;border-width:1px 0 0;padding:6px calc(var(--safe-right) + 10px) max(6px,calc(var(--safe-bottom) - 12px)) calc(var(--safe-left) + 10px);background:var(--panel)}#toolbar{order:0;flex:1;min-width:0;margin:0;padding:0}#tool-info{order:1;padding:0;min-height:0;flex-shrink:0}.tool-text{display:none}#toolbar button{width:58px;height:54px;font-size:10px}#toolbar .tool-art{width:28px;height:28px}#toolbar .tool-icon{width:24px;height:24px;margin:2px 0}.quick kbd,#toolbar kbd,.quick #direction,.quick button span:not(.dir-arrow){display:none}.quick button{padding:0 11px}.navigation{flex-direction:row;right:calc(var(--safe-right) + 12px);bottom:calc(var(--dock-h) + 8px)}.navigation button{min-width:42px;min-height:42px}#guide,#settings{top:calc(var(--top-h) + 6px);max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 14px);right:calc(var(--safe-right) + 12px);left:auto;width:min(440px,calc(100% - 24px))}#machine-ports{top:calc(var(--top-h) + 6px);bottom:auto;left:calc(var(--safe-left) + 12px);right:auto;width:290px;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 14px);padding:8px 12px}.port-diagram{grid-template-rows:30px 50px 30px;grid-template-columns:1fr 50px 1fr}#port-machine{width:50px;height:50px}.ports-heading small{display:none}.ports-open .navigation{display:flex}#recipe-panel{top:calc(var(--top-h) + 6px);bottom:auto;left:auto;right:calc(var(--safe-right) + 12px);width:320px;max-height:calc(100dvh - var(--top-h) - var(--dock-h) - 14px)}}@media(pointer:coarse){#toolbar kbd,.quick kbd{display:none}}.icon-button svg path,#tabs svg path{stroke:#1d232b;stroke-width:1.4;stroke-linejoin:round;paint-order:stroke}#menu-toggle svg{color:#2f6fb5}#tabs [data-cat=all] svg{color:#6a994e}#tabs [data-cat=logistics] svg{color:#2f6fb5}#tabs [data-cat=processing] svg{color:#c0392b}#tabs [data-cat=painting] svg{color:#9b59b6}#tabs [data-cat=storage] svg{color:#e0a43b}#tabs svg,#tabs button[aria-selected=true] svg{filter:saturate(1.1)}#tabs button[aria-selected=true]{background:#fbf3df;color:#7a520f;box-shadow:inset 0 0 0 1px #e2c27c}#artwork-view{position:fixed;z-index:8;inset:0;display:grid;place-items:center;padding:calc(var(--safe-top) + 16px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 16px) calc(var(--safe-left) + 16px);background:#0a0e14b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#artwork-view[hidden]{display:none}.artwork-sheet{width:min(960px,100%);max-height:100%;overflow:auto;padding:16px 18px 18px;background:linear-gradient(180deg,#1d242e,#141a22);color:#f1ead8;border:1.5px solid #c99a3e;border-radius:18px;box-shadow:0 20px 60px #000a,inset 0 0 0 4px #141a22,inset 0 0 0 5px #c99a3e44}.artwork-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.artwork-head small{font-size:11px;font-weight:800;letter-spacing:2px;color:#d9bf86}.artwork-head h2{margin:2px 0 0;font-family:Cinzel,Trajan Pro,Georgia,serif;font-size:24px;font-weight:700;letter-spacing:1px}#close-artwork{min-width:44px;min-height:44px;border:1px solid #c99a3e88;border-radius:10px;background:#232c38;color:#f1ead8;font-size:24px;line-height:1}#artwork-canvas{display:block;width:min(100%,calc((100dvh - 330px)*1.5));min-width:min(100%,420px);aspect-ratio:3/2;margin:0 auto}#artwork-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}#artwork-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:#232c38;border:1px solid #2f3a48}#artwork-steps b{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;transform:rotate(45deg);border:2px solid #14181d;background:#2a3340;color:#c8d2da;font-size:12px}#artwork-steps b i{transform:rotate(-45deg);font-style:normal}#artwork-steps span{font-weight:700;font-size:14px}#artwork-steps small{font-size:11.5px;color:#a9b4be}#artwork-steps li.done b{background:linear-gradient(135deg,#f3d27a,#c99a3e);color:#1d232b}#artwork-steps li.done small{color:#d9bf86}#artwork-steps li.active{border-color:#e9b949;box-shadow:0 0 0 1px #e9b94966}#artwork-steps li.active b{background:#fff6dc;color:#1d232b;box-shadow:0 0 8px #e9b949}#artwork-steps li.active small{color:#f3d27a}#artwork-steps li.next{opacity:.72}#artwork-gallery{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:2px}#artwork-gallery button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:1px solid #2f3a48;border-radius:10px;background:#1a212a;color:#c8d2da;font-size:12px;font-weight:700;cursor:pointer}#artwork-gallery button[aria-pressed=true]{border-color:#c99a3e;color:#f1ead8;background:#232c38}#artwork-gallery button.current span:after{content:" · now";color:#f3d27a}#artwork-gallery canvas{display:block;width:120px;height:80px}@media(max-width:720px),(max-height:520px)and (orientation:landscape){#artwork-view{padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 8px) calc(var(--safe-bottom) + 8px) calc(var(--safe-left) + 8px)}.artwork-sheet{padding:12px}.artwork-head h2{font-size:19px}#artwork-steps{grid-template-columns:1fr}#artwork-steps li{padding:6px 10px}#artwork-gallery canvas{width:96px;height:64px}#artwork-canvas{width:100%;min-width:0}}@media(max-height:520px)and (orientation:landscape){.artwork-sheet{display:grid;grid-template-columns:auto minmax(190px,1fr);grid-template-rows:auto auto 1fr;column-gap:12px;align-items:start}.artwork-head{grid-column:1/-1;margin-bottom:6px}#artwork-canvas{grid-row:2/4;width:calc((100dvh - var(--safe-top) - var(--safe-bottom) - 100px) * 1.5)}#artwork-steps{margin:0;gap:6px}#artwork-gallery{margin-top:8px}#artwork-gallery canvas{width:72px;height:48px}}:root{--lead:#141a22;--lead-2:#1f2731;--lead-3:#2a3441;--came:#c99a3e;--came-hi:#f3d27a;--glass-ink:#f4ead5;--glass-muted:#b9b09f;--paper:#f7f0e1;--paper-2:#efe3c8;--sepia:#3f3121;--sepia-muted:#7a6649;--ruby:#c8402f;--amber:#dd9a2b;--emerald:#2f8a4c;--sapphire:#2f6fc0;--amethyst:#8a56c2;--teal:#2a9d8f;--accent:#a8731b;--accent-soft:#f3e2bb;--line:#dccdae;--muted:#7a6649;--ink:#3b2e1e;--panel:#f7f0e1;--panel-glass:#f7f0e1f8;--lead-frame:0 8px 22px #0b120a66,inset 0 0 0 2px var(--lead),inset 0 0 0 3px #c99a3e3d}button:focus-visible{outline-color:var(--came-hi)}.contract,.icon-button,.menu button,.navigation button,#dock,#status{background:linear-gradient(180deg,var(--lead-2),var(--lead));color:var(--glass-ink);border:1.5px solid var(--came);box-shadow:var(--lead-frame)}.contract{pointer-events:none!important}.contract h2{font-family:Georgia,Iowan Old Style,Times New Roman,serif;font-weight:700;letter-spacing:.2px;color:var(--glass-ink)}.eyebrow{color:var(--came-hi)}.reward{color:var(--glass-muted)}.reward strong,.demand-name,.demand-count{color:var(--glass-ink)}.demand-bar{background:#ffffff1c}.demand-bar i{background:linear-gradient(90deg,var(--came),var(--came-hi))}.demand-row.done .demand-count,.demand-check{color:#7fd69a}.demand-row.done .demand-bar i{background:#4cb36c}.contract #delivery-feedback{color:#f0b46b}.thumb-button{border-radius:8px;box-shadow:0 0 0 2px var(--lead),0 0 0 3px #c99a3e88}.icon-button svg path,#tabs svg path{stroke:#0b0f14}@media(hover:hover){.icon-button:hover,.menu button:hover,.navigation button:hover{background:linear-gradient(180deg,var(--lead-3),var(--lead-2))}}.navigation button{border-radius:50%;min-width:44px;min-height:44px}.spin-handle{background:radial-gradient(circle at 35% 30%,var(--came-hi),var(--came));color:var(--lead);border:2px solid var(--lead);box-shadow:0 0 0 1.5px var(--came),0 4px 12px #0007}#status{border-radius:999px;font-size:12px}.thumb-button{overflow:hidden}.thumb-button:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,#fff0 30%,#fff7e0b0,#fff0 66%);transform:translate(-120%)}.thumb-button.glint:before{animation:glint .9s ease-out}@keyframes glint{to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.thumb-button.glint:before{animation:none}}#tool-info .tool-text strong{color:var(--came-hi)}#tool-info .tool-text span,#tabs button{color:var(--glass-muted)}#tabs button[aria-selected=true]{background:#c99a3e2e;color:var(--came-hi);box-shadow:inset 0 0 0 1px #c99a3e88}.quick button{background:linear-gradient(160deg,var(--lead-3),var(--lead-2));border:1.5px solid #0b0f14;box-shadow:inset 0 1px #ffffff1a,0 0 0 1px #c99a3e55;color:var(--glass-ink)}.dir-arrow{color:var(--came-hi)}.quick kbd,#toolbar kbd{color:#fff6}#variants{background:#00000040;box-shadow:inset 0 0 0 1px #c99a3e44}#variants button{color:var(--glass-muted)}#variants button[aria-pressed=true]{background:#c99a3e;color:var(--lead);box-shadow:none}#toolbar button{--tint:var(--teal);background:linear-gradient(160deg,color-mix(in srgb,var(--tint) 46%,var(--lead-3)),color-mix(in srgb,var(--tint) 22%,var(--lead)));border:2px solid #0b0f14;border-radius:10px;box-shadow:inset 0 1px #ffffff30,inset 0 0 0 1px #ffffff12,0 1px #c99a3e55;color:var(--glass-ink);overflow:hidden}#toolbar button:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffffff38,#fff0 42%),linear-gradient(315deg,#00000038,#0000 40%)}#toolbar [data-cat=logistics]{--tint:var(--sapphire)}#toolbar [data-cat=processing]{--tint:var(--ruby)}#toolbar [data-cat=painting]{--tint:var(--amethyst)}#toolbar [data-cat=storage]{--tint:var(--amber)}#toolbar [data-tool=erase]{--tint:#7a2b24}#toolbar .tool-art,#toolbar .tool-icon{position:relative;filter:drop-shadow(0 1px 1px #0008)}#toolbar .tool-icon{color:var(--glass-ink)}#toolbar [data-tool=erase] .tool-icon{color:#ff8a7a}#toolbar .selected{background:linear-gradient(160deg,color-mix(in srgb,var(--tint) 85%,#fff),color-mix(in srgb,var(--tint) 62%,var(--lead)));border:2px solid var(--came-hi);color:#fff;box-shadow:0 0 0 1px var(--lead),0 0 16px color-mix(in srgb,var(--tint) 70%,#fff0),inset 0 0 12px #fff6}#toolbar .selected .tool-icon{color:#fff}#toolbar button.locked{opacity:.42}#toolbar button.locked:after{background:var(--glass-ink)}@media(hover:hover){#toolbar button:hover:not(.selected){background:linear-gradient(160deg,color-mix(in srgb,var(--tint) 62%,var(--lead-3)),color-mix(in srgb,var(--tint) 32%,var(--lead)))}.quick button:hover{background:var(--lead-3)}}#guide,#settings,#machine-ports,#recipe-panel{background:var(--paper);color:var(--ink);border:1.5px solid var(--came);box-shadow:0 0 0 3px var(--lead),0 14px 36px #0b120a66}#guide h2,#settings h2,.recipe-title h2,.ports-heading h2{font-family:Georgia,Iowan Old Style,Times New Roman,serif;color:var(--sepia)}#guide p,#settings p,.setting small,#settings h3,#ports-note,#ports-state,.ports-heading small,#recipe-count,#close-help,#close-settings,#close-recipe,.ports-heading button{color:var(--sepia-muted)}.segmented{background:var(--paper-2)}.segmented button{color:var(--sepia-muted)}.segmented button[aria-checked=true]{background:#fffaf0;color:var(--sepia)}.recipe-head{border-bottom-color:var(--line)}#recipe-goal canvas{background:none}#recipe-steps li:nth-child(odd){background:#f0e5cd}.recipe-num{background:var(--accent-soft);color:#7a4f0e}.recipe-chip{background:#fffaf0;border-color:var(--line)}.recipe-hub{background:var(--lead);color:var(--came-hi)}.port-legend{border-top-color:var(--line)}@media(max-width:720px){#topbar{gap:8px;padding:calc(var(--safe-top) + 6px) calc(var(--safe-right) + 10px) 7px calc(var(--safe-left) + 10px);background:linear-gradient(180deg,var(--lead-2),var(--lead));border-bottom:2px solid var(--came);box-shadow:0 2px 0 var(--lead),0 6px 16px #0b120a55}.contract{background:none;border:0;box-shadow:none;gap:9px;align-items:center}.thumb-button{align-self:center}#panel-thumb{width:72px;height:48px}.contract h2{font-size:15.5px;margin:0 0 3px;line-height:1.2}.eyebrow{font-size:9px;letter-spacing:1.2px}#demand{flex-wrap:nowrap;gap:4px}.demand-row{gap:3px;padding:1px 7px 1px 2px;background:#ffffff14;box-shadow:inset 0 0 0 1px #c99a3e55;font-size:11px;font-variant-numeric:tabular-nums}.demand-row canvas{width:18px;height:18px}.demand-row.done{background:#2f8a4c40;box-shadow:inset 0 0 0 1px #7fd69a88}.actions{align-self:center;gap:5px}.icon-button{min-width:44px;min-height:44px;border-radius:11px}.menu{background:linear-gradient(180deg,var(--lead-2),var(--lead));border:1.5px solid var(--came);box-shadow:0 0 0 2px var(--lead),0 14px 32px #0009}.menu button{background:transparent;border:0;box-shadow:none;color:var(--glass-ink)}.menu-icon{color:var(--came-hi)}#dock{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:6px;row-gap:6px;border-radius:0;border-width:2px 0 0;padding:6px calc(var(--safe-right) + 8px) max(6px,calc(var(--safe-bottom) - 8px)) calc(var(--safe-left) + 8px);background:linear-gradient(180deg,var(--lead-2),var(--lead));box-shadow:0 -2px 0 var(--lead),0 -6px 16px #0b120a55}#tool-info{display:contents}.tool-text{display:none}#variants{grid-column:1/-1;grid-row:1}#toolbar{grid-column:1;grid-row:2;margin:0;padding:0;scroll-padding:0}.quick{grid-column:2;grid-row:2;gap:5px}#toolbar button{width:58px;height:58px;font-size:10px;gap:1px}#toolbar .tool-art{width:32px;height:32px}#toolbar .tool-icon{width:26px;height:26px;margin:3px 0}.quick button{flex-direction:column;justify-content:center;gap:1px;width:50px;min-height:58px;padding:0;font-size:10px;border-radius:10px}.quick svg{width:20px;height:20px}.dir-arrow{font-size:18px}.navigation{right:calc(var(--safe-right) + 8px);bottom:calc(var(--dock-h) + 8px);gap:5px}.navigation button{min-width:44px;min-height:44px}#status{bottom:calc(var(--dock-h) + 8px)}}@media(max-width:380px){.quick #direction{display:block;font-size:9px}}@media(max-height:520px)and (orientation:landscape){#topbar{background:linear-gradient(180deg,var(--lead-2),var(--lead));border-bottom:2px solid var(--came);box-shadow:0 2px 0 var(--lead),0 6px 16px #0b120a55}.contract{background:none;border:0;box-shadow:none}.demand-row{background:#ffffff14;box-shadow:inset 0 0 0 1px #c99a3e55}.demand-row.done{background:#2f8a4c40}.menu{background:linear-gradient(180deg,var(--lead-2),var(--lead));border:1.5px solid var(--came);box-shadow:0 0 0 2px var(--lead),0 14px 32px #0009}.menu button{background:transparent;border:0;box-shadow:none;color:var(--glass-ink)}.menu-icon{color:var(--came-hi)}#dock{background:linear-gradient(180deg,var(--lead-2),var(--lead));border-radius:0;border-width:2px 0 0;box-shadow:0 -2px 0 var(--lead)}}@media(min-width:721px)and (max-width:1400px){.menu{background:linear-gradient(180deg,var(--lead-2),var(--lead));border:1.5px solid var(--came);box-shadow:0 0 0 2px var(--lead),0 14px 32px #0009}.menu button{background:transparent;border:0;box-shadow:none;color:var(--glass-ink)}.menu-icon{color:var(--came-hi)}}.menu-icon{color:var(--came-hi)}#menu-toggle{display:inline-flex;padding:0}#artwork-menu{display:inline-flex}.menu{display:none;position:absolute;top:calc(100% + 8px);right:0;flex-direction:column;gap:2px;min-width:180px;padding:6px;background:linear-gradient(180deg,var(--lead-2),var(--lead));border:1.5px solid var(--came);border-radius:12px;box-shadow:0 0 0 2px var(--lead),0 14px 32px #0009}.menu.open{display:flex}.menu button{justify-content:flex-start;gap:10px;width:100%;border:0;box-shadow:none;background:transparent;min-height:44px;font-size:14px;color:var(--glass-ink)}.demand-row{position:relative}.recipe-button{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #c99a3e88;border-radius:8px;background:#ffffff10;color:var(--came-hi)}.recipe-button svg{width:16px;height:16px}.recipe-button[aria-expanded=true]{background:#c99a3e40;border-color:var(--came-hi)}@media(hover:hover){.recipe-button:hover{background:#c99a3e30}}.demand-row{grid-template-columns:24px minmax(0,1fr) auto 14px 30px}.demand-row .recipe-button{grid-row:1/3;grid-column:5}@media(min-width:721px)and (min-height:521px){#topbar{justify-content:flex-start;flex-wrap:nowrap}.menu{left:0;right:auto}.contract{position:fixed;top:calc(var(--safe-top) + var(--gap));right:calc(var(--safe-right) + 18px);width:252px;margin:0;order:0;flex-direction:column;align-items:stretch;gap:10px;padding:12px 12px 14px}.thumb-button{align-self:stretch}#panel-thumb{width:100%;height:auto;aspect-ratio:3/2}.contract-meta{flex-wrap:wrap;row-gap:4px}.reward{flex-basis:100%}.contract h2{white-space:normal;line-height:1.2;margin:4px 0 8px}#demand{gap:8px}#recipe-panel,#guide,#settings{top:calc(var(--safe-top) + var(--gap));right:calc(var(--safe-right) + 18px + 252px + 12px);max-height:calc(100dvh - var(--safe-top) - var(--gap) - var(--dock-h) - 24px)}}@media(min-width:721px)and (max-width:1000px)and (min-height:521px){.ports-open #recipe-panel{display:none}}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.demand-row .recipe-button{position:static;width:auto;height:auto;border:0;background:none;padding:0 0 0 2px}.demand-row .recipe-button svg{width:13px;height:13px}.demand-row .recipe-button:after{content:"";position:absolute;inset:-7px -2px;border-radius:999px}.demand-row:has(.recipe-button[aria-expanded=true]){box-shadow:inset 0 0 0 1.5px var(--came-hi)}}
