:root{--primary:#d97706;--bg:#0f172a;--card:#1e293b;--panel:#334155;--text:#f8fafc;--gold:#fbbf24;--green:#22c55e;--danger:#ef4444;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--bg);color:var(--text);display:flex;justify-content:center;align-items:center;min-height:100svh;padding:16px 10px}.game-container{width:100%;max-width:520px;background:var(--card);border-radius:16px;box-shadow:0 10px 30px #0008;border:2px solid #475569;overflow:hidden}.top-bar{background:#0284c7;padding:8px 10px;display:flex;gap:6px}.stat-badge{background:#0005;padding:9px 8px;border-radius:20px;flex:1;text-align:center;font-size:13px;font-weight:700;white-space:nowrap;display:flex;justify-content:center;align-items:center;gap:4px;min-height:38px}.screen{display:none;padding:12px;flex-direction:column;gap:8px}.screen.active{display:flex}h1,h2,h3{color:var(--gold);text-align:center}h1{font-size:24px;letter-spacing:1px}h2{font-size:20px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.btn{background:var(--primary);color:white;border:0;padding:11px 10px;border-radius:8px;font-weight:700;font-size:14px;transition:filter .2s,transform .2s;text-align:center}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(1px)}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.btn-green{background:#168b44}.btn-blue{background:#0284c7}.btn-purple{background:#8250d6}.btn-gray{background:#526278}.btn-red{background:#cf3434}.small{font-size:11px}.btn.small{padding:6px 9px}.audio-controls,.between{display:flex;justify-content:space-between;align-items:center;gap:8px}.animated-title-box{display:flex;flex-direction:column;align-items:center;gap:5px;margin:10px 0}.animated-title-box h1{animation:titleGlow 2.5s ease-in-out infinite}.animated-icon{font-size:32px;animation:bounce 1.5s ease-in-out infinite}.edition{font-size:9px;color:#94a3b8;letter-spacing:3px}.intro{font-size:12px;line-height:1.6;color:#a9b7ca;text-align:center;margin-bottom:5px}.info-box{background:var(--panel);padding:11px;border-radius:8px;font-size:12px;line-height:1.6}.center{text-align:center}.shop-title-box{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--bg);padding:7px;border:1px solid #475569;border-radius:10px}.shop-title-box h2{font-size:16px;overflow-wrap:anywhere}.exp-container{background:var(--bg);padding:9px;border:1px solid #475569;border-radius:8px}progress{display:block;width:100%;height:8px;border:0;border-radius:4px;overflow:hidden;background:#475569;margin-top:5px}progress::-webkit-progress-bar{background:#475569}progress::-webkit-progress-value{background:var(--gold)}progress::-moz-progress-bar{background:var(--gold)}.mission{border:1px solid var(--gold);background:var(--card);font-size:11px}.mission b{color:var(--gold)}.news-banner{background:#f59e0b;color:var(--bg);padding:8px;border-radius:8px;font-weight:700;font-size:12px;text-align:center}.stock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:6px;font-size:11px}.stock-header-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--bg);padding:6px;border:1px solid #475569;border-radius:8px}.stock-header-item{background:var(--card);padding:5px;border-radius:6px;text-align:center;font-size:10px}.supply-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto}.supply-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--panel);padding:9px 10px;border-radius:8px;font-size:11px}.qty-controls{display:flex;align-items:center;gap:8px}.qty-controls span{min-width:16px;text-align:center}.qty-btn{background:#0284c7;border:0;color:white;width:30px;height:30px;border-radius:5px;font-weight:bold}.tables-area{display:flex;gap:6px;overflow-x:auto;padding:6px;min-height:105px;background:var(--bg);border-radius:10px;border:1px dashed #475569}.table-card{background:var(--panel);border-radius:8px;padding:7px;min-width:94px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;color:white;font-size:11px;gap:4px}.table-card.selected,.stove-slot.selected{border-color:var(--gold);background:var(--bg)}.table-card.vip{background:#451a03;border-color:var(--gold)}.table-title{font-size:11px;font-weight:bold;color:#38bdf8}.table-order-detail{background:var(--bg);border:1px solid #0284c7;border-radius:8px;padding:8px 10px;font-size:11px;line-height:1.8;min-height:44px}.order-tag{background:#fef08a;color:var(--card);padding:2px 5px;border-radius:4px;font-size:10px;font-weight:bold;display:inline-block;margin:2px}.kitchen-section{background:var(--panel);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:7px}.stoves-container{display:flex;gap:6px}.stove-slot{background:var(--card);border:2px dashed #64748b;border-radius:8px;padding:7px 3px;flex:1;min-height:83px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:10px;min-width:0}.stove-slot .dish{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ring{width:42px;height:42px;border-radius:50%;background:conic-gradient(var(--ring-color,#22c55e) calc(var(--value)*1%),#475569 0);display:grid;place-items:center}.ring span{width:34px;height:34px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:10px;font-weight:bold}.current-item-box{min-height:40px;background:var(--card);border:1px dashed #64748b;border-radius:6px;text-align:center;padding:8px;font-size:11px;line-height:1.7}.actions,.tab-buttons{display:flex;gap:5px}.actions>*{flex:1}.actions>*:last-child{flex:2}.tab-btn{flex:1;padding:8px;background:var(--card);border:1px solid #475569;color:#b5c1d1;border-radius:6px;font-weight:bold;font-size:11px}.tab-btn.active{background:var(--primary);color:white}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ing-btn{background:#475569;border:1px solid #64748b;color:white;padding:7px 3px;border-radius:6px;font-size:11px;font-weight:bold;display:flex;flex-direction:column;align-items:center;gap:3px}.ing-btn span{font-size:17px}.eq-btn{background:#0284c7;grid-column:span 3;padding:7px;border:0;border-radius:6px;color:white;font-weight:bold;font-size:11px}.eq-btn.half{grid-column:span 1}.eq-btn.wide{grid-column:span 2;background:#8250d6}footer{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:10px 12px;border-top:1px solid #334155;font-size:9px;color:#94a3b8;flex-wrap:wrap}.text-button{border:0;background:none;color:var(--gold);font-size:10px}dialog{margin:auto;width:calc(100% - 32px);max-width:440px;max-height:85svh;border:1px solid #475569;border-radius:12px;background:var(--card);color:white}dialog::backdrop{background:#000b}.modal-card{padding:20px;display:flex;flex-direction:column;gap:12px}.modal-card h2{font-size:18px}.close{background:none;border:0;color:#cbd5e1;font-size:28px}.modal-card #modalBody{font-size:12px;line-height:1.6;display:flex;flex-direction:column;gap:8px}.recipe,.guide-step{background:var(--panel);padding:9px;border-radius:8px}.recipe b{color:var(--gold)}.recipe small{color:#cbd5e1}.menu-toggle-item{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);padding:9px;border-radius:8px;font-size:12px}.menu-toggle-item input{width:19px;height:19px;accent-color:#22c55e}.input-text{width:100%;padding:10px;border-radius:8px;border:1px solid #64748b;background:var(--bg);color:white;font-size:14px}.muted{color:#a7b6cb}.danger{color:var(--danger)}.gold{color:var(--gold)}.green{color:#4ade80}.report-line{display:flex;justify-content:space-between;gap:8px;margin:5px 0}hr{border:0;border-top:1px solid #64748b;margin:10px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#fef08a;color:#1e293b;border-radius:9px;padding:12px 18px;font-weight:bold;font-size:12px;max-width:90vw;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@keyframes titleGlow{50%{transform:scale(1.025);text-shadow:0 0 12px #fbbf2455}}@keyframes bounce{50%{transform:translateY(-4px)}}@media(max-width:380px){.stat-badge{font-size:11px;padding:8px 4px}.top-bar{padding:8px 6px}.screen{padding:10px}.btn{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Wide game desk: orders stay beside preparation, with no hidden controls. */
.service-section,.morning-overview,.morning-actions{display:flex;flex-direction:column;gap:8px;min-width:0}
@media (min-width:760px),(min-width:640px) and (orientation:landscape){
 body{padding:10px;min-height:100svh}
 .game-container{max-width:1200px}
 .screen{padding:14px;gap:10px}
 .top-bar{padding:8px 14px}
 .stat-badge{flex:initial;min-width:150px}
 .stat-badge:last-child{margin-left:auto}
 #gameScreen.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}
 .service-section{gap:12px}
 .tables-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:7px;padding:8px}
 .table-card{min-width:0;min-height:100px}
 .table-order-detail{min-height:96px}
 .kitchen-section{grid-column:2;grid-row:1 / span 2;gap:8px;padding:10px}
 #gameScreen>button{grid-column:1;align-self:end}
 .ingredient-grid{gap:6px}
 .ing-btn{min-height:46px;flex-direction:row;justify-content:center;gap:7px}
 .eq-btn{min-height:32px}
 #morningScreen.active{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:stretch;gap:18px}
 .morning-overview{gap:10px}
 .morning-actions{justify-content:center;gap:12px;padding:14px;background:var(--bg);border:1px solid #475569;border-radius:10px}
 .morning-actions .btn{min-height:44px}
 .stock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 #startScreen.active{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
 #startScreen .audio-controls,#startScreen .intro,#startScreen .info-box,#startScreen .animated-title-box{grid-column:1 / -1}
 #startScreen .animated-title-box{margin:4px 0}
 #startScreen .animated-icon{font-size:38px}
 #startScreen .btn{min-height:40px}
 #shopScreen.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start}
 #shopScreen h2{grid-column:1 / -1}
 #shopStocks{grid-column:1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr))}
 .supply-list{grid-column:2;grid-row:2 / span 3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(510px,calc(100svh - 168px));gap:6px}
 .supply-row{min-width:0;padding:8px;gap:5px}
 .qty-controls{gap:5px}
 #checkout,#back{grid-column:1;min-height:40px}
 #nightScreen,#gameOverScreen{max-width:760px;margin-inline:auto}
 footer{padding:8px 14px}
}
/* Short landscape displays keep the cooking desk compact without shrinking text. */
@media (min-width:640px) and (orientation:landscape) and (max-height:600px){
 body{padding:4px;align-items:flex-start}
 .screen{padding:8px;gap:6px}
 .top-bar{padding:4px 8px}
 .stat-badge{min-height:30px;padding:5px 8px}
 .service-section{gap:6px}
 .tables-area{padding:5px;gap:4px}
 .table-card{min-height:78px;padding:4px;gap:2px}
 .table-order-detail{min-height:60px;padding:5px 8px;line-height:1.5}
 .kitchen-section{padding:6px;gap:5px}
 .stove-slot{min-height:64px;padding:4px 2px;gap:2px}
 .ring{width:34px;height:34px}.ring span{width:28px;height:28px;font-size:9px}
 .current-item-box{min-height:30px;padding:4px}
 .ing-btn{min-height:34px;padding:4px 2px}.ing-btn span{font-size:16px}
 .eq-btn{min-height:28px;padding:5px}
 .tab-btn{padding:6px}
 .morning-overview{gap:5px}.morning-actions{padding:8px;gap:7px}
 .info-box{padding:7px}.stock-grid{margin-top:3px;gap:2px}
 #startScreen.active{gap:6px 12px}#startScreen .animated-title-box{gap:2px;margin:0}
 #startScreen .animated-icon{font-size:24px}#startScreen .btn{min-height:32px;padding:7px}
 #startScreen .intro{margin:0}
 footer{padding:5px 8px}
}

/* Kampung details sit around the compact slate game desk. */
:root{--primary:#b66b2e;--gold:#f2ca81}
body{background-color:#111f26;background-image:radial-gradient(ellipse at 12% 5%,#315e4b66,transparent 48%),radial-gradient(ellipse at 95% 95%,#9d663025,transparent 45%),repeating-linear-gradient(135deg,transparent 0 28px,#8fae9010 28px 29px)}
.game-container{border-color:#7e7459;box-shadow:0 22px 70px #08131999,0 0 0 5px #c0a2690b;background:linear-gradient(120deg,#26353e,#1e293b 55%)}
.top-bar{background:#234b42;border-bottom:5px solid transparent;border-image:repeating-linear-gradient(90deg,#e4c68f 0 28px,#a6533b 28px 56px) 5}
.stat-badge{background:#102d2c;font-variant-numeric:tabular-nums;border:1px solid #82a28a40;border-radius:7px;color:#f6e7c9}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif}
.btn{box-shadow:inset 0 1px #ffffff20,0 2px 0 #0a172c55}
.btn-green{background:#287451}.btn-blue{background:#206c83}.btn-purple{background:#725783}.btn-gray{background:#52636b}.btn-red{background:#b4483d}
.warung-scene{position:relative;isolation:isolate;min-height:180px;overflow:hidden;border-radius:10px;border:1px solid #b69a6266;margin:0!important;background:#284b53}
.warung-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.warung-scene::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10292680,transparent 75%);z-index:-1}
.warung-sign{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:6px;align-items:center;padding:14px 18px;border:1px solid #c9a46f;border-radius:4px;background:repeating-linear-gradient(0deg,#3b3028 0 23px,#46372b 24px 25px);box-shadow:0 6px 16px #101d2677;transform:rotate(-2deg)}
.warung-sign h1{font-size:clamp(22px,3vw,32px);letter-spacing:1px;color:#ffe3ab;animation:none}
.warung-sign .edition{color:#e3c79d;font-size:9px;letter-spacing:2px}
.intro{color:#c1cec6}
.shop-title-box{background:repeating-linear-gradient(0deg,#293b3d 0 22px,#2e4242 23px 24px);border-color:#92815c;box-shadow:inset 0 0 0 3px #1c2c33}
.shop-title-box h2{color:#f5d79d;letter-spacing:.4px}
.morning-actions{border-color:#6e7763;background-color:#182d31}
.tables-area{border-color:#829179;background-color:#172b30;background-image:repeating-linear-gradient(0deg,transparent 0 42px,#c2a3700c 43px 44px)}
.table-card{background:linear-gradient(145deg,#47574f,#33434a);border-style:solid;border-color:#80907745;box-shadow:inset 0 -4px #152d3344}
.table-title{color:#a8d8c6}.table-card.selected,.stove-slot.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px #eacb8355;background:#203639}
.table-card.vip{background:#493a27}
.table-order-detail{border-color:#568d87;background:#172b30}
.order-tag{background:#f0dca8;color:#253638}
.kitchen-section{border:1px solid #71837b;background:linear-gradient(135deg,#3c4f51,#334155);box-shadow:inset 0 3px #a8b7a326}
.kitchen-section>b{color:#f1d29c}.stove-slot{border-color:#7f968a;background:#21343d}
.current-item-box{border-color:#ae9973;background:#26343b;color:#f3e4c9}
.ing-btn{background:#455c58;border-color:#7e9384}.ing-btn:hover{background:#567264;border-color:#e4c68f}
.eq-btn{background:#286e7b}.eq-btn.wide{background:#796347}
.tab-btn.active{background:#a86330;border-color:#c69355}
.news-banner{background:#d7b577;color:#263638}
footer{background:#162a2e;color:#afbdaf;border-color:#6a745b}
dialog{border-color:#99885e;box-shadow:0 24px 80px #07161bb3}
.modal-card h2{color:#f3d298}.recipe,.guide-step{border-left:3px solid #aa8e5d}
@media(max-width:639px){.warung-scene{min-height:170px}.warung-sign{left:12px;bottom:12px;padding:11px 14px}.warung-scene img{object-position:60% center}.warung-sign h1{font-size:23px}}
@media(min-width:640px) and (orientation:landscape) and (max-height:600px){.warung-scene{min-height:110px}.warung-sign{left:12px;bottom:10px;padding:7px 12px;gap:3px}.warung-sign h1{font-size:23px}.warung-sign .edition{font-size:8px}}

.business-status{background:#162d30;border:1px solid #788468;border-radius:7px;padding:8px;color:#f3d8a6;font-size:11px;line-height:1.6;font-variant-numeric:tabular-nums}
.business-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.price-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--panel);border-radius:8px;padding:10px}
.price-row small{display:block;color:#c3cecf;margin-top:3px;font-size:10px}
.price-row strong{min-width:65px;text-align:center;font-variant-numeric:tabular-nums}
.morning-actions .business-buttons .btn{min-height:36px}
@media(min-width:640px) and (orientation:landscape) and (max-height:600px){.business-status{padding:4px 7px;font-size:10px}.morning-actions .btn{min-height:34px}.morning-actions{gap:5px}}

.donation-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #aa8e5d;border-radius:10px;background:linear-gradient(145deg,#293e3b,#24313c)}
.donation-card h3{text-align:left;font-size:18px}
.donation-qr{display:flex;flex-direction:column;align-items:center;gap:8px}
.donation-qr img{display:block;width:100%;max-width:280px;height:auto;border-radius:6px;background:white}
.donation-qr figcaption{font-size:11px;color:#c3cecf;text-align:center;max-width:280px}
.donation-account{display:flex;flex-direction:column;gap:8px;padding:12px;background:#172b30;border-radius:8px}
.donation-account dt{font-size:10px;color:#becac3}.donation-account dd{margin:0;overflow-wrap:anywhere}
.donation-number{font-size:20px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--gold);user-select:all}
.donation-download{text-align:center;padding:5px}

/* A miniature dining room, framed by the existing slate cooking desk. */
.service-section{display:flex;flex-direction:column;gap:8px;min-width:0}
.dining-room{border:2px solid #b69a70;border-radius:12px;overflow:hidden;box-shadow:0 6px 0 #101f27;isolation:isolate}
.room-fascia{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px 12px;background:#2d4946;border-bottom:9px solid transparent;border-image:repeating-linear-gradient(90deg,#f0dcad 0 23px,#b45e4e 23px 46px) 9;text-align:center}
.room-fascia>span{font-size:27px}.room-fascia strong{display:block;font-family:Georgia,serif;font-size:23px;color:#ffe2a3;overflow-wrap:anywhere}.room-eyebrow{display:block;font-size:8px;letter-spacing:2px;color:#c3d1bd;margin-bottom:4px}
.dining-room .tables-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px;overflow:hidden;position:relative;padding:20px 12px 16px;min-height:280px;border:0;border-radius:0;background-color:#957455;background-image:conic-gradient(#b18b66 25%,transparent 0 50%,#b18b66 0 75%,transparent 0);background-size:48px 48px;box-shadow:inset 0 8px 15px #402e3433}
.dining-room .table-card{position:relative;isolation:isolate;min-width:0;min-height:112px;background:transparent;border:1px solid transparent;border-radius:12px;padding:3px 2px;box-shadow:none;gap:3px;opacity:1;color:#fff5dd;overflow:visible}
.dining-room .table-card.selected{border-color:#ffe2a3;background:#fff1c51a;box-shadow:0 0 0 2px #634d3333}
.dining-room .table-card:hover:not(:disabled){background:#fff1c526}
.dining-room .table-title{z-index:3;font-size:10px;background:#3f3830db;color:#fff0cd;border-radius:5px;padding:3px 7px}
.table-scene{position:relative;display:block;width:100%;height:62px;max-width:150px}
.table-top{position:absolute;left:28%;top:16px;width:44%;height:35px;border-radius:7px;background:#c5745b;border:2px solid #ebac7e;box-shadow:0 5px 0 #734b3f,0 10px 8px #483a3c66;z-index:2;display:grid;place-items:center}
.table-setting{font-size:22px;filter:drop-shadow(0 2px 1px #40332666)}
.seat{position:absolute;width:22%;height:20px;border-radius:5px;background:#415a55;border:2px solid #83937b;box-shadow:0 4px 0 #33463f;top:14px}
.seat-one{left:4%}.seat-two{right:4%}.seat-three{top:43px;left:16%}.seat-four{top:43px;right:16%}
.guest-party{position:absolute;inset:0;z-index:1;pointer-events:none}
.guest{position:absolute;width:30px;height:48px;left:0;top:-6px;display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 3px 1px #40332655);animation:guest-arrive 1.4s both;animation-delay:var(--guest-delay,0s)}
.guest-1{left:auto;right:0}.guest-2{left:13%;top:20px;z-index:4}.guest-3{left:auto;right:13%;top:20px;z-index:4}
.guest-head{font-size:27px;line-height:30px;z-index:1}.guest-body{width:22px;height:19px;margin-top:-3px;border-radius:7px 7px 5px 5px;background:var(--shirt,#699cac);border-bottom:5px solid #3a535b}
.table-caption{font-size:9px;z-index:3;text-shadow:0 1px 3px #35251e;background:#493e32b8;padding:2px 6px;border-radius:4px}
.patience-track{display:block;height:3px;width:54%;border-radius:3px;background:#4a3c32;overflow:hidden}.patience-track>span{display:block;width:100%;height:100%;transform-origin:left;transition:transform .2s}
.table-card[data-status="empty"] .guest,.table-card[data-status="locked"] .guest{animation:guest-leave .9s both}
.table-card[data-status="locked"] .table-scene{opacity:.32;filter:grayscale(1)}
.table-card[data-status="eating"] .guest-head{animation:guest-eat 1.6s ease-in-out infinite}
.table-card.vip .table-top{background:#b88a38;border-color:#ffe2a3}.table-card[data-status="empty"] .patience-track,.table-card[data-status="locked"] .patience-track{visibility:hidden}
.room-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff1d4;transform:rotate(-5deg)}.room-entry>span{font-size:30px}.room-entry b{font-size:8px;letter-spacing:1px;padding:5px;background:#44665b;border:1px solid #e2ca99;border-radius:4px}.room-entry small{font-size:9px;text-shadow:0 1px #5c4334}
.room-counter{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 15px;color:#ffe1b5;background:repeating-linear-gradient(0deg,#735541 0 10px,#634b3b 11px 12px);border-top:5px solid #e8bf86;font-size:9px;font-weight:700;letter-spacing:1px}.room-counter>span:last-child{font-size:21px;letter-spacing:5px}
@keyframes guest-arrive{0%{opacity:0;transform:translate(35px,75px)}15%{opacity:1}35%{transform:translate(25px,40px) rotate(-8deg)}55%{transform:translate(15px,25px) rotate(7deg)}75%{transform:translate(5px,10px) rotate(-5deg)}100%{opacity:1;transform:translate(0,0)}}
@keyframes guest-leave{from{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(25px,65px)}}
@keyframes guest-eat{0%,100%{transform:rotate(-4deg)}50%{transform:translateY(2px) rotate(5deg)}}
.motion-paused .guest,.motion-paused .guest-head,body:has(dialog[open]) .guest,body:has(dialog[open]) .guest-head{animation-play-state:paused!important}
@media(min-width:760px),(min-width:640px) and (orientation:landscape){#gameScreen.active{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.dining-room .tables-area{min-height:300px;gap:20px 12px}.dining-room .table-card{min-height:116px}.table-scene{height:66px}}
@media(min-width:640px) and (orientation:landscape) and (max-height:600px){.room-fascia{padding:5px 10px;border-bottom-width:5px}.room-fascia strong{font-size:17px}.room-eyebrow{font-size:7px;margin-bottom:2px}.room-fascia>span{font-size:20px}.dining-room .tables-area{min-height:180px;padding:8px;gap:5px}.dining-room .table-card{min-height:82px;gap:1px}.table-scene{height:49px;transform:scale(.85);transform-origin:center top;margin-bottom:-7px}.room-counter{padding:4px 10px;border-top-width:3px}.room-counter>span:last-child{font-size:15px}.table-title{font-size:9px}.room-entry>span{font-size:23px}.service-section{gap:5px}.table-order-detail{min-height:44px}}
@media(prefers-reduced-motion:reduce){.guest,.guest-head{animation:none!important}.table-card[data-status="empty"] .guest,.table-card[data-status="locked"] .guest{opacity:0}.patience-track>span{transition:none}}

/* The working kitchen uses a tiled wall, steel hobs and fitted furniture. */
.kitchen-section{gap:7px;overflow:hidden;background:#283a43;border:2px solid #81908d;box-shadow:0 5px 0 #14252d;padding:10px}
.kitchen-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 5px}.kitchen-heading h3{text-align:left;font-size:20px;color:#f4dcac}.kitchen-heading .room-eyebrow{font-size:7px}.chef-badge{font-size:30px}
.kitchen-backwall{position:relative;height:67px;display:flex;justify-content:space-between;align-items:start;padding:5px 8px;background:repeating-linear-gradient(0deg,transparent 0 20px,#e2d3ac25 21px 22px),repeating-linear-gradient(90deg,#526a67 0 30px,#e2d3ac25 31px 32px);border-radius:7px 7px 0 0;border-bottom:4px solid #a9b1a0}
.wall-cabinet{width:37%;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:4px;background:#af8960;border:2px solid #d0ae7b;border-radius:3px;box-shadow:2px 4px #23373580}.wall-cabinet i{height:30px;border:1px solid #c5a071;background:#6b6e53;position:relative}.wall-cabinet i:after{content:'';position:absolute;right:4px;top:12px;width:3px;height:9px;background:#f1cd90}.wall-cabinet span{grid-column:1/-1;text-align:center;font-size:6px;color:#fff1ce;letter-spacing:1px}.utensil-rail{position:absolute;left:41%;top:15px;border-top:3px solid #c0c7b6;padding-top:6px;font-size:20px;white-space:nowrap}.extractor{width:23%;height:42px;background:linear-gradient(110deg,#859b9c,#c6d0be 48%,#7f9497);clip-path:polygon(30% 0,70% 0,100% 80%,100% 100%,0 100%,0 80%);border-bottom:7px solid #33444a}
.kitchen-help{font-size:9px;color:#d0dcd5!important;text-align:center}
.kitchen-section .stoves-container{gap:5px;padding:5px 5px 0;background:#a1ada2;border-radius:6px 6px 0 0;border-bottom:4px solid #637773}
.kitchen-section .stove-slot{position:relative;justify-content:start;gap:4px;min-height:130px;padding:7px 4px 15px;border:2px solid #607578;border-radius:5px;background:linear-gradient(135deg,#40555c,#263d48);box-shadow:inset 0 1px #cad7c470}
.kitchen-section .stove-slot.selected{border-color:#f1d08a;background:linear-gradient(135deg,#51686a,#2e434b)}.stove-name{font-size:9px;color:#e2eadc}.hob-scene{display:block;position:relative;height:57px;width:100%;max-width:130px}.burner{position:absolute;width:61%;height:28px;left:15%;top:29px;background:repeating-conic-gradient(#869993 0deg 15deg,#192e38 15deg 65deg);border-radius:50%;border:4px solid #192f38}.wok{position:absolute;left:18%;top:9px;width:58%;height:34px;border-radius:45% 45% 50% 50%;border:4px solid #8b9d9a;background:radial-gradient(ellipse,#43565a,#192e38);box-shadow:0 5px 0 #142b35;display:grid;place-items:center}.wok:after{content:'';position:absolute;right:-24px;top:4px;width:25px;height:7px;border-radius:4px;background:#b08759;border:2px solid #d6b684;transform:rotate(-17deg)}.wok-food{font-size:23px;line-height:1}.cooking-fire{position:absolute;left:23%;top:30px;width:50%;height:21px;display:flex;justify-content:center;gap:2px;opacity:0}.cooking-fire i{display:block;width:13px;height:21px;background:linear-gradient(#ffe6a1 15%,#f5af44 55%,#dd6439);border-radius:70% 15% 65% 35%;transform:rotate(-15deg);animation:stove-flame .5s ease-in-out infinite alternate}.cooking-fire i:nth-child(2){animation-delay:-.2s}.cooking-fire i:nth-child(3){animation-delay:-.4s}.cooking-steam{position:absolute;left:24%;top:0;width:45%;display:flex;justify-content:space-around;opacity:0}.cooking-steam i{width:3px;height:17px;border-radius:50%;background:#e4efdf99;animation:stove-steam 1.7s ease-out infinite}.cooking-steam i:nth-child(2){animation-delay:-.6s}.cooking-steam i:nth-child(3){animation-delay:-1.2s}.stove-slot[data-status="cooking"] .cooking-fire,.stove-slot[data-status="cooking"] .cooking-steam,.stove-slot[data-status="ready"] .cooking-steam{opacity:1}.stove-slot[data-status="ready"] .wok{border-color:#a8d49c}.stove-slot[data-status="locked"] .hob-scene{opacity:.25}.stove-message{font-size:9px;line-height:1.4;min-height:25px;overflow-wrap:anywhere}.stove-progress{height:3px;display:block;width:85%;background:#1b303a;border-radius:3px;overflow:hidden}.stove-progress i{display:block;height:100%;width:100%;background:#efbd72;transform-origin:left}.stove-slot[data-status="ready"] .stove-progress i{background:#97d49a}.stove-knobs{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #a3b2a570;font-size:10px;color:#b4bca5;letter-spacing:9px;text-align:center}
.kitchen-furniture{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:5px;min-height:49px;margin-top:-7px;padding:5px;background:#bdac87;border-radius:0 0 5px 5px;border-bottom:5px solid #6a6b58}.base-cabinets{display:flex;gap:3px}.base-cabinets i{flex:1;border:2px solid #9a956f;background:#57746a;position:relative}.base-cabinets i:after{content:'';position:absolute;top:5px;right:4px;width:10px;height:3px;background:#dbc99d}.sink-unit{position:relative;border:2px solid #83958c;border-radius:4px;background:#b3bfb0;min-height:35px}.sink-basin{position:absolute;inset:8px 6px 4px;border:3px solid #7f9796;background:radial-gradient(ellipse,#435f6b 15%,#7faaa8 80%);border-radius:6px}.tap{position:absolute;left:45%;top:-4px;width:14px;height:14px;border:4px solid #e1e5ce;border-bottom:0;border-radius:8px 8px 0 0;z-index:1}.sink-label{position:absolute;bottom:2px;right:8px;font-size:6px;color:#d4e5dc}.prep-board{background:#95734e;border:2px solid #ddbe88;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:16px}.prep-board>span{font-size:12px}
.guest-crown{display:none;position:absolute;font-size:17px;top:-12px;z-index:3}.vip .guest-crown{display:block}.vip .guest-body{background:#4d385e;border-bottom-color:#d1ad65}.dining-room .table-card.vip{background:#482e492e;border-color:#d9b465}.vip .seat{background:#815065;border-color:#deb876}.vip .table-top{background:linear-gradient(90deg,#b98345 0 30%,#f3d498 30% 70%,#b98345 70%);box-shadow:0 5px #6a463b,0 8px 12px #483a3c66}.vip .table-title{color:#ffe3a2;background:#5a384e;border:1px solid #d5b676}.vip .table-title:before{content:'👑 ';}.vip .table-caption{color:#ffe3a2}
.guest-order{position:absolute;right:-10px;top:-15px;min-width:22px;height:22px;display:grid;place-items:center;font-size:15px;background:#fff0ce;color:#315748;border:1px solid #c2ad80;border-radius:9px 9px 9px 1px;box-shadow:0 2px 2px #22323d55;z-index:4}.guest-order.served{background:#bad7ad;font-size:11px}.table-card[data-status="empty"] .guest-order,.table-card[data-status="locked"] .guest-order,.table-card[data-status="eating"] .guest-order{display:none}.vip .guest-order{top:-22px;right:-12px}.table-scene{margin-top:9px}
@keyframes stove-flame{from{transform:scale(.8,.8) rotate(-15deg)}to{transform:scale(1,1.1) rotate(9deg)}}
@keyframes stove-steam{0%{opacity:0;transform:translateY(7px) scaleX(.6)}35%{opacity:.8}100%{opacity:0;transform:translateY(-16px) scaleX(1.8)}}
.motion-paused .cooking-fire i,.motion-paused .cooking-steam i,body:has(dialog[open]) .cooking-fire i,body:has(dialog[open]) .cooking-steam i{animation-play-state:paused!important}
@media(min-width:640px) and (orientation:landscape) and (max-height:600px){.kitchen-heading{padding:0}.kitchen-heading h3{font-size:15px}.chef-badge{font-size:22px}.kitchen-heading .room-eyebrow{display:none}.kitchen-backwall{height:36px;padding:2px 5px}.wall-cabinet{padding:2px}.wall-cabinet i{height:19px}.wall-cabinet span{display:none}.utensil-rail{top:5px;font-size:15px;padding-top:2px}.extractor{height:29px}.kitchen-section{gap:4px;padding:6px}.kitchen-section .stove-slot{min-height:98px;padding-top:4px;gap:2px}.hob-scene{height:42px;transform:scale(.8);transform-origin:center top;margin-bottom:-7px}.stove-message{font-size:8px;min-height:22px}.kitchen-furniture{min-height:31px;margin-top:-4px;padding:3px}.sink-unit{min-height:23px}.prep-board{font-size:13px}.table-scene{margin-top:8px}.kitchen-help{font-size:8px}.stove-knobs{font-size:8px}}
@media(prefers-reduced-motion:reduce){.cooking-fire i,.cooking-steam i{animation:none!important}}

/* A stocked drinks counter replaces the ingredient presentation in drink mode. */
.drink-station[hidden]{display:none}.drink-station{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border:1px solid #b6b799;border-bottom:4px solid #8a7555;border-radius:6px;background:repeating-linear-gradient(90deg,#526e68 0 30px,#687f7425 31px 32px);color:#efe0b9;font-size:8px;letter-spacing:1px}.drink-jugs,.stacked-cups{font-size:22px;letter-spacing:2px}.drinks-mode .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr));background:#293f45;border:1px solid #879682;padding:7px;border-radius:7px}.drinks-mode .cup-rack{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:14px;background:linear-gradient(#c5cbbb,#97afa2);border-bottom:4px solid #8d7659;color:#243f44;padding:5px}.cup-rack>span{font-size:23px;letter-spacing:6px;filter:drop-shadow(0 2px 1px #314c4166)}.cup-rack b{font-size:10px}.drinks-mode .drink-ingredient{display:flex;flex-direction:column;gap:4px;padding:6px 2px;min-height:85px;background:#3b5556;border-color:#839486}.drink-ingredient .drink-packet{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;position:relative;width:42px;height:43px;padding:4px;border-radius:2px 2px 5px 5px;background:#c39754;border-top:4px solid #ead39f;border-bottom:4px solid #ead39f;box-shadow:2px 3px #142c3655;transform:rotate(-4deg);font-size:17px}.drink-packet b{font-size:6px;letter-spacing:.6px;color:#fff1d2;text-transform:uppercase}.drink-ingredient[data-ing="coffee"] .drink-packet{background:#705344;border-color:#aa9273}.drink-ingredient[data-ing="milo"] .drink-packet{background:#397747;border-color:#a8c67b}.drink-ingredient[data-ing="nescafe"] .drink-packet{background:#a4483e;border-color:#d9947d}.drink-ingredient .ingredient-name{font-size:10px}.drink-ingredient .ingredient-icon{font-size:24px;display:flex;align-items:center;justify-content:center;height:43px}.ingredient-icon b{display:none}.drink-ingredient small{font-size:8px;color:#d3dfcd}.drink-ingredient:hover .drink-packet{transform:translateY(-2px) rotate(3deg)}.drinks-mode .kitchen-backwall{background-color:#536c61}.drinks-mode .prep-board{background:#a9bc9c}.stove-slot[data-vessel="cup"] .wok{width:36%;left:29%;border-radius:4px 4px 12px 12px;border-color:#eee0ba;background:#c4d3b7;height:34px}.stove-slot[data-vessel="cup"] .wok:after{width:12px;height:18px;right:-15px;top:3px;transform:none;background:transparent;border:4px solid #eee0ba;border-radius:0 9px 9px 0}.stove-slot[data-vessel="cup"] .wok-food{font-size:18px}
.warung-garden{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:4px 10px;background:linear-gradient(#6d7855,#536b50);border-top:3px solid #b6ac7e;box-shadow:inset 0 4px #344d3e33}.potted-plant{font-size:29px;filter:drop-shadow(0 3px 1px #263d3955)}.cat-playground{position:relative;flex:1;max-width:180px;height:38px;overflow:hidden}.warung-cat{position:absolute;left:6px;top:4px;font-size:28px;animation:cat-play 10s ease-in-out infinite}.cat-ball{position:absolute;left:65%;top:16px;font-size:16px;animation:ball-roll 10s ease-in-out infinite}.warung-radio{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 8px;border:2px solid #e2bd83;border-radius:8px;background:linear-gradient(#9b6d48,#785a42);color:#ffedc2;box-shadow:0 3px #334b40;min-height:37px}.warung-radio:before{content:'';position:absolute;right:12px;top:-10px;width:2px;height:11px;background:#e5d7b2;transform:rotate(15deg);transform-origin:bottom}.radio-speaker{font-size:25px;line-height:1;color:#2d403c;background:#bcad83;border-radius:50%;padding:0 3px}.warung-radio b{display:block;font-size:7px;letter-spacing:1px}.warung-radio small{display:block;font-size:7px;margin-top:4px;color:#dfd5b5}.radio-notes{font-size:22px;opacity:.4}.playing .radio-notes{opacity:1;animation:radio-note 1.4s ease-in-out infinite}.playing small{color:#cff1af}.warung-radio:hover{filter:brightness(1.12)}
@keyframes cat-play{0%,12%,100%{transform:translateX(0)}35%{transform:translateX(52px) rotate(-7deg)}45%{transform:translate(66px,-7px) rotate(6deg)}55%,65%{transform:translateX(65px) scaleX(-1)}85%{transform:translateX(8px) scaleX(-1)}}
@keyframes ball-roll{0%,15%,100%{transform:translateX(0) rotate(0)}45%,65%{transform:translateX(20px) rotate(140deg)}85%{transform:translateX(-30px) rotate(-80deg)}}
@keyframes radio-note{0%,100%{transform:translateY(2px) rotate(-8deg)}50%{transform:translateY(-3px) rotate(8deg)}}
.motion-paused .warung-cat,.motion-paused .cat-ball,.motion-paused .radio-notes,body:has(dialog[open]) .warung-cat,body:has(dialog[open]) .cat-ball,body:has(dialog[open]) .radio-notes{animation-play-state:paused!important}
@media(min-width:640px) and (orientation:landscape) and (max-height:600px){.drinks-mode .ingredient-grid{gap:4px;padding:4px}.drinks-mode .drink-ingredient{min-height:62px;padding:3px 1px;gap:2px}.drink-ingredient .drink-packet{height:31px;width:33px;font-size:13px;padding:1px;border-top-width:3px;border-bottom-width:3px}.drink-packet b{font-size:5px}.drink-ingredient .ingredient-icon{height:31px;font-size:21px}.drink-ingredient .ingredient-name{font-size:9px}.drink-ingredient small{font-size:7px}.cup-rack>span{font-size:17px}.drink-station{padding:3px 7px}.drink-jugs,.stacked-cups{font-size:16px}.warung-garden{min-height:40px;padding:3px 8px;gap:5px}.potted-plant{font-size:21px}.warung-radio{min-height:29px;padding:3px 5px}.radio-speaker{font-size:19px}.cat-playground{height:31px}.warung-cat{font-size:22px}.cat-ball{font-size:13px}}
@media(prefers-reduced-motion:reduce){.warung-cat,.cat-ball,.radio-notes{animation:none!important}.drink-ingredient:hover .drink-packet{transform:none}}
.ing-btn:not(.drink-ingredient) .ingredient-name{font-size:11px}

/* Fit the live desktop desk to the visible viewport, including browser chrome. */
@media (min-width:760px),(min-width:640px) and (orientation:landscape){
 body:has(#gameScreen.active){height:100dvh;min-height:0;padding:6px}
 .game-container:has(#gameScreen.active){height:100%;display:flex;flex-direction:column}
 .game-container:has(#gameScreen.active)>.top-bar,
 .game-container:has(#gameScreen.active)>footer{flex-shrink:0}
 #gameScreen.active{flex:1;min-height:0;grid-template-rows:minmax(0,1fr) auto;align-items:stretch;padding:8px;gap:8px}
 #gameScreen .service-section{min-height:0;gap:6px}
 #gameScreen .dining-room{flex:1;min-height:0;display:flex;flex-direction:column}
 #gameScreen .dining-room .tables-area{flex:1;min-height:0;grid-template-rows:repeat(2,minmax(80px,1fr));gap:4px;padding:6px;overflow:auto;align-items:center}
 #gameScreen .dining-room .table-card{min-height:80px;gap:2px;padding:2px}
 #gameScreen .table-order-detail{min-height:44px;max-height:100px;overflow:auto;flex-shrink:0;padding:5px 8px;line-height:1.5}
 #gameScreen .kitchen-section{min-height:0;gap:5px;padding:7px;overflow-y:auto}
 #gameScreen .kitchen-section>*{flex-shrink:0}
 #gameScreen .kitchen-backwall{height:38px;padding:2px 5px}
 #gameScreen .wall-cabinet i{height:18px}
 #gameScreen .wall-cabinet span{display:none}
 #gameScreen .utensil-rail{top:4px;font-size:16px;padding-top:3px}
 #gameScreen .extractor{height:30px}
 #gameScreen .kitchen-section .stove-slot{min-height:104px;padding:4px 3px 13px;gap:2px}
 #gameScreen .hob-scene{height:44px;transform:scale(.85);transform-origin:center top;margin-bottom:-5px}
 #gameScreen .kitchen-furniture{min-height:30px;margin-top:-5px;padding:3px}
 #gameScreen .sink-unit{min-height:22px}
 #gameScreen .current-item-box{min-height:32px;padding:4px;overflow-wrap:anywhere}
 #gameScreen .ing-btn{min-height:38px;padding:5px 2px}
 #gameScreen .tab-btn{padding:6px}
 #gameScreen .ingredient-grid{gap:4px}
 #gameScreen .drink-station{padding:3px 7px}
 #gameScreen .drink-jugs,#gameScreen .stacked-cups{font-size:16px}
 #gameScreen .drinks-mode .ingredient-grid{padding:4px}
 #gameScreen .drinks-mode .cup-rack{padding:3px;min-height:30px}
 #gameScreen .cup-rack>span{font-size:18px}
 #gameScreen .drinks-mode .drink-ingredient{min-height:66px;padding:3px 1px;gap:2px}
 #gameScreen .drink-ingredient .drink-packet{height:31px;width:33px;font-size:13px;padding:1px;border-width:3px 0}
 #gameScreen .drink-ingredient .ingredient-icon{height:31px;font-size:21px}
 #gameScreen .drink-ingredient .ingredient-name{font-size:10px}
 #gameScreen .drink-ingredient small{font-size:8px}
}
@media (min-width:640px) and (orientation:landscape) and (max-height:700px){
 #gameScreen .kitchen-heading h3{font-size:16px}
 #gameScreen .kitchen-heading .room-eyebrow{display:none}
 #gameScreen .chef-badge{font-size:22px}
 #gameScreen .kitchen-backwall,#gameScreen .kitchen-furniture{display:none}
 #gameScreen .room-fascia{padding:5px 10px;border-bottom-width:5px}
 #gameScreen .room-fascia strong{font-size:17px}
 #gameScreen .room-fascia>span{font-size:20px}
 #gameScreen .dining-room .table-card{min-height:82px}
 #gameScreen .table-scene{height:49px;transform:scale(.85);transform-origin:center top;margin-bottom:-7px}
 #gameScreen .room-counter{padding:4px 10px;border-top-width:3px}
 #gameScreen .room-counter>span:last-child{font-size:15px}
 #gameScreen .warung-garden{min-height:40px;padding:3px 8px}
 #gameScreen .potted-plant{font-size:21px}
}

/* Shared presence stays visible across screens and modal dialogs. */
.top-bar{flex-wrap:wrap;position:sticky;top:0;z-index:4}
.online-badge{display:flex;justify-content:center;align-items:center;gap:6px;color:#d1fae5;font-size:11px;font-weight:600;line-height:18px}
.top-bar>.online-badge{flex-basis:100%}
.online-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#94a3b8}
.online-badge[data-connected="true"] .online-dot{background:var(--green)}
.modal-card>.online-badge{align-self:center;background:var(--bg);border:1px solid #475569;border-radius:20px;padding:3px 10px}

.calendar-badge{flex-basis:100%;font-size:11px;color:#cbd5e1}
.calendar-badge.weekend{color:#fcd34d;background:#423923}
.bonus-mission{border-left:3px solid var(--green)}
.bonus-mission p{margin:5px 0}

/* Rapid taps activate controls without double-tap zoom; pinch zoom remains available. */
html{touch-action:manipulation}button,a,input,select{touch-action:manipulation}
[hidden]{display:none!important}.customer-voice:empty{display:none}.customer-voice{background:#334155;border-left:3px solid #fbbf24;border-radius:8px;padding:10px;font-size:13px;line-height:1.5}.table-card[data-status="dirty"]{border-color:#fbbf24;background:#59402b}.table-card[data-status="dirty"] .guest-party{visibility:hidden}.trial-mode .dining-room{background:#443d35}.trial-mode .room-fascia{background:#74533b}.trial-mode .kitchen-backwall{background:#74614e}.trial-mode .room-eyebrow{color:#f7dab3}.trial-mode .business-status,.trial-mode [data-modal="missions"],.trial-mode [data-modal="reputation"]{display:none}#trialTools p{font-size:12px;margin:6px 0}#trialTools label{font-size:12px}.desktop-notice{line-height:1.5}

/* Keep all five dining tables visible on desktop and desktop-mode viewports. */
@media (min-width:760px),(min-width:640px) and (orientation:landscape){
 body:has(#gameScreen.active){align-items:flex-start}
 .game-container:has(#gameScreen.active)>.top-bar{gap:5px;padding:5px 8px;align-items:center}
 .game-container:has(#gameScreen.active) .top-bar>.online-badge{flex-basis:auto;margin-right:auto;font-size:10px}
 .game-container:has(#gameScreen.active) .stat-badge{min-width:0;min-height:28px;padding:5px 8px;font-size:11px}
 .game-container:has(#gameScreen.active) .calendar-badge{flex-basis:auto}
 .game-container:has(#gameScreen.active)>footer{padding:5px 8px}
 #gameScreen .service-section{gap:4px}
 #gameScreen .room-fascia{padding:4px 8px;border-bottom-width:4px;gap:6px}
 #gameScreen .room-fascia strong{font-size:16px;line-height:1.2}
 #gameScreen .room-fascia>span{font-size:18px}
 #gameScreen .room-fascia .room-eyebrow{font-size:7px;margin-bottom:2px;letter-spacing:1px}
 #gameScreen .table-scene{height:44px;max-width:112px;margin-top:4px;margin-bottom:-4px;transform:scale(.72);transform-origin:center top}
 #gameScreen .table-title{font-size:10px;padding:2px 5px}
 #gameScreen .table-caption{font-size:9px;padding:2px 4px}
 #gameScreen .room-entry{gap:3px}
 #gameScreen .room-entry>span{font-size:22px}
 #gameScreen .room-entry b{padding:3px;font-size:7px}
 #gameScreen .room-entry small{font-size:8px}
 #gameScreen .room-counter{padding:3px 8px;border-top-width:3px;font-size:8px}
 #gameScreen .room-counter>span:last-child{font-size:14px;letter-spacing:2px}
 #gameScreen .warung-garden{min-height:34px;padding:2px 8px;gap:4px}
 #gameScreen .potted-plant{font-size:20px}
 #gameScreen .cat-playground{height:28px}
 #gameScreen .warung-cat{font-size:21px;top:0}
 #gameScreen .cat-ball{font-size:12px;top:12px}
 #gameScreen .warung-radio{min-height:28px;padding:2px 5px;gap:4px}
 #gameScreen .radio-speaker{font-size:18px}
 #gameScreen .radio-notes{font-size:17px}
 #gameScreen .warung-radio small{margin-top:2px}
 #gameScreen .business-status{padding:4px 7px;font-size:10px}
 #gameScreen .customer-voice{padding:5px 7px;font-size:11px;line-height:1.35;margin:0;max-height:44px;overflow-y:auto;flex-shrink:0}
 #gameScreen .business-buttons{display:flex;gap:5px;flex-shrink:0}
 #gameScreen .business-buttons>.btn{flex:1;min-width:0}
 #gameScreen #cleanTable{padding:7px;font-size:12px;flex-shrink:0}
}
@media (min-width:640px) and (orientation:landscape) and (max-height:500px){
 #gameScreen .room-fascia .room-eyebrow,#gameScreen .room-counter{display:none}
 #gameScreen .dining-room .tables-area{grid-template-rows:repeat(2,minmax(72px,1fr));padding:3px;gap:2px}
 #gameScreen .dining-room .table-card{min-height:72px;gap:1px}
 #gameScreen .table-scene{height:37px;transform:scale(.64);margin-top:3px;margin-bottom:-5px}
 #gameScreen .room-fascia strong{font-size:14px}
 #gameScreen .table-order-detail{min-height:32px;max-height:56px;font-size:10px}
}

.ranking-list{list-style:none;display:flex;flex-direction:column;gap:8px}.ranking-row{background:var(--panel);padding:10px;border:1px solid #526278;border-radius:8px}.ranking-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ranking-name>b{overflow-wrap:anywhere;min-width:0;flex:1}.ranking-name>strong{font-size:11px;color:#a8d8c6}.ranking-row p{margin:5px 0;font-size:11px}.ranking-row small{color:#cbd5e1;font-size:10px}.ranking-you{border-color:var(--gold);background:#423923}.ranking-you .ranking-name>b{color:var(--gold)}.ranking-self{font-size:9px;padding:1px 5px;color:#1e293b;background:var(--gold);border-radius:4px;font-weight:bold}.ranking-formula{background:var(--bg);padding:10px;border-radius:8px}.ranking-formula summary{cursor:pointer;color:var(--gold)}.ranking-formula p{margin-top:7px}
.ranking-schedule{border:1px solid #0284c7;background:#0c2a3f}.ranking-schedule>b{color:#7dd3fc}.ranking-slots{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0}.ranking-slots span{background:var(--bg);border:1px solid #38bdf8;border-radius:20px;padding:2px 9px;font-weight:700;color:var(--gold)}.ranking-schedule small{color:#a7b6cb;font-size:10px}

/* Rider occupies the sixth floor space; the cat wanders above the floor. */
.delivery-rider{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:8px;min-width:0;border:2px dashed #76c894;border-radius:12px;background:#203c35;color:#def5e5;font:inherit;font-size:11px;cursor:pointer;white-space:normal}
.delivery-rider[hidden],.room-entry[hidden]{display:none!important}
.delivery-rider[aria-pressed="true"]{border-style:solid;box-shadow:0 0 0 2px #f2ca81;color:#ffdf91}
#roomCat,#roomCatTwo{position:absolute;left:8%;top:20%;font-size:18px;line-height:1;z-index:8;pointer-events:none;transition:left 1.8s linear,top 1.8s linear,transform .2s;filter:drop-shadow(0 2px 1px #0005)}
.motion-paused #roomCat,.motion-paused #roomCatTwo,body:has(dialog[open]) #roomCat,body:has(dialog[open]) #roomCatTwo{transition:none}
@media(prefers-reduced-motion:reduce){#roomCat,#roomCatTwo{transition:none}}

#roomCatTwo{left:72%;top:65%}.external-link{display:block;text-align:center;text-decoration:none;box-sizing:border-box}

/* Trophy cabinet follows the compact slate warung palette. */
.btn-gold{background:#795923;color:#fff1c4;border:1px solid #c29b4d}.player-id{display:block;color:#b9c8ce;font-size:11px;letter-spacing:.04em;overflow-wrap:anywhere}.trophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.trophy-card{margin:0;opacity:.8}.trophy-unlocked{border-color:#c29b4d;opacity:1;background:#302d25}.trophy-card progress{width:100%;accent-color:#d6ac53}.title-badge{display:inline-block;padding:3px 7px;margin:3px 3px 0 0;border:1px solid #846d3e;border-radius:5px;color:#f2d28c;font-size:11px;background:#302d25}.empire-status{font-size:12px;color:#f2d28c;margin:5px 0}.season-picker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.season-picker select{background:#253440;color:#f1f5f9;padding:9px;border:1px solid #788b98;border-radius:6px}
/* The recipe ledger and export preview keep the compact slate game layout. */
.mastery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.mastery-card{margin:0}.mastery-card progress{width:100%;accent-color:#d6ac53}.mastery-legend{border-color:#c29b4d;background:#302d25}.share-preview{min-height:180px;display:grid;place-items:center;background:#15242e;border:1px solid #846d3e;border-radius:8px;overflow:hidden;color:#d6c39a;padding:8px}.share-preview canvas{display:block;width:100%;max-width:430px;height:auto}.share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.share-actions .btn{flex:1;min-width:140px}#codeForm{display:grid;gap:10px}#codeResult{min-height:1.5em;color:#f2d28c}

/* Keep navigation compact: two controls per row, with details available on demand. */
body{height:100dvh;min-height:0;padding:6px;align-items:center}
.game-container{display:flex;flex-direction:column;max-height:100%;min-height:0}
.game-container>.top-bar,.game-container>footer{flex-shrink:0}
.screen.active{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.menu-grid,#gameScreen .business-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.menu-grid>.btn,#gameScreen .business-buttons>.btn{min-width:0;min-height:36px;padding:7px 6px;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
#startScreen.active{display:flex;gap:6px;padding:10px}
#startScreen .warung-scene{min-height:0;height:clamp(60px,14dvh,142px);flex-shrink:0;margin:0}
#startScreen .warung-sign{padding:5px 10px;bottom:6px;left:10px;gap:2px}
#startScreen .warung-sign h1{font-size:21px}
#startScreen .warung-sign .edition{font-size:7px;letter-spacing:2px}
#startScreen .audio-controls .btn{min-height:28px}
#startScreen .intro{font-size:11px;line-height:1.3;margin:0}
#startScreen>aside{font-size:10px;line-height:1.4;padding:6px 8px}
.menu-info,.morning-details,.game-menu{background:#162d30;border:1px solid #63776e;border-radius:7px;font-size:11px}
.menu-info summary,.morning-details summary,.game-menu summary{padding:7px 9px;cursor:pointer;color:#f3d8a6;font-weight:700}
.menu-info p{padding:0 9px 9px;line-height:1.5}
.morning-detail-content{display:grid;gap:6px;padding:0 6px 6px}
#morningScreen.active{gap:8px;padding:10px}
#morningScreen .morning-overview,#morningScreen .morning-actions{gap:5px;min-height:0}
#morningScreen .morning-actions{padding:0;background:none;border:0;justify-content:start}
#morningScreen .business-status{padding:5px 7px;line-height:1.4}
#morningScreen .empire-status{margin:0;font-size:11px}
#morningScreen .news-banner{padding:6px;font-size:11px}
#morningScreen .exp-container{padding:6px 8px}
#morningScreen .morning-menu>.btn{min-height:36px}
#gameScreen .game-menu{flex-shrink:0}
#gameScreen .game-menu .business-buttons{padding:0 6px 6px}
#gameScreen .business-buttons>.btn{font-size:11px;min-height:32px}
summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
dialog{max-height:calc(100dvh - 24px);overflow:hidden}
.modal-card{max-height:calc(100dvh - 26px);min-height:0;padding:12px;gap:8px}
.modal-card>#modalBody{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.modal-card>#modalDone,.modal-card>.between,.modal-card>.online-badge,.modal-card>[data-calendar]{flex-shrink:0}
@media(max-width:759px){
 .top-bar{gap:4px;padding:5px 6px}
 .top-bar>.online-badge{flex-basis:calc(40% - 4px);justify-content:start;font-size:10px}
 .calendar-badge{flex-basis:60%;font-size:10px;min-height:22px;padding:3px 5px}
 .stat-badge:not(.calendar-badge){min-height:26px;padding:4px;font-size:11px;min-width:0}
 .stat-badge:last-child{margin-left:0}
 footer{padding:5px 8px;font-size:9px}
}
@media(min-width:760px),(min-width:640px) and (orientation:landscape){
 .game-container{max-width:1100px}
 body:not(:has(#gameScreen.active)) .top-bar{padding:5px 8px;gap:5px;align-items:center}
 body:not(:has(#gameScreen.active)) .top-bar>.online-badge{flex-basis:auto;margin-right:auto}
 body:not(:has(#gameScreen.active)) .stat-badge{flex:initial;min-width:0;min-height:28px;padding:4px 8px;font-size:11px}
 body:not(:has(#gameScreen.active)) .calendar-badge{flex-basis:auto}
 #startScreen.active{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8px 18px;align-items:start}
 #startScreen .audio-controls{grid-column:1;grid-row:1}
 #startScreen .warung-scene{grid-column:1;grid-row:2;min-height:110px;height:clamp(110px,28dvh,240px);margin:0}
 #startScreen>aside{grid-column:1;grid-row:3}
 #startScreen .intro{grid-column:1;grid-row:4}
 #startScreen .menu-info{grid-column:1;grid-row:5}
 #startScreen .menu-grid{grid-column:2;grid-row:1 / span 5;align-self:center}
 #startScreen .menu-grid>.btn{min-height:36px}
 #morningScreen.active{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px}
 #morningScreen .morning-menu>.btn{min-height:36px}
}
@media(max-height:700px){
 #startScreen .warung-scene{height:60px}
 #startScreen .intro{display:none}
 #startScreen.active{gap:4px;padding:6px}
 .menu-grid{gap:4px}
 .menu-grid>.btn,#startScreen .menu-grid>.btn,#morningScreen .morning-menu>.btn{min-height:32px;font-size:11px;padding:5px}
 #morningScreen.active{padding:6px;gap:5px}
 #morningScreen .morning-overview,#morningScreen .morning-actions{gap:4px}
 #morningScreen .shop-title-box{padding:4px}
 #morningScreen .news-banner{padding:4px;font-size:10px}
 .menu-info summary,.morning-details summary{padding:5px 7px}
}
/* Portrait uses a compact dining summary above the full cooking controls. */
@media(max-width:639px){
 .game-container:has(#gameScreen.active){height:100%}
 #gameScreen.active{flex:1;gap:5px;padding:6px}
 #gameScreen>.service-section,#gameScreen>.kitchen-section,#gameScreen>button{flex-shrink:0}
 #gameScreen .service-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"control control" "room order" "room voice" "room clean" "room status" "room empire" "room menu";gap:3px 5px}
 #gameScreen .service-section>.between{grid-area:control}
 #gameScreen .dining-room{grid-area:room;min-width:0;box-shadow:none}
 #gameScreen #order{grid-area:order;min-height:28px;max-height:72px;overflow-y:auto;padding:4px;font-size:10px;line-height:1.3}
 #gameScreen #customerVoice{grid-area:voice;max-height:32px;overflow-y:auto;padding:3px;font-size:10px}
 #gameScreen #cleanTable{grid-area:clean;padding:5px;font-size:10px}
 #gameScreen .service-section>.business-status{grid-area:status;font-size:10px;line-height:1.3;padding:4px}
 #gameScreen .service-section>.empire-status{grid-area:empire;font-size:9px;line-height:1.3;margin:0}
 #gameScreen .game-menu{grid-area:menu}
 #gameScreen .game-menu summary{padding:5px;font-size:10px}
 #gameScreen .room-fascia{padding:4px;border-bottom-width:3px;gap:0}
 #gameScreen .room-fascia>span,#gameScreen .room-eyebrow,#gameScreen .room-counter,#gameScreen .table-scene{display:none}
 #gameScreen .room-fascia>div{width:100%;min-width:0}
 #gameScreen .room-fascia strong{font-size:12px;line-height:1.2}
 #gameScreen .player-id{font-size:8px}
 #gameScreen .dining-room .tables-area{min-height:104px;padding:3px;gap:3px;grid-template-columns:repeat(3,minmax(0,1fr))}
 #gameScreen .dining-room .table-card{min-height:48px;padding:2px;gap:2px}
 #gameScreen .table-title{font-size:8px;padding:2px}
 #gameScreen .table-caption{font-size:8px;padding:1px}
 #gameScreen .room-entry{gap:0}#gameScreen .room-entry>span{font-size:16px}
 #gameScreen .room-entry b,#gameScreen .room-entry small{font-size:7px;padding:1px}
 #gameScreen .delivery-rider{padding:2px;font-size:8px;border-width:1px}
 #gameScreen .warung-garden{min-height:26px;padding:2px}
 #gameScreen .potted-plant,#gameScreen .radio-speaker,#gameScreen .radio-notes{display:none}
 #gameScreen .warung-radio{min-height:22px;padding:2px 4px;border-width:1px}
 #gameScreen .warung-radio:before{display:none}#gameScreen .warung-radio small{margin:0}
 #gameScreen .kitchen-section{padding:5px;gap:4px;min-height:0;overflow:visible;box-shadow:none}
 #gameScreen .kitchen-heading{padding:0 3px}#gameScreen .kitchen-heading h3{font-size:14px}
 #gameScreen .chef-badge{font-size:20px}
 #gameScreen .kitchen-backwall,#gameScreen .kitchen-furniture,#gameScreen .kitchen-help,#gameScreen .hob-scene{display:none}
 #gameScreen .kitchen-section .stove-slot{min-height:46px;padding:3px 2px 10px;gap:2px}
 #gameScreen .stoves-container{padding:3px 3px 0;border-bottom-width:2px}
 #gameScreen .current-item-box{min-height:24px;padding:3px;font-size:10px;line-height:1.3;overflow-wrap:anywhere}
 #gameScreen .tab-btn{padding:5px}
 #gameScreen .ingredient-grid{gap:3px}
 #gameScreen .ing-btn{min-height:31px;padding:3px;flex-direction:row;justify-content:center;gap:3px}
 #gameScreen .ing-btn span{font-size:14px}
 #gameScreen .ing-btn .ingredient-name{font-size:10px}
 #gameScreen .eq-btn{min-height:27px;padding:4px}
 #gameScreen .drink-station{display:none}
 #gameScreen.drinks-mode .ingredient-grid{padding:3px;gap:3px}
 #gameScreen .drink-ingredient{min-height:36px;flex-wrap:wrap;gap:1px 3px}
 #gameScreen .drink-ingredient .drink-packet,#gameScreen .drink-ingredient .ingredient-icon{width:auto;height:auto;font-size:13px;background:none;border:0;box-shadow:none;padding:0;transform:none}
 #gameScreen .drink-packet b{display:none}
 #gameScreen .drink-ingredient small{font-size:8px;width:100%}
 #gameScreen .cup-rack>span{font-size:14px}
 #gameScreen .cup-rack{min-height:27px;padding:3px;gap:4px}
 #gameScreen #trialTools{grid-column:1/-1;grid-row:8}#gameScreen #exitTrial{grid-column:1/-1;grid-row:9}
}
@media(max-height:600px){
 #startScreen .warung-scene{height:45px}
 #startScreen .warung-sign .edition{display:none}
 #startScreen .warung-sign h1{font-size:18px}
 #startScreen>aside{font-size:9px;padding:4px;line-height:1.2}
 #startScreen .menu-grid>.btn,#morningScreen .morning-menu>.btn{min-height:29px;font-size:10px;padding:4px}
 #startScreen .audio-controls .btn{min-height:24px;padding:4px}
 #morningScreen .news-banner{font-size:9px;line-height:1.2}
 #morningScreen .business-status{font-size:10px;line-height:1.2}
 #morningScreen .empire-status{font-size:10px}
}
@media(min-width:640px) and (orientation:landscape) and (max-height:500px){
 #gameScreen .kitchen-section{gap:3px;padding:4px}
 #gameScreen .kitchen-heading h3{font-size:13px}
 #gameScreen .chef-badge,#gameScreen .kitchen-help,#gameScreen .hob-scene{display:none}
 #gameScreen .kitchen-section .stove-slot{min-height:43px;padding:3px 2px 10px}
 #gameScreen .current-item-box{min-height:24px;padding:3px;line-height:1.2}
 #gameScreen .tab-btn{padding:4px}
 #gameScreen .ing-btn{min-height:28px;padding:3px}
 #gameScreen .eq-btn{min-height:24px;padding:3px}
 #gameScreen .drink-station{display:none}
 #gameScreen.drinks-mode .ingredient-grid{padding:3px}
 #gameScreen .drink-ingredient{min-height:34px;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1px 3px}
 #gameScreen .drink-ingredient .drink-packet,#gameScreen .drink-ingredient .ingredient-icon{width:auto;height:auto;font-size:13px;background:none;border:0;box-shadow:none;padding:0;transform:none}
 #gameScreen .drink-packet b{display:none}
 #gameScreen .drink-ingredient small{width:100%;font-size:8px}
 #gameScreen .cup-rack{min-height:24px;padding:3px}
 #gameScreen .cup-rack>span{font-size:13px}
}
@media(max-width:639px) and (max-height:700px){
 #gameScreen .kitchen-section{gap:3px;padding:4px}
 #gameScreen .kitchen-heading{line-height:1.1}#gameScreen .chef-badge{font-size:17px}
 #gameScreen .stove-message{min-height:14px;font-size:8px;line-height:1.15}
 #gameScreen .stove-name{font-size:8px;line-height:1.15}
 #gameScreen .kitchen-section .stove-slot{min-height:39px;padding:3px 2px 9px}
 #gameScreen .actions>.btn{flex:1;font-size:10px;line-height:1.2;padding:5px}
 #gameScreen .dining-room .tables-area{min-height:96px}
 #gameScreen .service-section{gap:2px 4px}
 #gameScreen .ing-btn{min-height:28px;padding:2px}
 #gameScreen .drink-ingredient{min-height:32px}
}
@media(min-width:640px) and (orientation:landscape) and (max-height:500px){
 #gameScreen .stove-message{min-height:14px;line-height:1.15}
 #gameScreen .kitchen-section .stove-slot{min-height:36px}
 #gameScreen .kitchen-heading{line-height:1.1}
}
@media(max-width:639px) and (max-height:600px){
 #morningScreen .morning-menu{gap:3px}
 #gameScreen .service-section{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
 #gameScreen .room-fascia{padding:2px}
 #gameScreen .room-fascia strong{font-size:11px}
 #gameScreen .dining-room .tables-area{min-height:88px;gap:2px;padding:2px}
 #gameScreen .dining-room .table-card{min-height:40px;line-height:1.05}
 #gameScreen .table-title,#gameScreen .table-caption{font-size:7px}
 #gameScreen .warung-garden{min-height:20px;padding:1px}
 #gameScreen .warung-radio{min-height:18px;padding:1px}
 #gameScreen .service-section>.business-status{font-size:9px;line-height:1.1;padding:3px}
 #gameScreen .service-section>.empire-status{font-size:8px;line-height:1.1}
 #gameScreen #order{max-height:50px;font-size:9px}
 #gameScreen .order-tag{font-size:8px;margin:1px;padding:1px}
 #gameScreen .kitchen-section{gap:2px}
 #gameScreen .kitchen-heading h3{font-size:12px}
 #gameScreen .current-item-box{min-height:20px;font-size:9px}
 #gameScreen .tab-btn{padding:3px}
 #gameScreen .ing-btn{min-height:25px;font-size:9px}
 #gameScreen .ing-btn .ingredient-name{font-size:9px}
 #gameScreen .eq-btn{min-height:23px;padding:2px}
 #gameScreen .drink-ingredient{min-height:30px;padding:2px}
 #gameScreen .drink-ingredient .ingredient-name{font-size:8px}
 #gameScreen .cup-rack{min-height:23px}
}
@media(max-width:359px){
 .top-bar>.online-badge{min-width:0;gap:3px;font-size:9px;line-height:12px}
 .top-bar>.online-badge [data-online-label]{min-width:0;overflow-wrap:anywhere}
 .calendar-badge{font-size:9px;min-width:0}
 #gameScreen .table-title,#gameScreen .table-caption{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #gameScreen .delivery-rider{overflow-wrap:anywhere;font-size:7px;line-height:1.05}
 #gameScreen .dining-room .tables-area{grid-template-rows:repeat(2,minmax(40px,1fr))}
 #gameScreen:not(.drinks-mode) .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 #gameScreen .eq-btn.wide{grid-column:span 3}
 #gameScreen .ingredient-grid>.ing-btn{flex-direction:row;flex-wrap:wrap;gap:0 2px}
 #gameScreen .ingredient-grid>.ing-btn .ingredient-name{font-size:8px}
}

@media(max-width:359px){
 #gameScreen .drink-ingredient{min-height:25px;padding:1px}
 #gameScreen .drink-ingredient small{font-size:7px;line-height:1}
 #gameScreen .drink-ingredient .ingredient-name{line-height:1}
 #gameScreen .stoves-container{padding-top:2px}
 #gameScreen .kitchen-section .stove-slot{padding-bottom:7px}
}
#gameScreen .kitchen-heading>.btn{min-height:22px;padding:3px 6px;font-size:10px;line-height:1.2}
@media(max-width:359px){#gameScreen .kitchen-heading{min-height:20px}#gameScreen .kitchen-heading>.btn{min-height:20px;padding:2px 5px}#gameScreen.active{gap:3px}}
@media(min-width:640px) and (orientation:landscape) and (max-height:500px){#gameScreen .kitchen-section{gap:2px;padding:3px}}

/* Table speech stays inside the scrollable dining room. */
#gameScreen .dining-room .table-card{padding-top:36px;position:relative}
.table-bubble{position:absolute;top:2px;left:2px;right:2px;z-index:5;border-radius:8px 8px 8px 2px;background:#fff1cf;color:#293542;padding:4px 5px;font-size:9px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;pointer-events:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:31px}
#customerVoice{display:none}
.quiz-answer{display:block;width:100%;margin:10px 0;text-align:left;white-space:normal}
.level-shine{color:#fff1bc;border-color:#fbbf24;background:linear-gradient(110deg,#59431f,#96752b,#59431f);background-size:200% 100%;animation:levelShimmer 3s ease-in-out infinite}
@keyframes levelShimmer{50%{opacity:.72}}
@media(prefers-reduced-motion:reduce){.level-shine{animation:none}}
.share-preview{min-height:0;overflow:visible;flex-shrink:0}
.share-preview canvas{width:auto;max-width:100%;max-height:48dvh;object-fit:contain}
/* Trial controls live with the kitchen, leaving the family table unobstructed. */
.trial-mode .service-section{isolation:isolate}
.trial-mode .table-bubble{position:relative;inset:auto;max-height:none;display:block;-webkit-line-clamp:unset;font-size:11px;line-height:1.4;margin-bottom:4px}
.trial-mode #trialTools{margin:0 0 8px;padding:8px}
.trial-mode #trialTools p{margin:4px 0}
.trial-mode #trialTools select{padding:5px}
.community-list{display:grid;gap:8px}.developer-player{display:grid;gap:5px;width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}
.developer-player:hover,.developer-player:focus-visible{border-color:#fbbf24}.developer-details{white-space:pre-wrap;overflow-wrap:anywhere;background:#172331;padding:12px;border-radius:8px;font-size:12px;max-height:55vh;overflow:auto}
.arena-intro{border-left:3px solid #fbbf24}.arena-players{background:#172331;border-radius:8px;padding:4px 10px;font-size:12px}
.arena-tables{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:10px}.arena-tables button{padding:8px 3px;color:inherit;font:inherit;cursor:pointer;min-height:80px;margin:0}.arena-tables small,.arena-stoves small{display:block;line-height:1.5;font-size:10px}
.arena-selected{outline:2px solid #fbbf24}.arena-stoves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0}.arena-prep{display:flex;flex-wrap:wrap;gap:5px}
@media(max-width:600px){.arena-tables{grid-template-columns:repeat(2,minmax(0,1fr))}.arena-tables button:last-child{grid-column:1/-1}.arena-stoves .btn{padding:7px 3px;font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.trial-mode #trialTools{font-size:10px;padding:4px}.trial-mode #trialTools p{display:none}.trial-mode .table-bubble{font-size:9px}}
#gameScreen.trial-mode .dining-room .tables-area{grid-template-columns:minmax(0,1fr);min-height:145px;gap:8px}
#gameScreen.trial-mode .table-card{width:100%;max-width:300px;min-height:130px;justify-self:center}
#gameScreen.trial-mode .table-card[data-status="locked"],#gameScreen.trial-mode .room-entry,.trial-mode .empire-status{display:none}
#gameScreen.trial-mode .table-bubble{font-size:11px;align-self:stretch}
#gameScreen.trial-mode #customerVoice{max-height:none;line-height:1.4}
/* Liga uses the shop's dining room and kitchen surfaces within the viewport. */
/* League uses the same dining room and kitchen vocabulary as the ordinary shop. */
.arena-modal{width:calc(100vw - 24px);max-width:1400px;max-height:calc(100svh - 16px)}
.arena-modal .modal-card{padding:10px;gap:6px}
.arena-modal .modal-card>[data-calendar],.arena-modal .modal-card>.online-badge,.arena-modal #modalDone{display:none}
.arena-modal #modalBody{gap:4px}
#arenaRoot{font-size:12px;min-width:0}
.arena-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;background:#234b43;border-bottom:4px solid #d6b581;padding:8px 10px;border-radius:8px}
.arena-topbar strong,.arena-topbar>span{background:#142d30;padding:6px 8px;border-radius:7px}
.arena-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;margin:8px 0}
.arena-workspace>section{min-width:0}
.arena-service{display:flex;flex-direction:column;gap:7px}
.arena-workspace .kitchen-section{border:2px solid #7f968a;background:#293d46;padding:8px;gap:7px}
.arena-workspace h3{font-family:Georgia,serif;font-size:21px;text-align:left}
.arena-workspace .room-fascia{padding:8px 12px}
.arena-workspace .dining-room .tables-area{min-height:270px;gap:12px 6px;padding:16px 8px}
.arena-workspace .table-card{font:inherit;cursor:pointer}
.arena-workspace .order-tag{border:1px solid #e4c87d;cursor:pointer;padding:4px 6px}
.arena-workspace .order-tag:focus-visible{outline:2px solid #fff;outline-offset:2px}
.arena-workspace .stove-slot{cursor:pointer;min-height:125px}
.arena-workspace .stove-message{white-space:normal;line-height:1.3}
.arena-workspace .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.arena-workspace .ing-btn{min-height:70px;background:#3c5757;border-color:#8aa397}
.arena-workspace .eq-btn{background:#a8bba7;color:#193b45;min-height:42px}
.arena-workspace .input-text{width:100%;min-width:0;padding:7px;font-size:12px}
.arena-workspace .btn{padding:8px;font-size:12px}
.arena-serve-row{display:grid;grid-template-columns:2fr 1fr;gap:6px}
.arena-score{padding:6px 8px;border:1px solid #607e77;border-radius:7px;color:#f9d489;background:#183237}
.arena-players{background:#172331b8;border:1px solid #94a3b855;border-radius:8px;backdrop-filter:blur(8px);max-width:100%;margin-left:auto;padding:7px 10px;font-size:11px;overflow-wrap:anywhere}
.arena-players p{margin:2px 0}
.arena-workspace .game-menu p{padding:8px;line-height:1.5}
@media(max-width:639px){
 .arena-modal{width:calc(100vw - 12px);max-height:calc(100svh - 12px)}
 .arena-modal .modal-card{padding:7px}
 .arena-modal .modal-card h2{font-size:15px}
 .arena-topbar{font-size:11px;padding:6px;gap:4px}
 .arena-topbar>b{flex-basis:100%}
 .arena-workspace{grid-template-columns:minmax(0,1fr);gap:9px}
 .arena-workspace .dining-room .tables-area{min-height:180px;padding:8px;gap:6px}
 .arena-workspace .dining-room .table-card{min-height:85px}
 .arena-workspace .room-fascia strong{font-size:18px}
 .arena-workspace .kitchen-section .stove-slot{min-height:105px}
}
@media(min-width:640px) and (max-height:700px){
 .arena-modal .modal-card{padding:6px}
 .arena-workspace{margin:4px 0;gap:7px}
 .arena-workspace .dining-room .tables-area{min-height:170px;padding:8px;gap:6px}
 .arena-workspace .dining-room .table-card{min-height:78px}
 .arena-workspace .room-fascia{padding:4px}
 .arena-workspace .room-fascia strong{font-size:18px}
 .arena-workspace .kitchen-section .stove-slot{min-height:88px;padding:4px 2px 12px}
 .arena-workspace .hob-scene{height:40px;transform:scale(.8);transform-origin:top center;margin-bottom:-7px}
 .arena-workspace .kitchen-section{gap:4px;padding:6px}
 .arena-workspace .ing-btn{min-height:48px}
 .arena-workspace .btn{padding:6px;font-size:11px}
}

/* Compact challenge kitchen: one preparation category at a time. */
.arena-pantry{min-width:0}
.arena-pantry-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.arena-pantry-tabs button{padding:8px;border:1px solid #8aa397;border-radius:6px;background:#20383e;color:#e2e8f0;font:inherit;font-weight:bold;cursor:pointer;min-height:36px}
.arena-pantry-tabs [aria-selected="true"]{background:#d6b581;color:#193b45;border-color:#f9d489}
.arena-workspace button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.arena-workspace .ingredient-grid .eq-btn{grid-column:span 2;font:inherit;cursor:pointer}
.arena-workspace .ingredient-grid .cup-rack{grid-column:1/-1}
.arena-workspace .ing-btn{min-height:48px;padding:4px 2px}
.arena-workspace .ing-btn .ingredient-icon{font-size:20px}
.arena-workspace .ing-btn .ingredient-name{font-size:10px}
.arena-workspace .ing-btn small{display:none}
.arena-workspace .kitchen-backwall,.arena-workspace .kitchen-furniture{display:none}
.arena-workspace .current-item-box{padding:6px;min-height:30px;margin:0;font-size:11px}
.arena-workspace .kitchen-section{gap:5px}
.arena-workspace .kitchen-heading h3{font-size:18px;margin:0}
.arena-workspace .stove-slot{min-height:88px;padding:4px 2px 12px}
.arena-workspace .hob-scene{height:40px;transform:scale(.8);transform-origin:top center;margin-bottom:-7px}
.arena-workspace .arena-score{margin:0}
@media(max-width:639px){
 .arena-modal .modal-card{gap:3px;padding:6px}
 .arena-modal .modal-card h2{margin:0}
 .arena-workspace{gap:5px;margin:4px 0}
 .arena-service{gap:3px}
 .arena-workspace .room-fascia{padding:3px 6px}
 .arena-workspace .room-fascia strong{font-size:14px}
 .arena-workspace .room-eyebrow,.arena-workspace .room-fascia small,.arena-workspace .room-counter,.arena-workspace .room-entry,.arena-workspace .kitchen-help{display:none}
 .arena-workspace .dining-room .tables-area{grid-template-columns:repeat(5,minmax(0,1fr));min-height:0;padding:5px;gap:3px}
 .arena-workspace .dining-room .table-card{min-height:65px;padding:3px 1px;gap:1px}
 .arena-workspace .table-scene{height:38px;transform:scale(.7);transform-origin:center}
 .arena-workspace .table-title,.arena-workspace .table-caption{font-size:9px}
 .arena-workspace .table-order-detail{padding:4px;margin:0;font-size:10px;min-height:0}
 .arena-workspace .table-order-detail br{display:none}
 .arena-workspace .kitchen-section .stove-slot{min-height:72px}
 .arena-workspace .stove-message{font-size:9px}
 .arena-workspace .btn{padding:6px;font-size:10px;min-height:30px}
 .arena-workspace .ing-btn{min-height:44px}
 .arena-topbar{padding:4px}
 .arena-topbar>b{flex-basis:auto}
 .arena-topbar strong,.arena-topbar>span{padding:3px}
 .arena-players{padding:3px 6px;font-size:9px}
 .arena-players p{display:inline;margin-right:6px}
}
@media(max-height:540px) and (min-width:640px){
 .arena-workspace .dining-room .tables-area{min-height:120px;padding:4px}
 .arena-workspace .room-eyebrow,.arena-workspace .kitchen-help{display:none}
 .arena-workspace .ing-btn{min-height:38px}
 .arena-workspace .ing-btn .ingredient-icon{font-size:16px}
 .arena-workspace .kitchen-section .stove-slot{min-height:65px}
 .arena-workspace .btn{padding:4px}
}

.shift-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* Compact worker controls share one row in the morning action column. */
[data-worker-controls]:not([hidden]){display:flex;gap:6px;flex-wrap:wrap}
[data-worker-controls] .supply-row{flex:1 1 130px;min-width:0;margin:0;padding:6px;gap:5px;font-size:11px}
[data-worker-controls] .supply-row small{font-size:10px}
[data-worker-controls] .btn{padding:6px;white-space:nowrap;font-size:10px}

/* Challenge occupies the viewport; optional instructions float above the play area. */
dialog.arena-modal{width:calc(100vw - 12px);max-width:1500px;height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);overflow:hidden}
.arena-modal .modal-card{height:100%;min-height:0;padding:6px;gap:3px}
.arena-modal .modal-card>.between{flex:none;min-height:26px}
.arena-modal .modal-card h2{font-size:15px;line-height:1.2}
.arena-modal #modalBody{flex:1;min-height:0;overflow:visible;gap:0;line-height:1.2}
#arenaRoot{flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;position:relative;font-size:11px}
.arena-topbar{flex:none;padding:4px 6px;border-bottom-width:2px;gap:4px;min-height:30px}
.arena-topbar strong,.arena-topbar>span{padding:3px}
.arena-workspace{flex:1;min-height:0;margin:0;gap:6px;align-items:stretch}
.arena-service{min-height:0;gap:4px}
.arena-service>.between{min-height:28px;font-size:11px;flex:none}
.arena-workspace .dining-room{flex:1;min-height:0;display:flex;flex-direction:column}
.arena-workspace .room-fascia{padding:3px 6px;flex:none}
.arena-workspace .room-fascia strong{font-size:15px}
.arena-workspace .room-eyebrow,.arena-workspace .room-fascia small,.arena-workspace .room-counter,.arena-workspace .room-entry,.arena-workspace .kitchen-help{display:none}
.arena-workspace .dining-room .tables-area{flex:1;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;padding:6px;overflow:visible}
.arena-workspace .dining-room .table-card{min-width:0;min-height:0;padding:4px;gap:2px}
.arena-workspace .table-caption{font-size:10px}
.arena-workspace .table-order-detail{flex:none;min-height:34px;line-height:1.2;padding:4px 6px}
.arena-workspace .table-order-detail br{display:none}
.arena-workspace .order-tag{padding:3px 5px;font-size:10px;margin:2px}
.arena-workspace .kitchen-section{min-height:0;padding:6px;gap:4px;justify-content:space-between}
.arena-workspace .kitchen-heading{flex:none}
.arena-workspace .kitchen-heading h3{font-size:15px}
.arena-workspace .stoves-container{flex:1;min-height:52px;max-height:125px}
.arena-workspace .kitchen-section .stove-slot{min-height:0;padding:4px 2px 10px;gap:2px}
.arena-workspace .hob-scene{height:38px;margin:0;transform:scale(.75);transform-origin:center}
.arena-workspace .stove-message{font-size:10px;line-height:1.15}
.arena-workspace .current-item-box{min-height:25px;padding:4px;font-size:10px;line-height:1.2}
.arena-workspace .btn{min-height:30px;padding:5px;font-size:11px;line-height:1.1}
.arena-workspace .arena-score{padding:4px;font-size:10px;line-height:1.2}
.arena-workspace .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.arena-workspace .ingredient-grid .eq-btn{min-height:28px;padding:3px}
.arena-workspace .ing-btn{min-height:42px;padding:3px 1px;gap:1px}
.arena-workspace .ing-btn .ingredient-icon{font-size:17px}
.arena-workspace .ing-btn .ingredient-name{font-size:10px}
.arena-pantry-tabs button{min-height:28px;padding:4px;font-size:11px}
#arenaMenu{align-self:flex-start;min-height:26px;padding:4px 8px;font-size:10px}
.arena-modal #communityStatus{flex:none;font-size:11px;line-height:1.2;max-height:28px;overflow:auto}
.arena-modal #communityStatus:empty{display:none}
.challenge-help{position:relative;flex:none;font-size:11px}
.challenge-help>summary{padding:5px}
.challenge-help-panel{position:absolute;bottom:100%;left:0;z-index:3;width:min(440px,calc(100vw - 36px));max-height:60dvh;overflow:auto;padding:10px;background:var(--card);border:1px solid #94a3b8;border-radius:8px;box-shadow:0 4px 20px #0f172ac9}
@media(max-width:639px) and (orientation:portrait){
 .arena-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(145px,.8fr) minmax(0,1.7fr);gap:4px}
 .arena-service{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:26px minmax(45px,1fr) auto auto;gap:3px}
 .arena-service>.between,.arena-service>.dining-room,.arena-service>.table-order-detail{grid-column:1/-1}
 .arena-service>.dining-room .room-fascia{display:none}
 .arena-workspace .dining-room .tables-area{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:3px;padding:3px}
 .arena-workspace .table-scene{display:none}
 .arena-workspace .table-title{font-size:10px}
 .arena-workspace .table-caption{font-size:9px}
 #challengeClean{grid-column:2;grid-row:3;align-self:center;font-size:10px;min-height:27px}
 .arena-service>.table-order-detail{grid-column:1;grid-row:3}
 .arena-service>.arena-score{grid-column:1;grid-row:4}
 .arena-service>.challenge-help{grid-column:2;grid-row:4;align-self:center}
 .challenge-help-panel{left:auto;right:0}
 .arena-workspace .kitchen-heading{display:none}
 .arena-workspace .kitchen-section{gap:3px;padding:4px}
 .arena-workspace .stoves-container{flex:1;max-height:70px;min-height:38px}
 .arena-workspace .hob-scene{display:none}
 .arena-workspace .ingredient-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .arena-workspace .ing-btn{min-height:34px}
 .arena-topbar{font-size:10px}
}
@media(max-height:560px) and (orientation:landscape){
 .arena-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
 .arena-workspace .kitchen-heading,.arena-workspace .hob-scene,.arena-workspace .table-scene,.arena-workspace .room-fascia{display:none}
 .arena-workspace .stoves-container{min-height:34px;max-height:48px}
 .arena-workspace .ingredient-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
 .arena-workspace .ingredient-grid .eq-btn,.arena-workspace .ingredient-grid .cup-rack{grid-column:span 1;min-height:30px;font-size:10px}
 .arena-workspace .ing-btn{min-height:30px;gap:0;padding:1px}
 .arena-workspace .ing-btn .ingredient-icon{font-size:13px}
 .arena-workspace .ing-btn .ingredient-name{font-size:9px}
 .arena-workspace .btn{min-height:26px;font-size:10px;padding:3px}
 .arena-workspace .kitchen-section{gap:3px;padding:4px}
 .arena-workspace .current-item-box{min-height:21px;padding:3px}
 .arena-pantry-tabs button{min-height:25px;padding:3px}
 .arena-workspace .dining-room .tables-area{padding:3px;gap:3px}
 .arena-topbar{min-height:25px;font-size:10px}
 #arenaMenu{min-height:22px;padding:3px}
}
.arena-workspace .dining-room .table-title,.arena-workspace .dining-room .table-caption{white-space:nowrap;line-height:1.1;padding:2px 3px;max-width:100%}
.arena-workspace .table-order-detail{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.arena-workspace .table-order-detail .order-tag{margin:0;line-height:1.2}
@media(max-width:639px) and (orientation:portrait){
 .arena-workspace{grid-template-rows:minmax(162px,.9fr) minmax(0,1.7fr)}
 .arena-service{grid-template-rows:26px minmax(44px,1fr) auto 28px}
 .arena-service>.table-order-detail{grid-column:1/-1;grid-row:3}
 #challengeClean{grid-row:4;grid-column:2}
 .arena-service>.arena-score{grid-row:4;grid-column:1}
 .arena-service>.challenge-help{position:static}
 .arena-service>.challenge-help>summary{position:absolute;bottom:0;right:0;padding:6px}
 .challenge-help-panel{bottom:30px;left:auto;right:0}
 .arena-workspace .dining-room .table-title{font-size:9px;padding:2px}
 .arena-workspace .dining-room .table-caption{font-size:8px;padding:2px 0}
}
.arena-workspace .stove-name,.arena-workspace .stove-message{flex-shrink:0}
.arena-workspace .stove-knobs{display:none}
@media(max-width:639px) and (orientation:portrait) and (max-height:700px){
 .arena-workspace{grid-template-rows:minmax(152px,.8fr) minmax(0,1.7fr)}
 .arena-workspace .kitchen-section{justify-content:flex-start}
 .arena-workspace .kitchen-section>div{flex-shrink:0}
 .arena-workspace .stoves-container{flex:1 1 30px!important;min-height:30px;max-height:44px}
 .arena-workspace .kitchen-section .stove-slot{padding:2px;gap:1px}
 .arena-workspace .stove-name,.arena-workspace .stove-message{font-size:9px;line-height:1.1}
 .arena-workspace .ingredient-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
 .arena-workspace .ingredient-grid .eq-btn,.arena-workspace .ingredient-grid .cup-rack{grid-column:span 1;min-height:32px;font-size:9px;padding:2px}
 .arena-workspace .ing-btn{min-height:32px;padding:1px}
 .arena-workspace .ing-btn .ingredient-icon{font-size:13px}
 .arena-workspace .ing-btn .ingredient-name{font-size:9px}
 .arena-workspace .btn{min-height:26px;font-size:10px;padding:4px}
 .arena-workspace .current-item-box{min-height:20px;padding:3px;line-height:1.1}
 .arena-pantry-tabs button{min-height:25px;padding:3px}
}

/* Annual awards carry the same gentle shimmer as the high-level warung badge. */
.anniversary-title{--award-light:#ffe39a;--award-mid:#c38a26;display:inline-flex;align-items:center;gap:7px;color:var(--award-light);line-height:1.5;vertical-align:middle}
.anniversary-icon{display:inline-grid;place-items:center;flex-shrink:0;width:2em;height:2em;border:1px solid var(--award-light);border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff5d854,transparent 55%),linear-gradient(135deg,#51401f,var(--award-mid),#342d26);box-shadow:inset 0 0 6px #fff1bc55,0 0 9px color-mix(in srgb,var(--award-light) 45%,transparent);text-shadow:0 0 6px var(--award-light);animation:levelShimmer 3s ease-in-out infinite}
.anniversary-gold{--award-light:#ffe39a;--award-mid:#c38a26}
.anniversary-champagne{--award-light:#fff0bd;--award-mid:#bca369}
.anniversary-rose{--award-light:#ffc5b1;--award-mid:#b76a56}
.anniversary-jade{--award-light:#b9f6cb;--award-mid:#477d62}
.anniversary-amber{--award-light:#ffd172;--award-mid:#b96924}
.anniversary-rainbow{--award-light:#ffe5b9;--award-mid:#a478b9}
.anniversary-aurora{--award-light:#b4f5f1;--award-mid:#477e9b}
.anniversary-prismatic{--award-light:#f2d1ff;--award-mid:#9b6ab2}
.anniversary-rainbow .anniversary-icon{background:linear-gradient(135deg,#e96f78,#d8a851 25%,#64b98c 45%,#579cce 65%,#a47ccd 85%);box-shadow:inset 0 0 7px #fff5,0 0 8px #f3be6f88,0 0 15px #a47ccd66}
.anniversary-aurora .anniversary-icon{background:linear-gradient(135deg,#315566,#579c99,#8871af);box-shadow:inset 0 0 7px #b4f5f177,0 0 12px #79d6cb88}
.anniversary-prismatic .anniversary-icon{background:conic-gradient(from 30deg,#a77bc7,#7ebac7,#f3d38d,#d58eac,#a77bc7);box-shadow:inset 0 0 7px #fff8,0 0 10px #e6b5f088,0 0 18px #f3d38d55}
.anniversary-badge{padding:4px 8px;border-color:var(--award-light);background:#293139}
.anniversary-badge .anniversary-icon{font-size:12px}
@media(prefers-reduced-motion:reduce){.anniversary-icon{animation:none}}
.shop-titles{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin:2px 0}.shop-titles .title-badge{margin:2px 2px 0 0;font-size:10px;padding:2px 6px}
