/* One work surface: required materials first, extras only when requested. */
.workbench{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;max-width:calc(100% - 68px);box-sizing:border-box}
.toolkit{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;min-width:0;width:100%}
.toolkit-caption{min-width:0;padding-right:12px}.toolkit-caption>span{font-size:11px}
.tool-tray{display:flex;flex-wrap:wrap;gap:9px;min-width:0;align-items:center;overflow:visible}
.tool-tray>.tool-card{flex:0 1 auto;min-width:120px;max-width:190px;box-sizing:border-box}
.tool-card small{white-space:normal;line-height:1.5;max-width:140px}.tool-card.ability-tool{min-width:136px}
.used-parts{position:relative;margin-left:0;flex:0 0 auto;align-self:center}
.used-parts>summary{font-size:10px;white-space:nowrap;color:#87927b;padding:9px 10px}
.used-parts[open]>div{position:absolute;bottom:calc(100% + 16px);left:0;z-index:30;width:min(470px,calc(100vw - 80px));box-sizing:border-box;display:flex;flex-wrap:wrap;padding:16px;gap:12px;background:#fffcf2;border:1px solid #c7cfbb;border-radius:12px;box-shadow:0 8px 24px #47553922}
.used-parts[open]{max-width:none;padding:0;border:0;background:none}
.action-dock{min-width:0;gap:14px;max-width:440px}.action-dock .delivery-card{max-width:225px}.action-dock .delivery-card .stamp{font-size:12px}.action-dock .delivery-card p{font-size:10px;max-width:220px}
.run-button{min-width:150px;max-width:210px}.run-button strong{white-space:normal;line-height:1.6}
.first-move,.hint-card{pointer-events:auto;max-width:280px;padding:14px 32px 14px 16px;background:#fffcf0f5;border-color:#d8d2b9;box-shadow:0 3px 0 #9f9b8120}
/* Only a current policy decision may reveal a coach. A stale drag helper or
   an old hidden=false write must never revive the assembly instructions. */
.first-move[hidden],.hint-card[hidden],.first-move:not([data-coach-reason]),.hint-card:not([data-coach-reason]){display:none!important}
.first-move>button,.hint-card>button{position:absolute;right:9px;top:8px;color:#9b9e87;font-size:16px;line-height:1;padding:4px}
.hint-card>span,.first-move>span{display:block;font-size:9px;color:#9b957e;margin-bottom:6px;letter-spacing:.3px}.hint-card>strong,.first-move>strong{display:block;font-size:12px;line-height:1.7;font-weight:500;color:#51664f}
.hint-card>small,.first-move>small{display:block;font-size:10px;line-height:1.8;margin:6px 0 0;color:#87917c}
.browser-lights{display:flex;gap:5px;flex-shrink:0}.browser-lights i{width:6px;height:6px;border-radius:50%;background:#aebaa4}.browser-tab{font-size:10px;color:#69816b;padding:7px 15px;background:#fafbf3;border-radius:7px 7px 0 0;align-self:end;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-browser{display:flex;align-items:center;gap:14px;padding:0 15px;min-height:36px}.browser-address{margin-left:auto;background:#f6f8ef;border:1px solid #dfe5d5;border-radius:5px;padding:4px 12px;color:#8c9980;font-size:9px;letter-spacing:.3px}.browser-address i{font-style:normal;margin-right:4px}
.quiet-closure h3{font-size:30px;line-height:1.5;font-weight:550;letter-spacing:0;margin:12px 0 16px}.quiet-closure>small{color:#98a08c;font-size:10px;letter-spacing:.5px}.quiet-closure>p{font-size:12px;line-height:1.8;max-width:36em;margin:15px auto 22px;color:#7b8b72}.quiet-closure .checkpoint-route{margin:8px auto 16px;max-width:380px}.quiet-closure .checkpoint-route svg{height:130px}.quiet-closure .checkpoint-route span{font-size:10px;color:#85957a}.quiet-closure .primary-button{margin-top:18px}.checkpoint-links{margin-top:18px}.checkpoint-links button{font-size:10px}
.closure-note{font-size:15px;line-height:1.9;color:#52694f;text-align:left;background:#edf0e2;border:0;border-radius:6px;padding:18px 24px;margin:18px auto 24px;max-width:460px;max-height:150px;overflow:auto}.closure-note small{display:block;margin-top:10px;color:#98a18b;font-size:9px}
.ending-witness{display:flex;gap:20px;align-items:center;justify-content:center;margin:20px auto 10px}.ending-witness>div{width:170px}.ending-witness svg{width:100%;height:150px}.ending-witness>i{font-style:normal;color:#b4bea9;letter-spacing:6px}.ending-witness span{display:block;font-size:11px;color:#809174}.journey-ending .ending-evidence{font-size:13px}.journey-ending .ending-note{font-size:9px;line-height:1.8;max-width:34em;margin:22px auto 0}.ending-map{font-size:12px!important}
.ai-world-card span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}.ai-world-card.review-empty{border-style:dashed;background:#faf8eac9;color:#8d9780}.review-empty>small{color:#96a08b}.review-turn #dialog-content{animation:review-breath .35s ease-out both}.quiet-closure{animation:quiet-arrive .5s ease-out both}.quiet-closure .primary-button{animation:quiet-arrive .5s .16s ease-out both}
@keyframes quiet-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes review-breath{0%{opacity:.25;transform:translateY(3px)}100%{opacity:1;transform:none}}
@media(max-width:1080px){.workbench{grid-template-columns:minmax(0,1fr) auto;margin:0 20px 22px;max-width:calc(100% - 40px);gap:12px}.toolkit{grid-template-columns:minmax(0,1fr)}.toolkit-caption{display:none}.action-dock .delivery-card{display:none}.tool-tray>.tool-card{min-width:115px;padding:8px}.tool-card.ability-tool{min-width:124px}.tool-card strong{font-size:11px}.run-button{min-width:138px}.tool-card small{font-size:9px}}
@media(max-width:640px){.workbench{grid-template-columns:minmax(0,1fr);margin:0 12px 20px;max-width:calc(100% - 24px);gap:16px}.toolkit{display:block}.tool-tray{justify-content:flex-start}.tool-tray>.tool-card{flex:1 1 120px;max-width:none}.tool-card svg{flex-shrink:0}.action-dock,.run-controls,.run-button{width:100%;max-width:none}.run-controls{align-items:stretch}.first-move,.hint-card{max-width:calc(100vw - 64px)}.used-parts[open]>div{left:0;width:calc(100vw - 64px)}.ending-witness{gap:9px}.ending-witness>div{width:125px}.ending-witness svg{height:120px}.quiet-closure h3{font-size:25px}.browser-tab{max-width:34%;padding:7px 9px}.product-browser{gap:9px}}
@media(prefers-reduced-motion:reduce){.quiet-closure,.quiet-closure .primary-button,.review-turn #dialog-content{animation:none}}
:root[data-motion="off"] .quiet-closure,:root[data-motion="off"] .quiet-closure .primary-button,:root[data-motion="off"] .review-turn #dialog-content{animation:none}
/* Extras are anchored to the tray, so a summary near the right edge can't
   push its popover off-screen. The model cartridge sits on its base. */
.toolkit{position:relative}.used-parts{position:static}.used-parts[open]>div{left:0;right:auto}
.machine[data-machine="model"] .ability-rack{top:104px;left:48px;min-width:82px;min-height:31px;max-width:88px;box-sizing:border-box}
/* Hover changes the material, not the illustration's alignment to its sockets. */
.machine-main:hover{transform:none}
