:root{--ink:#19251f;--cream:#f4efe2;--paper:#fffdf7;--red:#ef4b35;--yellow:#f7c948;--green:#1f7653;--muted:#7b817b;--line:#d9d4c7;--shadow:0 18px 50px rgba(30,43,35,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"PingFang TC","Microsoft JhengHei",system-ui,sans-serif;min-height:100vh;background-image:radial-gradient(#c6c1b5 1px,transparent 1px);background-size:20px 20px}button{font:inherit;color:inherit}.hidden{display:none!important}.game-shell{min-height:100vh;max-width:1600px;margin:auto;background:rgba(244,239,226,.92)}
.topbar{height:86px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px}.brand p,.eyebrow{font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.17em;margin:0 0 4px;color:var(--red)}.brand h1{font-size:21px;line-height:1;margin:0;font-weight:900;letter-spacing:.08em}.sun-mark{width:38px;height:38px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:var(--yellow)}.sun-mark span{width:13px;height:13px;background:var(--red);border-radius:50%;box-shadow:0 -8px 0 -5px var(--ink),0 8px 0 -5px var(--ink),8px 0 0 -5px var(--ink),-8px 0 0 -5px var(--ink)}.day-stats{display:flex;height:100%;align-items:stretch}.day-stats>div{padding:14px 24px;min-width:110px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.day-stats small{font:700 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;color:var(--muted)}.day-stats strong{font:800 21px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.icon-button{width:64px;border:0;border-left:1px solid var(--line);background:transparent;font-size:21px;cursor:pointer}.icon-button.off{opacity:.35}
.intro-screen{min-height:calc(100vh - 86px);display:grid;grid-template-columns:.88fr 1.12fr;overflow:hidden}.intro-copy{padding:9vh 6vw;display:flex;flex-direction:column;justify-content:center}.intro-copy h2{font-size:clamp(50px,6vw,104px);line-height:.93;letter-spacing:-.075em;margin:18px 0 28px;max-width:680px}.lede{font-size:17px;line-height:1.9;max-width:570px;color:#4b554f}.primary,.secondary{border:2px solid var(--ink);padding:13px 20px;font-weight:800;cursor:pointer;transition:.16s;box-shadow:3px 3px 0 var(--ink)}.primary{background:var(--red);color:white}.primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}.primary:disabled{opacity:.38;cursor:not-allowed;transform:none}.primary.big{font-size:17px;padding:17px 24px;width:max-content;min-width:240px;display:flex;justify-content:space-between}.secondary{background:var(--paper)}.secondary:hover{background:var(--yellow)}.small-note{font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);margin-top:18px}.intro-visual{background:var(--green);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:2px solid var(--ink);overflow:hidden}.intro-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.07) 40.5%,transparent 41%)}.awning{position:absolute;top:0;width:100%;height:90px;display:flex}.awning i{flex:1;background:var(--paper);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);border-radius:0 0 24px 24px}.awning i:nth-child(even){background:var(--red)}.shop-sign{z-index:1;background:var(--yellow);border:3px solid var(--ink);padding:18px 65px;transform:rotate(-2deg);text-align:center;box-shadow:8px 8px 0 var(--ink)}.shop-sign span{display:block;font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.2em}.shop-sign b{font-size:46px;letter-spacing:.18em}.counter-scene{z-index:1;margin-top:45px;width:68%;height:260px;background:#e8dfc9;border:3px solid var(--ink);border-radius:160px 160px 0 0;position:relative;display:flex;align-items:flex-end;justify-content:center;box-shadow:10px 10px 0 rgba(25,37,31,.5)}.cook{font-size:90px;margin-bottom:40px;filter:drop-shadow(2px 3px 0 #19251f)}.griddle{position:absolute;right:12%;bottom:17px;background:#333b36;padding:13px 25px;border:2px solid var(--ink);font-size:38px}.ticket{position:absolute;left:5%;bottom:30px;background:var(--paper);border:2px solid var(--ink);padding:13px;transform:rotate(-6deg);font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ticket b{font:700 14px "PingFang TC","Microsoft JhengHei",system-ui,sans-serif}.steam{position:absolute;color:white;font-size:35px;animation:steam 2s infinite}.s1{right:18%;bottom:95px}.s2{right:25%;bottom:105px;animation-delay:.8s}.mapping-preview{z-index:1;margin-top:34px;display:flex;gap:14px;align-items:center;color:white;font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}.mapping-preview span{border:1px solid rgba(255,255,255,.5);padding:9px 12px}@keyframes steam{from{transform:translateY(10px);opacity:0}50%{opacity:1}to{transform:translateY(-18px);opacity:0}}
.game{padding-bottom:26px}.game-toolbar{height:54px;background:var(--ink);color:white;display:flex;align-items:center;padding:0 28px;gap:28px}.shift{font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px;box-shadow:0 0 0 4px rgba(239,75,53,.17)}.progress-wrap{display:flex;align-items:center;gap:12px;margin-left:auto;font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.progress{width:180px;height:7px;background:#465149}.progress i{display:block;height:100%;background:var(--yellow);width:0;transition:.4s}.flow-speed{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;font-weight:800}.flow-speed select{min-width:64px;border:1px solid #738078;border-radius:4px;background:#fffdf7;color:var(--ink);padding:5px 7px;font-size:12px;font-weight:800;cursor:pointer}.flow-speed select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.text-button{border:0;background:transparent;color:white;text-decoration:underline;font-size:12px;cursor:pointer}.game-grid{display:grid;grid-template-columns:270px minmax(440px,1fr) 330px;min-height:610px;border-bottom:2px solid var(--ink)}.panel{background:var(--paper);padding:20px;border-right:1px solid var(--line)}.panel:last-child{border:0}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-title>div{display:flex;align-items:center;gap:9px}.panel-title span{font:700 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red)}.panel-title h3{font-size:15px;margin:0}.panel-title>b{font:700 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--ink);color:white;padding:4px 8px;border-radius:20px}.panel-title>small{font:700 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}
.queue{display:flex;flex-direction:column;gap:10px}.queue-card{border:1px solid var(--line);background:#faf7ef;padding:12px;display:grid;grid-template-columns:42px 1fr;gap:10px;cursor:pointer;position:relative;transition:.15s}.queue-card:hover,.queue-card.active{border-color:var(--ink);box-shadow:3px 3px 0 var(--yellow);transform:translate(-1px,-1px)}.queue-card.active{background:#fff3cc}.queue-card .face{font-size:27px}.queue-card small{font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.queue-card p{font-weight:700;font-size:12px;line-height:1.4;margin:3px 0}.patience{position:absolute;left:0;bottom:0;width:100%;height:3px;background:#e0ddd5}.patience i{display:block;height:100%;background:var(--green);transition:.4s}.queue-tip{position:absolute;bottom:20px;width:228px;background:#e8efe9;padding:12px;border-left:3px solid var(--green)}.queue-panel{position:relative}.queue-tip b{font:700 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--green)}.queue-tip p{font-size:11px;line-height:1.55;margin:4px 0 0;color:#506057}
.workbench{padding:20px 30px}.order-timer{font:700 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red)}.empty-order{height:480px;display:grid;place-content:center;text-align:center;color:#9b9e98}.empty-order div{font-size:42px;animation:point 1.8s infinite}.empty-order p{font-size:13px;line-height:1.7}@keyframes point{50%{transform:translateX(-8px)}}.customer-line{display:flex;gap:15px;align-items:flex-start;background:#f6f0e3;border:1px solid var(--line);padding:15px}.avatar{font-size:34px}.customer-line small,.prompt-preview small{font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.1em;color:var(--muted)}.customer-line p{font-size:17px;font-weight:700;line-height:1.55;margin:4px 0}.warning{background:#fff0ed;color:#a22b1c;border-left:3px solid var(--red);font-size:11px;font-weight:700;padding:8px 10px;margin-top:8px}.context-meter{margin:15px 0}.context-meter>div:first-child{display:flex;justify-content:space-between;font:700 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}.context-meter b{color:var(--muted)}.context-meter em{font-style:normal}.meter{height:8px;margin-top:6px;background:#e1ded6}.meter i{height:100%;display:block;width:0;background:var(--green);transition:.2s}.meter i.over{background:var(--red);animation:blink .7s infinite}@keyframes blink{50%{opacity:.5}}.prompt-builder{display:grid;gap:9px}.prompt-row{display:grid;grid-template-columns:85px 1fr;gap:10px;align-items:start}.prompt-row>label{font-size:11px;font-weight:800;padding-top:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:white;border:1px solid #bbb8af;padding:7px 10px;font-size:11px;font-weight:600;cursor:pointer}.chip:hover{border-color:var(--ink)}.chip.selected{background:var(--ink);color:white;border-color:var(--ink)}.chip.revealed{box-shadow:0 0 0 2px var(--yellow)}.chip.noise{border-style:dashed;color:#777}.prompt-preview{margin-top:14px;padding:10px 12px;background:#e9f0ec;border-left:3px solid var(--green);min-height:56px}.prompt-preview p{font:700 11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:4px 0;color:#294739}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.actions button{font-size:12px}.actions small{font-size:9px;opacity:.65;margin-left:4px}
.agent-list{display:flex;flex-direction:column;gap:8px}.agent-card{border:1px solid var(--line);display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;padding:9px;background:#faf8f1;transition:.25s}.agent-card.working{background:#fff2c8;border-color:var(--ink);transform:translateX(-4px);box-shadow:4px 0 0 var(--yellow)}.agent-card.done{background:#e5f1ea}.agent-icon{width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-weight:900;background:white}.manager{background:var(--yellow)}.agent-card small{display:block;font:700 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.agent-card b{display:block;font-size:12px}.agent-card p{font-size:9px;color:var(--muted);margin:1px 0}.status{font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted)}.working .status{color:var(--red)}.system-controls{margin-top:16px;border-top:1px solid var(--line)}.system-controls label{display:flex;align-items:center;justify-content:space-between;padding:13px 2px;border-bottom:1px solid var(--line);cursor:pointer}.system-controls b,.system-controls small{display:block;font-size:11px}.system-controls small{font-size:8px;color:var(--muted)}.system-controls input{display:none}.system-controls i{width:34px;height:19px;background:#bbb;border-radius:20px;position:relative}.system-controls i:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s}.system-controls input:checked+i{background:var(--green)}.system-controls input:checked+i:after{left:18px}
.skill-dock{margin:20px 24px 0;border:2px solid var(--ink);background:var(--paper);display:flex;align-items:center;gap:12px;padding:13px 16px;box-shadow:5px 5px 0 var(--ink)}.skill-dock>div{margin-right:auto;min-width:190px}.skill-dock h3{font-size:13px;margin:2px 0}.skill-card{min-width:205px;display:grid;grid-template-columns:32px 1fr auto;gap:7px;align-items:center;text-align:left;background:#f8f4e9;border:1px solid var(--line);padding:9px;cursor:pointer}.skill-card>span{font-size:23px}.skill-card b,.skill-card small{display:block;font-size:10px}.skill-card small{font-size:8px;color:var(--muted)}.skill-card i{font:700 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal;color:var(--red)}.skill-card.equipped{background:#e3efe8;border-color:var(--green)}.skill-card.equipped i{color:var(--green)}.skill-card.locked{filter:grayscale(.7)}
.toast{position:fixed;z-index:20;left:50%;top:100px;transform:translate(-50%,-20px);background:var(--ink);color:white;padding:12px 18px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s;box-shadow:4px 4px 0 var(--yellow)}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.good{background:var(--green)}.toast.bad{background:var(--red)}
.modal{width:min(650px,calc(100vw - 30px));border:2px solid var(--ink);padding:32px;background:var(--paper);box-shadow:10px 10px 0 var(--ink);color:var(--ink)}.modal::backdrop{background:rgba(20,29,24,.75);backdrop-filter:blur(3px)}.modal-badge{font:700 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;color:var(--red)}.modal h2{font-size:28px;margin:8px 0}.modal>p{line-height:1.65;color:#58605b}.approval-summary{background:#f3eddf;padding:15px;border:1px solid var(--line);font:700 12px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.close{position:absolute;right:18px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.concept-grid div{border:1px solid var(--line);padding:12px;background:#f8f4e9}.concept-grid b{font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--green)}.concept-grid p{font-size:11px;line-height:1.5;margin:5px 0}.result-modal{text-align:center}.result-score{width:160px;height:160px;margin:20px auto;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);display:flex;flex-direction:column;justify-content:center;box-shadow:7px 7px 0 var(--ink)}.result-score strong{font:900 54px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.result-score span{font-size:10px;font-weight:800}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.result-grid div{padding:14px;border-right:1px solid var(--line)}.result-grid div:last-child{border:0}.result-grid small,.result-grid b{display:block}.result-grid b{font:800 18px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.result-lesson{background:#e7efe9;padding:12px!important;font-size:12px}.result-modal .big{margin:20px auto 0}
@media(max-width:1050px){.game-grid{grid-template-columns:230px 1fr}.kitchen-panel{grid-column:1/-1;border-top:1px solid var(--line)}.agent-list{display:grid;grid-template-columns:1fr 1fr}.system-controls{display:flex;gap:30px}.system-controls label{flex:1}.skill-dock{overflow:auto}.intro-screen{grid-template-columns:1fr}.intro-visual{display:none}}@media(max-width:720px){.topbar{height:70px;padding:0 14px}.brand p{display:none}.day-stats>div{padding:10px;min-width:auto}.day-stats>div:first-child{display:none}.game-grid{display:block}.queue-panel{min-height:180px}.queue{display:grid;grid-template-columns:1fr 1fr}.queue-tip{display:none}.workbench{padding:18px}.skill-dock{margin:12px;align-items:stretch}.skill-dock>div{display:none}.skill-card{min-width:180px}.intro-copy{padding:12vh 8vw}.intro-copy h2{font-size:58px}.concept-grid{grid-template-columns:1fr}.game-toolbar{padding:0 12px}.progress-wrap{display:none}}

/* Generated game-art integration and observability layer. */
.hero-cook{position:absolute;width:245px;height:245px;object-fit:contain;object-position:center bottom;bottom:28px;left:50%;transform:translateX(-50%);filter:drop-shadow(4px 7px 0 rgba(25,37,31,.35));animation:cookIdle 2.4s ease-in-out infinite}
@keyframes cookIdle{50%{transform:translateX(-50%) translateY(-5px) rotate(1deg)}}
.agent-icon.chef{overflow:hidden;background:var(--cream);border-radius:12px}.agent-icon.chef img{width:145%;height:145%;object-fit:contain;object-position:center 15%;transform:translateY(7px)}
.agent-icon.rag{background:#dcece6;border-radius:10px}.trace-panel{margin-top:14px;border:1px solid var(--ink);background:#26383d;color:#fff;padding:10px 12px;box-shadow:3px 3px 0 var(--yellow)}.trace-panel>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.trace-panel b{font:800 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;color:var(--yellow)}.trace-panel small{font-size:8px;color:#b8c8c4}.trace-panel ol{list-style:none;margin:8px 0 0;padding:0;max-height:88px;overflow:auto}.trace-panel li{font:600 9px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:4px 0 4px 16px;border-top:1px solid rgba(255,255,255,.12);position:relative}.trace-panel li:before{content:"";position:absolute;left:1px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--yellow)}.trace-panel li.error:before{background:var(--red)}.trace-panel li.success:before{background:#66d38a}.causal-receipt{text-align:left;margin:14px 0 0;background:#fffaf0;border:1px dashed var(--ink);padding:14px;max-height:155px;overflow:auto}.causal-receipt>b{font:800 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}.causal-receipt ol{margin:8px 0 0;padding-left:20px}.causal-receipt li{font-size:11px;line-height:1.55;margin:4px 0}.hallucinating{animation:hallucinate .25s ease-in-out 3;background:#ffe5df!important}@keyframes hallucinate{50%{transform:translateX(4px) rotate(1deg)}}
@media(max-width:1050px){.trace-panel{grid-column:1/-1}.system-controls{flex-wrap:wrap}.system-controls label{min-width:240px}.hero-cook{width:220px;height:220px}}

/* Spatial gameplay frame: the shop is the system diagram. */
.topbar{height:68px;padding:0 24px}.day-stats>div{padding:8px 18px}.game{height:calc(100dvh - 68px);display:grid;grid-template-rows:44px minmax(0,1fr) 76px;overflow:hidden;padding:0}.game-toolbar{height:44px;padding:0 20px}.game-grid{display:grid;grid-template-columns:minmax(680px,1fr) 390px;min-height:0;height:auto;border-bottom:0;overflow:hidden}.kitchen-stage{min-width:0;min-height:0;background:#d8d0bd;border-right:2px solid var(--ink);display:grid;grid-template-rows:38px 48px minmax(250px,1fr) 116px;overflow:hidden;position:relative}.stage-heading{display:flex;justify-content:space-between;align-items:center;padding:0 16px;background:#26383d;color:#fff}.stage-heading b{font-size:13px;letter-spacing:.08em}.stage-heading small{font-size:12px;color:#d4dfdc}.context-rail-wrap{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:12px;padding:6px 14px;background:#fff7e4;border-bottom:2px solid var(--ink)}.context-rail-wrap>div:first-child{display:flex;flex-direction:column}.context-rail-wrap b{font:800 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--green)}.context-rail-wrap span{font-size:12px}.context-rail{height:32px;display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.context-rail i{display:block;border:2px solid #89958e;background:#f3eee2;position:relative;overflow:hidden}.context-rail i:before{content:"EMPTY";position:absolute;inset:0;display:grid;place-items:center;font:700 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9aa39d}.context-rail i.filled{background:var(--yellow);border-color:var(--ink);animation:ticketSnap .18s ease-out}.context-rail i.filled:before{content:attr(data-label);color:var(--ink);font-size:8px;padding:2px;text-align:center}.context-rail i.ejected{animation:ejectTicket .48s ease-in forwards}@keyframes ticketSnap{0%{transform:translateY(-16px) rotate(-4deg)}70%{transform:translateY(2px)}100%{transform:none}}@keyframes ejectTicket{to{transform:translateY(55px) rotate(12deg);opacity:0}}
.kitchen-floor{position:relative;overflow:hidden;background-color:#ebe4d4;background-image:linear-gradient(30deg,rgba(38,56,61,.07) 12%,transparent 12.5%,transparent 87%,rgba(38,56,61,.07) 87.5%),linear-gradient(150deg,rgba(38,56,61,.07) 12%,transparent 12.5%,transparent 87%,rgba(38,56,61,.07) 87.5%);background-size:28px 48px}.tile-wall{position:absolute;inset:0 0 auto;height:64px;background:repeating-linear-gradient(90deg,#1d8279 0 58px,#166d66 59px 61px),repeating-linear-gradient(0deg,transparent 0 29px,rgba(255,255,255,.18) 30px 31px);box-shadow:0 5px 14px rgba(38,56,61,.2)}.awning-shadow{position:absolute;inset:0 auto auto 0;width:36%;height:18px;background:repeating-linear-gradient(90deg,rgba(213,75,50,.18) 0 28px,rgba(255,241,209,.2) 28px 56px);transform:skewX(-28deg);transform-origin:left top}.scooter-shadow{position:absolute;right:1%;bottom:3%;width:90px;height:28px;border-radius:50%;background:rgba(38,56,61,.09);filter:blur(5px)}
.station{position:absolute;border:2px solid var(--ink);box-shadow:4px 5px 0 rgba(38,56,61,.28);padding:8px 10px;z-index:1}.station strong,.station span{display:block}.station strong{font:900 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.05em}.station span{font-size:12px;font-weight:700}.station-prompt{left:3%;top:35%;width:152px;height:85px;background:#d54b32;color:white;border-radius:4px 4px 4px 28px}.station-prompt i{display:block;margin-top:6px;font-size:11px;font-style:normal;border-top:2px solid rgba(255,255,255,.5)}.station-rag{right:2%;top:8%;width:138px;height:132px;background:#a9d2b9}.station-rag .drawer{display:block;height:16px;margin-top:4px;border:1px solid var(--ink);background:#eaf3e7;position:relative}.station-rag .drawer:after{content:"";position:absolute;left:50%;top:5px;width:16px;border-top:2px solid var(--ink)}.station-griddle{left:30%;top:12%;width:190px;height:108px;background:#3d4949;color:#fff;border-radius:80px 80px 4px 4px;padding-top:42px}.station-griddle .hood{position:absolute;left:24px;right:24px;top:12px;height:24px;border-radius:60px 60px 0 0;background:#647171;border:2px solid #172326}.station-tools{left:27%;bottom:8%;width:220px;height:88px;background:#596362;color:#fff}.station-tools .burner{display:inline-block;width:34px;height:34px;border:4px double #f8d45c;border-radius:50%;margin:5px 8px 0 0}.station-harness{right:22%;bottom:8%;width:170px;height:92px;background:#1d8279;color:white}.station-harness .check-light{position:absolute;right:10px;top:10px;width:14px;height:14px;border-radius:50%;background:#4fb36b;box-shadow:0 0 0 4px rgba(79,179,107,.2)}.station-pass{right:3%;top:51%;width:145px;height:74px;background:#fff1d1;text-align:center;border-radius:36px 36px 4px 4px}.station-pass .bell{display:block;width:32px;height:18px;margin:4px auto 0;border-radius:18px 18px 2px 2px;background:#b8c2c0;border:2px solid var(--ink)}
.workflow-path{position:absolute;inset:5% 2% 2%;width:96%;height:93%;z-index:0;pointer-events:none}.workflow-path path{fill:none;stroke:#fff7d6;stroke-width:2.1;stroke-dasharray:3 2;marker-end:url(#flowArrow);filter:drop-shadow(0 1px 0 #26383d);vector-effect:non-scaling-stroke}.workflow-path marker path{fill:#ffc83d;stroke:#26383d;stroke-width:1}
.crew.agent-card{position:absolute;z-index:4;width:118px;min-height:48px;display:flex;gap:7px;align-items:center;padding:5px 7px;border:0;background:transparent;box-shadow:none;transform:none}.crew.agent-card.working{background:#fff7d6;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--yellow);animation:crewWork .45s ease-in-out infinite alternate}.crew.agent-card.done{filter:none}.crew.agent-card.done .crew-avatar{box-shadow:0 0 0 4px rgba(79,179,107,.45)}.crew-avatar{flex:0 0 44px;width:44px;height:44px;border:2px solid var(--ink);border-radius:16px;display:grid;place-items:center;background:#fff;font-weight:900;overflow:hidden}.crew-avatar.chef img{width:78px;height:98px;object-fit:contain;object-position:center top;transform:translateY(9px)}.crew small{font:800 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#26383d}.crew b{display:block;font-size:12px;white-space:nowrap}.crew .status{position:absolute;left:54px;top:34px;font-size:11px;font-weight:800;color:var(--red)}.crew-manager{left:4%;top:61%}.crew-rag{right:2%;top:3%}.crew-chef{left:32%;top:2%}.crew-tools{left:29%;bottom:2%}.crew-harness{right:24%;bottom:2%}@keyframes crewWork{to{transform:translateY(-3px) scale(1.02)}}
.workflow-ticket{position:absolute;z-index:6;width:86px;height:52px;background:#fffdf7;border:2px solid var(--ink);box-shadow:3px 4px 0 rgba(38,56,61,.25);left:12%;top:48%;padding:6px;transition:left .5s cubic-bezier(.2,.8,.2,1),top .5s cubic-bezier(.2,.8,.2,1),transform .2s}.workflow-ticket small{font:800 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red)}.workflow-ticket b{display:block;font-size:12px}.workflow-ticket[data-stage="rag"]{left:78%;top:25%}.workflow-ticket[data-stage="llm"]{left:46%;top:26%}.workflow-ticket[data-stage="tools"]{left:46%;top:68%}.workflow-ticket[data-stage="harness"]{left:70%;top:69%}.workflow-ticket[data-stage="pass"]{left:83%;top:53%;transform:rotate(-3deg)}.pass-result{position:absolute;right:2%;top:43%;z-index:7;width:155px;text-align:center;font-weight:900;pointer-events:none}.pass-result.success,.pass-result.error{padding:8px;background:#fff;border:3px solid var(--ink);animation:resultPop 1.2s both}.pass-result.success{color:var(--green);box-shadow:5px 5px 0 #4fb36b}.pass-result.error{color:var(--red);box-shadow:5px 5px 0 var(--red)}@keyframes resultPop{0%{transform:scale(.5) rotate(-6deg);opacity:0}20%,80%{transform:scale(1);opacity:1}100%{transform:translateY(-14px);opacity:0}}
.food-object{position:absolute;z-index:8;width:82px;margin:0;display:grid;justify-items:center;transition:left .48s cubic-bezier(.2,.8,.2,1),top .48s cubic-bezier(.2,.8,.2,1),transform .25s,opacity .2s;pointer-events:none}.food-object img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(2px 4px 0 rgba(38,56,61,.24))}.food-object span{margin-top:-5px;max-width:96px;white-space:nowrap;border:2px solid var(--ink);border-radius:12px;background:#fff;padding:2px 7px;font-size:11px;font-weight:900}.food-object[data-stage="llm"]{left:48%;top:36%;opacity:.55}.food-object[data-stage="tools"]{left:45%;top:62%}.food-object[data-stage="harness"]{left:68%;top:62%}.food-object[data-stage="pass"]{left:82%;top:45%}.food-object.cooking img{animation:foodCook .35s ease-in-out infinite alternate;filter:saturate(.6) drop-shadow(2px 4px 0 rgba(38,56,61,.24))}.food-object.cooking:before{content:"〰";position:absolute;top:-11px;color:#fff;font-size:28px;font-weight:900;animation:steamRise .7s ease-out infinite}.food-object.ready img{animation:foodReady .28s ease-out}.food-object.served{transform:scale(1.12) rotate(-3deg)}.food-object.served span{background:#e1f2e6;color:#277d43}.food-object.rejected{filter:grayscale(.55);transform:rotate(7deg)}.food-object.rejected span{background:#ffe5df;color:var(--red)}@keyframes foodCook{to{transform:translateY(-3px) rotate(2deg)}}@keyframes steamRise{to{transform:translateY(-12px);opacity:0}}@keyframes foodReady{50%{transform:scale(1.16)}}
.customer-lane{background:#fff8e8;border-top:2px solid var(--ink);display:grid;grid-template-columns:150px 1fr;gap:10px;padding:9px 12px;min-height:0}.lane-title{display:flex;flex-direction:column;justify-content:center}.lane-title b{font:900 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red)}.lane-title span{font-size:13px;font-weight:700}.lane-title em{font-style:normal;font-size:20px}.customer-lane .queue{display:flex;gap:8px;overflow-x:auto;min-width:0}.customer-lane .queue-card{flex:0 0 156px;min-height:84px;padding:8px;grid-template-columns:34px 1fr}.customer-lane .queue-card .face{font-size:24px}.customer-lane .queue-card p{font-size:13px}.customer-lane .patience{height:6px}.queue-card.urgent{animation:urgentTicket 1.1s ease-in-out infinite}@keyframes urgentTicket{50%{transform:translateY(-4px);box-shadow:0 5px 0 var(--red)}}
.command-panel{background:var(--paper);padding:14px 16px;overflow-y:auto;min-height:0}.command-panel .panel-title{position:sticky;top:-14px;background:var(--paper);z-index:3;padding:9px 0;margin-bottom:10px}.command-panel .empty-order{height:240px}.command-panel .customer-line{padding:10px}.command-panel .customer-line p{font-size:15px}.command-panel .prompt-row{grid-template-columns:66px 1fr}.command-panel .chip{font-size:12px;padding:6px 8px}.command-panel .trace-panel{margin-top:14px}.command-panel .system-controls label{padding:10px 2px}.command-panel .system-controls b{font-size:13px}.command-panel .system-controls small{font-size:11px}.skill-dock{margin:0;border-width:2px 0 0;box-shadow:none;padding:7px 16px;min-height:76px}.skill-card{min-width:190px;padding:7px}.skill-card b{font-size:12px}.skill-card small,.skill-card i{font-size:10px}
@media(max-width:1120px){.game-grid{grid-template-columns:minmax(590px,1fr) 350px}.station-harness{right:20%}.crew-harness{right:22%}.customer-lane{grid-template-columns:120px 1fr}.system-controls{display:block}.intro-screen{grid-template-columns:1fr 1fr}.intro-visual{display:flex}}
@media(max-width:860px){.topbar{height:64px}.game{height:auto;display:block;overflow:visible}.game-grid{display:block}.kitchen-stage{height:650px;border-right:0;border-bottom:2px solid var(--ink)}.command-panel{max-height:none}.skill-dock{overflow-x:auto}.intro-screen{display:block}.intro-copy{min-height:58vh}.intro-visual{display:flex;min-height:320px;border-left:0;border-top:2px solid var(--ink)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.customer-lane .queue{flex-direction:row;align-items:stretch}.customer-lane .queue-card{width:156px;align-self:stretch}.patience-number{position:absolute;right:7px;top:7px;min-width:27px;height:27px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:#fff;font:800 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.crew .status{color:#727c78}.crew.agent-card.working .status{color:var(--red)}.crew.agent-card.done .status{color:var(--green)}

.crew.agent-card{width:76px;min-height:76px;padding:0;display:block}.crew.agent-card>div:nth-child(2){display:none}.crew-avatar{width:68px;height:68px;border-radius:22px;background:#fff8e8;filter:drop-shadow(2px 3px 0 rgba(38,56,61,.3))}.crew-avatar img,.crew-avatar.chef img{width:92px;height:104px;object-fit:contain;object-position:center center;transform:none}.crew-avatar.chef img{width:82px;height:104px;transform:translateY(7px)}.crew .status{left:50%;top:auto;bottom:-10px;transform:translateX(-50%);white-space:nowrap;background:#fff;border:1px solid var(--ink);border-radius:12px;padding:2px 7px;font-size:11px;box-shadow:2px 2px 0 rgba(38,56,61,.22)}.crew-manager{left:3%;top:58%}.crew-rag{right:15%;top:2%}.crew-chef{left:28%;top:1%}.crew-tools{left:19%;bottom:2%}.crew-harness{right:35%;bottom:2%}.crew.agent-card.working .crew-avatar{box-shadow:0 0 0 4px #fff,0 0 0 8px var(--yellow);filter:none}.crew.agent-card.done .crew-avatar{box-shadow:none;opacity:.82}.station{transition:filter .2s,opacity .2s,transform .2s}.kitchen-floor:has(.crew.agent-card.working) .station{opacity:.58;filter:saturate(.55)}.kitchen-floor:has(#orchestrator.working) .station-prompt,.kitchen-floor:has(#rag.working) .station-rag,.kitchen-floor:has(#llm.working) .station-griddle,.kitchen-floor:has(#tools.working) .station-tools,.kitchen-floor:has(#harness.working) .station-harness{opacity:1;filter:none;transform:scale(1.035);outline:4px solid rgba(255,200,61,.75)}

.architecture-control{border:1px solid var(--ink);padding:7px 8px;margin:10px 0 2px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.architecture-control legend{padding:0 5px;font:800 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red)}.architecture-control label{border:1px solid var(--line)!important;padding:7px!important;justify-content:flex-start!important;gap:7px;background:#faf7ef}.architecture-control input{display:block!important;accent-color:var(--green)}.architecture-control label:has(input:checked){background:#e3efe8;border-color:var(--green)!important}.architecture-control small{font-size:10px!important}.result-grid{grid-template-columns:repeat(4,1fr)}

.scenario-badge{display:flex;align-items:baseline;gap:8px;border-left:1px solid var(--line);padding-left:14px}.scenario-badge small{font-size:10px;color:var(--muted)}.scenario-badge b{font:800 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--green)}.text-button.danger{color:var(--red)}
.result-modal{width:min(780px,calc(100vw - 30px));max-height:90dvh;overflow:auto;padding:24px 30px}.result-modal h2{margin-top:4px}.result-run-label{display:block;font:800 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--green)}.result-modal .result-score{width:116px;height:116px;margin:10px auto}.result-modal .result-score strong{font-size:42px}.result-grid{grid-template-columns:repeat(4,1fr)}.result-grid div{border-bottom:1px solid var(--line)}.result-grid div:nth-child(4n){border-right:0}.result-grid div:nth-last-child(-n+4){border-bottom:0}.comparison-panel{text-align:left;margin-top:12px;border:2px solid var(--ink);background:#26383d;color:#fff;padding:11px 14px;box-shadow:4px 4px 0 var(--yellow)}.comparison-panel>b{font:900 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--yellow);letter-spacing:.08em}.comparison-panel p{margin:7px 0 0;font-size:12px;color:#d7e2de}.compare-head{display:flex;justify-content:space-between;margin:7px 0;font-size:12px}.compare-grid{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px 12px;border-top:1px solid rgba(255,255,255,.18);padding-top:8px;font-size:12px}.compare-grid b{text-align:right}.compare-grid .better{color:#66d38a}.compare-grid .worse{color:#ff7a66}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.result-actions button{min-width:160px}
@media(max-width:900px){.scenario-badge small{display:none}.game-toolbar .progress-wrap{display:none}.result-modal{padding:20px}.compare-grid{grid-template-columns:1fr auto}}

/* Physical order continuity: one meal, one route, one visible causal chain. */
.workflow-path>.flow-seg{fill:none;stroke:#8f9b96;stroke-width:3.5;stroke-dasharray:2 1.5;marker-end:url(#flowArrow);filter:drop-shadow(0 1px 0 #fff);vector-effect:non-scaling-stroke;transition:stroke .2s,stroke-width .2s}.workflow-path marker path{fill:#ffc83d;stroke:#26383d;stroke-width:1}.flow-node{position:absolute;z-index:2;width:24px;height:24px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:#d8d0bd;font:900 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.node-1{left:18%;top:49%}.node-2{right:14%;top:23%}.node-3{left:51%;top:27%}.node-4{left:51%;bottom:24%}.node-5{right:25%;bottom:24%}.node-6{right:9%;top:55%}.stage-event{position:absolute;z-index:9;left:50%;top:3px;transform:translateX(-50%);min-width:280px;max-width:54%;padding:5px 12px;border:2px solid var(--ink);background:#fff7d6;box-shadow:3px 3px 0 var(--yellow);text-align:center;font-size:12px;font-weight:900}.kitchen-floor[data-flow-stage="prompt"] .flow-1,.kitchen-floor[data-flow-stage="rag"] .flow-2,.kitchen-floor[data-flow-stage="llm"] .flow-3,.kitchen-floor[data-flow-stage="tools"] .flow-4,.kitchen-floor[data-flow-stage="harness"] .flow-5{stroke:var(--yellow);stroke-width:5;stroke-dasharray:5 2;animation:flowMarch .5s linear infinite}.kitchen-floor[data-flow-stage="rag"] .flow-1,.kitchen-floor[data-flow-stage="llm"] .flow-1,.kitchen-floor[data-flow-stage="llm"] .flow-2,.kitchen-floor[data-flow-stage="tools"] .flow-1,.kitchen-floor[data-flow-stage="tools"] .flow-2,.kitchen-floor[data-flow-stage="tools"] .flow-3,.kitchen-floor[data-flow-stage="harness"] .flow-1,.kitchen-floor[data-flow-stage="harness"] .flow-2,.kitchen-floor[data-flow-stage="harness"] .flow-3,.kitchen-floor[data-flow-stage="harness"] .flow-4,.kitchen-floor[data-flow-stage="pass"] .flow-seg{stroke:var(--green);stroke-dasharray:none}.kitchen-floor[data-rag="skipped"] .flow-2{stroke:#9aa39d!important;stroke-dasharray:2 2!important}.kitchen-floor[data-rag="skipped"] .node-2:after{content:"SKIP";position:absolute;top:22px;font-size:8px;color:var(--red)}@keyframes flowMarch{to{stroke-dashoffset:-7}}
.workflow-ticket{width:92px;height:54px;padding:4px;display:flex;align-items:center;gap:4px;transition:left .28s cubic-bezier(.2,.8,.2,1),top .28s cubic-bezier(.2,.8,.2,1),transform .2s}.workflow-ticket img{width:31px;height:31px;object-fit:contain}.workflow-ticket[data-stage="prompt"]{left:12%;top:48%}.pass-result{right:5.5%;top:45%;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:25px}.pass-result.success,.pass-result.error{padding:0;box-shadow:3px 3px 0 currentColor}
.customer-lane .queue-card{flex-basis:174px;width:174px;padding:6px;grid-template-columns:50px 1fr}.customer-lane .queue-card .face{position:relative;width:48px;height:52px;font-size:inherit}.queue-food{width:48px;height:48px;object-fit:contain}.customer-lane .queue-card .face i{position:absolute;right:-3px;bottom:-2px;width:20px;height:20px;border:1px solid var(--ink);border-radius:50%;background:#fff;display:grid;place-items:center;font-size:13px;font-style:normal}.customer-lane .queue-card em{display:block;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:10px;color:var(--muted)}.crew.agent-card.done{opacity:.58}
.workflow-ticket[data-stage="llm"]{left:39%;top:27%}.workflow-ticket[data-stage="tools"]{left:37%;top:69%}.workflow-ticket[data-stage="harness"]{left:59%;top:70%}.workflow-ticket[data-stage="pass"]{left:75%;top:56%}.food-object[data-stage="tools"]{left:46%;top:60%}.food-object[data-stage="harness"]{left:70%;top:59%}.food-object[data-stage="pass"]{left:84%;top:42%}.food-object .meal-main{width:72px;height:72px}.food-object .meal-drink{position:absolute;right:-8px;bottom:16px;width:35px;height:47px;z-index:2;filter:drop-shadow(1px 2px 0 rgba(38,56,61,.24))}.food-object.cooking .meal-drink{animation:foodCook .42s ease-in-out infinite alternate-reverse}.food-object span{z-index:3}
.stage-heading .stage-event{position:static;transform:none;min-width:260px;max-width:46%;padding:3px 10px;border:1px solid #fff;background:#fff7d6;color:var(--ink);box-shadow:2px 2px 0 var(--yellow);font-size:11px}.node-1{left:18.32%;top:53.36%}.node-2{left:79.76%;top:30.11%}.node-3{left:52.88%;top:33.83%}.node-4{left:44.24%;top:66.38%}.node-5{left:64.4%;top:72.89%}.node-6{left:84.56%;top:59.87%}.flow-node{transform:translate(-50%,-50%);transition:background .2s,color .2s,opacity .2s}.workflow-path>.flow-bypass{display:none;fill:none;stroke:#8f9b96;stroke-width:3.5;stroke-dasharray:3 2;marker-end:url(#flowArrow);vector-effect:non-scaling-stroke}.kitchen-floor[data-rag="skipped"] .flow-1,.kitchen-floor[data-rag="skipped"] .flow-2{opacity:.25;stroke:#8f9b96!important;stroke-dasharray:2 2!important}.kitchen-floor[data-rag="skipped"] .flow-bypass{display:block}.kitchen-floor[data-rag="skipped"][data-flow-stage="prompt"] .flow-bypass{stroke:var(--yellow);stroke-width:5;animation:flowMarch .5s linear infinite}.kitchen-floor[data-rag="skipped"][data-flow-stage="llm"] .flow-bypass,.kitchen-floor[data-rag="skipped"][data-flow-stage="tools"] .flow-bypass,.kitchen-floor[data-rag="skipped"][data-flow-stage="harness"] .flow-bypass,.kitchen-floor[data-rag="skipped"][data-flow-stage="pass"] .flow-bypass{stroke:var(--green);stroke-dasharray:none}.kitchen-floor[data-rag="skipped"] .node-2{opacity:.35}.kitchen-floor[data-flow-stage="prompt"] .node-1,.kitchen-floor[data-flow-stage="rag"] .node-2,.kitchen-floor[data-flow-stage="llm"] .node-3,.kitchen-floor[data-flow-stage="tools"] .node-4,.kitchen-floor[data-flow-stage="harness"] .node-5,.kitchen-floor[data-flow-stage="pass"] .node-6{background:var(--yellow);animation:nodePulse .8s ease-in-out infinite alternate}.kitchen-floor[data-flow-stage="rag"] .node-1,.kitchen-floor[data-flow-stage="llm"] .node-1,.kitchen-floor[data-flow-stage="llm"] .node-2,.kitchen-floor[data-flow-stage="tools"] .node-1,.kitchen-floor[data-flow-stage="tools"] .node-2,.kitchen-floor[data-flow-stage="tools"] .node-3,.kitchen-floor[data-flow-stage="harness"] .node-1,.kitchen-floor[data-flow-stage="harness"] .node-2,.kitchen-floor[data-flow-stage="harness"] .node-3,.kitchen-floor[data-flow-stage="harness"] .node-4,.kitchen-floor[data-flow-stage="pass"] .flow-node{background:var(--green);color:#fff;animation:none}.kitchen-floor[data-rag="skipped"] .node-2{background:#d8d0bd!important;color:var(--ink)!important}.kitchen-floor[data-rag="skipped"][data-flow-stage="llm"] .node-3,.kitchen-floor[data-rag="skipped"][data-flow-stage="tools"] .node-3,.kitchen-floor[data-rag="skipped"][data-flow-stage="harness"] .node-3{background:var(--yellow);color:var(--ink)}@keyframes nodePulse{to{box-shadow:0 0 0 5px rgba(255,200,61,.28)}}
.food-object.ingredients img{filter:saturate(.55) brightness(1.12);transform:scale(.88)}.food-object.ingredients span:before{content:"備料中・"}.workflow-ticket[data-stage="tools"]{left:34%;top:69%}.workflow-ticket[data-stage="pass"]{left:72%;top:56%}.crew-chef{left:20%;top:1%}.crew-rag{right:18%;top:2%}.crew-tools{left:17%;bottom:2%}.crew-harness{right:43%;bottom:2%}
.kitchen-floor[data-rag="skipped"][data-flow-stage="tools"] .node-3,.kitchen-floor[data-rag="skipped"][data-flow-stage="harness"] .node-3,.kitchen-floor[data-rag="skipped"][data-flow-stage="pass"] .node-3{background:var(--green);color:#fff}
.meal-badges{display:flex;gap:2px}.meal-badges i{width:15px;height:15px;border:1px solid var(--ink);border-radius:4px;background:#fff;display:grid;place-items:center;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal}.badge-egg{color:#b57a00;background:#fff0a9!important}.badge-hot{color:#fff;background:var(--red)!important}.badge-none{color:#777;background:#eee!important}.badge-sauce{color:#fff;background:#8c4b34!important}.badge-ice{color:#fff;background:#4d8ccf!important}.badge-warm{color:#fff;background:#f39a32!important}.badge-sugar{color:#26383d;background:#fff!important}.workflow-ticket .meal-badges{margin-top:2px}.food-object>.meal-badges{position:absolute;left:-3px;top:-4px;z-index:4;gap:3px}.food-object>.meal-badges i{width:17px;height:17px;font-size:10px}.queue-badges{position:absolute;left:-2px;bottom:-7px;z-index:3}.queue-badges i{width:12px;height:12px;font-size:7px;border-radius:3px}.customer-lane .queue-card .face>i{z-index:4}
.customer-lane .queue-card .face .queue-badges i{position:static;right:auto;bottom:auto;width:12px;height:12px;border-radius:3px;background:#fff;display:grid;place-items:center;font-size:7px;font-style:normal}.customer-lane .queue-card .queue-badges{left:0;bottom:0}
.command-panel .active-order .customer-line{padding:8px;gap:9px}.command-panel .active-order .customer-line p{font-size:14px;line-height:1.32;margin:2px 0}.command-panel .active-order .avatar{font-size:27px}.command-panel .active-order .context-meter{margin:7px 0}.command-panel .active-order .prompt-builder{grid-template-columns:1fr 1fr;gap:6px 8px}.command-panel .active-order .prompt-row{display:block}.command-panel .active-order .prompt-row:first-child,.command-panel .active-order .prompt-row[data-row-field="安全計畫"]{grid-column:1/-1}.command-panel .active-order .prompt-row>label{display:block;padding:0 0 3px;font-size:10px}.command-panel .active-order .chips{gap:3px}.command-panel .active-order .chip{font-size:11px;padding:5px 6px}.command-panel .active-order .prompt-preview{margin-top:7px;min-height:44px;padding:7px 9px}.command-panel .active-order .prompt-preview p{font-size:10px;line-height:1.35}.command-panel .active-order .actions{margin-top:7px;gap:7px}.command-panel .active-order .actions button{padding:8px 9px;font-size:11px}
.workflow-path>.flow-preflight,.workflow-path>.flow-retry{display:none;fill:none;stroke-width:4;stroke-dasharray:4 2;marker-end:url(#flowArrow);vector-effect:non-scaling-stroke}.kitchen-floor[data-flow-stage="preflight"] .flow-preflight{display:block;stroke:var(--red);animation:flowMarch .5s linear infinite}.kitchen-floor[data-flow-stage="preflight"] .node-1{background:var(--green);color:#fff}.kitchen-floor[data-flow-stage="preflight"] .node-5{background:var(--red);color:#fff;animation:nodePulse .8s ease-in-out infinite alternate}.kitchen-floor[data-flow-stage="preflight"] .flow-seg{opacity:.22}.kitchen-floor.retrying .flow-retry{display:block;stroke:#f39a32;animation:flowMarch .5s linear infinite}.kitchen-floor.retrying .node-5{box-shadow:0 0 0 5px rgba(243,154,50,.3)}
.kitchen-floor[data-flow-stage="rejected"] .flow-1,.kitchen-floor[data-flow-stage="rejected"] .flow-2,.kitchen-floor[data-flow-stage="rejected"] .flow-3,.kitchen-floor[data-flow-stage="rejected"] .flow-4{stroke:var(--green);stroke-dasharray:none}.kitchen-floor[data-flow-stage="rejected"] .node-1,.kitchen-floor[data-flow-stage="rejected"] .node-2,.kitchen-floor[data-flow-stage="rejected"] .node-3,.kitchen-floor[data-flow-stage="rejected"] .node-4{background:var(--green);color:#fff}.kitchen-floor[data-flow-stage="rejected"] .node-5{background:var(--red);color:#fff}.pass-result.error{right:24%;top:58%}
.workflow-path>.flow-harness-bypass{display:none;fill:none;stroke-width:4;stroke-dasharray:4 2;marker-end:url(#flowArrow);vector-effect:non-scaling-stroke}.kitchen-floor[data-harness="skipped"] .flow-4,.kitchen-floor[data-harness="skipped"] .flow-5{opacity:.2;stroke:#8f9b96!important;stroke-dasharray:2 2!important}.kitchen-floor[data-harness="skipped"] .node-5{opacity:.35;background:#d8d0bd!important;color:var(--ink)!important}.kitchen-floor[data-harness="skipped"] .node-5:after{content:"SKIP";position:absolute;top:22px;font-size:8px;color:var(--red)}.kitchen-floor[data-harness="skipped"] .flow-harness-bypass{display:block}.kitchen-floor[data-harness="skipped"][data-flow-stage="tools"] .flow-harness-bypass{stroke:var(--yellow);animation:flowMarch .5s linear infinite}.kitchen-floor[data-harness="skipped"][data-flow-stage="pass"] .flow-harness-bypass{stroke:var(--green);stroke-dasharray:none}.food-object.served-wrong{transform:scale(1.08) rotate(5deg);filter:saturate(.7)}.food-object.served-wrong span{background:#ffe5df;color:var(--red)}.pass-result.error.customer-error{right:5.5%;top:45%}
.intro-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.intro-actions .big{margin-top:24px}.mission-strip{min-width:0;display:flex;align-items:baseline;gap:9px;border-left:1px solid rgba(255,255,255,.25);padding-left:14px}.mission-strip small{font:800 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--yellow);white-space:nowrap}.mission-strip b{font-size:12px;color:#fff;white-space:nowrap}.mission-strip span{display:none}.mission-banner{height:38px;padding:0 18px;display:flex;align-items:center;gap:12px;background:#fff4cf;border-bottom:2px solid var(--ink);overflow:hidden}.mission-banner b{flex:0 0 auto;font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red);letter-spacing:.08em}.mission-banner span{font-size:12px;font-weight:800;white-space:nowrap;overflow:visible;text-overflow:clip}.mission-locked{opacity:.46;cursor:not-allowed!important}.architecture-control input:disabled+span{opacity:.5}.game.campaign-mode{grid-template-rows:44px 38px minmax(0,1fr) 0}.game.campaign-mode .skill-dock{display:none}.tool-auth{border:2px solid var(--yellow);background:var(--red);color:#fff;padding:5px 9px;font-size:10px;font-weight:900;cursor:pointer;box-shadow:2px 2px 0 var(--yellow);white-space:nowrap}.stage-heading:has(.tool-auth:not(.hidden))>small{display:none}.stage-heading:has(.tool-auth:not(.hidden)) .stage-event{max-width:38%;min-width:210px}
.context-rail i.evidence{background:#dcecff;border-color:#4d8ccf}.context-rail i.evidence:before{color:#245f9d}
.kitchen-floor[data-rag="skipped"] .station-rag,.kitchen-floor[data-rag="skipped"] #rag,.kitchen-floor[data-harness="skipped"] .station-harness,.kitchen-floor[data-harness="skipped"] #harness{opacity:.32;filter:grayscale(.7)}
.workflow-path>.flow-guardrail{display:none;fill:none;stroke:var(--red);stroke-width:5;stroke-dasharray:5 2;marker-end:url(#flowArrow);vector-effect:non-scaling-stroke}.kitchen-floor[data-flow-stage="guardrail"] .flow-guardrail{display:block;animation:flowMarch .5s linear infinite}.kitchen-floor[data-flow-stage="guardrail"] .flow-seg{opacity:.18}.kitchen-floor[data-flow-stage="guardrail"] .node-1{background:var(--red);color:#fff}.hitl-station{position:absolute;z-index:12;left:50%;top:51%;transform:translate(-50%,-50%);width:min(330px,42%);background:#fff7d6;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--red);padding:12px}.hitl-station>div:first-child{display:flex;flex-direction:column}.hitl-station small{font:900 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red);letter-spacing:.08em}.hitl-station b{font-size:15px}.hitl-station p{font-size:12px;font-weight:800;margin:9px 0}.hitl-plan{background:#fff;border:1px dashed var(--ink);padding:7px;font-size:11px;line-height:1.4}.hitl-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.hitl-actions button{padding:7px 10px;font-size:10px;box-shadow:2px 2px 0 var(--ink)}.actions button:disabled{opacity:.38;cursor:not-allowed}
.hitl-station[data-policy="passed"]{background:#e8f7e8;border-color:#287b43;box-shadow:8px 8px 0 #4fb36b}.hitl-station[data-policy="passed"] small,.hitl-station[data-policy="passed"] b{color:#1f6a38}.hitl-station[data-policy="blocked"]{background:#fff0e8;border-color:#a52e26;box-shadow:8px 8px 0 #e9463e}.hitl-station[data-policy="blocked"] small,.hitl-station[data-policy="blocked"] b{color:#a52e26}

/* Visible Skills, architecture, and MCP feedback. */
.architecture-live{flex:0 0 auto;padding:4px 8px;border:1px solid rgba(255,255,255,.38);background:#172326;color:#ffc83d;font:800 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}.stage-event{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.sop-suggested:not(.selected){border-color:#4d8ccf;background:#eef6ff;box-shadow:0 0 0 2px rgba(77,140,207,.18)}.chip.sop-suggested:not(.selected):after{content:"SOP";margin-left:5px;padding:1px 3px;background:#4d8ccf;color:#fff;font:800 7px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chip.clear-chip{border:2px dashed #4d8ccf;color:#245f9d;background:#eef6ff}.chip.clear-chip.selected{border-style:solid;background:#245f9d;color:#fff}.chip.clear-chip:before{content:"○";margin-right:4px}.chip.clear-chip.selected:before{content:"✓"}.skill-impact{display:block;margin-top:2px;font:800 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f9d}.skill-card.activating{position:relative;z-index:2;border-color:#245f9d;background:#dcecff;animation:skillPulse .55s ease-in-out infinite alternate;box-shadow:0 0 0 3px rgba(77,140,207,.28)}@keyframes skillPulse{to{transform:translateY(-3px);box-shadow:0 0 0 6px rgba(77,140,207,.12)}}.kitchen-floor.skill-assisted .station-tools{outline:5px solid rgba(77,140,207,.7);box-shadow:0 0 0 9px rgba(77,140,207,.14)}
.station-mcp{left:48%;top:46%;width:112px;height:58px;background:#ffc83d;color:#26383d;border-radius:18px;padding:6px 9px;z-index:3}.station-mcp strong{font-size:10px}.station-mcp span{font-size:9px;white-space:nowrap}.station-mcp i{position:absolute;right:8px;top:5px;font-style:normal;font-size:22px}.station-mcp.working{animation:mcpConnect .25s ease-in-out infinite alternate;outline:4px solid #fff}.station-mcp.done{box-shadow:4px 5px 0 #4fb36b}.workflow-ticket[data-stage="mcp"]{left:52%;top:49%;transform:scale(.92)}@keyframes mcpConnect{to{transform:scale(1.06);background:#fff1a5}}.kitchen-floor[data-flow-stage="mcp"] .flow-3{stroke:#ffc83d!important;stroke-width:5;animation:flowMarch .5s linear infinite}.kitchen-floor[data-architecture="generalist"] #orchestrator{opacity:.22;filter:grayscale(1)}.kitchen-floor[data-architecture="generalist"] .flow-seg{stroke:#f39a32;stroke-dasharray:1 3}.kitchen-floor[data-architecture="multi"] .workflow-ticket{animation:handoffTick .32s ease-out}@keyframes handoffTick{50%{filter:drop-shadow(0 0 6px #ffc83d);transform:scale(1.05)}}
.station-skill{left:34%;top:46%;width:112px;height:58px;background:#dcecff;color:#173f6b;border-radius:6px;padding:6px 9px;z-index:3}.station-skill strong{font-size:9px}.station-skill span{font-size:9px;white-space:nowrap}.station-skill i{position:absolute;right:8px;top:6px;font-style:normal;font-size:20px}.station-skill:not(.available):not(.working):not(.done){opacity:.48;filter:grayscale(.5)}.station-skill.working{outline:4px solid #fff;animation:skillNodeLoad .45s ease-in-out infinite alternate}.station-skill.done{box-shadow:4px 5px 0 #4d8ccf}.workflow-ticket[data-stage="skills"]{left:39%;top:49%;transform:scale(.92)}.kitchen-floor[data-flow-stage="skills"] .flow-3{stroke:#4d8ccf!important;stroke-width:5;animation:flowMarch .5s linear infinite}@keyframes skillNodeLoad{to{transform:translateY(-3px);background:#bcdcff}}
@media(max-width:1120px){.architecture-live{display:none}.station-mcp{width:96px;left:47%}}

/* Presenter mode: manual concept jumping plus a real automated walkthrough. */
.presenter-dock{height:38px;display:flex;align-items:center;gap:6px;padding:0 14px;background:#dcecff;border-bottom:2px solid var(--ink);overflow-x:auto}.presenter-dock>b{flex:0 0 auto;margin-right:5px;font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f9d}.presenter-dock button{flex:0 0 auto;border:1px solid #7ea8cf;background:#fff;padding:4px 7px;font-size:10px;font-weight:800;cursor:pointer}.presenter-dock button.active{background:#245f9d;color:#fff;border-color:#173f6b}.presenter-dock .auto-demo{margin-left:auto;background:#26383d;color:#fff;border-color:#26383d}.game.presenter-mode{grid-template-rows:44px 38px 38px minmax(0,1fr) 0}.game.presenter-mode .skill-dock{display:none}.intro-actions #presentBtn{border-color:#245f9d;color:#245f9d}.intro-actions #presentBtn:hover{background:#dcecff}.game.presenter-mode .mission-banner{display:flex!important}
@media(max-width:900px){.presenter-dock{padding:0 8px}.presenter-dock>b{display:none}.presenter-dock .auto-demo{margin-left:0}}

/* Escalating rush: throughput choices now create visible backlog consequences. */
.rush-badge{display:flex;align-items:baseline;gap:7px;padding:4px 9px;border:1px solid rgba(255,255,255,.28);white-space:nowrap}.rush-badge small{font:800 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#b9c8c2}.rush-badge b{font-size:10px;color:#fff}.rush-badge[data-phase="rush"]{background:#8a5b14}.rush-badge[data-phase="overload"],.rush-badge[data-phase="final"]{background:#a52e26;animation:rushPulse .8s ease-in-out infinite alternate}.rush-badge[data-phase="final"]{outline:2px solid #ffc83d}@keyframes rushPulse{to{filter:brightness(1.22)}}.queue[data-pressure="high"]{background:linear-gradient(90deg,transparent,rgba(243,154,50,.13))}.queue[data-pressure="critical"]{background:linear-gradient(90deg,transparent,rgba(233,70,62,.2));box-shadow:inset 0 0 0 2px rgba(233,70,62,.45)}.queue[data-pressure="critical"] .queue-card{animation:backlogShake 1.4s ease-in-out infinite}@keyframes backlogShake{50%{transform:translateY(-2px)}}
@media(max-width:1180px){.scenario-badge small,.rush-badge small{display:none}.rush-badge{padding:4px 7px}}

/* Projector-readable knowledge chapters for presenter mode. */
.demo-speed{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:11px;font-weight:800;white-space:nowrap}.demo-speed select{border:1px solid #245f9d;background:#fff;padding:3px 5px;font-size:12px;font-weight:800}.presenter-dock .auto-demo{margin-left:0}.concept-dialog{width:min(960px,calc(100vw - 48px));padding:38px 42px;border-width:3px;box-shadow:14px 14px 0 #245f9d}.concept-dialog::backdrop{background:rgba(17,31,37,.82);backdrop-filter:blur(5px)}.concept-progress{display:flex;justify-content:space-between;align-items:center}.concept-progress>span{font:900 13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;color:#245f9d}.concept-dialog .close{position:static;font-size:32px;line-height:1}.concept-dialog h2{font-size:40px;line-height:1.15;margin:14px 0 16px;letter-spacing:-.025em}.concept-dialog>p{font-size:19px;line-height:1.75;margin:0;color:#33443d;font-weight:650}.concept-explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.concept-explain-grid section{border:2px solid var(--ink);padding:18px 20px;background:#fff8e8;box-shadow:5px 5px 0 var(--yellow)}.concept-explain-grid section:last-child{background:#e9f4ff;box-shadow:5px 5px 0 #4d8ccf}.concept-explain-grid small{display:block;margin-bottom:8px;font:900 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--red);letter-spacing:.06em}.concept-explain-grid p{font-size:17px;line-height:1.65;margin:0;font-weight:700}.concept-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.concept-footer span{font:900 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#64736d}.concept-footer button{font-size:17px;padding:13px 20px}.game.presenter-mode .mission-banner b{font-size:12px}.game.presenter-mode .mission-banner span{font-size:16px}.game.presenter-mode .stage-heading b{font-size:14px}.game.presenter-mode .stage-event{font-size:14px;font-weight:800}
@media(max-width:760px){.concept-dialog{padding:26px 24px}.concept-dialog h2{font-size:32px}.concept-dialog>p{font-size:17px}.concept-explain-grid{grid-template-columns:1fr}.concept-explain-grid p{font-size:16px}.demo-speed{margin-left:0}}
.game.presenter-mode .pass-result.success,.game.presenter-mode .pass-result.error{animation-duration:2.8s}.game.presenter-mode .workflow-ticket{transition-duration:.75s}.game.presenter-mode .food-object{transition-duration:.75s}
@media(max-width:1300px) and (min-width:861px){.intro-copy{padding:6vh 4vw}.intro-copy h2{font-size:64px;line-height:.98;letter-spacing:-.06em;margin:14px 0 20px}.intro-copy .lede{font-size:15px;line-height:1.75}.intro-actions .big{font-size:14px;min-width:auto;padding:14px 18px}.shop-sign{padding:14px 48px}.shop-sign b{font-size:38px}.counter-scene{height:245px}}

/* Four-person shop: people are Agents; RAG, Skills, MCP and Harness are infrastructure. */
.station-tools{left:25%;bottom:7%;width:150px;height:88px}
.station-drink{left:44%;bottom:7%;width:122px;height:88px;background:#4d8ccf;color:#fff;border-radius:5px 5px 18px 18px}
.station-drink .cup{display:grid;place-items:center;width:34px;height:38px;margin-top:5px;border:3px solid #fff;border-top-width:6px;border-radius:3px 3px 10px 10px;font-size:10px;font-style:normal}
.station-harness{right:20%;bottom:7%;width:155px;height:92px}
.crew-manager{left:3%;top:62%}
.crew-chef{left:20%;top:1%}
.crew-tools{left:48%;top:38%;bottom:auto}
.crew-harness{right:31%;top:40%;bottom:auto}
.kitchen-floor:has(#ragStation.working) .station-rag,
.kitchen-floor:has(#llm.working) .station-griddle,
.kitchen-floor:has(#llm.working) .station-tools,
.kitchen-floor:has(#tools.working) .station-drink,
.kitchen-floor:has(#harness.working) .station-harness,
.kitchen-floor:has(#orchestrator.working) .station-prompt{opacity:1;filter:none;transform:scale(1.035);outline:4px solid rgba(255,200,61,.75)}
.kitchen-floor:has(#orchestrator.working) #cashSlip{background:#fff;color:#26383d;padding:3px 5px;border:1px solid #26383d;animation:ticketSnap .18s ease-out}
.kitchen-floor[data-rag="skipped"] #ragStation{opacity:.32;filter:grayscale(.7)}
.kitchen-floor[data-architecture="generalist"] #orchestrator{opacity:1;filter:none}
.kitchen-floor[data-architecture="generalist"] #llm,
.kitchen-floor[data-architecture="generalist"] #tools,
.kitchen-floor[data-architecture="generalist"] #harness{opacity:.22;filter:grayscale(1)}
.kitchen-floor[data-architecture="multi"] #orchestrator,
.kitchen-floor[data-architecture="multi"] #llm,
.kitchen-floor[data-architecture="multi"] #tools,
.kitchen-floor[data-architecture="multi"] #harness{transition:opacity .2s,filter .2s}
.kitchen-floor[data-flow-stage="tools"] .station-tools,
.kitchen-floor[data-flow-stage="tools"] .station-drink{opacity:1!important;filter:none!important;transform:scale(1.035);outline:4px solid rgba(255,200,61,.75)}
.kitchen-floor[data-flow-stage="harness"] .station-harness{opacity:1!important;filter:none!important;transform:scale(1.035);outline:4px solid rgba(255,200,61,.75)}

/* Responsive role flow: Dispatch branches to Griddle + Drink, then rejoins at Pass. */
.workflow-path .role-seg{fill:none;stroke:#1d8279;stroke-width:4.5;stroke-dasharray:none;marker-end:url(#flowArrow);filter:drop-shadow(0 2px 0 rgba(255,255,255,.8));vector-effect:non-scaling-stroke;transition:stroke .2s,stroke-width .2s,opacity .2s}
.people-route-tablet,.people-route-mobile{display:none}
.kitchen-floor[data-flow-stage="prompt"] .role-to-griddle,
.kitchen-floor[data-flow-stage="prompt"] .role-to-drink,
.kitchen-floor[data-flow-stage="llm"] .role-to-griddle,
.kitchen-floor[data-flow-stage="tools"] .role-to-griddle,
.kitchen-floor[data-flow-stage="tools"] .role-to-drink{stroke:#ffc83d;stroke-width:6;stroke-dasharray:5 2;animation:flowMarch .55s linear infinite}
.kitchen-floor[data-flow-stage="harness"] .role-to-griddle,
.kitchen-floor[data-flow-stage="harness"] .role-to-drink,
.kitchen-floor[data-flow-stage="pass"] .role-to-griddle,
.kitchen-floor[data-flow-stage="pass"] .role-to-drink{stroke:#4fb36b}
.kitchen-floor[data-flow-stage="harness"] .role-griddle-to-pass,
.kitchen-floor[data-flow-stage="harness"] .role-drink-to-pass{stroke:#ffc83d;stroke-width:6;stroke-dasharray:5 2;animation:flowMarch .55s linear infinite}
.kitchen-floor[data-flow-stage="pass"] .role-seg{stroke:#4fb36b;stroke-dasharray:none;animation:none}
.role-label{position:absolute;z-index:5;display:flex;align-items:center;gap:5px;padding:3px 7px;background:#fff8e8;border:2px solid #26383d;box-shadow:2px 2px 0 rgba(38,56,61,.24);font-size:11px;font-weight:900;white-space:nowrap}
.role-label b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 3px;background:#26383d;color:#fff;font:900 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.role-label-dispatch{left:3%;top:29%}.role-label-griddle{left:25%;bottom:31%}.role-label-drink{left:44%;bottom:31%}.role-label-pass{right:3%;top:43%}
.kitchen-floor[data-flow-stage="prompt"] .role-label-dispatch,
.kitchen-floor[data-flow-stage="llm"] .role-label-griddle,
.kitchen-floor[data-flow-stage="tools"] .role-label-griddle,
.kitchen-floor[data-flow-stage="tools"] .role-label-drink,
.kitchen-floor[data-flow-stage="harness"] .role-label-pass,
.kitchen-floor[data-flow-stage="pass"] .role-label-pass{background:#ffc83d;transform:translateY(-2px)}
.station-rag:before,.station-skill:before,.station-mcp:before,.station-harness:before{position:absolute;right:4px;top:-12px;padding:2px 5px;border:1px solid #26383d;background:#fff8e8;color:#26383d;font:900 8px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:1px 1px 0 #26383d;white-space:nowrap}
.station-rag:before{content:"資料能力"}.station-skill:before{content:"SOP 能力"}.station-mcp:before{content:"連接能力"}.station-harness:before{content:"驗收能力"}
.workflow-path>.flow-seg,.workflow-path>.flow-bypass,.workflow-path>.flow-preflight,.workflow-path>.flow-retry,.workflow-path>.flow-harness-bypass,.workflow-path>.flow-guardrail,.flow-node{opacity:0!important;pointer-events:none}

/* Tablet: the stage becomes a full-width 2 × 2 working floor. */
@media(max-width:1100px) and (min-width:681px){
  .game{height:auto;min-height:calc(100dvh - 68px);overflow:visible;grid-template-rows:44px auto 76px}
  .game-grid{display:block;height:auto;overflow:visible}
  .kitchen-stage{height:720px;border-right:0;border-bottom:2px solid var(--ink);grid-template-rows:44px 52px minmax(500px,1fr) 120px}
  .command-panel{max-height:none;overflow:visible}
  .people-route-desktop,.people-route-mobile{display:none}.people-route-tablet{display:block}
  .workflow-path>.flow-seg,.workflow-path>.flow-bypass,.workflow-path>.flow-preflight,.workflow-path>.flow-retry,.workflow-path>.flow-harness-bypass,.workflow-path>.flow-guardrail,.flow-node{opacity:0!important;pointer-events:none}
  .kitchen-floor:after{content:"";position:absolute;inset:4%;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(50% - 1px),rgba(38,56,61,.18) calc(50% - 1px),rgba(38,56,61,.18) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(0deg,transparent calc(50% - 1px),rgba(38,56,61,.18) calc(50% - 1px),rgba(38,56,61,.18) calc(50% + 1px),transparent calc(50% + 1px))}
  .station-prompt{left:5%;top:10%;width:160px}.crew-manager{left:6%;top:31%}
  .station-griddle{left:auto;right:5%;top:8%;width:210px}.crew-chef{left:auto;right:28%;top:14%}.station-tools{left:auto;right:5%;top:32%;bottom:auto;width:155px}
  .station-drink{left:5%;top:auto;bottom:9%;width:135px}.crew-tools{left:25%;top:auto;bottom:15%}
  .station-harness{right:20%;bottom:9%;width:155px}.station-pass{right:3%;top:auto;bottom:10%}.crew-harness{right:37%;top:auto;bottom:14%}
  .station-rag{left:41%;right:auto;top:8%;width:145px;height:76px}.station-rag .drawer{display:none}
  .station-skill{left:39%;top:43%;width:108px}.station-mcp{left:52%;top:43%;width:108px}
  .role-label-dispatch{left:5%;top:5%}.role-label-griddle{left:auto;right:5%;top:4%;bottom:auto}.role-label-drink{left:5%;top:auto;bottom:27%}.role-label-pass{right:3%;top:auto;bottom:28%}
  .workflow-ticket[data-stage="prompt"]{left:17%;top:22%}.workflow-ticket[data-stage="rag"]{left:45%;top:19%}.workflow-ticket[data-stage="llm"]{left:70%;top:21%}.workflow-ticket[data-stage="tools"]{left:40%;top:66%}.workflow-ticket[data-stage="harness"]{left:67%;top:68%}.workflow-ticket[data-stage="pass"]{left:84%;top:71%}
  .food-object[data-stage="tools"]{left:42%;top:60%}.food-object[data-stage="harness"]{left:68%;top:61%}.food-object[data-stage="pass"]{left:84%;top:63%}
}

/* Mobile: a tall, readable flow instead of a squeezed desktop floor. */
@media(max-width:680px){
  .topbar{height:62px;padding:0 10px}.brand h1{font-size:16px}.brand p{display:block;font-size:7px}.sun-mark{width:34px;height:34px}.day-stats>div{padding:6px 8px}.day-stats>div:first-child,.day-stats>div:nth-child(2){display:none}.day-stats strong{font-size:17px}.icon-button{width:40px}
  .game{height:auto;min-height:calc(100dvh - 62px);display:block;overflow:visible}.game-toolbar{height:42px;padding:0 8px;gap:7px}.scenario-badge,.game-toolbar .progress-wrap{display:none}.game-toolbar .text-button{font-size:10px}.shift{font-size:9px}.rush-badge{margin-left:auto}
  .game-grid{display:block;height:auto;overflow:visible}.kitchen-stage{height:auto;border-right:0;border-bottom:2px solid var(--ink);grid-template-rows:72px 86px 760px 118px;overflow:hidden}
  .stage-heading{display:grid;grid-template-columns:1fr auto;padding:7px 10px;gap:5px}.stage-heading>div:first-child{grid-column:1}.stage-heading .stage-event{grid-column:1/-1;grid-row:2;max-width:none;min-width:0;width:100%;font-size:11px}.stage-heading>small,.architecture-live{display:none}.tool-auth{grid-column:2;grid-row:1}
  .context-rail-wrap{grid-template-columns:1fr;padding:7px 10px;gap:5px}.context-rail-wrap>div:first-child{flex-direction:row;align-items:baseline;gap:8px}.context-rail{grid-template-columns:repeat(3,1fr);height:46px;gap:3px}.context-rail i:before{font-size:7px}
  .people-route-desktop,.people-route-tablet{display:none}.people-route-mobile{display:block}
  .workflow-path{inset:2%;width:96%;height:96%}.workflow-path>.flow-seg,.workflow-path>.flow-bypass,.workflow-path>.flow-preflight,.workflow-path>.flow-retry,.workflow-path>.flow-harness-bypass,.workflow-path>.flow-guardrail,.flow-node{opacity:0!important;pointer-events:none}
  .role-label{font-size:10px;padding:3px 5px}.role-label-dispatch{left:3%;top:2%}.role-label-griddle{left:3%;top:31%;bottom:auto}.role-label-drink{left:auto;right:3%;top:31%;bottom:auto}.role-label-pass{right:50%;transform:translateX(50%);top:76%}
  .kitchen-floor[data-flow-stage="prompt"] .role-label-dispatch,.kitchen-floor[data-flow-stage="llm"] .role-label-griddle,.kitchen-floor[data-flow-stage="tools"] .role-label-griddle,.kitchen-floor[data-flow-stage="tools"] .role-label-drink,.kitchen-floor[data-flow-stage="harness"] .role-label-pass,.kitchen-floor[data-flow-stage="pass"] .role-label-pass{transform:translateY(-2px)}
  .kitchen-floor[data-flow-stage="harness"] .role-label-pass,.kitchen-floor[data-flow-stage="pass"] .role-label-pass{transform:translate(50%,-2px)}
  .station{z-index:2}.station-prompt{left:3%;top:8%;width:150px;height:78px}.crew-manager{left:auto;right:7%;top:7%}
  .station-rag{left:auto;right:4%;top:20%;width:142px;height:58px;padding:7px}.station-rag .drawer{display:none}
  .station-griddle{left:3%;top:36%;width:166px;height:96px}.crew-chef{left:23%;top:28%}.station-tools{left:3%;top:50%;bottom:auto;width:145px;height:82px}
  .station-drink{left:auto;right:3%;top:50%;bottom:auto;width:118px;height:82px}.crew-tools{left:auto;right:13%;top:28%;bottom:auto}
  .station-skill{left:4%;top:64%;width:112px;height:54px}.station-mcp{left:auto;right:4%;top:64%;width:112px;height:54px}
  .station-harness{left:4%;right:auto;top:73%;bottom:auto;width:140px;height:64px}.station-pass{left:auto;right:5%;top:82%;width:145px;height:74px}.crew-harness{left:7%;right:auto;top:84%;bottom:auto}
  .station-rag:before,.station-skill:before,.station-mcp:before,.station-harness:before{top:-11px;font-size:7px}
  .workflow-ticket[data-stage="prompt"]{left:8%;top:17%}.workflow-ticket[data-stage="rag"]{left:52%;top:23%}.workflow-ticket[data-stage="llm"]{left:20%;top:42%}.workflow-ticket[data-stage="skills"]{left:8%;top:65%}.workflow-ticket[data-stage="mcp"]{left:58%;top:65%}.workflow-ticket[data-stage="tools"]{left:35%;top:53%}.workflow-ticket[data-stage="harness"]{left:35%;top:74%}.workflow-ticket[data-stage="pass"]{left:58%;top:84%}
  .food-object[data-stage="tools"]{left:38%;top:48%}.food-object[data-stage="harness"]{left:39%;top:69%}.food-object[data-stage="pass"]{left:60%;top:79%}
  .customer-lane{grid-template-columns:105px 1fr;padding:8px;gap:6px}.lane-title b{font-size:9px}.lane-title span{font-size:11px}.customer-lane .queue-card{flex-basis:148px}
  .command-panel{max-height:none;overflow:visible;padding:14px 12px}.skill-dock{overflow-x:auto;padding:7px 10px}.skill-dock>div{display:none}
}

/* Guided campaign: briefing, live checklist, input coaching, and recap. */
.game.campaign-mode:not(.presenter-mode){grid-template-rows:44px 92px minmax(0,1fr) 0}
.game.campaign-mode:not(.presenter-mode) .mission-banner{height:92px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;padding:9px 16px;background:#fff4cf;overflow:hidden}
.mission-banner>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px}.mission-banner>div>b{font:900 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d54b32;letter-spacing:.08em}.mission-banner>div>span{font-size:13px;font-weight:800;line-height:1.35;white-space:normal}
.mission-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0}.mission-steps li{min-width:0;display:grid;grid-template-columns:26px 1fr;align-items:center;gap:6px;padding:7px 8px;background:#fff;border:1px solid #b9aa84;color:#5a625f}.mission-steps li b{display:grid;place-items:center;width:24px;height:24px;background:#26383d;color:#fff;font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.mission-steps li span{font-size:11px;line-height:1.3;font-weight:800}.mission-steps li.done{background:#e2f2e6;border-color:#4fb36b;color:#245d35}.mission-steps li.done b{background:#4fb36b}
.prompt-row.coach-attention{outline:3px solid #e9463e;outline-offset:3px;background:#fff0eb}.warning:not(.hidden){font-size:12px;line-height:1.45;font-weight:800}
.lesson-dialog{width:min(760px,calc(100vw - 32px));padding:30px 34px;border:3px solid #26383d;box-shadow:12px 12px 0 #ffc83d;background:#fffaf0}.lesson-dialog::backdrop{background:rgba(18,32,36,.78);backdrop-filter:blur(4px)}.lesson-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.lesson-head span{font:900 12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#1d8279;letter-spacing:.08em}.lesson-head i{padding:4px 7px;background:#d54b32;color:#fff;font-size:11px;font-weight:900;font-style:normal}.lesson-dialog h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:13px 0 10px;text-wrap:balance}.lesson-dialog>p{font-size:17px;line-height:1.7;margin:0;color:#40504a;font-weight:650}.lesson-why{margin:18px 0;background:#e7f3ef;border-left:6px solid #1d8279;padding:12px 15px}.lesson-why small{font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#1d8279}.lesson-why p{font-size:14px;line-height:1.55;margin:4px 0 0;font-weight:750}.lesson-dialog>ol{list-style:none;margin:16px 0;padding:0;display:grid;gap:8px}.lesson-dialog>ol li{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:9px;border:1px solid #d4c9ae;background:#fff;padding:9px 11px}.lesson-dialog>ol li b{display:grid;place-items:center;width:28px;height:28px;background:#26383d;color:#fff}.lesson-dialog>ol li span{font-size:14px;font-weight:800}.lesson-dialog>ol li.done{background:#e6f4e9;border-color:#4fb36b}.lesson-dialog>ol li.done b{background:#4fb36b}.lesson-hint{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:11px 13px;background:#fff0bf;border:2px dashed #9e7a13}.lesson-hint b{font-size:12px;color:#8a5413}.lesson-hint span{font-size:13px;line-height:1.5;font-weight:750}.lesson-dialog>button{display:block;margin:20px 0 0 auto;font-size:15px}.lesson-dialog>button:disabled{opacity:.38;cursor:not-allowed}
.context-experiment{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:2px solid #245f9d;background:#e4f1ff;color:#173f6b;padding:8px 10px;text-align:left;cursor:pointer;box-shadow:3px 3px 0 #4d8ccf;transition:transform .15s,background .15s}.context-experiment:hover{transform:translateY(-1px)}.context-experiment b{font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.context-experiment span{font-size:12px;font-weight:900}.context-experiment.active{background:#ffe5df;border-color:#e9463e;color:#8b2d25;box-shadow:3px 3px 0 #e9463e;animation:contextWarning .8s ease-in-out infinite alternate}@keyframes contextWarning{to{filter:brightness(1.06)}}
.lesson-quiz{margin-top:17px;padding:15px;background:#edf5ff;border:2px solid #245f9d}.lesson-quiz>small{font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f9d;letter-spacing:.08em}.lesson-quiz h3{font-size:17px;line-height:1.45;margin:6px 0 11px}.lesson-quiz>div{display:grid;gap:7px}.lesson-quiz button{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;width:100%;border:1px solid #8aa8c5;background:#fff;padding:8px 10px;text-align:left;cursor:pointer}.lesson-quiz button b{display:grid;place-items:center;width:26px;height:26px;background:#26383d;color:#fff}.lesson-quiz button span{font-size:13px;font-weight:750}.lesson-quiz button:hover{background:#fff7d6}.lesson-quiz button.correct{border-color:#4fb36b;background:#e4f4e8}.lesson-quiz button.correct b{background:#4fb36b}.lesson-quiz button.wrong{border-color:#e9463e;background:#ffe8e2}.lesson-quiz button.wrong b{background:#e9463e}.lesson-quiz>p{margin:10px 0 0;font-size:12px;line-height:1.5;font-weight:750}.lesson-quiz>p.correct{color:#246b3a}.lesson-quiz>p.wrong{color:#a5362d}
@media(max-width:900px){.game.campaign-mode:not(.presenter-mode){display:block}.game.campaign-mode:not(.presenter-mode) .mission-banner{height:auto;min-height:132px;grid-template-columns:1fr;padding:9px 10px;gap:7px}.mission-banner>div{display:block}.mission-banner>div>span{margin-left:8px;font-size:12px}.mission-steps{gap:4px}.mission-steps li{grid-template-columns:22px 1fr;padding:5px}.mission-steps li b{width:20px;height:20px}.mission-steps li span{font-size:9px}.lesson-dialog{padding:23px 21px}.lesson-dialog h2{font-size:26px}.lesson-dialog>p{font-size:15px}}
@media(max-width:520px){.mission-steps{grid-template-columns:1fr}.game.campaign-mode:not(.presenter-mode) .mission-banner{min-height:194px}.mission-steps li span{font-size:10px}.lesson-dialog{max-height:92dvh;overflow:auto}.lesson-dialog h2{font-size:23px}.lesson-dialog>p{font-size:14px}.lesson-why{margin:12px 0}.lesson-dialog>ol{margin:12px 0}.lesson-dialog>ol li span{font-size:12px}.lesson-hint{grid-template-columns:1fr;gap:3px}.lesson-dialog>button{width:100%}.lesson-quiz{padding:12px}.lesson-quiz h3{font-size:15px}.lesson-quiz button span{font-size:12px}.context-experiment{align-items:flex-start;flex-direction:column;gap:3px}}

/* People stay beside their equipment; order and pickup share one front counter. */
.front-counter-backdrop{position:absolute;z-index:0;left:1%;top:24%;bottom:4%;width:205px;border:3px solid #26383d;border-radius:5px 5px 28px 28px;background:#efdba9;box-shadow:6px 7px 0 rgba(38,56,61,.22);pointer-events:none}.front-counter-backdrop:before{content:"";position:absolute;left:8px;right:8px;top:50%;border-top:4px solid #d54b32}.front-counter-backdrop span{position:absolute;left:7px;top:7px;padding:4px 7px;background:#fff8e8;border:2px solid #26383d;color:#8f2f22;font-size:9px;font-weight:900;white-space:nowrap}
.station-prompt{left:3%;top:35%;width:152px}.station-pass{left:3%;right:auto;top:auto;bottom:7%;width:152px;height:78px}
.crew-manager{left:17%;top:37%}.crew-harness{left:17%;right:auto;top:auto;bottom:8%}
.station-tools{left:30%;bottom:7%;width:150px}.crew-chef{left:31%;top:auto;bottom:31%}
.station-drink{left:50%;bottom:7%;width:122px}.crew-tools{left:51%;top:auto;bottom:31%}
.station-harness{left:auto;right:18%;top:38%;bottom:auto;width:155px;height:78px}
.role-label-dispatch{left:3%;top:29%}.role-label-griddle{left:30%;bottom:31%}.role-label-drink{left:50%;bottom:31%}.role-label-pass{left:3%;right:auto;top:auto;bottom:28%}
.workflow-ticket[data-stage="prompt"]{left:12%;top:43%}.workflow-ticket[data-stage="pass"]{left:12%;top:74%}.food-object[data-stage="pass"]{left:12%;top:64%}.pass-result{left:15%;right:auto;top:64%}
.kitchen-floor[data-flow-stage="pass"] .station-pass,.kitchen-floor[data-flow-stage="harness"] .station-pass{opacity:1;filter:none;outline:4px solid rgba(255,200,61,.75)}

@media(max-width:1100px) and (min-width:681px){
  .front-counter-backdrop{left:3%;top:4%;bottom:5%;width:225px}
  .station-prompt{left:5%;top:10%;width:160px}.crew-manager{left:26%;right:auto;top:12%}
  .station-pass{left:5%;right:auto;top:auto;bottom:10%;width:160px}.crew-harness{left:26%;right:auto;top:auto;bottom:13%}
  .station-griddle{left:auto;right:5%;top:8%;width:210px}.station-tools{left:auto;right:5%;top:32%;bottom:auto;width:155px}.crew-chef{left:auto;right:27%;top:16%;bottom:auto}
  .station-drink{left:auto;right:5%;top:auto;bottom:9%;width:135px}.crew-tools{left:auto;right:27%;top:auto;bottom:15%}
  .station-harness{left:41%;right:auto;top:auto;bottom:9%;width:145px;height:68px}
  .role-label-dispatch{left:5%;top:5%}.role-label-griddle{left:auto;right:5%;top:4%;bottom:auto}.role-label-drink{left:auto;right:5%;top:auto;bottom:27%}.role-label-pass{left:5%;right:auto;top:auto;bottom:28%}
  .workflow-ticket[data-stage="prompt"]{left:17%;top:22%}.workflow-ticket[data-stage="tools"]{left:66%;top:66%}.workflow-ticket[data-stage="harness"]{left:47%;top:70%}.workflow-ticket[data-stage="pass"]{left:16%;top:72%}
  .food-object[data-stage="tools"]{left:68%;top:60%}.food-object[data-stage="harness"]{left:47%;top:61%}.food-object[data-stage="pass"]{left:16%;top:63%}.pass-result{left:17%;top:64%}
}

@media(max-width:680px){
  .front-counter-backdrop{left:1%;top:5%;bottom:4%;width:8px;border-width:2px;border-radius:0;background:#d54b32;box-shadow:none}.front-counter-backdrop:before{display:none}.front-counter-backdrop span{left:-2px;top:34%;padding:4px 2px;writing-mode:vertical-rl;font-size:8px}
  .station-prompt{left:4%;top:8%;width:150px}.crew-manager{left:48%;right:auto;top:8%;bottom:auto}
  .station-griddle{left:3%;top:36%;width:166px}.station-tools{left:3%;top:50%;bottom:auto;width:145px}.crew-chef{left:22%;right:auto;top:35%;bottom:auto}
  .station-drink{left:auto;right:3%;top:50%;bottom:auto;width:118px}.crew-tools{left:auto;right:10%;top:35%;bottom:auto}
  .station-harness{left:auto;right:4%;top:70%;bottom:auto;width:140px;height:64px}
  .station-pass{left:4%;right:auto;top:82%;bottom:auto;width:150px}.crew-harness{left:48%;right:auto;top:82%;bottom:auto}
  .role-label-dispatch{left:4%;top:2%}.role-label-griddle{left:3%;top:31%;bottom:auto}.role-label-drink{left:auto;right:3%;top:31%;bottom:auto}.role-label-pass{left:4%;right:auto;top:77%;bottom:auto;transform:none}
  .kitchen-floor[data-flow-stage="harness"] .role-label-pass,.kitchen-floor[data-flow-stage="pass"] .role-label-pass{transform:translateY(-2px)}
  .workflow-ticket[data-stage="pass"]{left:8%;top:84%}.food-object[data-stage="pass"]{left:10%;top:78%}.pass-result{left:30%;top:80%}
}

/* RAG is a primary teaching station, not a tiny infrastructure label. */
.station-rag{left:auto;right:2%;top:8%;width:168px;height:154px;padding:10px 12px;background:#a9d2b9;z-index:3}.station-rag>small{display:block;margin-bottom:2px;font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f55;letter-spacing:.08em}.station-rag>strong{font-size:17px;line-height:1.15}.station-rag>span{font-size:13px}.station-rag .drawer{display:block;height:18px;margin-top:5px;border:2px solid #26383d;background:#eaf3e7;position:relative}.station-rag .drawer:after{content:"";position:absolute;left:50%;top:6px;width:22px;border-top:2px solid #26383d;transform:translateX(-50%)}.station-rag output{display:block;margin-top:6px;padding:4px 6px;background:#fff;border:1px solid #26383d;font-size:10px;font-weight:900;color:#245f55}
.kitchen-floor[data-lesson="rag"] .station-rag{right:2%;top:7%;width:230px;height:190px;padding:13px 15px;border-width:4px;box-shadow:9px 10px 0 #245f55;outline:6px solid rgba(255,255,255,.82)}.kitchen-floor[data-lesson="rag"] .station-rag:before{top:-18px;padding:4px 8px;font-size:11px;background:#245f55;color:#fff}.kitchen-floor[data-lesson="rag"] .station-rag>small{font-size:12px}.kitchen-floor[data-lesson="rag"] .station-rag>strong{font-size:25px}.kitchen-floor[data-lesson="rag"] .station-rag>span{font-size:15px}.kitchen-floor[data-lesson="rag"] .station-rag .drawer{height:23px;margin-top:6px}.kitchen-floor[data-lesson="rag"] .station-rag .drawer:after{top:8px;width:30px}.kitchen-floor[data-lesson="rag"] .station-rag output{font-size:12px;padding:6px 8px}.station-rag.retrieving{animation:ragCabinetPulse .42s ease-in-out 2 alternate}.station-rag.retrieving .drawer:nth-of-type(2){transform:translateX(-12px);background:#dcecff}@keyframes ragCabinetPulse{to{transform:scale(1.045);outline-color:#4d8ccf}}
.rag-transfer-card{position:absolute;z-index:7;right:30%;top:10%;width:250px;min-height:116px;padding:13px 15px;background:#e7f2ff;border:3px solid #245f9d;box-shadow:7px 7px 0 rgba(36,95,157,.3);opacity:0;transform:translateX(120px) scale(.82);transition:transform .65s cubic-bezier(.2,.8,.2,1),opacity .3s}.rag-transfer-card.arrived{opacity:1;transform:none}.rag-transfer-card small,.rag-transfer-card b,.rag-transfer-card span,.rag-transfer-card em{display:block}.rag-transfer-card small{font:900 10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f9d;letter-spacing:.08em}.rag-transfer-card b{margin-top:5px;font-size:17px}.rag-transfer-card span{margin-top:7px;font-size:14px;font-weight:900;color:#245f55}.rag-transfer-card em{margin-top:7px;padding-top:6px;border-top:1px dashed #245f9d;font-size:12px;line-height:1.4;font-style:normal;font-weight:800;color:#8f2f22}
.rag-lesson-panel{margin:9px 0 11px;padding:14px;border:3px solid #245f9d;background:#e7f2ff;box-shadow:5px 5px 0 #4d8ccf}.rag-lesson-panel header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rag-lesson-panel header span{font:900 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d54b32;letter-spacing:.06em}.rag-lesson-panel header b{font-size:20px;color:#173f6b}.rag-lesson-panel>p{margin:9px 0 11px;font-size:14px;line-height:1.5;font-weight:800;color:#26383d}.rag-lesson-panel>button{width:100%;padding:11px 13px;border:2px solid #173f6b;background:#245f9d;color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:3px 3px 0 #173f6b;transition:transform .15s,background .15s}.rag-lesson-panel>button:not(:disabled):hover{background:#173f6b;transform:translateY(-2px)}.rag-lesson-panel>button:disabled{cursor:not-allowed;background:#9da9ad;border-color:#64736d;box-shadow:none}.rag-lesson-panel[data-state="ready"]{animation:ragPanelReady .7s ease-in-out infinite alternate}.rag-lesson-panel[data-state="done"]{background:#e4f4e8;border-color:#287b43;box-shadow:5px 5px 0 #4fb36b}.rag-evidence-detail{margin-top:12px;padding:10px 11px;background:#fff;border:2px solid #287b43}.rag-evidence-detail small,.rag-evidence-detail strong,.rag-evidence-detail span{display:block}.rag-evidence-detail small{font-size:11px;font-weight:900;color:#245f9d}.rag-evidence-detail strong{margin-top:4px;font-size:15px}.rag-evidence-detail span{margin-top:5px;font-size:12px;line-height:1.45;font-weight:750;color:#8f2f22}@keyframes ragPanelReady{to{box-shadow:8px 8px 0 #4d8ccf;transform:translateY(-2px)}}
.context-rail i.evidence{outline:4px solid #4d8ccf;box-shadow:0 0 0 5px rgba(77,140,207,.2);z-index:2;overflow:visible}.context-rail i.evidence:before{font-size:10px;font-weight:900;background:#dcecff}
.kitchen-stage:has(.context-rail-wrap.has-evidence){grid-template-rows:38px 102px minmax(250px,1fr) 116px}.context-rail-wrap.has-evidence{grid-template-rows:32px 48px;align-content:center}.rag-context-evidence{grid-column:2;display:grid;grid-template-columns:190px 1fr;align-items:center;gap:12px;min-width:0;height:44px;padding:5px 10px;background:#dcecff;border:3px solid #245f9d;box-shadow:4px 4px 0 rgba(36,95,157,.25);animation:ticketSnap .22s ease-out}.rag-context-evidence>small{font:900 11px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#245f9d;letter-spacing:.04em}.rag-context-evidence>div{min-width:0;display:flex;align-items:baseline;gap:10px}.rag-context-evidence b{flex:0 0 auto;font-size:15px;color:#173f6b}.rag-context-evidence span{min-width:0;font-size:13px;line-height:1.3;font-weight:800;color:#8f2f22;white-space:normal;overflow-wrap:anywhere}.context-rail-wrap.has-evidence .context-rail i.evidence:before{font-size:11px;white-space:nowrap}

@media(max-width:1100px) and (min-width:681px){.kitchen-floor[data-lesson="rag"] .station-rag{left:auto;right:3%;top:8%;width:215px;height:184px}.rag-transfer-card{right:34%;top:22%;width:225px}.rag-lesson-panel header{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:680px){.station-rag{left:auto;right:3%;top:20%;width:168px;height:148px}.kitchen-floor[data-lesson="rag"] .station-rag{left:auto;right:3%;top:19%;width:190px;height:176px;padding:11px 12px}.kitchen-floor[data-lesson="rag"] .station-rag>strong{font-size:21px}.kitchen-floor[data-lesson="rag"] .station-rag .drawer{height:20px}.kitchen-floor[data-lesson="rag"] .station-griddle{top:44%}.kitchen-floor[data-lesson="rag"] .crew-chef,.kitchen-floor[data-lesson="rag"] .crew-tools{top:45%}.kitchen-floor[data-lesson="rag"] .station-tools,.kitchen-floor[data-lesson="rag"] .station-drink{top:58%}.kitchen-floor[data-lesson="rag"] .station-mcp{left:41%;right:auto;top:58%;width:96px}.kitchen-floor[data-lesson="rag"] .station-harness{top:73%}.kitchen-floor[data-lesson="rag"] .station-pass,.kitchen-floor[data-lesson="rag"] .crew-harness{top:84%}.rag-transfer-card{display:none}.rag-lesson-panel{padding:12px}.rag-lesson-panel header{align-items:flex-start;flex-direction:column;gap:2px}.rag-lesson-panel header b{font-size:18px}.rag-lesson-panel>p{font-size:13px}}
@media(max-width:680px){.kitchen-stage:has(.context-rail-wrap.has-evidence){grid-template-rows:38px 170px minmax(760px,1fr) 116px}.context-rail-wrap.has-evidence{grid-template-rows:auto 46px 76px;align-content:start}.rag-context-evidence{grid-column:1;height:72px;grid-template-columns:1fr;gap:2px;padding:7px 9px}.rag-context-evidence>small{font-size:10px}.rag-context-evidence>div{display:block}.rag-context-evidence b{display:block;font-size:14px}.rag-context-evidence span{display:block;margin-top:2px;font-size:12px;line-height:1.25}}

/* Desktop crew docks: keep people off labels and infrastructure. */
@media(min-width:1101px){
  .crew-manager{left:20%;top:37%}.crew-harness{left:20%;right:auto;bottom:8%}
  .station-griddle{left:30%;top:auto;bottom:29%;width:150px;height:74px;padding:30px 10px 6px;border-radius:48px 48px 4px 4px}.station-griddle .hood{left:20px;right:20px;top:8px;height:18px}.station-griddle strong{font-size:11px}.station-griddle span{font-size:11px}
  .crew-chef{left:22%;top:auto;bottom:29%}.role-label-griddle{left:22%;top:auto;bottom:47%}
  .station-mcp{left:48%;top:28%}.workflow-ticket[data-stage="mcp"]{left:52%;top:31%}
}
@media(max-width:1100px) and (min-width:681px){.crew-chef{left:auto;right:31%}}
@media(max-width:680px){.crew-chef{left:46%;right:auto}}

/* Collision-safe spatial hierarchy. Primary people/equipment stay large;
   secondary capabilities retreat to dedicated edge slots. */
@media(min-width:1101px){
  .station-skill{left:34%;top:36%}.station-mcp{left:48%;top:36%}.workflow-ticket[data-stage="mcp"]{left:52%;top:39%}
  .station-harness{left:auto;right:18%;top:auto;bottom:7%;width:140px;height:74px}
  .rag-transfer-card{top:2%}
  .role-label-dispatch{top:27%}.role-label-griddle{left:27%;bottom:47%}.role-label-drink{left:60%;bottom:47%}
}

@media(min-width:1101px) and (max-height:780px){
  .topbar{height:56px}.game{height:calc(100dvh - 56px)}.game-toolbar{height:36px;padding:0 14px}.mission-banner{height:34px;padding:0 14px}.presenter-dock{height:32px}
  .game.campaign-mode{grid-template-rows:36px 34px minmax(0,1fr) 0}.game.presenter-mode{grid-template-rows:36px 34px 32px minmax(0,1fr) 0}
  .kitchen-stage{grid-template-rows:34px 42px minmax(300px,1fr) 88px}.kitchen-stage:has(.context-rail-wrap.has-evidence){grid-template-rows:34px 84px minmax(300px,1fr) 88px}
  .context-rail-wrap{grid-template-columns:180px 1fr;padding:4px 10px}.context-rail-wrap.has-evidence{grid-template-rows:28px 42px}.rag-context-evidence{height:38px;grid-template-columns:165px 1fr;padding:4px 8px}.rag-context-evidence>small{font-size:9px}.rag-context-evidence b{font-size:13px}.rag-context-evidence span{font-size:11px}
  .customer-lane{grid-template-columns:135px 1fr;padding:6px 10px}.customer-lane .queue-card{min-height:70px}.lane-title em{font-size:17px}
  .front-counter-backdrop{left:1%;top:20%;bottom:3%;width:185px}.front-counter-backdrop span{font-size:8px}.station-prompt{left:3%;top:25%;width:138px;height:72px}.station-pass{left:3%;bottom:3%;width:138px;height:68px}.crew-manager{left:19%;top:26%}.crew-harness{left:19%;bottom:4%}
  .crew.agent-card{width:64px;min-height:64px}.crew-avatar{width:56px;height:56px;border-radius:18px}.crew-avatar img,.crew-avatar.chef img{width:76px;height:88px}.crew .status{bottom:-8px;font-size:9px;padding:2px 5px}
  .kitchen-floor[data-lesson="rag"] .station-rag{right:2%;top:4%;width:190px;height:150px;padding:9px 11px;border-width:3px;box-shadow:6px 7px 0 #245f55;outline-width:4px}.kitchen-floor[data-lesson="rag"] .station-rag>small{font-size:9px}.kitchen-floor[data-lesson="rag"] .station-rag>strong{font-size:19px}.kitchen-floor[data-lesson="rag"] .station-rag>span{font-size:12px}.kitchen-floor[data-lesson="rag"] .station-rag .drawer{height:16px;margin-top:4px}.kitchen-floor[data-lesson="rag"] .station-rag output{font-size:9px;padding:3px 5px}
  .station-skill{left:34%;top:32%;width:96px;height:50px}.station-mcp{left:48%;top:32%;width:96px;height:50px}.station-skill strong,.station-mcp strong{font-size:8px}.station-skill span,.station-mcp span{font-size:8px}
  .station-griddle{left:30%;bottom:28%;width:132px;height:62px;padding-top:25px}.station-tools{left:30%;bottom:3%;width:132px;height:76px}.crew-chef{left:22%;bottom:28%}
  .station-drink{left:50%;bottom:3%;width:110px;height:76px}.crew-tools{left:50%;bottom:28%}
  .station-harness{right:16%;bottom:3%;width:120px;height:60px}.rag-transfer-card{display:none!important}.role-label{display:none}
  .workflow-ticket{width:72px;height:44px;padding:4px;transition-duration:.32s}.workflow-ticket small{font-size:7px}.workflow-ticket b{font-size:10px}.workflow-ticket[data-stage="rag"]{left:62%;top:10%}.workflow-ticket[data-stage="llm"],.workflow-ticket[data-stage="skills"],.workflow-ticket[data-stage="mcp"],.workflow-ticket[data-stage="tools"]{left:62%;top:48%;transform:none}.workflow-ticket[data-stage="harness"]{left:62%;top:66%}.workflow-ticket[data-stage="pass"]{left:3%;top:52%;transform:none}
  .food-object{width:64px}.food-object img{width:56px;height:56px}.food-object span{font-size:9px}.food-object[data-stage="tools"]{left:63%;top:64%}.food-object[data-stage="harness"]{left:63%;top:68%}.food-object[data-stage="pass"]{left:12%;top:52%}
}

@media(max-width:1100px) and (min-width:681px){
  .rag-transfer-card{display:none!important}.role-label{display:none}
  .kitchen-floor[data-lesson="rag"] .station-rag{left:auto;right:3%;top:4%;width:190px;height:150px;padding:9px 11px;border-width:3px;box-shadow:6px 7px 0 #245f55;outline-width:4px}.kitchen-floor[data-lesson="rag"] .station-rag>strong{font-size:20px}.kitchen-floor[data-lesson="rag"] .station-rag .drawer{height:17px;margin-top:4px}.kitchen-floor[data-lesson="rag"] .station-rag output{font-size:10px;padding:3px 5px}
  .kitchen-floor[data-lesson="rag"] .station-griddle{left:auto;right:5%;top:38%;width:180px;height:86px;padding-top:34px}.kitchen-floor[data-lesson="rag"] .crew-chef{left:auto;right:29%;top:40%}.kitchen-floor[data-lesson="rag"] .station-tools{left:auto;right:5%;top:58%;bottom:auto;width:145px;height:82px}
  .kitchen-floor[data-lesson="rag"] .station-drink{left:auto;right:5%;top:auto;bottom:5%;width:125px;height:82px}.kitchen-floor[data-lesson="rag"] .crew-tools{left:auto;right:29%;top:auto;bottom:7%}
  .kitchen-floor[data-lesson="rag"] .station-skill{left:39%;top:44%;width:96px;height:50px}.kitchen-floor[data-lesson="rag"] .station-mcp{left:52%;top:44%;width:96px;height:50px}.kitchen-floor[data-lesson="rag"] .station-harness{left:43%;right:auto;top:auto;bottom:7%;width:120px;height:60px}
}

@media(max-width:680px){
  .role-label{display:none}.kitchen-floor[data-lesson="rag"]{min-height:900px}.kitchen-floor[data-lesson="rag"] .station-skill{left:3%;top:70%;width:90px;height:48px}.kitchen-floor[data-lesson="rag"] .station-mcp{left:auto;right:3%;top:70%;width:90px;height:48px}.kitchen-floor[data-lesson="rag"] .station-harness{left:35%;right:auto;top:78%;width:120px;height:58px}.kitchen-floor[data-lesson="rag"] .station-pass,.kitchen-floor[data-lesson="rag"] .crew-harness{top:88%}
}
.role-label{display:none}

/* 2026-08 spatial rebuild: stations and people share stable workcells.
   Only the moving order and meal remain absolutely positioned. */
.workspace-grid{position:absolute;z-index:2;inset:24px 16px 12px;display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(170px,1fr) minmax(140px,.82fr) minmax(175px,1.05fr);grid-template-rows:76px minmax(104px,1fr) minmax(104px,1fr);grid-template-areas:"capabilities capabilities plan rag" "counter-in griddle drink harness" "counter-out griddle drink harness";gap:10px 12px;min-width:0;min-height:0}.workcell{position:relative;z-index:3;min-width:0;min-height:0}.workcell-capabilities{grid-area:capabilities;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;padding-left:4px}.workcell-plan{grid-area:plan}.workcell-rag{grid-area:rag}.workcell-counter-in{grid-area:counter-in}.workcell-counter-out{grid-area:counter-out}.workcell-griddle{grid-area:griddle}.workcell-drink{grid-area:drink}.workcell-harness{grid-area:harness}.workcell-counter-in,.workcell-counter-out{display:grid;grid-template-columns:minmax(112px,1fr) 64px;align-items:center;gap:10px}.workcell-griddle,.workcell-drink{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:8px}.workcell-harness{display:grid;place-items:center;padding:8px}.workspace-grid .station,.workspace-grid .crew.agent-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none;width:auto;height:auto}.workspace-grid .station{min-width:0}.workspace-grid .crew.agent-card{flex:0 0 64px;width:64px!important;min-height:64px!important}.workspace-grid .crew-avatar{width:56px;height:56px;border-radius:18px}.workspace-grid .crew-avatar img,.workspace-grid .crew-avatar.chef img{width:76px;height:88px}.workspace-grid .crew .status{bottom:-8px;font-size:9px;padding:2px 6px}.workspace-grid .station-prompt,.workspace-grid .station-pass{width:100%!important;height:74px!important}.workspace-grid .station-griddle{width:100%!important;height:100%!important;min-height:72px;padding:32px 9px 7px}.workspace-grid .station-skill,.workspace-grid .station-mcp{width:100%!important;height:52px!important;top:auto!important}.workspace-grid .station-tools,.workspace-grid .station-drink{width:100%!important;height:82px!important}.workspace-grid .station-harness{width:100%!important;height:78px!important}.workspace-grid .station-rag{width:100%!important;height:100%!important;min-height:142px;padding:9px 11px}.workspace-grid .station-rag>strong{font-size:16px}.workspace-grid .station-rag>span{font-size:11px}.workspace-grid .station-rag .drawer{height:15px;margin-top:3px}.workspace-grid .station-rag output{margin-top:4px;font-size:9px;padding:3px 5px}.workspace-grid .station-tools .burner{width:29px;height:29px;margin:6px 5px 0 0}.workspace-grid .station-drink .cup{height:34px;margin-top:4px}.workspace-grid .station:before{top:-10px;font-size:7px}.front-counter-backdrop,.workflow-path,.flow-node,.role-label,.rag-transfer-card{display:none!important}.kitchen-floor:has(.crew.agent-card.working) .workspace-grid .station{opacity:.52;filter:saturate(.6)}.kitchen-floor:has(#orchestrator.working) .workspace-grid .station-prompt,.kitchen-floor:has(#ragStation.working) .workspace-grid .station-rag,.kitchen-floor:has(#llm.working) .workspace-grid .station-griddle,.kitchen-floor:has(#llm.working) .workspace-grid .station-tools,.kitchen-floor:has(#tools.working) .workspace-grid .station-drink,.kitchen-floor:has(#harness.working) .workspace-grid .station-harness{opacity:1;filter:none;transform:scale(1.025)}

@media(min-width:1101px) and (max-height:780px){.workspace-grid{inset:17px 12px 8px;grid-template-columns:minmax(175px,1.12fr) minmax(155px,1fr) minmax(128px,.82fr) minmax(158px,1fr);grid-template-rows:62px minmax(96px,1fr) minmax(96px,1fr);gap:8px 10px}.workspace-grid .station-prompt,.workspace-grid .station-pass{height:66px!important}.workspace-grid .station-skill,.workspace-grid .station-mcp{height:46px!important}.workspace-grid .station-griddle{min-height:60px;padding-top:26px}.workspace-grid .station-tools,.workspace-grid .station-drink{height:72px!important}.workspace-grid .station-harness{height:64px!important}.workspace-grid .station-rag{min-height:122px!important;padding:7px 9px}.workspace-grid .station-rag .drawer{height:13px}.workspace-grid .station-rag output{font-size:8px}.workspace-grid .crew.agent-card{width:58px!important;min-height:58px!important;flex-basis:58px}.workspace-grid .crew-avatar{width:52px;height:52px}.workspace-grid .crew-avatar img,.workspace-grid .crew-avatar.chef img{width:70px;height:82px}.workcell-counter-in,.workcell-counter-out{grid-template-columns:minmax(105px,1fr) 58px;gap:7px}.workcell-griddle,.workcell-drink{gap:8px;padding:4px}.workflow-ticket{width:66px;height:40px}.food-object{width:58px}.food-object img{width:52px;height:52px}}

@media(max-width:1100px) and (min-width:681px){.kitchen-stage{height:auto!important;grid-template-rows:44px 52px 600px 120px!important}.kitchen-stage:has(.context-rail-wrap.has-evidence){grid-template-rows:44px 102px 600px 120px!important}.workspace-grid{inset:22px 18px 14px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);grid-template-rows:66px minmax(116px,1fr) minmax(190px,1.35fr) minmax(106px,.9fr);grid-template-areas:"capabilities plan" "counter-in rag" "griddle drink" "counter-out harness";gap:14px}.workcell-counter-in,.workcell-counter-out{grid-template-columns:minmax(138px,1fr) 64px}.workcell-griddle,.workcell-drink{gap:10px}.workspace-grid .station-rag{min-height:108px}.workspace-grid .station-rag .drawer{display:inline-block;width:29%;margin-right:3%;height:16px}.workspace-grid .station-rag output{font-size:10px}.workspace-grid .station-harness{height:74px!important}.workspace-grid .station-griddle{min-height:64px}.workspace-grid .station-tools,.workspace-grid .station-drink{max-width:180px}.kitchen-floor[data-lesson="rag"] .workspace-grid .station-rag{width:100%!important;height:100%!important;min-height:108px!important;padding:9px 11px!important;box-shadow:6px 7px 0 #245f55;outline-width:4px}.kitchen-floor[data-lesson="rag"] .workspace-grid .station-rag>strong{font-size:20px}.kitchen-floor[data-lesson="rag"] .workspace-grid .station-griddle,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-tools,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-drink,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-skill,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-mcp,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-harness{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important}}

@media(max-width:680px){html,body,.game-shell,.game{max-width:100%;overflow-x:hidden}.presenter-dock{width:100%;max-width:100vw;min-width:0}.presenter-dock .demo-speed,.presenter-dock .auto-demo{flex:0 0 auto}.command-panel,.system-controls,.architecture-control{width:100%;min-width:0;max-width:100%}.command-panel .system-controls label{min-width:0!important}.architecture-control{grid-template-columns:1fr}.architecture-control label,.architecture-control label>span{min-width:0;max-width:100%}.kitchen-floor,.kitchen-floor[data-lesson="rag"]{min-height:820px}.workspace-grid{position:absolute;inset:24px 12px 18px;grid-template-columns:1fr 1fr;grid-template-rows:62px 104px 128px 76px 190px 86px 104px;grid-template-areas:"capabilities capabilities" "counter-in counter-in" "rag rag" "plan plan" "griddle drink" "harness harness" "counter-out counter-out";gap:14px 10px}.workcell-capabilities{padding:0;gap:8px}.workcell-counter-in,.workcell-counter-out{grid-template-columns:minmax(150px,1fr) 64px;gap:12px}.workcell-griddle,.workcell-drink{gap:8px;padding:3px}.workspace-grid .station-prompt,.workspace-grid .station-pass{height:72px!important}.workspace-grid .station-rag{min-height:118px!important}.workspace-grid .station-rag .drawer{display:inline-block;width:29%;margin-right:3%;height:16px}.workspace-grid .station-griddle{min-height:70px}.workspace-grid .station-tools,.workspace-grid .station-drink{height:76px!important}.workspace-grid .station-harness{height:72px!important}.workspace-grid .crew.agent-card{width:58px!important;min-height:58px!important;flex-basis:58px}.workspace-grid .crew-avatar{width:52px;height:52px}.workspace-grid .crew-avatar img,.workspace-grid .crew-avatar.chef img{width:70px;height:82px}.kitchen-floor[data-lesson="rag"] .workspace-grid .station-rag{width:100%!important;height:100%!important;min-height:118px!important;padding:9px 11px!important}.kitchen-floor[data-lesson="rag"] .workspace-grid .station-griddle,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-tools,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-drink,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-skill,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-mcp,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-harness,.kitchen-floor[data-lesson="rag"] .workspace-grid .station-pass,.kitchen-floor[data-lesson="rag"] .workspace-grid .crew{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto}.workflow-ticket,.food-object{transform:scale(.86);transform-origin:center}.workflow-ticket[data-stage="rag"]{left:68%;top:27%}.workflow-ticket[data-stage="llm"],.workflow-ticket[data-stage="skills"],.workflow-ticket[data-stage="mcp"]{left:64%;top:43%}.workflow-ticket[data-stage="tools"]{left:42%;top:63%}.workflow-ticket[data-stage="harness"]{left:60%;top:78%}.workflow-ticket[data-stage="pass"]{left:11%;top:89%}.food-object[data-stage="tools"]{left:43%;top:68%}.food-object[data-stage="harness"]{left:64%;top:79%}.food-object[data-stage="pass"]{left:34%;top:88%}}

@media(min-width:1101px){.workflow-ticket[data-stage="prompt"]{left:29%;top:31%;transform:none}.workflow-ticket[data-stage="rag"]{left:76%;top:39%;transform:none}.workflow-ticket[data-stage="llm"]{left:58%;top:28%;transform:none}.workflow-ticket[data-stage="skills"]{left:36%;top:23%;transform:none}.workflow-ticket[data-stage="mcp"]{left:46%;top:23%;transform:none}.workflow-ticket[data-stage="tools"]{left:36%;top:80%;transform:none}.workflow-ticket[data-stage="harness"]{left:76%;top:41%;transform:none}.workflow-ticket[data-stage="pass"]{left:3%;top:83%;transform:none}.food-object[data-stage="tools"]{left:45%;top:71%}.food-object[data-stage="harness"]{left:79%;top:59%}.food-object[data-stage="pass"]{left:11%;top:63%}}

/* Focus mode: teach one concept at a time instead of displaying the whole stack. */
.kitchen-stage>.stage-heading{grid-row:1}.kitchen-stage>.context-rail-wrap{grid-row:2}.kitchen-stage>.kitchen-floor{grid-row:3}.kitchen-stage>.customer-lane{grid-row:4}
.game.campaign-mode{grid-template-rows:40px 54px minmax(0,1fr) 0}.game.presenter-mode{grid-template-rows:40px 54px 38px minmax(0,1fr) 0}.game.campaign-mode .game-toolbar{height:40px;padding:0 16px}.game.campaign-mode .mission-strip,.game.campaign-mode .progress-wrap{display:none!important}.game.campaign-mode .mission-banner{height:54px!important;min-height:54px!important;display:grid!important;grid-template-columns:minmax(190px,260px) minmax(0,1fr)!important;align-items:center;gap:14px;padding:6px 16px!important}.game.campaign-mode .mission-banner>div{display:block}.game.campaign-mode .mission-banner>div>span{display:block;margin:2px 0 0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game.campaign-mode .mission-steps{display:block;min-width:0}.game.campaign-mode .mission-steps li{display:none}.game.campaign-mode .mission-steps li.current{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;background:#fffdf7;border:2px solid #26383d}.game.campaign-mode .mission-steps li.current b{width:24px;height:24px}.game.campaign-mode .mission-steps li.current span{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game.campaign-mode .system-controls{display:none}.game.campaign-mode .trace-panel{max-height:48px;overflow:hidden;padding:8px 10px}.game.campaign-mode .trace-panel li:not(:last-child){display:none}.game.campaign-mode .trace-panel .trace-head small{display:none}.game.campaign-mode .architecture-live{font-size:8px;padding:3px 6px}.stage-heading>small{display:none}.stage-heading{gap:10px}.stage-event{max-width:none;flex:1;position:static;transform:none;min-width:0;padding:4px 8px;box-shadow:none}.kitchen-stage:has(.kitchen-floor[data-lesson="prompt"]),.kitchen-stage:has(.kitchen-floor[data-lesson="skills"]),.kitchen-stage:has(.kitchen-floor[data-lesson="mcp"]),.kitchen-stage:has(.kitchen-floor[data-lesson="harness"]),.kitchen-stage:has(.kitchen-floor[data-lesson="guardrail"]){grid-template-rows:38px 0 minmax(250px,1fr) 116px}.kitchen-stage:has(.kitchen-floor[data-lesson="prompt"]) .context-rail-wrap,.kitchen-stage:has(.kitchen-floor[data-lesson="skills"]) .context-rail-wrap,.kitchen-stage:has(.kitchen-floor[data-lesson="mcp"]) .context-rail-wrap,.kitchen-stage:has(.kitchen-floor[data-lesson="harness"]) .context-rail-wrap,.kitchen-stage:has(.kitchen-floor[data-lesson="guardrail"]) .context-rail-wrap{display:none}.workcell-rag,.workcell-plan,.workcell-harness,.workspace-grid #skillNode,.workspace-grid #mcpHub{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s}.kitchen-floor[data-lesson="rag"] .workcell-rag,.kitchen-floor:has(#ragStation.working) .workcell-rag,.kitchen-floor:has(#ragStation.done) .workcell-rag{visibility:visible;opacity:1}.kitchen-floor:has(#llm.working) .workcell-plan,.kitchen-floor:has(#llm.done) .workcell-plan{visibility:visible;opacity:1}.kitchen-floor[data-lesson="skills"] #skillNode,.kitchen-floor[data-lesson="mcp"] #skillNode,.kitchen-floor:has(#skillNode.working) #skillNode,.kitchen-floor:has(#skillNode.done) #skillNode{visibility:visible;opacity:1}.kitchen-floor[data-lesson="mcp"] #mcpHub,.kitchen-floor:has(#mcpHub.working) #mcpHub,.kitchen-floor:has(#mcpHub.done) #mcpHub{visibility:visible;opacity:1}.kitchen-floor[data-lesson="harness"] .workcell-harness,.kitchen-floor[data-lesson="guardrail"] .workcell-harness,.kitchen-floor:has(.station-harness.working) .workcell-harness,.kitchen-floor:has(.station-harness.done) .workcell-harness{visibility:visible;opacity:1}.kitchen-floor[data-lesson="prompt"] .workspace-grid,.kitchen-floor[data-lesson="context"] .workspace-grid{grid-template-columns:minmax(210px,1.05fr) minmax(190px,1fr) minmax(170px,.9fr) minmax(210px,1.05fr)}

@media(max-width:680px){.game.campaign-mode .mission-banner{grid-template-columns:1fr!important;height:76px!important;min-height:76px!important;gap:4px;padding:6px 9px!important}.game.campaign-mode{grid-template-rows:40px 76px minmax(0,1fr) 0}.game.presenter-mode{grid-template-rows:40px 76px 38px minmax(0,1fr) 0}.game.campaign-mode .mission-banner>div>span{font-size:10px}.game.campaign-mode .mission-steps li.current{padding:4px 7px}.game.campaign-mode .mission-steps li.current span{font-size:11px}.stage-heading{grid-template-columns:auto 1fr}.stage-heading .stage-event{grid-column:2;grid-row:1}.kitchen-stage:has(.kitchen-floor[data-lesson="prompt"]),.kitchen-stage:has(.kitchen-floor[data-lesson="skills"]),.kitchen-stage:has(.kitchen-floor[data-lesson="mcp"]),.kitchen-stage:has(.kitchen-floor[data-lesson="harness"]),.kitchen-stage:has(.kitchen-floor[data-lesson="guardrail"]){grid-template-rows:58px 0 820px 118px}}

@media(max-width:1100px) and (min-width:681px){.kitchen-floor[data-lesson="prompt"] .workspace-grid,.kitchen-floor[data-lesson="context"] .workspace-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr)}}
@media(max-width:680px){.kitchen-floor[data-lesson="prompt"] .workspace-grid,.kitchen-floor[data-lesson="context"] .workspace-grid{grid-template-columns:1fr 1fr}.workcell-counter-in,.workcell-counter-out{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 58px}.workspace-grid .station-prompt,.workspace-grid .station-pass{min-width:0}}

/* MCP lesson: knowing a procedure is visibly different from reaching a tool. */
.mcp-connect{border:3px solid #7f251b;background:#e9463e;color:#fff;padding:6px 12px;font-size:13px;font-weight:900;line-height:1.15;cursor:pointer;box-shadow:3px 3px 0 #7f251b;white-space:nowrap;animation:mcpCtaPulse 1.1s ease-in-out infinite alternate}.mcp-connect:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #7f251b}.mcp-connect:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #7f251b}@keyframes mcpCtaPulse{to{background:#c93628;box-shadow:3px 3px 0 #7f251b,0 0 0 5px rgba(233,70,62,.18)}}
.stage-heading:has(.mcp-connect:not(.hidden)) .stage-event{color:#8f2f22;background:#fff0ec;border:2px solid #e9463e;font-weight:900}.station-mcp.disconnected{visibility:visible!important;opacity:1!important;background:#ffe3dc!important;color:#7f251b!important;border-color:#e9463e!important;outline:4px solid rgba(233,70,62,.24);box-shadow:5px 6px 0 #e9463e!important;animation:mcpDisconnect .75s ease-in-out infinite alternate}.station-mcp.disconnected:after{content:"連線中斷";position:absolute;left:8px;bottom:-14px;padding:2px 6px;background:#e9463e;color:#fff;border:2px solid #7f251b;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}@keyframes mcpDisconnect{to{outline-color:rgba(233,70,62,.55)}}
.workspace-grid .station-tools.offline,.workspace-grid .station-drink.offline{position:relative;opacity:.3!important;filter:grayscale(1)!important;outline:4px dashed #e9463e;outline-offset:2px}.station-tools.offline:after,.station-drink.offline:after{content:"MCP 未連線";position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);padding:4px 7px;background:#fff0ec;color:#9e2d22;border:2px solid #e9463e;font-size:11px;font-weight:900;line-height:1;white-space:nowrap;box-shadow:2px 2px 0 #7f251b}.kitchen-floor[data-lesson="mcp"] #skillNode.done{visibility:visible;opacity:.72}.kitchen-floor[data-lesson="mcp"] #skillNode.done:after{content:"會做 ✓";position:absolute;right:5px;bottom:4px;padding:2px 5px;background:#4fb36b;color:#fff;font-size:9px;font-weight:900}
@media(max-width:680px){.mcp-connect{grid-column:1/-1!important;grid-row:2!important;width:100%;font-size:12px;padding:7px}.stage-heading:has(.mcp-connect:not(.hidden)) .stage-event{display:none}.station-tools.offline:after,.station-drink.offline:after{font-size:9px;padding:3px 4px}}
@media(prefers-reduced-motion:reduce){.mcp-connect,.station-mcp.disconnected{animation:none}}

/* Skill lesson: one high-level command visibly expands into a reusable workflow. */
.today-special{grid-column:1/-1;display:grid;gap:10px;padding:12px;background:#eef6ff;border:3px solid #245f9d;box-shadow:5px 6px 0 #173f6b}.special-board{display:grid;grid-template-columns:1fr auto;align-items:end;padding:10px 12px;background:#245f9d;color:#fff}.special-board small{grid-column:1/-1;color:#bfe1ff;font:900 9px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em}.special-board strong{font-size:25px;line-height:1.05;letter-spacing:-.04em}.special-board span{font-size:11px;font-weight:800}.today-special>button{display:grid;gap:2px;width:100%;padding:11px 13px;text-align:left;border:3px solid #26383d;background:#ffc83d;color:#26383d;box-shadow:3px 4px 0 #26383d;cursor:pointer;transition:transform .15s,box-shadow .15s}.today-special>button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:5px 6px 0 #26383d}.today-special>button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 #26383d}.today-special>button b{font-size:16px}.today-special>button span{font-size:11px;font-weight:700}.special-recipe{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;padding:0;list-style:none}.special-recipe li:last-child{grid-column:1/-1}.special-recipe li{min-width:0;padding:6px 7px;background:#fff;border:2px solid #aac8e3;opacity:.35;transform:translateY(7px)}.special-recipe i{display:grid;place-items:center;width:18px;height:18px;margin-bottom:4px;background:#245f9d;color:#fff;font-style:normal;font-size:9px;font-weight:900}.special-recipe span,.special-recipe b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.special-recipe span{font-size:9px;color:#557087}.special-recipe b{font-size:11px}.special-explain{margin:0;padding:8px 10px;background:#fff;font-size:11px;line-height:1.45}.today-special.invoked{background:#e7f7ea;border-color:#348a4b;box-shadow:5px 6px 0 #348a4b}.today-special.invoked>button{background:#4fb36b;color:#fff}.today-special.invoked .special-recipe li{opacity:1;transform:none;border-color:#4fb36b;animation:specialExpand .38s cubic-bezier(.2,.9,.2,1) both}.today-special.invoked .special-recipe li:nth-child(2){animation-delay:.08s}.today-special.invoked .special-recipe li:nth-child(3){animation-delay:.16s}.today-special.invoked .special-recipe li:nth-child(4){animation-delay:.24s}.today-special.invoked .special-recipe li:nth-child(5){animation-delay:.32s}@keyframes specialExpand{from{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:none}}
.kitchen-floor[data-lesson="skills"] #skillNode{height:62px!important;background:#dcecff;border:3px solid #245f9d;box-shadow:5px 6px 0 #173f6b}.kitchen-floor[data-lesson="skills"] #skillNode strong{font-size:13px}.kitchen-floor[data-lesson="skills"] #skillNode span{font-size:11px}.kitchen-floor[data-lesson="skills"] #skillNode.available{background:#4fb36b;color:#fff}
@media(max-width:680px){.today-special{padding:9px;box-shadow:3px 4px 0 #173f6b}.special-board strong{font-size:21px}.special-board span{font-size:9px}.special-recipe{grid-template-columns:1fr 1fr}.special-recipe li:last-child{grid-column:1/-1}.today-special>button b{font-size:15px}}
@media(prefers-reduced-motion:reduce){.today-special.invoked .special-recipe li{animation:none}}

/* Background music control */
.icon-button.music-on{position:relative;background:#fff4cf;color:#1d8279}.icon-button.music-on:after{content:"";position:absolute;left:50%;bottom:12px;width:4px;height:4px;border-radius:50%;background:#d54b32;box-shadow:-8px 1px 0 #ffc83d,8px -1px 0 #1d8279;animation:musicBeat .64s ease-in-out infinite alternate}.icon-button.off{opacity:.38;background:transparent;color:inherit}.icon-button:focus-visible{outline:3px solid #4d8ccf;outline-offset:-4px}@keyframes musicBeat{to{transform:translateY(-5px) scale(1.25)}}
@media(prefers-reduced-motion:reduce){.icon-button.music-on:after{animation:none}}

/* Readable handoffs: one speed control drives every play and presentation mode. */
.game{--flow-move:.65s}.game[data-flow-speed="slow"]{--flow-move:1s}.game[data-flow-speed="normal"]{--flow-move:.65s}.game[data-flow-speed="fast"]{--flow-move:.38s}.game .workflow-ticket,.game .food-object{transition-duration:var(--flow-move)!important}.game .stage-event{font-size:13px;line-height:1.25;padding:5px 10px}
@media(max-width:900px){.flow-speed span{display:none}.game-toolbar{gap:12px}}
@media(max-width:680px){.flow-speed select{min-width:56px;padding:4px 5px}.game .stage-event{font-size:12px;white-space:normal;line-height:1.3}}

/* ============================================================================
   2026-08 手機版跑版修正
   問題：max-width:680px 用固定 7 列 grid-template-areas（62+104+128+76+190+86+104
        = 750px，加 6 道 14px gap 共 834px），但 .workcell-rag / .workcell-plan /
        .workcell-harness 與 #skillNode / #mcpHub 預設只是 visibility:hidden ——
        仍然佔滿整列。四個空列疊起來 350px+ 的斷層，超出的再被 kitchen-floor 的
        overflow:hidden 裁掉，造成巨大空隙與底部元素重疊。
   修法：改成自動流排版（order 控制順序），隱藏的格子改用 display:none 完全退出
        版面；顯示條件與原本的 visibility 規則一一對應。
   ============================================================================ */
@media(max-width:680px){
  /* 讓高度由內容決定：absolute 不撐父容器，改用 relative 參與流排版
     （保留 relative 而非 static，z-index 才有效） */
  .kitchen-floor,.kitchen-floor[data-lesson="rag"]{min-height:0}
  /* 原本第三列寫死 760px（配合舊的 834px 固定版面），改成 auto 由內容決定 */
  .kitchen-stage{height:auto;grid-template-rows:72px 86px auto 118px}
  .workspace-grid{
    position:relative;
    inset:auto;
    padding:14px 12px;
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-areas:none;
    grid-template-rows:none;
    grid-auto-rows:min-content;
    align-content:start;
    gap:10px;
    overflow:visible;
  }
  /* 預設整列寬；煎台與飲料並排 */
  .workspace-grid>.workcell{grid-area:auto;grid-column:1/-1}
  .workspace-grid>.workcell-capabilities{order:1}
  .workspace-grid>.workcell-counter-in{order:2}
  .workspace-grid>.workcell-rag{order:3}
  .workspace-grid>.workcell-plan{order:4}
  .workspace-grid>.workcell-griddle{order:5;grid-column:auto}
  .workspace-grid>.workcell-drink{order:6;grid-column:auto}
  .workspace-grid>.workcell-harness{order:7}
  .workspace-grid>.workcell-counter-out{order:8}

  /* 收合：不再只是看不見，而是完全不佔位 */
  .workspace-grid .workcell-capabilities,
  .workspace-grid .workcell-rag,
  .workspace-grid .workcell-plan,
  .workspace-grid .workcell-harness{display:none}

  .kitchen-floor[data-lesson="rag"] .workspace-grid .workcell-rag,
  .kitchen-floor:has(#ragStation.working) .workspace-grid .workcell-rag,
  .kitchen-floor:has(#ragStation.done) .workspace-grid .workcell-rag{
    display:block;visibility:visible;opacity:1}

  .kitchen-floor:has(#llm.working) .workspace-grid .workcell-plan,
  .kitchen-floor:has(#llm.done) .workspace-grid .workcell-plan{
    display:block;visibility:visible;opacity:1}

  .kitchen-floor[data-lesson="harness"] .workspace-grid .workcell-harness,
  .kitchen-floor[data-lesson="guardrail"] .workspace-grid .workcell-harness,
  .kitchen-floor:has(.station-harness.working) .workspace-grid .workcell-harness,
  .kitchen-floor:has(.station-harness.done) .workspace-grid .workcell-harness{
    display:grid;visibility:visible;opacity:1}

  /* capabilities 整格：skillNode 或 mcpHub 任一要現身才展開 */
  .kitchen-floor[data-lesson="skills"] .workspace-grid .workcell-capabilities,
  .kitchen-floor[data-lesson="mcp"] .workspace-grid .workcell-capabilities,
  .kitchen-floor:has(#skillNode.working) .workspace-grid .workcell-capabilities,
  .kitchen-floor:has(#skillNode.done) .workspace-grid .workcell-capabilities,
  .kitchen-floor:has(#mcpHub.working) .workspace-grid .workcell-capabilities,
  .kitchen-floor:has(#mcpHub.done) .workspace-grid .workcell-capabilities{display:grid}
}

/* 承上：另外兩條 specificity 更高的規則也把第三列釘死，一併解開。
   .kitchen-stage:has(...) 是 (0,3,0)，蓋不過就會退回 820px / 760px 的舊高度。 */
@media(max-width:680px){
  .kitchen-stage:has(.context-rail-wrap.has-evidence){
    grid-template-rows:38px 170px auto 118px}
  .kitchen-stage:has(.kitchen-floor[data-lesson="prompt"]),
  .kitchen-stage:has(.kitchen-floor[data-lesson="skills"]),
  .kitchen-stage:has(.kitchen-floor[data-lesson="mcp"]),
  .kitchen-stage:has(.kitchen-floor[data-lesson="harness"]),
  .kitchen-stage:has(.kitchen-floor[data-lesson="guardrail"]){
    grid-template-rows:58px 0 auto 118px}
}
