:root{--forest:#173c35;--deep:#0b2825;--cream:#f4efdf;--paper:#fffaf0;--rust:#d95837;--gold:#f2bc5b;--lime:#b8d694;--ink:#18312c;--line:rgba(24,49,44,.18);--mono:'DM Mono',monospace;--serif:'Fraunces',serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--forest)}body{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:var(--sans);overflow-x:hidden}button,input{font:inherit}.grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}.topbar{height:78px;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 34px;border-bottom:1px solid rgba(255,255,255,.14);position:relative;z-index:10}.logo{font:500 13px var(--mono);letter-spacing:.17em;color:#fff;text-decoration:none}.logo span{color:var(--gold)}.service{display:flex;align-items:center;gap:9px;font:10px var(--mono);letter-spacing:.13em;color:rgba(255,255,255,.6)}.service i{width:6px;height:6px;border-radius:50%;background:#ef7653;box-shadow:0 0 12px #ef7653}.topbar nav{justify-self:end;display:flex;gap:8px}.topbar button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:99px;padding:9px 13px;font:10px var(--mono);letter-spacing:.06em;cursor:pointer}.topbar button b{display:inline-grid;place-items:center;background:var(--rust);width:18px;height:18px;border-radius:50%;margin-left:5px}.game-shell{min-height:calc(100vh - 78px)}.briefing{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--forest);color:#fff;overflow:hidden}.brief-copy{padding:clamp(55px,8vh,110px) 6vw;position:relative;z-index:2}.shift{font:500 10px var(--mono);letter-spacing:.16em;color:var(--gold);margin:0 0 24px}.briefing h1{font:650 clamp(55px,6.2vw,98px)/.9 var(--serif);letter-spacing:-.045em;margin:0 0 46px;max-width:800px}.briefing h1 em{font-weight:500;color:#e98261}.request-card{border-left:2px solid var(--gold);padding:4px 0 4px 22px;max-width:590px}.request-card>span,.brief-mini span{font:500 9px var(--mono);letter-spacing:.14em;color:var(--gold)}.request-card blockquote{font:500 clamp(22px,2.2vw,34px)/1.22 var(--serif);margin:13px 0 12px}.request-card p{font-size:12px;color:rgba(255,255,255,.6);margin:0}.request-card b{color:#fff}.enter-btn{margin-top:44px;min-width:270px;border:0;background:var(--rust);color:#fff;padding:20px 22px;display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:.14em;cursor:pointer;transition:.2s}.enter-btn:hover{transform:translateY(-3px);background:#eb6846}.chef-stage{position:relative;background:radial-gradient(circle at 50% 45%,#376d55 0,#1b493d 45%,#0e302b 76%);display:flex;align-items:flex-end;justify-content:center;min-height:600px}.chef-stage:after{content:'';position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,rgba(5,22,20,.68))}.chef-stage>img{position:relative;z-index:2;width:min(95%,760px);height:auto;filter:drop-shadow(0 20px 35px rgba(0,0,0,.4));transform:translateY(2%)}.halo{position:absolute;width:68%;aspect-ratio:1;border:1px solid rgba(242,188,91,.28);border-radius:50%;top:12%}.chef-name{position:absolute;right:6%;top:9%;z-index:3;text-align:right;display:flex;flex-direction:column}.chef-name span,.chef-name small{font:9px var(--mono);letter-spacing:.16em;color:rgba(255,255,255,.52)}.chef-name strong{font:650 37px var(--serif);color:var(--gold)}.speech{position:absolute;z-index:4;left:5%;bottom:9%;background:var(--paper);color:var(--ink);padding:16px 20px;border-radius:4px;font:500 15px/1.4 var(--serif);box-shadow:0 14px 28px rgba(0,0,0,.2)}.speech:after{content:'';position:absolute;right:-13px;top:15px;border-width:8px 0 8px 14px;border-style:solid;border-color:transparent transparent transparent var(--paper)}
.kitchen{min-height:calc(100vh - 78px);background:var(--cream);padding:38px 34px 42px}.kitchen-head{display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line)}.kitchen-head h2{font:650 clamp(40px,4.5vw,66px)/.95 var(--serif);letter-spacing:-.035em;margin:0}.brief-mini{border-left:1px solid var(--line);padding-left:24px}.brief-mini span{color:var(--rust)}.brief-mini p{font:500 19px var(--serif);margin:8px 0 0;max-width:500px}.kitchen-head>button{background:none;border:1px solid var(--line);border-radius:99px;padding:10px 14px;font:10px var(--mono);cursor:pointer}.play-grid{display:grid;grid-template-columns:280px minmax(420px,1fr) 285px;gap:26px;padding-top:28px}.panel-label{font:500 10px var(--mono);letter-spacing:.12em;margin-bottom:18px}.panel-label>span{color:var(--rust);margin-right:7px}.panel-label small{float:right;color:#7c8a85;font:9px var(--mono)}.ingredients{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ingredient{border:1px solid var(--line);background:rgba(255,255,255,.48);min-height:105px;padding:12px 8px 9px;cursor:pointer;text-align:center;position:relative;transition:.18s}.ingredient:hover{transform:translateY(-2px);border-color:var(--rust)}.ingredient .emoji{display:block;font-size:33px;filter:drop-shadow(0 4px 3px rgba(30,49,44,.13))}.ingredient strong{display:block;font:500 10px var(--mono);letter-spacing:.05em;margin-top:7px}.ingredient small{font-size:9px;color:#6e7d78}.ingredient.used{opacity:.35;pointer-events:none}.practice-link{background:none;border:0;padding:18px 0;color:var(--rust);font:500 10px var(--mono);cursor:pointer}.workbench{min-width:0}.board{height:390px;border:1px solid rgba(86,55,32,.16);border-radius:22px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.45),transparent 45%),repeating-linear-gradient(88deg,#c99b63 0,#d8aa70 12%,#c99962 24%);box-shadow:inset 0 0 0 7px rgba(92,54,24,.12),0 18px 40px rgba(78,54,31,.12);position:relative;overflow:hidden}.board:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);opacity:.6}.board-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:rgba(70,50,33,.42);gap:10px}.board-empty b{font:300 50px var(--sans)}.board-empty span{font:500 10px/1.5 var(--mono);letter-spacing:.1em}.board-items{position:absolute;inset:38px;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:2}.prep-item{background:rgba(255,250,240,.9);border:2px solid transparent;border-radius:12px;padding:15px;display:flex;align-items:center;gap:12px;cursor:pointer;box-shadow:0 8px 18px rgba(70,40,20,.13);position:relative}.prep-item.selected{border-color:var(--rust);transform:rotate(-1deg)}.prep-item .emoji{font-size:42px}.prep-item strong{font:600 12px var(--sans)}.prep-item small{display:block;font:9px var(--mono);color:#8b6e57;margin-top:4px;text-transform:uppercase}.prep-item .remove{position:absolute;right:8px;top:5px;border:0;background:none;font-size:17px;color:#8b6e57;cursor:pointer}.board-stamp{position:absolute;right:17px;bottom:15px;text-align:right;font:500 7px/1.3 var(--mono);letter-spacing:.1em;color:rgba(72,46,25,.33);transform:rotate(-3deg)}.techniques{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.techniques button{border:1px solid var(--line);background:var(--paper);padding:12px 5px;cursor:pointer;transition:.15s}.techniques button:disabled{opacity:.35;cursor:not-allowed}.techniques button:not(:disabled):hover{background:var(--forest);color:#fff}.techniques i{font-style:normal;font-size:18px;display:block}.techniques span{font:500 8px var(--mono);letter-spacing:.08em}.flavour-panel{border-left:1px solid var(--line);padding-left:25px}.flavour-bars{display:flex;flex-direction:column;gap:15px;margin:29px 0}.flavour-row{display:grid;grid-template-columns:62px 1fr 24px;gap:9px;align-items:center}.flavour-row span,.flavour-row b{font:500 8px var(--mono);letter-spacing:.06em}.flavour-row b{text-align:right}.bar{height:6px;background:rgba(24,49,44,.12);border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;width:0;background:var(--rust);border-radius:9px;transition:width .35s}.chef-note{margin-top:35px;display:grid;grid-template-columns:63px 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.5);padding:10px}.chef-note img{width:63px;height:63px;object-fit:cover;object-position:50% 20%;border-radius:50%;background:var(--forest)}.chef-note p{font:500 12px/1.4 var(--serif);margin:0}.serve-btn{width:100%;margin-top:20px;background:var(--rust);border:0;color:#fff;padding:18px 15px;display:flex;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.1em;cursor:pointer}.serve-btn:disabled{opacity:.35;cursor:not-allowed}
.verdict{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.1fr .9fr;background:var(--deep);color:#fff}.verdict-card{padding:58px 7vw}.score-ring{float:right;width:125px;height:125px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-content:center;text-align:center;margin-top:-25px}.score-ring strong{font:650 45px/1 var(--serif);color:var(--gold)}.score-ring span{font:9px var(--mono);color:rgba(255,255,255,.5)}.reaction{font:500 clamp(27px,3vw,44px)/1.12 var(--serif);max-width:570px;margin:55px 0}.verdict-card label{display:block;font:500 9px var(--mono);letter-spacing:.14em;color:var(--gold);margin-bottom:9px}.verdict-card input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);color:#fff;font:650 clamp(34px,4vw,60px) var(--serif);padding:5px 0 15px;outline:0}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);margin:38px 0}.score-cell{background:var(--deep);padding:17px 12px}.score-cell span{display:block;font:8px var(--mono);letter-spacing:.1em;color:rgba(255,255,255,.5)}.score-cell strong{font:650 25px var(--serif)}.verdict-actions{display:flex;gap:8px;flex-wrap:wrap}.verdict-actions button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:13px 16px;font:500 9px var(--mono);letter-spacing:.08em;cursor:pointer}.verdict-actions button:first-child{background:var(--rust);border-color:var(--rust)}.verdict-chef{position:relative;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle,#315f4f,var(--deep) 70%);overflow:hidden}.verdict-chef img{position:relative;z-index:2;width:min(95%,680px);filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}.verdict-chef p{position:absolute;z-index:3;left:8%;top:9%;font:650 34px var(--serif);color:var(--gold);transform:rotate(-4deg)}.burst{position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(242,188,91,.18);border-radius:50%}.burst:before,.burst:after{content:'';position:absolute;inset:9%;border:1px solid rgba(242,188,91,.13);border-radius:50%}.burst:after{inset:20%}
.cookbook{width:min(720px,100%);height:100%;max-height:none;margin:0 0 0 auto;border:0;padding:38px;background:var(--cream);color:var(--ink)}.cookbook::backdrop{background:rgba(4,18,16,.72);backdrop-filter:blur(4px)}.book-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:24px}.book-head h2{font:650 53px var(--serif);margin:0}.book-head button{border:0;background:none;font-size:38px;cursor:pointer}.book-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:20px}.dish-entry{background:var(--paper);border:1px solid var(--line);padding:18px}.dish-entry small{font:8px var(--mono);color:var(--rust)}.dish-entry h3{font:650 24px var(--serif);margin:8px 0}.dish-entry p{font-size:11px;color:#68766f;line-height:1.5}.dish-entry strong{font:650 28px var(--serif);color:var(--forest)}.empty-book{grid-column:1/-1;font:500 25px/1.4 var(--serif);color:#79857f}.toast{position:fixed;z-index:120;left:50%;bottom:24px;transform:translate(-50%,100px);background:var(--gold);color:var(--deep);padding:13px 20px;border-radius:99px;font:500 10px var(--mono);transition:.25s}.toast.show{transform:translate(-50%,0)}
@media(max-width:1050px){.briefing{grid-template-columns:1fr}.chef-stage{min-height:560px}.brief-copy{padding-bottom:30px}.play-grid{grid-template-columns:240px 1fr}.flavour-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:24px 0 0;display:grid;grid-template-columns:1fr 280px 220px;gap:20px}.flavour-panel>.panel-label{grid-column:1/-1}.flavour-bars{display:grid;grid-template-columns:1fr 1fr;margin:0}.chef-note,.serve-btn{margin:0}.verdict{grid-template-columns:1fr}.verdict-chef{min-height:550px}}
@media(max-width:700px){.topbar{height:65px;padding:0 15px;grid-template-columns:1fr auto}.service{display:none}.topbar nav button:first-child{display:none}.briefing{min-height:calc(100vh - 65px)}.brief-copy{padding:45px 22px}.briefing h1{font-size:55px}.chef-stage{min-height:470px}.chef-name{display:none}.speech{font-size:13px;bottom:5%}.kitchen{padding:27px 16px}.kitchen-head{grid-template-columns:1fr}.kitchen-head>button{position:absolute;right:16px}.brief-mini{padding-left:12px}.play-grid{grid-template-columns:1fr}.pantry{order:1}.workbench{order:2}.flavour-panel{order:3;grid-template-columns:1fr}.ingredients{grid-template-columns:repeat(5,1fr);overflow-x:auto}.ingredient{min-width:95px}.board{height:370px}.board-items{inset:30px 22px}.techniques{position:sticky;bottom:5px;z-index:5}.flavour-bars{grid-template-columns:1fr 1fr}.verdict-card{padding:45px 22px}.score-ring{width:100px;height:100px}.score-grid{grid-template-columns:1fr 1fr}.verdict-chef{min-height:430px}.book-list{grid-template-columns:1fr}.cookbook{padding:24px}}@media(max-width:430px){.briefing h1{font-size:46px}.request-card blockquote{font-size:23px}.ingredients{grid-template-columns:repeat(5,92px)}.board-items{grid-template-columns:1fr 1fr;inset:25px 15px}.prep-item{padding:10px;display:block;text-align:center}.prep-item .emoji{font-size:32px}.techniques button{padding:10px 2px}.flavour-bars{grid-template-columns:1fr}.verdict-chef{min-height:370px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Service loop */
[hidden]{display:none!important}.topbar nav{align-items:center}.wallet,.reputation{font:500 9px var(--mono);letter-spacing:.08em;color:rgba(255,255,255,.65);white-space:nowrap}.wallet{color:var(--gold)}.wallet b,.reputation b{font-size:11px;color:#fff}.kitchen-head{grid-template-columns:1fr 1.1fr auto;padding-bottom:22px}.customer-order{border-left:1px solid var(--line);padding-left:24px;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}.customer-face{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--forest);font-size:32px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.15)}.customer-order span{font:500 8px var(--mono);letter-spacing:.13em;color:var(--rust)}.customer-order h3{font:650 25px/1 var(--serif);margin:4px 0}.customer-order p{font:500 16px/1.25 var(--serif);margin:0;max-width:500px}.service-progress{min-height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.service-progress>div{display:flex;gap:8px}.queue-pip{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:16px;background:rgba(255,255,255,.35)}.queue-pip.current{border-color:var(--rust);background:var(--rust);transform:scale(1.12);box-shadow:0 5px 13px rgba(217,88,55,.25)}.queue-pip.done{background:var(--forest);border-color:var(--forest);color:#fff;font:600 11px var(--mono)}.service-progress p{font:500 13px var(--serif);color:#64746f;margin:0;text-align:right}.techniques small{display:block;font:500 6px var(--mono);letter-spacing:.12em;color:#8c9893;margin-top:4px}.techniques button:not(:disabled):hover small{color:rgba(255,255,255,.6)}

.board.working .prep-item.selected{animation:prep-bump .5s ease}.board.working[data-action="roast"]{box-shadow:inset 0 0 55px rgba(217,88,55,.48),0 18px 40px rgba(78,54,31,.12)}.board.working[data-action="boil"]{box-shadow:inset 0 0 55px rgba(98,159,175,.48),0 18px 40px rgba(78,54,31,.12)}.board.working[data-action="pickle"]{box-shadow:inset 0 0 55px rgba(184,214,148,.65),0 18px 40px rgba(78,54,31,.12)}.board.working[data-action="crush"] .prep-item.selected{animation:prep-crush .5s ease}.board.working[data-action="drop"] .prep-item.selected{animation:prep-drop .5s ease}@keyframes prep-bump{40%{transform:translateY(-8px) rotate(-2deg) scale(1.04)}}@keyframes prep-crush{25%{transform:scale(.91) rotate(3deg)}55%{transform:scale(1.05) rotate(-2deg)}}@keyframes prep-drop{0%{transform:translateY(-35px) scale(.8);opacity:.2}70%{transform:translateY(4px) scale(1.03)}}

.earnings-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:16px 2px;margin:-17px 0 22px}.earnings-line span{font:500 8px var(--mono);letter-spacing:.13em;color:rgba(255,255,255,.55)}.earnings-line strong{font:650 22px var(--serif);color:var(--gold)}.earnings-line b{font:inherit}.day-end{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream)}.day-end-copy{padding:clamp(55px,9vh,100px) 7vw}.day-end h2{font:650 clamp(50px,5.5vw,82px)/.92 var(--serif);letter-spacing:-.045em;margin:0 0 35px}.day-end-copy>p:not(.shift){font:500 18px/1.6 var(--serif);max-width:620px;color:#65736e}.day-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:45px 0 30px}.day-ledger div{padding:22px;border-right:1px solid var(--line)}.day-ledger div:first-child{padding-left:0}.day-ledger div:last-child{border-right:0}.day-ledger span{display:block;font:500 8px var(--mono);letter-spacing:.12em;color:#7f8b86;margin-bottom:8px}.day-ledger strong{font:650 32px var(--serif);color:var(--forest)}.day-actions{display:flex;gap:9px;flex-wrap:wrap}.day-actions button{border:1px solid var(--line);background:transparent;padding:16px 19px;font:500 9px var(--mono);letter-spacing:.09em;cursor:pointer}.day-actions button:first-child{background:var(--rust);border-color:var(--rust);color:#fff}.day-end-chef{position:relative;background:radial-gradient(circle at 50% 45%,#376d55 0,#173c35 65%,#0b2825);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.day-end-chef img{width:min(95%,680px);filter:drop-shadow(0 20px 35px rgba(0,0,0,.4))}.day-end-chef blockquote{position:absolute;left:7%;top:9%;background:var(--paper);padding:17px 20px;margin:0;font:500 20px var(--serif);transform:rotate(-2deg);box-shadow:0 12px 24px rgba(0,0,0,.2)}

.shop{width:min(760px,100%);height:100%;max-height:none;margin:0 0 0 auto;border:0;padding:38px;background:var(--cream);color:var(--ink)}.shop::backdrop{background:rgba(4,18,16,.72);backdrop-filter:blur(4px)}.shop .book-head>div{max-width:600px}.shop .book-head h2{font-size:47px}.shop-balance{font:500 11px var(--mono);margin:8px 0 0;color:#6f7d78}.shop-balance strong{color:var(--rust)}.upgrade-list{display:grid;gap:10px;padding-top:20px}.upgrade{display:grid;grid-template-columns:55px 1fr auto;gap:16px;align-items:center;background:var(--paper);border:1px solid var(--line);padding:17px}.upgrade>i{width:50px;height:50px;border-radius:50%;background:var(--forest);color:var(--gold);display:grid;place-items:center;font-style:normal;font-size:25px}.upgrade small{font:500 7px var(--mono);letter-spacing:.12em;color:var(--rust)}.upgrade h3{font:650 21px var(--serif);margin:3px 0}.upgrade p{font-size:10px;color:#71807a;margin:0}.upgrade button{min-width:80px;border:0;background:var(--rust);color:#fff;padding:12px;font:500 9px var(--mono);cursor:pointer}.upgrade button:disabled{background:#d8d6ca;color:#8a918c;cursor:not-allowed}.upgrade.owned{opacity:.7}.upgrade.owned>i{background:#547463}

@media(max-width:1050px){.topbar{grid-template-columns:auto 1fr}.service{display:none}.topbar nav{justify-self:end}.kitchen-head{grid-template-columns:1fr 1.2fr auto}.day-end{grid-template-columns:1fr}.day-end-chef{min-height:520px}}
@media(max-width:700px){.topbar nav{gap:5px}.topbar nav .reputation,.topbar nav #shopOpen{display:none}.wallet{font-size:8px}.topbar button{padding:8px 9px}.kitchen-head{grid-template-columns:1fr}.customer-order{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.service-progress{align-items:flex-start;padding:12px 0;flex-direction:column}.service-progress p{text-align:left}.day-end{min-height:calc(100vh - 65px)}.day-end-copy{padding:45px 22px}.day-ledger{grid-template-columns:1fr 1fr 1fr}.day-ledger div{padding:15px 10px}.day-ledger strong{font-size:23px}.day-end-chef{min-height:430px}.shop{padding:24px}.shop .book-head h2{font-size:36px}.upgrade{grid-template-columns:45px 1fr}.upgrade>i{width:42px;height:42px}.upgrade button{grid-column:1/-1;width:100%}}

/* Tactile preparation and live plating */
.plate-preview{position:relative;width:190px;aspect-ratio:1;margin:8px auto 20px;border-radius:50%;background:radial-gradient(circle at 45% 38%,#fff 0 42%,#eee8db 43% 55%,#d8d0c1 56% 58%,#f8f3e9 59% 66%,transparent 67%),radial-gradient(circle,rgba(16,52,45,.14),transparent 70%);filter:drop-shadow(0 14px 13px rgba(44,48,38,.14))}.plate-preview:after{content:'';position:absolute;inset:25%;border-radius:50%;box-shadow:inset 0 3px 12px rgba(79,63,44,.1);pointer-events:none}.plate-label{position:absolute;left:50%;bottom:-2px;transform:translate(-50%,100%);font:500 7px var(--mono);letter-spacing:.12em;color:#88928d}.plate-food{position:absolute;inset:21%;z-index:2}.plate-food>p{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:500 7px/1.4 var(--mono);letter-spacing:.09em;color:#b0aaa0;margin:0}.food-piece{--x:50%;--y:50%;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--r,0deg));display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 3px rgba(50,38,25,.22));animation:plate-in .35s cubic-bezier(.2,.8,.2,1) both}.food-piece span{font-size:32px;line-height:1}.food-piece.chop{gap:0}.food-piece.chop span{font-size:18px;margin:-3px}.food-piece.roast span{filter:sepia(.45) saturate(1.5) brightness(.82)}.food-piece.boil:before,.food-piece.boil:after{content:'';position:absolute;width:9px;height:9px;border:1px solid rgba(91,157,170,.6);border-radius:50%;animation:bubble 1.4s infinite}.food-piece.boil:before{left:2px;top:-8px}.food-piece.boil:after{right:3px;top:-2px;animation-delay:.5s}.food-piece.pickle span{filter:hue-rotate(28deg) saturate(1.25)}.food-piece.crush span{transform:scale(.8);filter:saturate(1.25)}@keyframes plate-in{from{opacity:0;transform:translate(-50%,-85%) scale(.6) rotate(var(--r,0deg))}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--r,0deg))}}@keyframes bubble{0%{transform:translateY(7px) scale(.4);opacity:0}40%{opacity:1}100%{transform:translateY(-15px) scale(1.1);opacity:0}}

.prep-game{width:min(620px,calc(100% - 28px));border:0;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 28px 90px rgba(2,18,15,.55)}.prep-game::backdrop{background:rgba(5,28,24,.84);backdrop-filter:blur(7px)}.prep-game-head{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px 20px;border-bottom:1px solid var(--line)}.prep-game-head .shift{margin-bottom:8px}.prep-game-head h2{font:650 clamp(35px,6vw,53px)/.95 var(--serif);letter-spacing:-.035em;margin:0}.prep-game-head button{border:0;background:none;font-size:30px;cursor:pointer;color:var(--ink)}.prep-instruction{font:500 15px/1.5 var(--serif);color:#64736d;margin:0;padding:20px 32px 0}.skill-stage{padding:28px 32px 18px}.skill-track{height:44px;border:1px solid var(--line);background:#dfd9ca;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px rgba(30,49,44,.12)}.sweet-zone{position:absolute;left:40%;width:20%;inset-block:0;background:linear-gradient(90deg,var(--lime),#d4e9b9);border-inline:1px solid rgba(23,60,53,.2)}.skill-track i{position:absolute;top:-4px;left:0;width:5px;height:52px;background:var(--rust);box-shadow:0 0 0 2px var(--cream),0 5px 12px rgba(217,88,55,.4);transform:translateX(-50%)}.skill-visual{height:130px;display:grid;place-items:center;font-size:72px;position:relative}.skill-visual.hit{animation:skill-hit .25s ease}.skill-visual.simmering:after{content:'○  °  ○';position:absolute;color:#74a9ad;font:600 26px var(--mono);animation:bubble 1s infinite}@keyframes skill-hit{50%{transform:scale(.82) rotate(-7deg)}}.skill-progress{min-height:32px;padding:0 32px;display:flex;justify-content:center;gap:8px}.skill-progress i{width:32px;height:6px;background:#d4d0c4}.skill-progress i.good{background:var(--forest)}.skill-progress i.perfect{background:var(--gold)}.skill-progress span{font:500 10px var(--mono);letter-spacing:.08em;color:#65736e}.skill-action{width:calc(100% - 64px);margin:12px 32px 0;border:0;background:var(--rust);color:#fff;padding:18px;font:500 11px var(--mono);letter-spacing:.14em;cursor:pointer;box-shadow:0 8px 0 #a63b28}.skill-action:active{transform:translateY(5px);box-shadow:0 3px 0 #a63b28}.skill-tip{text-align:center;font:500 8px var(--mono);letter-spacing:.1em;color:#8b9691;margin:16px 0 24px}.skill-tip kbd{border:1px solid #bfc2ba;background:var(--paper);padding:2px 5px;border-radius:3px;font:inherit}.prep-game[data-game="roast"] .sweet-zone{left:62%;width:18%;background:linear-gradient(90deg,#e9bd65,#dd7745)}.prep-game[data-game="roast"] .skill-track{background:linear-gradient(90deg,#efe4c7,#e7aa60 55%,#6b3125)}.prep-game[data-game="simmer"] .sweet-zone{left:48%;width:24%;background:linear-gradient(90deg,#9fc8c3,#b8d694)}.prep-game[data-game="simmer"] .skill-track{background:linear-gradient(90deg,#d5e7e4,#85b6b3 68%,#d95837)}

@media(max-width:1050px){.flavour-panel .plate-preview{margin:0 auto}.flavour-panel{grid-template-columns:190px 1fr 250px}.flavour-panel>.panel-label{grid-column:1/-1}}
@media(max-width:700px){.flavour-panel{grid-template-columns:1fr}.plate-preview{width:175px;margin-bottom:28px}.prep-game-head{padding:24px 22px 17px}.prep-instruction{padding:17px 22px 0}.skill-stage{padding:24px 22px 16px}.skill-progress{padding-inline:22px}.skill-action{width:calc(100% - 44px);margin-inline:22px}}

/* Discoveries, unlocks and regulars */
.discovery-reveal,.memory-reveal{margin:-16px 0 24px;border:1px solid rgba(242,188,91,.45);background:rgba(242,188,91,.08);padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.discovery-reveal i,.memory-reveal i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--deep);font-style:normal;font-size:21px}.discovery-reveal span,.memory-reveal span{display:block;font:500 8px var(--mono);letter-spacing:.12em;color:var(--gold);margin-bottom:4px}.discovery-reveal strong,.memory-reveal strong{font:650 19px var(--serif)}.memory-reveal{border-color:rgba(184,214,148,.35);background:rgba(184,214,148,.07)}.memory-reveal i{background:var(--lime)}.memory-reveal span{color:var(--lime)}.unlock-notice{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:center;background:var(--forest);color:#fff;padding:17px 20px;margin:-7px 0 25px}.unlock-notice i{font-style:normal;font-size:37px}.unlock-notice span{display:block;font:500 8px var(--mono);letter-spacing:.12em;color:var(--gold);margin-bottom:4px}.unlock-notice strong{font:650 21px var(--serif)}.unlock-notice p{font-size:10px;color:rgba(255,255,255,.62);margin:3px 0 0}.recipe-index{padding:21px 0;border-bottom:1px solid var(--line)}.recipe-index-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recipe-index-head span,.recipe-index-head b{font:500 8px var(--mono);letter-spacing:.12em}.recipe-index-head b{color:var(--rust)}.recipe-shelf{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.recipe-tile{min-height:92px;background:var(--paper);border:1px solid var(--line);padding:9px;text-align:center;display:grid;place-content:center}.recipe-tile i{font-style:normal;font-size:24px;filter:grayscale(1);opacity:.22}.recipe-tile strong{font:600 9px/1.2 var(--serif);margin-top:6px}.recipe-tile small{font:500 6px var(--mono);color:var(--rust);margin-top:3px}.recipe-tile.found{background:var(--forest);color:#fff;border-color:var(--forest)}.recipe-tile.found i{filter:none;opacity:1}.recipe-tile.found small{color:var(--gold)}.customer-order .memory-known{font:500 8px/1.5 var(--mono);letter-spacing:.04em;color:#5f766d;margin-top:6px}.ingredient.locked{filter:grayscale(1);opacity:.36}
@media(max-width:700px){.recipe-shelf{grid-template-columns:repeat(2,1fr)}.discovery-reveal,.memory-reveal{margin-top:-10px}.unlock-notice{grid-template-columns:43px 1fr}.unlock-notice i{font-size:31px}}

/* Visible progression and daily challenge */
.reputation small{font:inherit;color:var(--gold)}.equipment-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.equipment-piece{border:1px dashed rgba(24,49,44,.18);background:rgba(255,255,255,.26);min-height:45px;padding:7px 5px;display:flex;gap:6px;align-items:center;justify-content:center;color:#a2aaa5}.equipment-piece i{font-style:normal;font-size:17px;filter:grayscale(1);opacity:.4}.equipment-piece span{font:500 6px/1.2 var(--mono);letter-spacing:.05em}.equipment-piece.owned{border-style:solid;border-color:rgba(217,88,55,.32);background:var(--paper);color:var(--ink);box-shadow:0 5px 12px rgba(54,55,43,.08)}.equipment-piece.owned i{filter:none;opacity:1;color:var(--rust)}.daily-result{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);background:var(--paper);padding:17px 20px;margin:-8px 0 25px}.daily-result>div{display:grid;grid-template-columns:auto auto;column-gap:13px;align-items:end}.daily-result span{grid-column:1/-1;font:500 8px var(--mono);letter-spacing:.12em;color:var(--rust)}.daily-result strong{font:650 34px/1 var(--serif);color:var(--forest)}.daily-result small{font:500 7px var(--mono);letter-spacing:.08em;color:#77847e;padding-bottom:4px}.daily-result button{border:0;background:var(--forest);color:#fff;padding:13px 16px;font:500 8px var(--mono);letter-spacing:.09em;cursor:pointer}.daily-result.encore{background:transparent}.daily-result.encore span{color:#79857f}.request-card.daily-complete{border-left-color:var(--lime)}.request-card.daily-complete>span{color:var(--lime)}
.practice-link:disabled{color:#8c9691;cursor:not-allowed}
@media(max-width:700px){.equipment-rail{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto}.equipment-piece span{display:none}.daily-result{align-items:stretch;flex-direction:column}.daily-result button{width:100%}.reputation small{display:none}}

/* Accessibility, onboarding and mobile finish */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:999;left:14px;top:10px;transform:translateY(-160%);background:var(--gold);color:var(--deep);padding:12px 16px;font:600 10px var(--mono);text-decoration:none;box-shadow:0 7px 22px rgba(0,0,0,.25)}.skip-link:focus{transform:translateY(0)}:where(button,a,input,[tabindex]):focus-visible{outline:3px solid var(--gold);outline-offset:3px}.kitchen :where(button,.prep-item){touch-action:manipulation}.ingredient,.techniques button,.serve-btn,.practice-link,.verdict-actions button,.day-actions button{min-height:44px}.prep-item{min-height:62px}.flavour-row[role="progressbar"]{position:relative}.flavour-row[role="progressbar"]:focus-visible{outline:2px solid var(--rust);outline-offset:3px}.onboarding{width:min(850px,calc(100% - 28px));border:0;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 30px 100px rgba(1,20,16,.62)}.onboarding::backdrop{background:rgba(4,24,20,.88);backdrop-filter:blur(8px)}.onboarding-head{background:var(--forest);color:#fff;padding:34px 40px}.onboarding-head .shift{margin-bottom:10px}.onboarding h2{font:650 clamp(39px,5vw,62px)/.92 var(--serif);letter-spacing:-.04em;margin:0}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.lesson-grid article{position:relative;background:var(--paper);padding:25px}.lesson-grid b{position:absolute;right:13px;top:10px;font:500 8px var(--mono);color:var(--rust)}.lesson-grid i{display:block;font-style:normal;font-size:36px;margin-bottom:15px}.lesson-grid h3{font:650 21px var(--serif);margin:0 0 7px}.lesson-grid p{font-size:10px;line-height:1.55;color:#6e7c76;margin:0}.onboarding-note{font:500 14px/1.5 var(--serif);color:#66746e;margin:22px 40px}.onboarding>button{width:calc(100% - 80px);margin:0 40px 34px;border:0;background:var(--rust);color:#fff;padding:18px;font:500 10px var(--mono);letter-spacing:.12em;cursor:pointer;min-height:50px}.customer-face{animation:guest-arrives .5s cubic-bezier(.2,.85,.25,1)}@keyframes guest-arrives{from{opacity:0;transform:translateX(16px) rotate(9deg) scale(.8)}to{opacity:1;transform:none}}.score-ring strong{font-variant-numeric:tabular-nums}
.prep-game[data-game="pickle"] .sweet-zone{width:20%;background:linear-gradient(90deg,#b8d694,#e7df8e);transition:left .18s ease}.prep-game[data-game="pickle"] .skill-track{background:linear-gradient(90deg,#d7e5dc,#90b5a4,#e9d89b)}.prep-game[data-game="crush"] .sweet-zone{left:0;width:100%;background:linear-gradient(90deg,#d9c7e2,#9276a3)}.prep-game[data-game="crush"] .skill-track i{background:#63456f}.prep-game[data-game="crush"] .skill-visual{filter:drop-shadow(0 10px 9px rgba(77,45,84,.2))}
.return-board{display:grid;grid-template-columns:150px minmax(230px,420px);gap:8px;margin-top:22px}.return-board article{border:1px solid rgba(255,255,255,.14);background:rgba(6,31,27,.3);padding:12px 14px;display:grid;gap:3px}.return-board span{font:500 7px var(--mono);letter-spacing:.12em;color:var(--gold)}.return-board strong{font:600 14px var(--serif);color:#fff}.return-board strong b{font-size:23px;color:var(--lime)}.return-board small{font:500 7px var(--mono);color:rgba(255,255,255,.55)}.special-reveal{margin:-16px 0 24px;border:1px solid rgba(217,88,55,.55);background:rgba(217,88,55,.1);padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.special-reveal i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--rust);font-style:normal;font-size:21px}.special-reveal span{display:block;font:500 8px var(--mono);letter-spacing:.12em;color:#ff9b7e;margin-bottom:4px}.special-reveal strong{font:650 19px var(--serif)}@media(min-width:701px){.score-grid{grid-template-columns:repeat(5,1fr)}}
.service-styles{border:0;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-width:720px}.service-styles legend{font:500 7px var(--mono);letter-spacing:.13em;color:rgba(255,255,255,.55);margin-bottom:8px}.service-styles button{text-align:left;border:1px solid rgba(255,255,255,.15);background:rgba(6,31,27,.28);color:#fff;padding:11px 12px;cursor:pointer;min-height:57px}.service-styles button[aria-pressed="true"]{border-color:var(--gold);background:rgba(242,188,91,.12);box-shadow:inset 0 -3px var(--gold)}.service-styles b,.service-styles small{display:block}.service-styles b{font:500 8px var(--mono);letter-spacing:.08em;color:var(--gold);margin-bottom:4px}.service-styles small{font:500 8px/1.35 var(--sans);color:rgba(255,255,255,.62)}.kitchen-evolution{margin-top:8px;border:1px solid var(--line);background:rgba(255,255,255,.42);padding:9px 11px;display:grid;grid-template-columns:1fr auto;gap:4px}.kitchen-evolution span{font:500 7px var(--mono);letter-spacing:.1em;color:var(--rust)}.kitchen-evolution strong{font:650 13px var(--serif)}.kitchen-evolution small{grid-column:1/-1;font:500 7px var(--mono);color:#74817b}.kitchen-evolution i{grid-column:1/-1;height:4px;background:#ddd8ca;position:relative}.kitchen-evolution i:after{content:'';position:absolute;inset:0 auto 0 0;width:var(--progress);background:var(--rust)}body[data-kitchen-tier="1"] .board{box-shadow:inset 0 0 0 3px rgba(184,214,148,.2),0 14px 25px rgba(51,63,52,.13)}body[data-kitchen-tier="2"] .kitchen{background:linear-gradient(135deg,#f4efdf,#efe1c7)}body[data-kitchen-tier="2"] .board{box-shadow:inset 0 0 0 4px rgba(242,188,91,.23),0 18px 32px rgba(92,59,35,.16)}body[data-kitchen-tier="3"] .kitchen{background:radial-gradient(circle at 50% 0,#fff8da,#eadcbf 72%)}body[data-kitchen-tier="3"] .equipment-rail{filter:drop-shadow(0 7px 8px rgba(150,91,38,.14))}
.flow-meter{float:right;color:var(--rust)!important;border:1px solid rgba(217,88,55,.28);background:rgba(217,88,55,.07);padding:4px 7px;transition:transform .2s,background .2s}.flow-meter.hot{background:var(--rust);color:#fff!important;transform:scale(1.08)}.verdict-guest{float:left;width:70px;height:70px;margin:-12px 18px 8px 0;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--ink);font-size:42px;box-shadow:0 0 0 7px rgba(255,255,255,.08);transform:rotate(-5deg)}.verdict-guest[data-mood="delighted"]{animation:guest-delighted .65s ease}.verdict-guest[data-mood="curious"]{animation:guest-curious .65s ease}.verdict-guest[data-mood="dismayed"]{animation:guest-dismayed .65s ease}@keyframes guest-delighted{30%{transform:translateY(-13px) rotate(7deg) scale(1.13)}65%{transform:translateY(2px) rotate(-3deg)}}@keyframes guest-curious{35%{transform:rotate(12deg) scale(1.05)}70%{transform:rotate(-10deg)}}@keyframes guest-dismayed{25%,65%{transform:translateX(-6px) rotate(-8deg)}45%,85%{transform:translateX(6px) rotate(5deg)}}.food-piece.boil:after,.food-piece.roast:after{content:'~';position:absolute;left:50%;top:-22px;color:rgba(255,255,255,.72);font:700 18px var(--serif);animation:plate-steam 1.7s ease-in-out infinite}@keyframes plate-steam{0%{opacity:0;transform:translate(-50%,7px)}50%{opacity:.8}100%{opacity:0;transform:translate(-50%,-10px)}}
.customer-face.illustrated,.verdict-guest.illustrated{background-image:url('../img/customer-atlas-v1.webp');background-size:600% 400%;background-position:calc(var(--portrait-col) * 20%) calc(var(--portrait-row) * 33.333%);background-repeat:no-repeat;color:transparent}.customer-face.illustrated{border:3px solid var(--paper);box-shadow:0 8px 22px rgba(25,42,33,.19)}.verdict-guest.illustrated{border:3px solid var(--gold);background-color:#6e523b}
.consent-banner{position:fixed;z-index:120;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:980px;margin:auto;padding:18px 20px;background:var(--deep);color:#fff;border:1px solid rgba(242,188,91,.45);box-shadow:0 20px 60px rgba(2,18,15,.45)}.consent-banner strong{font:650 18px var(--serif);color:var(--gold)}.consent-banner p{font:500 9px/1.5 var(--sans);color:rgba(255,255,255,.68);margin:4px 0 0}.consent-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.consent-actions button,.consent-actions a{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:11px 12px;font:500 8px var(--mono);letter-spacing:.08em;text-decoration:none;cursor:pointer}.consent-actions button:first-child{background:var(--rust);border-color:var(--rust)}
@media(prefers-contrast:more){:root{--line:rgba(24,49,44,.48)}.topbar button,.ingredient,.techniques button,.upgrade,.recipe-tile{border-width:2px}.flavour-row .bar{outline:1px solid var(--ink)}.shift,.request-card>span{font-weight:700}}
@media(max-width:700px){body{padding-bottom:env(safe-area-inset-bottom)}.topbar{padding-top:env(safe-area-inset-top);height:calc(65px + env(safe-area-inset-top))}.topbar nav #soundToggle{font-size:0}.topbar nav #soundToggle:after{content:'♪';font-size:11px}.game-shell{min-height:calc(100vh - 65px - env(safe-area-inset-top))}.lesson-grid{grid-template-columns:1fr}.lesson-grid article{display:grid;grid-template-columns:45px 1fr;column-gap:13px;padding:17px 20px}.lesson-grid i{grid-row:1/3;margin:0}.lesson-grid h3{align-self:end}.lesson-grid p{grid-column:2}.onboarding-head{padding:27px 22px}.onboarding-note{margin:18px 22px}.onboarding>button{width:calc(100% - 44px);margin:0 22px 24px}.return-board{grid-template-columns:1fr}.service-styles{grid-template-columns:1fr}.service-styles button{min-height:49px}.consent-banner{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:block;padding:15px}.consent-actions{margin-top:12px;flex-wrap:wrap}.techniques{padding-bottom:env(safe-area-inset-bottom)}.serve-btn{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:7;box-shadow:0 10px 24px rgba(30,45,39,.22)}}
@media(max-width:430px){.topbar .logo{letter-spacing:.1em}.topbar nav #shopOpen{display:none}.topbar button{padding:8px}.wallet{display:none}.board{height:340px}.prep-item small{font-size:7px}}
@media(max-height:620px) and (orientation:landscape){.onboarding{max-height:calc(100vh - 20px);overflow:auto}.onboarding-head{padding:20px 28px}.onboarding h2{font-size:36px}.lesson-grid article{padding:14px}.lesson-grid i{font-size:26px;margin-bottom:6px}.onboarding-note{margin-block:12px}.onboarding>button{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.customer-face,.food-piece,.food-piece:after,.skill-visual,.verdict-guest,.board.working .prep-item.selected{animation:none!important}.grain{display:none}}
