/* MealMate — a hand-drawn, restaurant-game-inspired kitchen board.
   Original SVG illustrations are defined in app.js. No game artwork is used. */
:root{color-scheme:light;--ink:#51351f;--edge:#51351f;--cream:#fff9e9;--paper:#fffdf5;--linen:#f8edcf;--wood:#9a5b36;--wood-dark:#61361f;--muted:#896d51;--red:#de7655;--yellow:#ffd16d;--teal:#88b5a5;--mint:#d9efde;--green:#547b51;--orange:#b65737;--shadow:4px 5px 0 #6b4228;font-family:'Trebuchet MS',Verdana,sans-serif}
*{box-sizing:border-box}html{background:#6e432d;scroll-behavior:smooth}body{min-height:100vh;margin:0;padding:12px 12px calc(117px + env(safe-area-inset-bottom));color:var(--ink);background:repeating-linear-gradient(90deg,#804c2e 0 17px,#8d5634 17px 20px,#7d4b2f 20px 31px,#975e39 31px 40px);}
button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #3681b3;outline-offset:3px}button:hover{filter:brightness(1.025)}button:active{transform:translateY(2px);box-shadow:none!important}.art{display:inline-block;width:28px;height:28px;flex:none;vertical-align:middle;overflow:visible}.art.mini{width:19px;height:19px}.outer-frame{max-width:970px;margin:auto;padding:9px;background:repeating-linear-gradient(0deg,#7a4628 0 9px,#9a5d38 9px 22px,#a86b42 22px 26px);border:4px solid #4e301e;border-radius:27px;box-shadow:0 10px 0 #4c2a17,0 23px 35px #29170b70,inset 0 0 0 3px #cf9459}
.cabinet-top,.cabinet-bottom{text-align:center;color:#ffdda4;text-shadow:1px 2px 0 #5a2d17;font-weight:900;letter-spacing:2px;font-size:11px;padding:12px 2px}.cabinet-top span{padding:0 15px;font-size:15px}.cabinet-bottom{font-size:10px;padding:10px 0 5px}.cabinet-panel{position:relative;background:radial-gradient(circle at 10% 30%,#fffaf1 0 30%,transparent 60%),repeating-linear-gradient(0deg,#fbedd1 0 38px,#f2e2c0 39px 40px);border:4px solid #52331e;border-radius:13px;box-shadow:inset 0 0 0 7px #b88053,inset 0 0 0 10px #e5bc82;overflow:hidden}.grain{position:absolute;top:0;bottom:0;width:15px;background:repeating-linear-gradient(90deg,#a76c42 0 3px,#c58e5d 3px 6px,#9b653e 6px 11px);z-index:1}.grain-left{left:8px;border-right:2px solid #6e452a}.grain-right{right:8px;border-left:2px solid #6e452a}.app{position:relative;z-index:2;max-width:815px;min-height:74vh;margin:auto;padding:29px 35px 48px}
/* restaurant marquee */
.topline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:29px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.logo{display:grid;place-items:center;width:70px;height:70px;flex:none;border:4px solid var(--edge);border-radius:18px;background:var(--yellow);box-shadow:4px 5px 0 #a65d38;transform:rotate(-5deg)}.logo .art{width:51px;height:51px}.brand-supra,.brand small{display:block;font-size:10px;color:#91613b;font-weight:1000;letter-spacing:2px}.brand b{display:block;font-size:clamp(31px,5vw,48px);line-height:1;color:#db7554;letter-spacing:-2px;font-weight:1000;text-shadow:2px 2px 0 #5b3520,-1px -1px 0 #5b3520,2px -1px 0 #5b3520,-1px 2px 0 #5b3520,4px 5px 0 #f2bb72}.brand .brand-star{color:#ffd16d}.brand small{font-size:9px;letter-spacing:1.5px;margin-top:9px}.est-sticker{border:3px solid #533522;border-radius:50%;width:69px;height:69px;background:#b6dcc5;transform:rotate(10deg);display:grid;place-content:center;text-align:center;box-shadow:3px 4px 0 #704b35;font-size:10px;font-weight:1000;line-height:1.1}.est-sticker b{font-size:20px}
h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:2px 0 10px;font-size:clamp(30px,5.3vw,44px);line-height:1.03;letter-spacing:-1.5px;font-weight:1000}h2{font-size:clamp(21px,3.5vw,28px);line-height:1.12;letter-spacing:-.7px;margin:0;font-weight:1000}h3{font-size:19px;line-height:1.2;margin:0}p{line-height:1.5}.eyebrow{color:#a15437;font-weight:1000;font-size:11px;letter-spacing:1.5px;margin:0 0 9px}.sub{color:#907356;font-size:13px;margin:4px 0 0}.tiny{color:#84664c;font-size:11px;font-weight:900;line-height:1.45}.space{margin-top:24px}
/* splash sign with breakfast illustration */
.hero{min-height:182px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px;background:repeating-linear-gradient(-42deg,#ffdc91 0 14px,#ffe5aa 14px 25px);border:4px solid var(--edge);border-radius:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:8px;border:2px dashed #b47c4a65;border-radius:12px;pointer-events:none}.hero-text{position:relative;z-index:1}.hero h1{color:#513521;max-width:420px}.hero-date{font-size:13px;font-weight:900;margin:0 0 15px}.counter-stamp{display:inline-flex;align-items:center;gap:6px;border:2px solid #603e26;background:#fff8e5;border-radius:30px;padding:6px 10px;font-weight:1000;font-size:10px;box-shadow:2px 3px 0 #764a26}.counter-stamp .art{width:17px;height:17px}.hero-plate{width:150px;height:150px;flex:none;display:grid;place-items:center;transform:rotate(11deg);position:relative}.hero-plate>.art{width:145px;height:145px;filter:drop-shadow(3px 6px 0 #9c653a55)}.hero-spark{position:absolute;top:0;right:4px;font-size:27px;color:#d76d50}
.week-label{font-weight:1000;font-size:11px;letter-spacing:1.6px;margin:23px 0 10px;display:flex;align-items:center;gap:7px}.dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.datebtn{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 1px 9px;border:3px solid var(--edge);border-radius:11px;background:#fff9e8;box-shadow:2px 4px 0 #795133}.datebtn .dow{font-size:10px;font-weight:1000}.datebtn b{font-size:20px}.datebtn .dot{width:7px;height:7px;border:2px solid var(--edge);border-radius:50%;background:#eac09b}.datebtn.active{background:var(--red);color:#fff8e9;box-shadow:2px 4px 0 #8f4b35}.datebtn.active .dot{background:var(--yellow)}.datebtn.today:not(.active){outline:2px dashed #bc814f;outline-offset:2px}
.card{position:relative;background:var(--paper);border:3px solid var(--edge);border-radius:17px;padding:19px 21px;box-shadow:var(--shadow)}.row,.budget-top,.section-top{display:flex;align-items:center;justify-content:space-between;gap:13px}.budget{background:#cfe7cf;border-radius:15px;box-shadow:5px 6px 0 #6f945f;padding:18px 21px}.budget:before,.market-summary:before{content:'✳';position:absolute;right:12px;top:10px;color:#83ac80;font-size:34px;opacity:.25}.budget-top>.tiny{display:flex;align-items:center;gap:6px;letter-spacing:1px;color:#365840}.budget .amount{font-size:clamp(32px,6vw,47px);font-weight:1000;line-height:1.15;margin:5px 0 0;letter-spacing:-2px}.budget-left{font-size:24px;font-weight:1000;color:#4d784b;margin-top:5px}.budget-right{text-align:right}.budget-bottom .tiny{font-size:10px}.pill{display:inline-block;border:2px solid var(--edge);background:#fff5d5;border-radius:30px;padding:7px 9px;font-size:10px;font-weight:1000;letter-spacing:.2px}.progress{height:14px;overflow:hidden;border:2px solid var(--edge);border-radius:25px;background:#fff7e4;margin:15px 0 12px}.progress span{display:block;height:100%;border-right:2px solid #553827;background:repeating-linear-gradient(45deg,#edb55f 0 12px,#ffd27e 12px 23px);transition:width .2s}.good{color:#477f52!important}.warn{color:#bf503d!important}
.section-top{align-items:flex-end;margin:34px 0 15px}.section-kicker{display:block;color:#b05e3f;font-size:11px;letter-spacing:1.2px;font-weight:1000;margin-bottom:4px}.section-top .sub{margin-top:3px}.section-deco .art{width:48px;height:48px;transform:rotate(11deg)}
/* individual paper tickets replace normal list cards */
.ticket-stack{display:grid;gap:14px}.order-ticket{position:relative;display:flex;align-items:center;gap:12px;border:3px solid var(--edge);border-left:12px solid #dd9673;border-radius:10px;background:repeating-linear-gradient(0deg,#fffefa 0 31px,#e8d9bb 32px 33px);box-shadow:4px 5px 0 #967155;padding:14px 13px;min-height:92px}.order-ticket:before{content:"";position:absolute;top:-8px;left:43%;width:61px;height:15px;border:2px solid #75472f;background:#eec99580;transform:rotate(-4deg);border-radius:2px}.order-ticket.meal-1{border-left-color:#8eb5a6}.order-ticket.meal-2{border-left-color:#e9b964}.ticket-illustration{position:relative;display:grid;place-items:center;width:61px;height:61px;flex:none;border:3px solid var(--edge);border-radius:50%;background:#f7c98b;transform:rotate(-8deg)}.ticket-illustration .art{width:46px;height:46px}.meal-1 .ticket-illustration{background:#c1ded5}.meal-2 .ticket-illustration{background:#f7dd95}.ticket-slot{position:absolute;right:-6px;bottom:-8px;font-weight:1000;background:#fff7d8;border:2px solid var(--edge);border-radius:5px;font-size:10px;padding:2px 4px}.entry{flex:1;min-width:0}.entry small{color:#b26c43;display:block;letter-spacing:1.1px;font-size:10px;font-weight:1000;margin-bottom:5px}.entry strong{display:block;font-size:14px;font-weight:900;line-height:1.35;overflow-wrap:anywhere}.entry.done strong{text-decoration:line-through;color:#a4947f}.check{width:36px;height:36px;display:grid;place-items:center;flex:none;background:#fff7e5;border:3px solid var(--edge);border-radius:50%;box-shadow:2px 3px 0 #986c49}.check .art{width:22px;height:22px;opacity:.2}.check.checked{background:#a9d7a5}.check.checked .art{opacity:1}.edit{display:grid;place-items:center;flex:none;width:29px;height:36px;border:0;background:transparent;border-radius:7px;color:var(--ink)}.edit:hover{background:#f1dfbf}.edit .art{width:22px;height:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:3px solid var(--edge);border-radius:11px;padding:10px 15px;background:#fff6dc;color:var(--ink);font-size:12px;font-weight:1000;box-shadow:3px 4px 0 #855f43;white-space:normal;text-align:center}.btn .art{width:19px;height:19px}.btn.primary{background:#f4b766}.btn.accent{background:#9fc8b6}.btn.ghost{background:#fff8e6}.btn.small{padding:7px 10px;font-size:11px;min-height:32px;border-width:2px;box-shadow:2px 3px 0 #855f43}.actionline{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}
/* notepad checklist */
.chore-board{padding:29px 17px 15px 24px;background:repeating-linear-gradient(0deg,#fffdf4 0 38px,#c7d8d5 39px 40px);border-radius:12px}.chore-board:before{content:"";position:absolute;top:0;bottom:0;left:13px;border-left:2px solid #db9a88}.board-clip{position:absolute;top:-14px;left:40%;background:#f6bb68;border:3px solid var(--edge);border-radius:9px;transform:rotate(-3deg);padding:5px 12px;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:1000;box-shadow:2px 3px 0 #845736}.task{display:flex;align-items:center;gap:12px;padding:12px 3px 11px}.task+.task{border-top:1px dashed #d1c29c}.task .check{width:32px;height:32px;border-radius:8px}.empty{text-align:center;padding:27px;color:var(--muted)}
/* chunky arcade-station tab bar */
.nav{position:fixed;z-index:10;left:0;right:0;bottom:0;background:linear-gradient(#9f6642,#6b4028);border-top:5px solid #4c2c1a;box-shadow:0 -3px 0 #d39b63,0 -13px 25px #45251345;padding:9px 12px calc(9px + env(safe-area-inset-bottom))}.nav-inner{max-width:670px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.station{background:#fff1d1;border:3px solid var(--edge);border-radius:11px;box-shadow:3px 4px 0 #462918;min-height:65px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:7px 3px}.station-badge{display:grid;place-items:center;border:2px solid var(--edge);border-radius:50%;width:36px;height:36px;background:#f8bd72;box-shadow:inset 0 -3px #0000000b}.station-badge .art{width:27px;height:27px}.station-1 .station-badge{background:#9fbdd6}.station-2 .station-badge{background:#b9d8b1}.station-3 .station-badge{background:#e9a4a3}.station-label{font-weight:1000;letter-spacing:.3px;font-size:10px;line-height:1.1}.station.active{background:#ffe1a2;transform:translateY(-5px);box-shadow:3px 9px 0 #462918;border-bottom:5px solid var(--edge)}
/* secondary stations */
.page-banner{min-height:160px;border:4px solid var(--edge);border-radius:18px;box-shadow:var(--shadow);padding:21px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;position:relative;overflow:hidden}.page-banner:before{content:"";position:absolute;inset:7px;border:2px dashed #79543966;border-radius:12px;pointer-events:none}.page-banner>div{position:relative;z-index:1}.page-banner p:last-child{font-size:13px;font-weight:900;margin:0}.page-banner .banner-art{height:108px;width:108px;flex:none;transform:rotate(10deg)}.banner-calendar{background:#b3d1e1}.banner-market{background:#c9e7b7}.banner-recipes{background:#efb8a4}
.calendar-head,.shopping-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-board{background:#fff9e7}.calendar-head{margin-bottom:22px}.calendar-head h2{text-align:center}.pager{width:40px;height:40px;padding:5px!important}.pager .art{width:24px;height:24px}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:6px}.cal-week{font-size:11px;font-weight:1000;color:#976d4c;padding:10px 0}.cal-day{position:relative;min-width:0;min-height:51px;background:#fffefd;color:#573d2a;border:2px solid #bfa080;border-radius:9px;font-weight:1000;font-size:14px;box-shadow:0 2px 0 #bb9573}.cal-day.active{background:#df8f67;color:#fffbee;border-color:#684129}.cal-day.now:not(.active){outline:2px dashed #dc815b;outline-offset:1px}.completed{display:block;margin-top:3px;font-size:10px;color:#457e52}.cal-day.active .completed{color:#fff6da}.market-summary{background:#dcead0}.shopping-header h3{font-size:19px;margin-top:4px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}.stat{background:#fff8e3;border:2px solid var(--edge);padding:12px;border-radius:9px;box-shadow:2px 3px 0 #927151}.stat b{display:block;font-weight:1000;font-size:26px;margin-top:5px}.receipt-list{background:repeating-linear-gradient(0deg,#fffcf3 0 41px,#eadfcb 42px 43px);border-radius:5px;padding:0 17px 14px;overflow:hidden}.receipt-top,.receipt-end{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 -17px 5px;padding:11px 18px;background:#ffdeb4;border-bottom:3px dashed #926c4e;font-weight:1000;font-size:10px;letter-spacing:1px}.receipt-top span:first-child{display:flex;align-items:center;gap:4px}.grocery-row{display:flex;align-items:center;gap:11px;padding:13px 0;min-height:68px}.grocery-row+.grocery-row{border-top:2px dashed #cfbba1}.food-chip{display:grid;place-items:center;flex:none;width:46px;height:46px;border:2px solid var(--edge);border-radius:11px;background:#f3dfae;transform:rotate(-4deg)}.food-chip .art{width:36px;height:36px}.grocery-row:nth-child(4n+1) .food-chip{background:#d0e4d2}.grocery-row:nth-child(4n+2) .food-chip{background:#f6d1bb}.grocery-row:nth-child(4n+3) .food-chip{background:#d5dce9}.price{white-space:nowrap;font-size:15px;font-weight:1000}.grocery-row .check{width:33px;height:33px}.grocery-row .edit{width:23px}.receipt-end{justify-content:center;margin:12px -17px -14px;border-top:3px dashed #926c4e;border-bottom:0;background:#f8e6c8;font-size:9px;color:#9c6844;padding:12px}
.recipes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.recipes-grid{align-items:start}.recipes-grid>.recipe{align-self:start}.recipe{padding:16px;display:flex;flex-direction:column;gap:13px;background:#fff9e7}.recipe-head{display:flex;align-items:center;gap:12px}.recipe-emoji{display:grid;place-items:center;flex:none;width:76px;height:76px;border:3px solid var(--edge);border-radius:16px;background:#ffdc8d;transform:rotate(-5deg);box-shadow:3px 4px 0 #aa7852}.recipe-emoji .art{width:59px;height:59px}.recipe-emoji.color-1{background:#bdddb9}.recipe-emoji.color-2{background:#b1d4d8}.recipe-emoji.color-3{background:#edc4b1}.recipe-titles{min-width:0}.recipe-titles h3{font-size:17px;margin-top:5px}.recipe-ingredients{font-size:12px;color:#776048;margin:0;font-weight:700}.recipe details{border-top:2px dashed #cbb18d;padding-top:12px;margin-top:auto}.recipe summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:12px;font-weight:1000;color:#8b5532}.recipe summary::-webkit-details-marker{display:none}.recipe summary .art{width:22px;height:22px}.recipe ol{font-size:12px;line-height:1.6;padding-left:20px}.recipe li+li{margin-top:10px}.hint{display:flex;align-items:flex-start;gap:8px;background:#fff7de;border:2px dashed #ac7956;border-radius:12px;padding:13px 16px;color:#735438;font-weight:700;font-size:12px;line-height:1.6}.hint .art{flex:none}.note{color:#8b7158;font-size:12px;line-height:1.5}.footer{text-align:center;font-size:10px;color:#936848;letter-spacing:1px;font-weight:1000;line-height:1.8;margin-top:40px}
/* original edit/save behaviors preserved */
.modal-bg{position:fixed;inset:0;z-index:20;background:#2b160cae;display:none;align-items:flex-end;justify-content:center;padding:15px;backdrop-filter:blur(4px)}.modal-bg.visible{display:flex}.modal{width:min(100%,510px);max-height:90vh;overflow:auto;background:#fff6dd;padding:25px 24px 28px;border:5px solid var(--edge);border-radius:20px;box-shadow:7px 8px 0 #8e5a37;margin-bottom:env(safe-area-inset-bottom)}.modal-ornament{text-align:center;font-size:11px;color:#a45d36;font-weight:1000;letter-spacing:2px;margin-bottom:9px}.modal h2{text-align:center;margin:0 0 22px}.field{display:block;margin-bottom:14px}.field span{display:block;font-size:12px;font-weight:1000;margin-bottom:7px}.field input{width:100%;padding:12px 13px;border:3px solid var(--edge);border-radius:9px;background:#fffefa;color:var(--ink)}.modal-actions{display:flex;gap:11px;margin-top:21px}.modal-actions button{flex:1}
@media(min-width:900px){body{padding-top:27px}.app{padding:35px 52px 54px}}
@media(max-width:610px){body{padding:5px 5px calc(109px + env(safe-area-inset-bottom))}.outer-frame{padding:5px;border-radius:18px;border-width:3px}.cabinet-top{padding:7px 1px;font-size:8px;letter-spacing:1px}.cabinet-top span{padding:0 5px;font-size:11px}.cabinet-bottom{padding:7px 0 2px;font-size:8px}.cabinet-panel{border-width:3px;box-shadow:inset 0 0 0 4px #b88053,inset 0 0 0 6px #e5bc82}.grain{width:6px}.grain-left{left:3px}.grain-right{right:3px}.app{padding:22px 15px 32px}.topline{margin-bottom:24px}.logo{width:55px;height:55px;border-width:3px}.logo .art{width:42px;height:42px}.brand{gap:9px}.brand b{font-size:33px}.brand-supra{font-size:8px;letter-spacing:1.2px}.brand small{font-size:7px;letter-spacing:.7px;margin-top:5px}.est-sticker{width:55px;height:55px;font-size:8px;border-width:2px}.est-sticker b{font-size:17px}.hero{min-height:157px;padding:16px;border-width:3px}.hero h1{font-size:33px}.hero-plate{width:100px;height:100px}.hero-plate>.art{width:110px;height:110px}.hero-date{font-size:11px}.eyebrow{font-size:9px;letter-spacing:1px}.dates{gap:4px}.datebtn{border-width:2px;padding:9px 1px 7px;border-radius:8px}.datebtn .dow{font-size:9px}.datebtn b{font-size:17px}.budget{padding:16px 13px}.card{padding:15px 13px;border-width:3px}.section-top{margin:30px 0 15px}.ticket-illustration{width:47px;height:47px}.ticket-illustration .art{width:36px;height:36px}.order-ticket{padding:11px 8px;gap:8px;min-height:81px;border-left-width:8px}.entry strong{font-size:12px}.entry small{font-size:9px}.order-ticket .check{width:29px;height:29px;border-width:2px}.order-ticket .check .art{width:20px;height:20px}.order-ticket .edit{width:22px}.order-ticket .edit .art{width:18px;height:18px}.section-deco .art{width:36px;height:36px}.nav{padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.nav-inner{gap:6px}.station{min-height:63px;border-width:2px}.station-badge{width:34px;height:34px}.station-label{font-size:9px}.page-banner{min-height:135px;padding:15px}.page-banner .banner-art{width:85px;height:85px}.page-banner h1{font-size:31px}.page-banner p:last-child{font-size:11px}.cal-week,.cal-grid{gap:3px}.cal-week{font-size:9px}.cal-day{min-height:45px;font-size:12px}.calendar-head h2{font-size:19px}.receipt-list{padding:0 9px 12px}.receipt-top,.receipt-end{margin-left:-9px;margin-right:-9px}.grocery-row{gap:7px}.food-chip{width:36px;height:36px}.food-chip .art{width:29px;height:29px}.grocery-row .entry strong{font-size:11px}.grocery-row .entry small{font-size:10px}.grocery-row .check{width:29px;height:29px;border-width:2px}.grocery-row .edit{width:18px}.grocery-row .edit .art{width:17px;height:17px}.price{font-size:12px}.recipes-grid{grid-template-columns:1fr}.recipe-head{gap:13px}.recipe-emoji{width:68px;height:68px}.recipe-emoji .art{width:52px;height:52px}.stat{padding:10px}.stat b{font-size:23px}.modal-actions .btn{padding:10px 6px}}
@media(max-width:355px){.hero-plate{display:none}.brand small{display:none}.est-sticker{width:45px;height:45px}.est-sticker b{font-size:14px}.order-ticket{gap:5px}.ticket-illustration{width:39px;height:39px}.ticket-illustration .art{width:30px;height:30px}.ticket-slot{display:none}.station-label{font-size:8px}.datebtn b{font-size:15px}.grocery-row{gap:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
/* Cloud kitchen account plaque — designed to match the cartoon kitchen stations. */
.account-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:120px;max-width:170px}
.account-btn{display:flex;align-items:center;justify-content:center;gap:5px;min-height:43px;padding:7px 10px;background:#a7d1ae;border:3px solid var(--edge);border-radius:12px;box-shadow:3px 4px 0 #875d3c;font-weight:1000;font-size:10px;color:var(--ink);letter-spacing:.25px;transform:rotate(2deg)}
.account-btn .art{width:22px;height:22px}
.cloud-status{max-width:168px;text-align:center;color:#7c634c;font-size:9px;font-weight:1000;letter-spacing:.4px;line-height:1.3;overflow-wrap:anywhere}
.cloud-error{color:#af3f2c!important}
.auth-modal{text-align:center}
.auth-modal .auth-explainer{font-size:13px;line-height:1.5;margin:0 0 17px;color:#76583d}
.auth-modal .field{text-align:left}
.auth-modal .auth-submit{width:100%;margin:4px 0 12px;background:#a5d4ab}
.auth-signed-in{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.auth-signed-in[hidden],.auth-modal form[hidden],.auth-modal .auth-switch[hidden]{display:none}
.auth-signed-in .btn{flex:1}
.account-email{width:100%;font-size:14px;font-weight:900;padding:12px;border:2px dashed #b78158;border-radius:10px;background:#fff9eb;overflow-wrap:anywhere}
.auth-message{min-height:21px;font-size:12px;font-weight:800;line-height:1.5;color:#3f7b55}
.auth-switch{margin:2px auto 13px;border:0;background:none;color:#95603d;text-decoration:underline;cursor:pointer;font-weight:900;padding:7px}
.auth-close{display:block;width:100%}
.loading-ticket{text-align:center;border:4px dashed #9d6544;border-radius:16px;background:#ffefcb;padding:50px 18px;margin:35px auto;max-width:460px;box-shadow:4px 5px 0 #8e5a37}
.loading-ticket .art{width:75px;height:75px}
.loading-ticket p{font-size:13px;color:#896950}
@media(max-width:610px){.account-box{min-width:75px;max-width:100px}.account-btn{min-height:36px;padding:5px 5px;border-width:2px;font-size:8px;gap:3px;box-shadow:2px 3px 0 #875d3c}.account-btn .art{width:19px;height:19px}.cloud-status{font-size:8px;max-width:96px}.brand b{font-size:31px}}
@media(max-width:355px){.account-btn span{display:none}.account-box{min-width:36px;max-width:84px}.account-btn{width:37px}.cloud-status{font-size:7px}}

/* --- The little kitchen: guided chef onboarding --- */
.tour-help-btn{flex:none;width:42px;height:42px;display:grid;place-items:center;border:3px solid #603a23;border-radius:12px;background:#ffe0a2;color:#633921;box-shadow:3px 4px 0 #855433;cursor:pointer;font-size:22px;font-weight:1000;transform:rotate(-3deg)}
.tour-help-btn:hover,.tour-help-btn:focus-visible{background:#ffce6e;transform:rotate(0)}
.tour-helper-link{width:100%;margin-top:11px;background:#fff1d3;box-shadow:3px 4px 0 #966443}
.tour-overlay[hidden]{display:none!important}
.tour-overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:12px;padding-bottom:calc(18px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
.tour-shade{position:absolute;inset:0;background:rgba(43,23,13,.72);backdrop-filter:blur(3px)}
body.tour-is-open{overflow:hidden}
.tour-dialog{position:relative;z-index:2;box-sizing:border-box;width:min(100%,690px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff1cf;border:5px solid #52331f;border-radius:22px;box-shadow:0 12px 0 #8b5538,0 25px 65px rgba(35,19,9,.5),inset 0 0 0 6px #f9d5a2;color:#573923;scrollbar-color:#c9955c #fff1cf}
.tour-ribbon{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:12px 18px;background:repeating-linear-gradient(90deg,#9d6241 0,#9d6241 16px,#a76b47 16px,#a76b47 27px);border-bottom:4px solid #52331f;color:#fff8e7;font-size:10px;font-weight:1000;letter-spacing:1.5px}
.tour-skip{cursor:pointer;border:2px solid #efd4a8;background:#fff6e8;color:#603a23;border-radius:9px;padding:6px 9px;white-space:nowrap;font-weight:1000;font-size:11px;letter-spacing:0}
.tour-skip:focus-visible,.tour-control:focus-visible{outline:4px solid #328c83;outline-offset:2px}
.tour-main{display:grid;grid-template-columns:185px minmax(0,1fr);gap:4px;padding:27px 24px 18px;align-items:center}
.tour-mascot-area{display:flex;justify-content:center;align-items:end;align-self:stretch;position:relative}
.tour-chef-svg{max-width:100%;width:176px;filter:drop-shadow(5px 7px 0 rgba(105,59,28,.13))}
.tour-chef-tag{position:absolute;bottom:1px;left:50%;transform:translateX(-50%) rotate(-4deg);white-space:nowrap;background:#ffe0a0;border:2px solid #613d2a;border-radius:8px;padding:4px 9px;font-size:10px;box-shadow:2px 3px 0 #aa7750;font-weight:1000}
.tour-speech{border:4px solid #5e3923;background:#fffaf0;border-radius:24px 24px 24px 7px;padding:17px 19px;position:relative;box-shadow:5px 6px 0 #d6a878}
.tour-kicker{display:block;color:#ad653c;font-size:10px;font-weight:1000;letter-spacing:1.6px;margin-bottom:7px}
.tour-speech h2{font-size:clamp(23px,3vw,33px);letter-spacing:-.8px;line-height:1.13;margin:0 0 12px;color:#57351e}
.tour-speech p{font-size:13px;line-height:1.6;color:#76573e;margin:0;font-weight:720}
.tour-demo{margin-top:16px;min-height:100px;display:grid;place-items:center;border:3px dashed #c79e6c;border-radius:12px;background:repeating-linear-gradient(135deg,#fff5da 0,#fff5da 10px,#fcedca 10px,#fcedca 20px);padding:13px;box-sizing:border-box}
.tour-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 19px 17px;border-top:3px solid #deb78c;background:#f6ddb4}
.tour-progress-area{display:flex;flex-direction:column;align-items:center;gap:7px}
.tour-counter{font-size:10px;letter-spacing:1.2px;font-weight:1000;color:#765136;white-space:nowrap}
.tour-dots{display:flex;gap:6px;align-items:center}.tour-dot{display:block;width:10px;height:10px;border:2px solid #785039;border-radius:50%;background:#fff7e5}.tour-dot.current{background:#ffd15d;transform:scale(1.25)}.tour-dot.visited{background:#b7d5a8}
.tour-control{border:3px solid #57351e;min-width:86px;min-height:44px;padding:9px 13px;border-radius:11px;background:#fff6e7;color:#5e3924;font-weight:1000;font-size:12px;box-shadow:3px 4px 0 #98714d;cursor:pointer}
.tour-control.primary{min-width:145px;background:linear-gradient(#ffe28f,#ffbb4f);color:#50351f}.tour-control.primary:hover{background:#ffc35b}.tour-control:hover{transform:translateY(-1px)}.tour-control[hidden]{visibility:hidden;display:block}
.demo-woodsign{background:#b97e50;color:#fff8e8;border:3px solid #603a23;border-radius:8px;box-shadow:3px 4px 0 #815334;padding:8px 12px;font-size:11px;letter-spacing:1.1px;font-weight:1000}
.demo-welcome{text-align:center}.demo-sun{color:#bb7649;font-size:18px}.demo-smallplates{display:flex;justify-content:center;gap:15px;font-size:24px;margin-top:12px}
.demo-ticket{width:100%;max-width:300px;box-sizing:border-box;background:#fffdf5;border-left:8px solid #d69760;padding:10px;transform:rotate(-1deg);border-radius:4px;box-shadow:3px 4px 0 #b58358;color:#5c3822}
.demo-tiny{font-size:9px;font-weight:1000;color:#a36542;letter-spacing:1px}.demo-tline{display:flex;align-items:center;gap:9px;margin:8px 0}.demo-favicon{font-size:24px}.demo-tline b{font-size:12px}.demo-stamp{margin-left:auto;display:grid;place-items:center;background:#a9d7a7;border:2px solid #537e4f;border-radius:50%;min-width:26px;height:26px}.demo-ticket small{font-size:10px;color:#977052}
.demo-week{width:100%;max-width:300px}.demo-weektitle{text-align:center;font-size:10px;font-weight:1000;letter-spacing:1px;margin-bottom:8px}.demo-days{display:flex;gap:4px;justify-content:center}.demo-days>div{background:#fffaf0;border:2px solid #a77b56;border-radius:7px;min-width:20px;flex:1;text-align:center;font-size:10px;padding:5px 0}.demo-days>div.chosen{background:#f6ad72;border-color:#603a23}.demo-days b{display:block;font-size:15px}.demo-weekline{margin-top:10px;font-size:11px;font-weight:800;text-align:center;color:#815a38}
.demo-receipt{background:#fffdf3;width:min(100%,245px);padding:10px 14px;box-sizing:border-box;border:2px solid #6f4b34;box-shadow:3px 4px 0 #a67e60}.demo-receipt-title{text-align:center;font-weight:1000;font-size:11px;border-bottom:2px dashed #b3a185;padding-bottom:7px}.demo-receipt>div:not(:first-child){display:flex;gap:7px;margin-top:7px;font-size:12px}.demo-receipt small{margin-left:auto}.demo-receipt .demo-receipt-total{display:block!important;text-align:center;border-top:2px dashed #b3a185;padding-top:6px;font-size:10px!important;font-weight:1000}
.demo-cookbook{display:flex;align-items:center;gap:12px;max-width:300px}.demo-book-icon{font-size:47px}.demo-cookbook b,.demo-cookbook small,.demo-cookbook em{display:block}.demo-cookbook b{font-size:14px}.demo-cookbook small{font-size:9px;color:#8e5b37;margin:3px 0 7px}.demo-cookbook em{font-size:11px;font-style:normal;line-height:1.5}
.demo-cloud{text-align:center}.demo-cloud>span{display:block;color:#70adb8;font-size:36px;line-height:1}.demo-cloud b{display:block;font-size:14px}.demo-cloud small{display:block;font-size:10px;color:#856443}.demo-devices{font-size:20px;color:#8b6449;margin-top:5px}
.demo-finish{text-align:center}.demo-finish span,.demo-finish strong{display:block}.demo-finish strong{font-size:20px;margin:6px 0;color:#92512f}.demo-finish span{font-size:22px}
@media(max-width:560px){.tour-overlay{padding:8px;padding-bottom:calc(9px + env(safe-area-inset-bottom))}.tour-dialog{max-height:calc(100dvh - 16px);border-width:4px;border-radius:17px}.tour-ribbon{padding:9px 11px;font-size:9px;letter-spacing:.6px}.tour-main{grid-template-columns:1fr;gap:0;padding:14px 14px 12px}.tour-mascot-area{height:123px;justify-content:flex-start;align-items:center;padding-left:5px}.tour-chef-svg{height:134px;width:auto}.tour-chef-tag{left:136px;bottom:29px;transform:rotate(-4deg)}.tour-speech{padding:13px 14px;border-width:3px;border-radius:15px;box-shadow:3px 4px 0 #d6a878}.tour-speech h2{font-size:24px;margin-bottom:7px}.tour-speech p{font-size:12px;line-height:1.5}.tour-demo{min-height:85px;margin-top:10px;padding:10px}.tour-footer{padding:12px 10px;gap:5px}.tour-control{padding:8px 7px;min-width:66px;font-size:11px}.tour-control.primary{min-width:120px}.tour-dot{width:8px;height:8px;border-width:1.5px}.tour-dots{gap:4px}.tour-help-btn{width:33px;height:34px;font-size:19px;border-width:2px;box-shadow:2px 3px 0 #855433}.tour-help-btn.top-help{margin-left:auto}}
@media(max-width:370px){.tour-main{padding:8px 10px}.tour-mascot-area{height:92px}.tour-chef-svg{height:106px}.tour-chef-tag{left:111px;bottom:19px;font-size:9px}.tour-speech h2{font-size:21px}.tour-speech p{font-size:11px}.tour-demo{min-height:65px}.tour-control.primary{min-width:110px}.tour-ribbon{font-size:8px}}
@media(max-height:610px){.tour-mascot-area{height:72px}.tour-chef-svg{height:88px}.tour-chef-tag{left:99px;bottom:10px}.tour-demo{min-height:60px}.tour-main{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.tour-dialog,.tour-dot{animation:none!important;transition:none!important}}
/* The dialog heading receives programmatic focus so screen readers announce each step. */
.tour-speech h2:focus{outline:none}

/* Market 2.0 — station tabs, quieter active list, friendly empty states */
.market-board{margin-top:9px}.market-heading{flex-wrap:wrap}.market-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}.market-filter{border:3px solid var(--edge);border-radius:11px;background:#fff7df;box-shadow:2px 3px 0 #a77a52;color:var(--ink);font-size:12px;font-weight:1000;min-height:42px;padding:8px 13px;display:inline-flex;align-items:center;gap:8px}.market-filter.active{background:#ffd16d;box-shadow:2px 3px 0 #99603b}.filter-count{background:#fffdf6;border:2px solid var(--edge);border-radius:20px;font-size:10px;min-width:24px;padding:2px 5px;text-align:center}.market-search-label{display:flex;gap:6px;align-items:center;color:#76553a;font-size:11px;font-weight:1000;margin:11px 2px 6px}.market-search{display:block;width:100%;max-width:100%;background:#fffdf6;border:3px solid #836144;border-radius:10px;padding:12px 14px;font-size:14px;color:var(--ink);margin-bottom:17px;box-shadow:2px 3px 0 #bd9d7c}.market-empty{padding:26px 15px 29px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:#7f5a3d}.market-empty strong{font-size:20px;color:#593921}.market-empty p{max-width:340px;margin:0 auto 7px;font-size:12px;font-weight:700}.market-empty .btn{margin-top:6px;white-space:normal}.market-empty.is-hidden{display:none}.empty-basket-art{width:85px;height:85px;display:grid;place-items:center;background:#e0efd6;border:3px solid #764e32;border-radius:50%;box-shadow:3px 4px 0 #a7ba8d;transform:rotate(-7deg)}.empty-basket-art .art{width:58px;height:58px}.market-bottom-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:21px}.market-bottom-actions>.btn{flex:1 1 120px}.market-clear{background:#e0edda}.market-manage{margin-top:17px;background:#fff6e4;border:2px dashed #bd926e;border-radius:12px;padding:11px 14px}.market-manage summary{cursor:pointer;font-size:12px;font-weight:1000;color:#7d553b}.market-manage p{margin:11px 0;font-size:12px;color:#795b44}.market-manage-actions{display:flex;flex-wrap:wrap;gap:9px}.market-danger{background:#fae0d2}.market-manage button:disabled{opacity:.4;cursor:not-allowed}.market-note{margin-top:12px;max-width:650px}.market-filter:focus-visible,.market-manage summary:focus-visible,.market-search:focus-visible{outline:3px solid #3681b3;outline-offset:3px}
@media(max-width:610px){.market-filters{gap:5px}.market-filter{font-size:11px;gap:5px;min-height:40px;padding:7px 8px;flex:1;justify-content:center}.filter-count{font-size:9px;min-width:18px;padding:1px 3px}.market-bottom-actions>.btn{flex:1 1 45%;font-size:11px}.market-empty{padding:25px 8px}.market-manage-actions>.btn{flex:1 1 100%}}

/* Cookbook Station 2.0 — original collectible recipe slips */
.cookbook-welcome{display:flex;align-items:center;gap:16px;padding:17px 18px;background:linear-gradient(135deg,#fff8e7,#ffe8b4);border:3px solid var(--edge);border-radius:17px;box-shadow:4px 5px 0 #a77a4e}
.cookbook-welcome-symbol{width:62px;height:62px;flex:none;display:grid;place-items:center;border:3px solid #6c462d;border-radius:18px;background:#ffd16e;box-shadow:3px 3px 0 #a87a4c;transform:rotate(-6deg)}.cookbook-welcome-symbol svg{width:45px;height:45px}
.cookbook-welcome>div:nth-child(2){flex:1;min-width:0}.cookbook-welcome h2{font-size:21px;line-height:1.2;margin:4px 0}.cookbook-welcome p{font-size:12px;color:#77573a;line-height:1.5;font-weight:700;margin:0}
.cookbook-welcome .cookbook-add{white-space:nowrap;min-height:46px}
.cookbook-tools{margin-top:21px;display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:13px}
.cookbook-tabs{display:flex;flex-wrap:wrap;gap:7px}.cookbook-tab{background:#fff7df;border:3px solid var(--edge);border-radius:12px;min-height:43px;padding:8px 12px;color:var(--ink);font-size:12px;font-weight:1000;box-shadow:2px 3px 0 #a77a52;cursor:pointer}.cookbook-tab.active{background:#ffc96e;box-shadow:2px 3px 0 #945b3b}.cookbook-tab span{display:inline-block;min-width:22px;padding:1px 5px;border-radius:15px;border:1.5px solid #8c6646;background:#fffaf0;margin-left:3px}
.cookbook-search-label{flex:1 1 185px;max-width:270px;font-size:11px;font-weight:1000;color:#775439}.cookbook-search{display:block;width:100%;margin-top:6px;padding:11px;border:3px solid #815d41;border-radius:9px;background:#fffdf6;font-size:13px;color:var(--ink);box-shadow:2px 3px 0 #bb946e}.cookbook-hint{margin-top:16px}.cookbook-note{margin-top:20px;text-align:center}
.recipe-marker{color:#8d6444;font-size:10px;font-weight:1000;letter-spacing:1px;background:#f9e8cb;border:1.5px dashed #bd9674;border-radius:6px;padding:6px 8px;align-self:flex-start}.recipe-personal{border-color:#835634;background:#fffdf4}.recipe-personal .recipe-marker{background:#e3efdb;color:#4f7450;border-color:#9fbb94}
.recipe .recipe-flip{margin-top:0}.recipe-commands{border-top:2px solid #dec9a6;display:flex;gap:8px;flex-wrap:wrap;padding-top:11px;align-items:center}.recipe-commands .btn{font-size:10px;min-height:40px;padding:8px 10px;flex:1 1 120px;display:inline-flex;gap:5px;align-items:center;justify-content:center;white-space:normal}.recipe-to-market{background:#d9e8cb}.recipe-delete{width:39px;height:39px;border:3px solid #91513d;border-radius:10px;color:#8b3629;background:#fae0d5;font-weight:1000;font-size:26px;line-height:1;cursor:pointer;box-shadow:2px 3px 0 #bd8c7a}.recipe .recipe-ingredients{overflow-wrap:anywhere}.recipe li{overflow-wrap:anywhere}
.cookbook-empty{grid-column:1/-1;min-height:240px;display:flex;align-items:center;text-align:center;flex-direction:column;justify-content:center;gap:12px;padding:28px}.cookbook-empty-art{width:85px;height:85px;border-radius:50%;background:#ffe3a7;border:3px solid #744b31;display:grid;place-items:center;transform:rotate(-8deg)}.cookbook-empty-art svg{width:57px;height:57px}.cookbook-empty h3{font-size:20px}.cookbook-empty p{font-size:12px;line-height:1.6;max-width:340px;color:#815b3e;font-weight:700;margin:0}.cookbook-empty .btn{margin-top:7px}
.recipe-modal-bg{z-index:30}.recipe-editor{width:min(100%,590px);max-height:min(92dvh,900px);overflow:auto}.recipe-editor h2{margin-bottom:8px}.recipe-form-intro{text-align:center;color:#896346;font-size:12px;line-height:1.5;margin:0 0 20px}.recipe-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.recipe-editor .field select,.recipe-editor .field textarea{width:100%;max-width:100%;border:3px solid var(--edge);border-radius:9px;background:#fffefa;color:var(--ink);padding:11px 12px;font:inherit;font-size:13px;line-height:1.45}.recipe-editor .field textarea{resize:vertical;min-height:105px}.recipe-editor .field span small{font-weight:600;color:#98745b}.recipe-form-error{min-height:18px;color:#a03830;font-size:12px;font-weight:800}
.cookbook-tab:focus-visible,.cookbook-add:focus-visible,.recipe-delete:focus-visible,.recipe-editor :is(input,textarea,select):focus-visible{outline:3px solid #287fa6;outline-offset:3px}
@media(max-width:680px){.cookbook-welcome{flex-wrap:wrap;gap:12px;padding:14px}.cookbook-welcome-symbol{width:47px;height:47px}.cookbook-welcome-symbol svg{width:36px;height:36px}.cookbook-welcome h2{font-size:18px}.cookbook-welcome>div:nth-child(2){flex:1 1 70%}.cookbook-welcome .cookbook-add{width:100%}.cookbook-search-label{max-width:none;flex-basis:100%}.cookbook-tab{flex:1;font-size:10px;padding:8px 6px}.recipe-form-row{grid-template-columns:1fr;gap:0}.recipe-commands .btn{flex:1 1 100px}}

/* Community Cookbook and individual Market removal · autumn kitchen update */
.grocery-row .entry{min-width:0;flex:1 1 auto}
.grocery-row .price{flex:none}
.grocery-row .grocery-delete{display:grid;place-items:center;flex:none;width:32px;height:32px;border:2px solid #986149;border-radius:9px;background:#ffe5d8;color:#763c2b;box-shadow:2px 2px 0 #c7a28d;cursor:pointer;transition:transform .12s ease,background .12s ease}
.grocery-row .grocery-delete .art{width:21px;height:21px}
.grocery-row .grocery-delete:hover{background:#ffc4b4;transform:translateY(-1px)}
.grocery-row .grocery-delete:focus-visible,.community-report:focus-visible,.community-toolbar .btn:focus-visible{outline:3px solid #287fa6;outline-offset:3px}
.community-toolbar{margin:15px 0 0;padding:12px 16px;border:2px dashed #a87a4e;border-radius:13px;background:#ffedc9;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.community-toolbar span{font-size:10px;font-weight:1000;letter-spacing:1px;color:#81573c}
.community-notice{margin:13px 0 3px;padding:12px 14px;border:2px solid #92ab79;border-radius:10px;background:#edf6df;color:#49663e;font-size:12px;font-weight:800;line-height:1.5}
.community-recipe{background:#fff6e7;border-color:#975d3a}
.community-recipe .recipe-marker{background:#fbe3c8;border-color:#ddae80;color:#895032;overflow-wrap:anywhere}
.community-report{padding:9px 11px;border:2px solid #986d54;background:transparent;border-radius:9px;color:#92674e;cursor:pointer;font-size:11px;font-weight:800}
.community-report:hover{background:#f3e1d5}
.recipe-publish{background:#ffe2ac}
.community-recipe .recipe-commands .btn:disabled{opacity:.6;cursor:default}
@media(max-width:610px){
 .grocery-row{gap:5px}
 .grocery-row .grocery-delete{width:27px;height:29px;border-width:2px;border-radius:8px}
 .grocery-row .grocery-delete .art{width:18px;height:18px}
 .grocery-row .price{font-size:11px}
 .grocery-row .food-chip{width:32px;height:32px}
 .grocery-row .edit{width:18px}
 .cookbook-tab{flex:1 1 calc(50% - 6px);min-width:0;font-size:11px}
 .community-toolbar{padding:10px}
 .community-toolbar .btn{flex:1 1 100%}
}
@media(max-width:360px){
 .grocery-row .food-chip{display:none}
 .grocery-row .grocery-delete{width:26px}
}

/* MealMate account polish: password visibility, public profile, kitchen dialogs */
.password-wrap{position:relative;display:block}.password-wrap input{padding-right:68px;min-width:0}
.password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:2px solid #926b4c;border-radius:8px;background:#f7dfb4;color:#533322;padding:7px 9px;font-size:11px;font-weight:1000;min-width:52px;cursor:pointer}
.password-eye:focus-visible,.kitchen-choice :is(button,input):focus-visible,.chef-profile :is(button,input):focus-visible{outline:3px solid #29789c;outline-offset:3px}
#confirmPasswordField[hidden],#kitchenChoiceBg[hidden],#kitchenChoiceInputField[hidden],#kitchenChoiceLater[hidden]{display:none!important}
.chef-profile{flex:1 1 100%;border:2px dashed #b98c64;background:#fffaf0;border-radius:12px;padding:15px;text-align:left;margin:9px 0}
.chef-profile .profile-heading{font-weight:1000;font-size:11px;text-align:center;color:#a66e43;margin-bottom:12px;letter-spacing:1px}
.chef-profile .field{margin-bottom:6px}.chef-profile small{display:block;color:#755940;font-size:11px;line-height:1.5;margin-bottom:12px}.chef-profile .btn{width:100%}
.kitchen-choice-bg{z-index:75;align-items:center}.kitchen-choice{margin:0;max-width:480px}
.kitchen-choice h2{margin-bottom:12px}.kitchen-choice>p{font-size:13px;color:#725138;line-height:1.6;text-align:center;margin-bottom:20px}
.kitchen-choice-actions{display:flex;flex-direction:column;gap:9px;margin-top:14px}.kitchen-choice-actions .btn{min-height:48px}
.kitchen-choice-input{margin:15px 0;text-align:left}.kitchen-choice-error{min-height:18px;color:#a03830}
.recipe-origin-notice{font-size:10px;color:#81583e;background:#f8e8d1;border:2px dashed #c59a76;border-radius:8px;padding:9px;flex:1 1 115px;line-height:1.4;font-weight:900;text-align:center}
@media(max-width:450px){.kitchen-choice{padding:19px 17px}.chef-profile{padding:12px}}

/* Password visibility fix: keep the Show/Hide hitbox in place when pressed.
   The shared button:active rule replaces translateY(-50%) otherwise. */
.auth-password-field > label{display:block;font-size:12px;font-weight:1000;margin-bottom:7px}
.auth-password-field .password-wrap{margin:0;position:relative;display:block}
.auth-password-field .password-wrap input{padding-right:79px}
.auth-password-field .password-eye{z-index:1;top:50%;transform:translateY(-50%);min-height:35px;touch-action:manipulation}
.auth-password-field .password-eye:active{transform:translateY(-50%);filter:brightness(.96)}

/* Station 02 — playful empty board and intentional chore removal */
.chore-empty{text-align:center;padding:23px 12px 17px;color:#74543a}
.chore-empty-heading{font-size:18px;font-weight:1000;color:#603b27;margin-bottom:6px}
.chore-empty p{font-size:12px;margin:0 0 12px;font-weight:750;line-height:1.5}
.chore-samples{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:0 auto 12px;max-width:570px}
.chore-samples span{display:inline-flex;border:2px dashed #beaa89;border-radius:8px;background:#fbf1dc;color:#97846f;font-weight:850;font-size:11px;padding:8px 10px;transform:rotate(-1deg);user-select:none}
.chore-samples span:nth-child(2){transform:rotate(1.5deg)}
.chore-empty small{font-size:10px;color:#8b7560;font-weight:700;display:block}
.chore-delete{display:grid;place-items:center;flex:none;min-width:36px;min-height:38px;border:2px solid transparent;background:transparent;color:#8f4938;border-radius:9px;cursor:pointer}
.chore-delete:hover{background:#f8dfd0;border-color:#d0a28b}
.chore-delete .art{width:24px;height:24px}
.chore-delete:focus-visible{outline:3px solid #3681b3;outline-offset:2px}
@media(max-width:480px){.chore-empty{padding:21px 2px 14px}.chore-samples{gap:5px}.chore-samples span{font-size:10px;padding:6px 8px}.task{gap:6px}.chore-delete{min-width:34px;min-height:38px}}

/* MealMate Market — lightweight toast instead of native copy alert. */
.market-copy-toast{position:fixed;z-index:85;left:50%;bottom:calc(103px + env(safe-area-inset-bottom));transform:translate(-50%,14px);display:flex;align-items:center;gap:10px;box-sizing:border-box;width:max-content;max-width:min(90vw,410px);padding:12px 16px;background:#fff5dc;color:#55351f;border:3px solid #57371e;border-radius:13px;box-shadow:4px 5px 0 #a36c43,0 9px 25px #3821143d;font-family:inherit;font-size:12px;font-weight:900;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;text-align:left}
.market-copy-toast.visible{visibility:visible;opacity:1;transform:translate(-50%,0)}
.market-copy-toast-stamp{flex:0 0 29px;width:29px;height:29px;border:2px solid #496947;background:#a7d2a4;border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:1000;color:#36592e}
.market-copy-toast.is-error{background:#ffe5d6}.market-copy-toast.is-error .market-copy-toast-stamp{background:#f3b5a3;border-color:#9d4e3a;color:#723822}
@media(max-width:480px){.market-copy-toast{bottom:calc(96px + env(safe-area-inset-bottom));font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.market-copy-toast{transition:none}}
