@font-face{font-family:Noto;src:url('assets/ui.ttf');font-weight:100 900;font-display:swap}
:root{--paper:#efe8d5;--green:#234e43;--ink:#243c32;--muted:#5f6a59;--orange:#d96839;--white:#faf6ea;--line:#c7c9b8;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 Noto,'Microsoft YaHei',sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{background:var(--green);color:var(--paper)}a{color:inherit;text-underline-offset:4px}input{caret-color:var(--green)}input::placeholder{color:var(--muted)}[hidden]{display:none!important}.skip{position:fixed;left:12px;top:-100px;z-index:20;background:var(--white);padding:12px}.skip:focus{top:12px}
header{height:90px;padding:0 42px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line);position:relative;z-index:5}header img{width:140px;height:auto;display:block}.header-name{font-size:16px;font-weight:600;display:flex;gap:18px;align-items:center}.header-name>span{font-size:11px;font-weight:400;padding-left:18px;border-left:1px solid var(--line);letter-spacing:.12em}.header-tools{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:12px}.header-tools button{border:0;background:none;color:var(--muted);min-height:44px;padding:0}.header-tools a{text-decoration:none;display:flex;gap:12px;align-items:center;min-height:44px}
main{height:calc(100dvh - 174px);min-height:610px;position:relative;overflow:hidden}#scene-frame{position:absolute;inset:0 0 0 26%;}#scene{display:block;width:100%;height:100%;outline:none;touch-action:pan-y;cursor:default}.scene-caption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;gap:24px;font-size:10px;color:var(--muted)}.scene-caption>span:last-child{opacity:.75;letter-spacing:.08em}
#panel{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:300px;z-index:2;outline:none}h1{font-size:48px;letter-spacing:-.04em;line-height:1.25;font-weight:650;margin:0 0 24px;text-wrap:balance}h1 .warm{color:var(--orange)}.intro{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 30px;max-width:26em}.primary{border:0;background:var(--green);color:var(--white);padding:14px 20px;min-height:52px;display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;border-radius:9px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.primary svg{width:21px;height:21px}.small{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 0}.subtle{background:none;border:0;min-height:44px;color:var(--muted);padding:4px 0;text-decoration:underline;text-underline-offset:5px;font-size:12px}.corner-mark{width:52px;height:42px;border-right:8px solid var(--orange);border-bottom:8px solid var(--orange);border-radius:0 0 15px 0;margin:0 0 32px}.quiet-link{display:inline-flex;font-size:12px;color:var(--muted);margin-top:10px;min-height:44px;align-items:center;gap:16px;text-decoration:none}
.hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:var(--white);color:var(--green);display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 15px;border-radius:30px;box-shadow:0 7px 22px #234e4326;font-size:12px;white-space:nowrap;z-index:1}.hotspot-dot{width:7px;height:7px;background:var(--orange);border-radius:50%}.hotspot>span:last-child{margin-left:4px}.hotspot:hover{background:#fffdf6}
footer{min-height:84px;display:flex;align-items:center;justify-content:space-between;padding:16px 42px;border-top:1px solid var(--line);gap:20px}footer p{font-size:10px;color:var(--muted);margin:0}#steps{list-style:none;display:flex;align-items:center;margin:0;padding:0;gap:38px;color:var(--muted);font-size:12px}#steps li{display:flex;align-items:center;gap:10px}#steps li span{font-variant-numeric:tabular-nums;font-size:10px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%}#steps [aria-current]{color:var(--green);font-weight:650}#steps [aria-current] span{background:var(--green);color:var(--paper);border-color:var(--green)}
body:not([data-stage=outside]) #scene-frame{inset:0 390px 0 0}body:not([data-stage=outside]) #panel{left:auto;right:42px;width:310px;max-height:calc(100% - 30px);overflow:auto;padding:2px 4px 12px;scrollbar-width:thin;scrollbar-color:var(--green) transparent}h2{font-size:30px;line-height:1.35;margin:0 0 10px;letter-spacing:-.03em}fieldset{border:0;padding:0;margin:20px 0}legend{font-size:12px;font-weight:600;margin:0 0 10px}.choices{display:flex;gap:8px}.choice{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:45px;padding:8px 5px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--green);font-size:12px;transition:background .2s,border-color .2s}.choice[aria-pressed=true]{background:var(--white);border-color:var(--green);box-shadow:inset 0 -2px var(--green)}.swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0}.note-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:18px 0 8px}.note-label span{font-size:10px;color:var(--muted)}input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:7px;padding:11px 12px;font-size:12px;color:var(--ink);min-height:44px}.current-recipe{margin:18px 0;display:flex;gap:8px;font-size:11px;color:var(--muted);align-items:center}.current-recipe:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--orange)}.work-note{font-size:11px;color:var(--muted);line-height:1.8}.return{border:0;background:transparent;padding:0;min-height:44px;color:var(--muted);font-size:11px;display:inline-flex;align-items:center;margin-bottom:8px}.turntable{display:flex;gap:8px;margin:0 0 12px}.turntable button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--green);font-size:19px}.turntable span{align-self:center;color:var(--muted);font-size:11px;margin-left:8px}.result-preview{display:block;width:155px;height:auto;margin:14px 0 18px;box-shadow:0 8px 22px #234e4320;border-radius:3px}.result-copy{font-size:13px;color:var(--muted);line-height:1.8}.result-actions{display:flex;gap:16px;justify-content:space-between}.result-actions button{font-size:11px}
#loading{position:absolute;left:65%;top:50%;transform:translate(-50%,-50%);color:var(--muted);font-size:13px;background:var(--paper);padding:16px;border-radius:8px}#transition{position:absolute;left:30%;bottom:55px;display:flex;align-items:center;gap:24px;background:var(--white);box-shadow:0 8px 25px #234e4318;padding:12px 20px;border-radius:12px;z-index:4;color:var(--green);font-size:13px}#transition button{border:0;background:transparent;min-height:44px;color:var(--green);text-decoration:underline}.status{position:fixed;bottom:96px;left:50%;transform:translateX(-50%);background:var(--green);color:var(--white);padding:0;border-radius:9px;z-index:10;font-size:12px;max-width:90vw}.status:not(:empty){padding:12px 18px}#fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}#fallback p{font-size:12px;color:var(--muted)}.flat-shop{width:260px;height:250px;background:#d8c7a9;border-radius:12px;position:relative;border-bottom:12px solid #b09a74;box-shadow:14px 16px 0 #ddccb0}.flat-shop>img{width:155px;margin:25px 50px}.flat-window{position:absolute;background:var(--green);width:125px;height:90px;left:20px;bottom:20px;border:7px solid var(--white)}.flat-door{position:absolute;right:20px;bottom:0;width:70px;height:130px;background:var(--green);border:8px solid #a48a64}.flat-shop>span{position:absolute;left:30px;bottom:50px;color:var(--paper);font-size:12px}.flat-bread{font-size:80px;color:var(--orange)}
@media(hover:hover){.primary:hover{background:#163d32;transform:translateY(-2px)}.choice:hover{background:#f7f1e3}.turntable button:hover{background:var(--white)}}button:active:not(:disabled){transform:translateY(1px)}
@media(max-width:1050px) and (min-width:701px){header{padding:0 24px;gap:25px}#panel{left:4%;width:240px}h1{font-size:38px}#scene-frame{left:25%}body:not([data-stage=outside]) #panel{right:24px;width:285px}body:not([data-stage=outside]) #scene-frame{right:320px}footer{padding-inline:24px}#steps{gap:20px}footer p{max-width:150px}main{min-height:650px}}
@media(max-width:700px){header{height:72px;padding:0 20px;gap:16px}header img{width:112px}.header-name{font-size:11px;display:block}.header-name>span{display:block;padding:0;border:0;font-size:9px;letter-spacing:.12em}.header-tools{gap:12px}.header-tools button{font-size:10px}.header-tools a{font-size:0}.header-tools a span{font-size:18px}main{height:auto;min-height:0;overflow:visible;padding-bottom:26px}#scene-frame,body:not([data-stage=outside]) #scene-frame{position:relative;inset:auto;height:370px;width:100%}.scene-caption{bottom:10px;font-size:9px;gap:15px}.scene-caption>span:last-child{display:none}#panel,body:not([data-stage=outside]) #panel{position:relative;top:auto;left:auto;right:auto;transform:none;width:auto;max-height:none;overflow:visible;margin:12px 24px 0;padding:0}h1{font-size:34px;margin-bottom:14px;line-height:1.28}h1 br{display:none}h1 .warm{margin-left:6px}.intro{font-size:13px;line-height:1.8;margin-bottom:20px;max-width:100%}.corner-mark{display:none}.small{margin-top:10px;font-size:10px}.quiet-link{margin-top:2px}.primary{min-height:50px}.hotspot{font-size:11px;min-height:44px;padding:10px 14px}footer{padding:20px 24px;flex-direction:column;align-items:stretch;gap:16px}#steps{justify-content:space-between;gap:8px;font-size:10px}#steps li{gap:6px}footer p{font-size:9px}h2{font-size:27px}.return{position:relative;margin:0}.work-note{margin-top:6px}.choices{gap:9px}fieldset{margin:18px 0}.result-preview{width:150px;float:right;margin:0 0 20px 16px}.result-copy{min-height:75px}.result-panel .primary{clear:both}#loading{left:50%;top:180px;width:max-content}#transition{position:fixed;left:16px;right:16px;bottom:16px;justify-content:space-between;font-size:12px}.status{bottom:24px}.turntable{margin-bottom:14px}}
@media(max-width:360px){header{padding-inline:16px;gap:10px}.header-tools{gap:8px}#scene-frame,body:not([data-stage=outside]) #scene-frame{height:320px}#panel,body:not([data-stage=outside]) #panel{margin-inline:18px}h1{font-size:29px}#steps{font-size:9px}footer{padding-inline:18px}.result-preview{width:125px}}
html[data-reduced=true] *,html[data-reduced=true] *:before,html[data-reduced=true] *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}html[data-reduced=true] button:active,html[data-reduced=true] .primary:hover{transform:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
h1 .warm{display:inline-block;white-space:nowrap}
@media(min-width:701px){main{min-height:540px}body[data-stage=work] #panel{padding-top:0}body[data-stage=work] h2{font-size:27px}body[data-stage=work] .work-note{display:none}body[data-stage=work] fieldset{margin:11px 0}body[data-stage=work] legend{margin-bottom:6px}body[data-stage=work] .note-label{margin-top:12px}body[data-stage=work] .current-recipe{margin:10px 0}body[data-stage=work] .return{margin-bottom:2px}body[data-stage=work] .turntable{margin-bottom:10px}body[data-stage=work] .primary{position:sticky;bottom:0;box-shadow:0 -8px 0 var(--paper)}body[data-stage=work] .small{margin-top:8px}}
@media(max-width:700px){footer #simple{align-self:flex-start;margin:-6px 0;min-height:44px}}
@media(min-width:701px) and (max-height:800px){body[data-stage=work] .turntable,body[data-stage=work] .current-recipe,body[data-stage=work] .small{display:none}body[data-stage=work] .primary{margin-top:16px}}
#scene-tools{position:absolute;left:24px;top:24px;display:flex;gap:8px;z-index:2}#scene-tools button{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:var(--white);color:var(--green);font-size:12px;border-radius:8px}#scene-tools button:hover{background:#fffaf0}body[data-stage=outside] #scene-tools{left:auto;right:32px}@media(max-width:700px){#scene-tools,body[data-stage=outside] #scene-tools{top:12px;left:20px;right:auto}#scene-tools button{font-size:11px;padding:8px 12px}}
h1 .keep{white-space:nowrap}#scene-feedback{position:absolute;top:44px;left:0;width:230px;font-size:11px;line-height:1.6;color:var(--green);pointer-events:none}body[data-stage=outside] #scene-feedback{left:auto;right:0;text-align:right}@media(max-width:700px){body[data-stage=outside] #scene-feedback{left:0;right:auto;text-align:left}}

/* A continuous room: a fixed viewport keeps camera movement spatially legible. */
@media(min-width:701px){#scene-frame,body:not([data-stage=outside]) #scene-frame{inset:0 370px 0 0}#panel,body:not([data-stage=outside]) #panel{left:auto;right:36px;width:300px}#loading{left:35%}#transition{left:24px;bottom:65px}}
#room-nav{position:absolute;top:20px;left:24px;right:24px;display:flex;gap:6px;z-index:3;max-width:400px;padding:5px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 24px #234e4314}
#room-nav button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--green);font-size:12px}
#room-nav button span{font-size:9px;opacity:.65;font-variant-numeric:tabular-nums}#room-nav button[aria-pressed=true]{background:var(--green);color:var(--paper)}
body[data-stage=work] #scene-tools{top:90px}#look-help{position:absolute;bottom:38px;left:24px;margin:0;padding:6px 10px;border-radius:6px;background:var(--paper);font-size:10px;color:var(--green);pointer-events:none}
body:not([data-stage=outside]) #scene{touch-action:none;cursor:grab}#scene:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.scene-caption{padding:3px 8px;background:var(--paper);border-radius:4px}
@media(max-width:1050px) and (min-width:701px){#scene-frame,body:not([data-stage=outside]) #scene-frame{right:320px}#panel,body:not([data-stage=outside]) #panel{right:20px;width:280px}h1{font-size:38px}}
@media(max-width:700px){#scene-frame,body:not([data-stage=outside]) #scene-frame{height:410px}#room-nav{top:12px;left:16px;right:16px;gap:3px}#room-nav button{gap:6px;font-size:11px}body[data-stage=work] #scene-tools{top:79px}#look-help{left:16px;bottom:35px;font-size:9px}}

/* Exploration affordances share the bakery's paper, ink and tactile controls. */
#explore-controls{position:absolute;bottom:76px;left:24px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;z-index:2;color:var(--green)}
#explore-focus{border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:8px;padding:8px 14px;min-height:44px;font-size:12px}#explore-controls>span{font-size:10px;background:var(--paper);border-radius:4px;padding:3px 7px}
#nearby-action{position:absolute;left:50%;bottom:100px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;min-height:48px;max-width:calc(100% - 32px);padding:10px 15px;background:var(--green);color:var(--paper);border:0;border-radius:10px;font-size:12px;z-index:4;box-shadow:0 7px 20px #183a312b}
#nearby-action kbd{font:600 12px Noto,sans-serif;border:1px solid #9dae93;border-radius:4px;padding:2px 7px}#nearby-action:active{transform:translateX(-50%)}#nearby-action:hover{background:#163d32}
#walk-pad{position:absolute;right:20px;bottom:48px;display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px);gap:4px;z-index:3}#walk-pad button{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--green);touch-action:none;user-select:none}#walk-pad button:first-child{grid-column:2}#walk-pad button:nth-child(2){grid-row:2;grid-column:1}#walk-pad button:nth-child(3){grid-row:2;grid-column:2}#walk-pad button:nth-child(4){grid-row:2;grid-column:3}#walk-pad svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(hover:hover) and (min-width:1051px){#walk-pad{display:none}}
@media(max-width:1050px){#explore-controls>span{display:none}#nearby-action{bottom:155px}#explore-controls{bottom:64px}#look-help{max-width:calc(100% - 40px);bottom:29px;font-size:9px}}
@media(max-width:700px){#scene-frame,body:not([data-stage=outside]) #scene-frame{height:460px}#explore-controls{left:16px;bottom:61px}#explore-focus{font-size:10px;padding:6px 9px}#walk-pad{right:16px;bottom:56px}#nearby-action{font-size:11px;width:max-content;bottom:164px}#nearby-action kbd{display:none}.scene-caption{bottom:7px}}

/* Three shifts, one neighbourhood bakery. Receipt paper + tactile stamps. */
#life-toggle{position:absolute;right:24px;top:86px;z-index:3;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--green);font-size:11px}
#life-toggle:disabled{opacity:.85;cursor:default}
#environment-panel{position:absolute;left:24px;top:20px;z-index:6;color:var(--green);font-size:12px}
#environment-panel summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;list-style:none;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);user-select:none}
#environment-panel summary::-webkit-details-marker{display:none}#environment-panel summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.env-chevron{margin-left:auto}
#environment-panel summary:focus-visible,#environment-panel button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.environment-options{position:absolute;top:calc(100% + 8px);left:0;width:276px;max-width:calc(100vw - 32px);padding:18px;background:#fff8e8;border-radius:14px;box-shadow:0 12px 28px #173a3133}
.environment-options p{margin:0 0 16px;font-size:16px;font-weight:600}.environment-options fieldset{margin:12px 0;border:0;padding:0;display:flex;gap:5px}.environment-options legend{font-size:11px;color:var(--muted);margin-bottom:6px}
.environment-options button{flex:1;min-height:44px;padding:8px 12px;background:#eee6d4;color:var(--green);border:1px solid transparent;border-radius:8px;font-size:12px}.environment-options button:hover{border-color:var(--green)}.environment-options button[aria-pressed=true]{background:var(--green);color:var(--paper)}.environment-options small{display:block;color:var(--muted);font-size:10px;margin-top:14px}
body:not([data-stage=outside]) #environment-panel{top:86px}body[data-stage=work] #scene-tools{top:147px}
@media(max-width:700px){#environment-panel{left:16px;top:12px}#environment-panel summary{gap:7px;padding:7px 10px;font-size:11px}body:not([data-stage=outside]) #environment-panel{top:74px}body[data-stage=outside] #scene-tools{left:auto;right:16px}body[data-stage=work] #scene-tools{top:129px}}
#resident-speech{position:absolute;z-index:3;width:248px;max-width:calc(100% - 28px);transform:translateX(-50%);padding:12px 16px;background:#fff8e8;color:var(--green);border:1px solid #c6b993;border-radius:16px 16px 16px 3px;box-shadow:0 5px 18px #294e4324;pointer-events:none}
#resident-speech:after{content:'';position:absolute;left:25px;bottom:-9px;border-width:9px 10px 0 0;border-style:solid;border-color:#fff8e8 transparent transparent transparent}
#speech-name{font-size:10px;letter-spacing:.06em;color:var(--muted)}#speech-line{font-size:13px;line-height:1.65;margin:4px 0 0;text-wrap:pretty}
#resident-speech[data-kind=rush]{background:#f7ddbe;border-color:var(--orange);border-radius:7px 18px 7px 18px}#resident-speech[data-kind=rush] #speech-name{color:#995025}
@media(max-width:700px){#life-toggle{top:74px;right:16px;padding:6px 10px;font-size:10px}#resident-speech{width:220px;padding:10px 12px}#speech-line{font-size:12px}}
.role-tabs{display:flex;gap:4px;padding:4px;background:#e2dcc8;border-radius:12px;margin:0 0 18px}
.role-tabs button{flex:1;min-height:46px;border:0;border-radius:9px;color:var(--green);background:transparent;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}
.role-tabs button span{font-size:9px;opacity:.6}.role-tabs button[aria-pressed=true]{background:var(--green);color:var(--paper);box-shadow:0 3px 7px #234e4324}
.order-ticket{padding:14px 15px 17px;background:var(--white);border-top:3px solid var(--orange);box-shadow:0 5px 12px #234e430b;margin:0 0 22px;position:relative;clip-path:polygon(0 0,100% 0,100% 97%,95% 100%,90% 97%,85% 100%,80% 97%,75% 100%,70% 97%,65% 100%,60% 97%,55% 100%,50% 97%,45% 100%,40% 97%,35% 100%,30% 97%,25% 100%,20% 97%,15% 100%,10% 97%,5% 100%,0 97%)}
.ticket-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:var(--muted)}.ticket-top b{font-variant-numeric:tabular-nums;color:var(--green)}.order-ticket p{font-size:11px;margin:10px 0 14px}.order-ticket strong{display:block;font-size:16px;margin-top:3px;font-weight:600}.order-track{border-top:1px dashed var(--line);padding-top:10px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.order-track .current{color:var(--orange);font-weight:650}.order-track .done{color:var(--green)}
.eyebrow{font-size:9px;letter-spacing:.16em;color:var(--orange);margin:0 0 7px;font-weight:650}.zone-note{font-size:11px;line-height:1.85;color:var(--muted);margin:8px 0 16px}
.menu-picks{display:grid;gap:8px;margin:18px 0}.menu-picks button{display:flex;align-items:center;gap:14px;min-height:72px;background:#f5efdf;border:1px solid #d2c9b2;border-radius:12px;padding:12px;text-align:left;color:var(--green);transition:transform .2s,background .2s}.menu-picks button:not(:disabled):hover{transform:translateX(3px);background:#fff8e9}.menu-picks button[aria-pressed=true]{border-color:var(--orange);background:#faeed8;box-shadow:inset 3px 0 var(--orange)}.menu-picks b{font-size:13px}.menu-picks small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.menu-picks em{font-style:normal;margin-left:auto;color:var(--orange);font-size:20px}.menu-picks button:disabled{cursor:default;opacity:.65}
.bread-glyph{display:block;width:46px;height:28px;background:repeating-linear-gradient(115deg,transparent 0 10px,#f5d499 11px 14px,transparent 15px 21px),linear-gradient(#e9b468,#ba6f32);border-radius:60% 65% 45% 45%;box-shadow:inset 0 -4px #b7783b3b,0 4px 0 #e2d6b6;flex-shrink:0;transform:rotate(-12deg)}.bread-round{width:38px;height:34px;border-radius:50%;margin-inline:4px}.bread-ring{width:38px;height:35px;border-radius:50%;margin-inline:4px;background:#bd8242;border:10px solid #d6a35d;box-shadow:inset 0 2px 0 #af703a,0 4px 0 #e2d6b6}
.game-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:47px;padding:11px 14px;border:1px solid var(--green);border-radius:9px;background:transparent;color:var(--green);font-size:12px;margin-top:10px;transition:background .2s,transform .2s}.game-button:not(:disabled):hover{background:var(--white);transform:translateY(-1px)}.game-button:disabled{cursor:default;opacity:.45}.next-hint{font-size:11px;color:var(--green);padding-left:11px;border-left:2px solid var(--orange);line-height:1.8;margin:15px 0}
.stamp-card{display:flex;gap:18px;align-items:center;padding:23px 12px;margin:20px 0;background:#e4dac3;border-radius:12px}.stamp-seal{flex-shrink:0;width:69px;height:69px;display:grid;place-content:center;text-align:center;line-height:1.2;border:3px double var(--orange);border-radius:50%;color:var(--orange);font-weight:700;transform:rotate(-13deg)}.stamp-card p{margin:0;font-size:13px}.stamp-card small{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:7px}
.chef-quote{font-size:13px;line-height:1.8;padding:14px 16px;background:#e5ddc7;border-radius:3px 16px 16px;margin:17px 0}.chef-quote span{display:block;text-align:right;font-size:10px;color:var(--muted);margin-top:5px}.knead-meter{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:11px;gap:8px}.knead-meter strong{color:var(--orange)}.knead-meter>div{display:flex;gap:5px;flex-basis:100%;height:7px}.knead-meter i{flex:1;background:#d9d1bb;border-radius:4px}.knead-meter i.filled{background:var(--orange)}
#room-nav{max-width:540px}#room-nav button{gap:3px;white-space:nowrap;font-size:11px}.result-panel .order-ticket{margin-bottom:14px}.result-panel>.primary{margin-bottom:18px}
@media(min-width:701px){body:not([data-stage=outside]) #panel{top:18px;transform:none;max-height:calc(100% - 30px)}body[data-stage=work] .primary{position:static;box-shadow:none}body[data-stage=work] h2{font-size:25px}.role-tabs{position:sticky;top:0;z-index:2}}
@media(max-width:700px){#room-nav{padding:4px;gap:0}#room-nav button{font-size:10px;min-width:0;padding:5px 6px}.role-tabs{margin-top:8px}.order-ticket{margin-bottom:22px}.menu-picks{grid-template-columns:1fr}.result-panel .result-preview{float:none;width:140px;margin:16px auto}.result-panel .result-copy{min-height:0}}

/* Weather sound controls: native input, independent of reduced motion. */
.sound-controls{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;display:grid;gap:9px}.sound-controls button{width:100%;min-height:42px;border:1px solid var(--green);background:transparent;color:var(--green);border-radius:8px}.sound-controls button[aria-pressed=true]{background:var(--green);color:var(--paper)}.sound-controls label{display:flex;justify-content:space-between;font-size:11px}.sound-controls input{width:100%;accent-color:var(--green);min-height:24px;margin:0}.sound-controls span{font-size:10px;line-height:1.5;color:var(--muted)}.environment-options{max-height:calc(100vh - 210px);overflow:auto}#room-nav{max-width:600px}

/* Connected street and shop: keep the same controls across the doorway. */
#room-nav{max-width:780px;overflow-x:auto;scrollbar-width:thin}#room-nav button{flex:1 0 52px;white-space:nowrap}.street-start{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--green);margin-top:10px}.street-links{display:flex;gap:20px;flex-wrap:wrap}.street-links .return{margin-bottom:0}body[data-region=street] #scene-tools{display:none}

/* Street life shares the existing cream, green and warm orange system. */
.street-bubble{position:absolute;z-index:4;width:240px;max-width:calc(100% - 28px);transform:translateX(-50%);padding:12px 16px;background:#fff8e8;color:var(--green);border:1px solid #c6b993;border-radius:16px 16px 16px 3px;box-shadow:0 5px 18px #294e4324;pointer-events:none}.street-bubble span{font-size:10px;color:var(--muted)}.street-bubble p{font-size:13px;line-height:1.65;margin:4px 0 0}
#street-status{position:absolute;right:24px;top:137px;z-index:2;max-width:220px;margin:0;padding:7px 10px;border-radius:5px;background:#efe8d5ed;color:var(--green);font-size:10px;pointer-events:none}
.street-discover{margin:24px 0 10px;border-top:1px solid var(--line)}.street-discover p{font-size:10px;letter-spacing:.06em;color:var(--muted);margin:15px 0 7px}.street-discover button{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--green);min-height:42px;padding:10px 0;text-align:left;font:inherit;font-size:12px}.street-discover button span{font-size:10px;color:var(--muted)}.street-discover button:hover{color:var(--orange)}
@media(max-width:700px){#street-status{right:16px;top:121px;max-width:180px;font-size:9px}.street-bubble{width:210px}.street-discover{margin-top:20px}}
