:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;color:#171717;background:#fff;--red:#e60012;--ink-red:#ce0010;--yellow:#fff000;--muted:#555;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#fff;min-height:100svh}button,input{font:inherit}button{min-height:48px;padding:10px 12px;border:2px solid #aaa;border-radius:0;box-shadow:none;background:#fff;color:#171717;font-weight:800;cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--red)}button:active{background:#ffe8ea}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}[hidden]{display:none!important}a{color:var(--ink-red)}
.game-shell{max-width:1080px;margin:auto;background:#fff;overflow:clip}.game-header{position:relative;display:flex;align-items:center;gap:12px;padding:18px 20px 8px;font-size:18px;font-weight:900;border-bottom:2px solid var(--red)}.game-header::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg,var(--red) 0 16px,#fff 16px 32px)}.game-header img{object-fit:contain}.header-label{margin-left:auto;color:var(--ink-red);font-size:14px;white-space:nowrap}.game-nav{display:flex;align-items:center;gap:22px;padding:0 20px;border-bottom:1px solid #ccc;font-size:14px}.game-nav a,.game-nav button{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-red);font-weight:800;text-decoration:none}.game-nav button{padding:0;border:0;background:none}.game-nav a:hover{text-decoration:underline}.game-nav>span{margin-left:auto;font-size:12px;color:#666}main{padding:24px;min-width:0}
.intro{max-width:960px;margin:auto;text-align:center;padding:12px 0 24px}.title-screen{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:0;padding:12px 0 20px;border-bottom:6px solid var(--red)}.title-copy{min-width:0}.game-title{margin:0;line-height:0}.game-title img{display:block;width:100%;height:auto}.subtitle{margin:8px 0;color:var(--ink-red);font-size:20px;letter-spacing:.12em;font-weight:900}.title-challenge{font-size:23px;font-weight:900;margin:16px 0 0}.entry-koala{width:230px;height:280px;object-fit:contain;animation:staff-idle 2.6s ease-in-out infinite}.entry-brief{margin:22px 0 16px;font-size:16px;line-height:1.7}.entry-brief>b{font-size:20px}.entry-brief p{margin:5px 0}.entry-form{max-width:560px;margin:20px auto 0;padding:0;text-align:left;border:0;background:none}.entry-form label{display:block;font-size:18px;font-weight:900;margin:0 0 12px}.name-row{display:flex;align-items:center;gap:8px}.name-row span{font-weight:800}input{width:100%;min-height:52px;border:2px solid #777;border-radius:0;padding:10px;font-size:18px;background:#fff}.record-notice{font-size:12px;color:#555;line-height:1.7;margin:8px 0 18px}.entry-buttons{display:grid;gap:14px}.primary{width:100%;background:var(--red);color:#fff;border:0;border-radius:0;padding:14px 16px;font-size:23px;font-weight:900;line-height:1.5}.primary:hover{background:#c90010}.primary:active{background:#a9000d}.secondary{width:100%;background:#fff;color:var(--ink-red);border:0;border-bottom:2px solid var(--red);font-size:16px}.secondary small{font-size:13px;margin-left:8px;font-weight:600}.menu-pointer{display:inline-block;margin-right:8px}.entry-buttons .primary:hover .menu-pointer{animation:menu-nudge .65s ease-in-out infinite}#entry-error{color:var(--ink-red);font-size:15px;line-height:1.7}.oldweb-note{font-size:12px;color:#555;line-height:1.8;margin:22px 0}.home-bottom{display:flex;align-items:center;justify-content:center;gap:20px;padding-top:20px;border-top:1px dashed #999}.home-bottom img{width:90px;height:90px;object-fit:contain}.home-bottom p{font-size:14px;line-height:1.8}.page-label{font-size:15px;font-weight:900;color:var(--ink-red);margin:10px 0}
.shift-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:17px;margin:0 0 12px;padding:8px 0;border-bottom:1px solid #999;overflow-wrap:anywhere}#record-state{font-size:12px;color:#555;flex-shrink:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:12px 0;border-bottom:3px solid var(--red)}.stats>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-right:1px solid #ccc}.stats>div:last-child{border:0}.stats span{font-size:15px;font-weight:900}.stats strong{color:var(--ink-red);font-family:ui-monospace,Consolas,monospace;font-size:32px;font-variant-numeric:tabular-nums}.stats small{font-family:inherit;font-size:15px;color:#171717}.difficulty{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 10px;font-size:16px}#level-steps{display:flex;gap:5px}#level-steps span{width:24px;height:12px;border:1px solid var(--red);background:#fff}#level-steps .lit{background:var(--red)}
.cooking-monitor{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,1.15fr);border-top:6px solid var(--red);border-bottom:2px solid var(--red);background:#fff;align-items:stretch}.order-card{position:relative;padding:16px 20px 22px;background:#fff;min-width:0}.order-label{margin:0 0 9px;font-size:18px;color:var(--ink-red);font-weight:900}.order-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;font-weight:800}#timer{font-family:ui-monospace,Consolas,monospace;font-size:25px;font-weight:900;white-space:nowrap}.urgent{color:var(--ink-red)}.order-card h2{font-size:29px;line-height:1.4;margin:12px 0;color:#171717;font-weight:900}.order-extras{display:flex;flex-wrap:wrap;gap:8px;font-size:17px;font-weight:800}.order-extras span{display:block;padding:3px 0;line-height:1.4}.order-extras .rice-tag{width:100%}.order-extras .large-tag{background:var(--red);color:#fff;padding:3px 7px}.order-sides{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding-top:10px;border-top:1px dashed #999;font-size:15px;line-height:1.5;font-weight:800}.order-sides span{padding:1px 0}.order-sides .side-order-omitted{background:var(--red);color:#fff;padding:3px 5px}.time-track{position:absolute;left:0;right:0;bottom:0;height:7px;background:#ddd}#time-fill{height:100%;transition:width .1s linear}.dish-area{min-width:0;border-left:1px dashed #999;background:#fff}.counter-label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid #ccc;font-size:18px}.counter-label strong{font-size:20px;font-weight:900;color:var(--ink-red)}.counter-label span{font-size:15px;font-weight:700}.monitor-koala{display:none;width:36px;height:36px;object-fit:contain}#dish{height:340px;display:flex;align-items:center;justify-content:center}#dish svg{width:100%;height:100%;max-width:420px;overflow:visible}.selected-summary{padding:10px 12px;font-size:15px;line-height:1.7;border-top:1px solid #ddd;overflow-wrap:anywhere}.side-summary{display:flex;flex-wrap:wrap;gap:5px 14px;padding:10px 12px;border-top:1px solid #ddd;font-size:14px;line-height:1.5;font-weight:800}.side-summary .is-omitted{color:var(--ink-red)}.side-summary .is-omitted::before{content:"× ";font-weight:900}.side-summary span:not(.is-omitted)::before{content:"✓ ";font-weight:900}
.game-layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;margin-top:22px}.coach-panel{align-self:start;text-align:center;background:#fff}.panel-title{padding:8px 0;font-size:17px;color:var(--ink-red);font-weight:900}.coach-panel img{display:block;width:145px;height:180px;object-fit:contain;margin:6px auto}.coach-panel p{font-size:16px;line-height:1.7;font-weight:800;margin:10px 0;overflow-wrap:anywhere}.coach-panel.panicking img{animation:panic .2s ease-in-out 5}.workspace{min-width:0}.ingredients{display:grid;grid-template-columns:1fr;gap:22px}.ingredients fieldset{border:0;border-top:2px solid #777;border-radius:0;padding:12px 0 0;margin:0;min-width:0;background:#fff}.ingredients legend{padding:0 12px 0 0;color:var(--ink-red);background:#fff;font-size:21px;font-weight:900;line-height:1.5}.ingredients legend small{font-size:15px;font-weight:600}.field-hint{font-size:16px;color:#333;line-height:1.7;margin:0 0 12px}.curry-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ingredients button{font-size:17px;min-height:54px;width:100%;padding:10px 8px;overflow-wrap:anywhere}.curry-choices button{text-align:left;padding:12px;min-height:100px;border:2px solid #999}.curry-name{display:block;font-size:20px;font-weight:900;line-height:1.5}.curry-choices small{display:block;font-size:13px;font-weight:600;line-height:1.7;margin-top:5px}.ingredients button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.curry-choices button[aria-pressed=true] .curry-name::before{content:"✓ ";font-weight:900}.basics{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.roux-choices,.side-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.side-group{display:flex;flex-direction:column;gap:8px;min-width:0}.side-group>b{font-size:16px;line-height:1.5}.current-side{font-size:16px;font-weight:900}.current-side.is-omitted{color:var(--ink-red)}.side-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.ingredients .side-options button{font-size:20px;line-height:1.4;min-height:62px}.side-options small{display:block;font-size:14px;font-weight:700}.ingredients .side-options button[data-included=false][aria-pressed=true]{background:var(--red);color:#fff}.side-options button[aria-pressed=true] small::before{content:"✓ "}.side-hint{font-size:14px;margin:10px 0 0;line-height:1.7;color:#555}.topping-tabs{display:flex;gap:12px;margin:0 0 16px;border-bottom:1px solid #bbb}.ingredients .topping-tabs button{border:0;border-bottom:3px solid transparent;min-height:48px;background:none;color:#333;font-size:16px;padding:8px 4px}.ingredients .topping-tabs button[aria-pressed=true]{color:var(--ink-red);background:none;border-bottom-color:var(--red)}.category-count{display:inline-block;margin-left:4px;font-size:13px;color:var(--ink-red);font-weight:900}.toppings{grid-template-columns:repeat(4,minmax(0,1fr))}.toppings button{min-height:58px;font-size:16px;line-height:1.4}.feedback{margin:22px 0 0;border-left:6px solid var(--red);padding:12px 16px;background:#fff;color:var(--ink-red);font-size:17px;line-height:1.7}.feedback>b{font-size:24px;font-weight:900}.feedback.success{color:#171717;border-color:var(--red);background:#fff5f5}.feedback ul{padding-left:22px;margin:8px 0 0}.actions{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;max-width:740px;margin:22px auto}.actions .reset{font-size:16px}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#555;margin-top:14px}.text-button{background:none;border:0;color:var(--ink-red);font-size:15px;padding:8px}.text-button:hover{text-decoration:underline}
.result{max-width:820px;text-align:center;margin:auto;padding:14px 12px 24px}.result h1{color:var(--red);font-size:38px;line-height:1.4;margin:12px 0 20px;font-weight:900}.meal-scene{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:center;gap:24px;padding:14px 0}.meal-character{min-width:0}.meal-scene img{width:100%;height:410px;object-fit:contain;transform-origin:50% 95%}.meal-scene.is-complete .meal-character{animation:arisa-enter .65s ease-out both}.meal-scene.is-complete img{animation:arisa-meal 2.8s ease-in-out .65s infinite}.arisa-message{text-align:left;font-size:21px;font-weight:900;line-height:1.8;overflow-wrap:anywhere;padding:14px 0;border-top:3px solid var(--red);border-bottom:3px solid var(--red)}.arisa-message>b{display:block;color:var(--ink-red);font-size:16px}.arisa-message p{margin:10px 0 0}.meal-scene.is-complete .arisa-message{animation:arisa-enter .6s .3s ease-out both}.real-store-note{margin:18px 0 28px;padding:8px 0 8px 16px;border-left:5px solid var(--red);text-align:left}.real-store-note h2{font-size:22px;line-height:1.5;color:var(--ink-red);margin:0}.real-store-note p{font-size:16px;line-height:1.9;margin:12px 0;overflow-wrap:anywhere}.result-score{display:flex;align-items:center;justify-content:center;gap:24px;font-size:18px;font-weight:900;margin:20px 0 0;padding:12px 0;border-top:4px solid var(--red);border-bottom:4px solid var(--red)}.result-score strong{font-size:50px;color:var(--red)}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:16px 0}.result-details>div{padding:12px 8px;border-bottom:1px solid #bbb}.result-details span{display:block;font-size:15px;color:#555}.result-details b{font-size:24px}.result>.secondary{margin-top:12px}#result-record{font-size:14px;color:#555}.ranking-panel{text-align:left;margin:28px 0;padding:20px 0;border-top:2px solid #777}.ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ranking-heading h2{font-size:23px;line-height:1.5;font-weight:900;color:var(--ink-red);margin:0}.ranking-heading button{width:auto;min-width:60px;font-size:15px}.ranking-note,#ranking-status{font-size:14px;color:#555;line-height:1.7}.ranking-scroll{overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px}.ranking-table th,.ranking-table td{padding:12px 8px;border-bottom:1px solid #bbb;text-align:right;overflow-wrap:anywhere}.ranking-table th{background:var(--red);color:#fff;font-size:15px}.ranking-table th:nth-child(1){width:14%}.ranking-table th:nth-child(2){width:42%;text-align:left}.ranking-table td:nth-child(2){text-align:left}.ranking-table th:nth-child(3){width:20%}.ranking-table th:nth-child(4){width:24%}.my-ranking td{background:#ffe8ea;font-weight:900}.site-footer{padding:20px 12px;border-top:5px solid var(--red);text-align:center;font-size:12px;line-height:1.8;font-weight:700}.site-footer span{color:#555;margin-left:12px}
dialog{width:calc(100% - 28px);max-width:560px;max-height:85svh;overflow:auto;background:#fff;border:3px solid var(--red);border-radius:0;padding:24px;font-size:16px;line-height:1.8}dialog::backdrop{background:#0009}.dialog-close{float:right;font-size:24px;min-width:44px}dialog h2{font-size:26px;color:var(--red)}dialog details{font-size:14px}dialog summary{cursor:pointer;font-weight:800;min-height:44px}.dish-preview{display:block;position:relative;width:100%;padding:0;min-height:0;border:0;background:#fff}.dish-preview:active{background:#fff}.dish-preview::after{content:"タップで拡大";position:absolute;right:8px;bottom:8px;padding:3px 6px;background:#fff;font-size:13px;color:var(--ink-red);font-weight:900;pointer-events:none}.plate-dialog{max-width:660px;padding:16px;text-align:center}.plate-dialog h2{margin:0 48px 10px;font-size:24px}.plate-dialog .dialog-close{position:absolute;right:12px;top:12px;float:none;background:#fff;min-width:44px}.zoom-order{font-size:17px;color:var(--ink-red);font-weight:900;line-height:1.6;margin:12px 0}#dish-zoom-view{height:min(56svh,480px);display:flex;align-items:center;justify-content:center}#dish-zoom-view svg{width:100%;height:100%;max-width:500px}#zoom-summary{font-size:16px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}#zoom-status{font-size:14px;color:#555;margin:6px 0}
.added svg{animation:plate-add .22s ease-out}@keyframes plate-add{from{transform:scale(.96)}to{transform:scale(1)}}@keyframes staff-idle{50%{transform:translateY(-4px) rotate(1deg)}}@keyframes panic{50%{transform:translateX(3px) rotate(2deg)}}@keyframes menu-nudge{50%{transform:translateX(5px)}}@keyframes arisa-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes arisa-meal{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-6px)}}
@media(max-width:850px){.game-layout{display:block}.coach-panel{display:flex;align-items:center;text-align:left;border-bottom:1px dashed #999;padding-bottom:10px;margin-bottom:22px}.coach-panel .panel-title{display:none}.coach-panel img{width:70px;height:85px;margin:0 14px 0 0}.coach-panel p{flex:1;margin:8px 0;font-size:16px}.curry-choices{grid-template-columns:1fr}.curry-choices button{min-height:72px}.cooking-monitor{grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.title-screen{grid-template-columns:minmax(0,1fr) 180px}.entry-koala{width:180px;height:240px}}
@media(max-width:700px),(hover:none) and (max-width:1000px){.cooking-monitor{position:sticky;top:0;z-index:4;grid-template-columns:minmax(0,1fr) minmax(146px,43%);isolation:isolate}.cooking-monitor .order-card{padding:9px 8px 14px}.cooking-monitor .order-label{font-size:16px;margin:0 0 5px}.cooking-monitor .order-heading{font-size:13px;gap:4px}.cooking-monitor #timer{font-size:20px}.cooking-monitor h2{font-size:21px;line-height:1.35;margin:7px 0}.cooking-monitor .order-extras{font-size:14px;gap:3px 7px}.cooking-monitor .order-extras span{padding:2px 0;line-height:1.4}.cooking-monitor .order-extras .large-tag{padding:2px 5px}.cooking-monitor .order-sides{font-size:13px;gap:4px;margin-top:7px;padding-top:7px}.cooking-monitor .order-sides span{line-height:1.4}.cooking-monitor .counter-label{justify-content:center;padding:4px 6px;gap:5px;flex-wrap:nowrap}.cooking-monitor .counter-label strong{font-size:18px}.monitor-koala{display:block}.cooking-monitor #dish-status,.cooking-monitor .selected-summary{display:none}.cooking-monitor #dish{height:clamp(154px,44vw,240px)}.cooking-monitor .side-summary{display:flex;flex-direction:column;font-size:12px;gap:5px;line-height:1.5;padding:7px 6px}.cooking-monitor .time-track{height:5px}.game-layout{margin-top:16px}.ingredients{gap:22px}.ingredients legend{font-size:20px}.ingredients legend small{font-size:15px}.field-hint{font-size:16px}.curry-name{font-size:20px}.curry-choices small{font-size:13px;margin-top:2px}.toppings{grid-template-columns:repeat(3,minmax(0,1fr))}.actions{position:sticky;bottom:0;z-index:5;background:#fff;border-top:2px solid var(--red);padding:10px 0 calc(12px + env(safe-area-inset-bottom));margin:20px 0 0;grid-template-columns:110px minmax(0,1fr)}.game-footer{flex-wrap:wrap;justify-content:center;font-size:14px}.ranking-table th,.ranking-table td{padding:10px 5px}.dish-preview::after{font-size:12px;bottom:3px;right:3px}}
@media(max-width:700px){.game-shell{overflow:visible;padding-top:env(safe-area-inset-top)}.game-header{padding:16px 12px 6px;gap:8px;font-size:15px}.game-header img{width:44px;height:44px}.header-label{font-size:12px}.game-nav{padding:0 12px;gap:16px;font-size:13px}.game-nav>span{font-size:11px}main{padding:14px 12px}.intro{padding:12px 0 20px}.title-screen{display:block;padding:0 0 12px}.game-title{margin:0 -3px}.subtitle{font-size:17px;margin:6px 0}.title-challenge{font-size:20px;margin:12px 0 0}.entry-koala{display:block;width:160px;height:185px;margin:8px auto 0}.entry-brief{margin:18px 0 14px;font-size:15px}.entry-brief>b{font-size:19px}.entry-form{margin:16px auto 0}.entry-form label{font-size:17px}.entry-buttons .primary{font-size:22px;padding:13px 8px}.home-bottom{gap:10px}.home-bottom p{font-size:13px}.home-bottom img{width:70px;height:70px}.shift-bar{font-size:16px}#record-state{font-size:12px;max-width:100px}.stats>div{display:block;padding:8px}.stats span{font-size:13px}.stats strong{display:block;font-size:28px}.stats small{font-size:13px}.difficulty{font-size:15px}#level-steps span{width:18px}.basics{grid-template-columns:1fr;gap:22px}.side-choices{gap:12px}.side-group>b,.current-side{font-size:15px}.side-options{gap:6px}.ingredients .side-options button{font-size:20px;padding:8px 4px}.topping-tabs{gap:4px}.ingredients .topping-tabs button{font-size:15px;padding:8px 3px}.toppings button{font-size:16px;padding:10px 6px}.actions .primary{font-size:22px}.actions .reset{font-size:15px}.meal-scene{grid-template-columns:1fr;gap:10px;padding-top:0}.meal-character{width:min(100%,340px);margin:auto}.meal-scene img{height:auto;max-height:380px}.arisa-message{text-align:center;font-size:20px;padding:14px 8px}.result{padding:12px 0 20px}.result h1{font-size:30px}.real-store-note{padding-left:12px}.real-store-note h2{font-size:20px}.real-store-note p{font-size:16px}.result-score{gap:14px;font-size:16px}.result-score strong{font-size:44px}.ranking-heading h2{font-size:21px}.ranking-table{font-size:14px}.ranking-table th{font-size:13px}.site-footer span{display:block;margin:0}.site-footer{font-size:12px}}
@media(max-width:350px){.game-nav{gap:12px}.game-nav>span{font-size:10px}.header-label{font-size:11px}.game-header{font-size:14px}.cooking-monitor{grid-template-columns:minmax(0,1fr) minmax(136px,43%)}.cooking-monitor h2{font-size:20px}.cooking-monitor .order-heading{flex-wrap:wrap}.cooking-monitor #dish{height:148px}.cooking-monitor .order-sides{font-size:12px}.cooking-monitor .side-summary{font-size:12px}.meal-scene img{max-height:340px}.entry-buttons .primary{font-size:20px}.toppings{grid-template-columns:repeat(2,minmax(0,1fr))}.topping-tabs{flex-wrap:wrap}.topping-tabs button{flex:1 1 40%}}
@media(hover:none) and (min-width:701px) and (max-width:1000px){.cooking-monitor{grid-template-columns:minmax(0,1fr) minmax(260px,44%)}.cooking-monitor #dish{height:240px}.cooking-monitor h2{font-size:26px}.cooking-monitor .order-extras{font-size:17px}.cooking-monitor .order-sides,.cooking-monitor .side-summary{font-size:15px}}
@media(min-width:701px) and (max-width:850px){.meal-scene{grid-template-columns:320px minmax(0,1fr)}.meal-scene img{height:370px}}
@media(max-height:600px){.cooking-monitor,.actions{position:relative;top:auto;bottom:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Ver.0.12: pop arcade title, illustrated menu ornaments and record medals. */
.title-screen{display:block;padding:8px 0 16px}.title-copy{max-width:840px;margin:auto}.game-title img{width:100%;height:auto}.title-foods{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:1px;max-width:900px;margin:4px auto}.title-ingredient{display:block;transform:rotate(var(--tilt));pointer-events:none}.title-ingredient svg{display:block;width:100%;height:auto;overflow:visible}.title-cast{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:4px}.title-cast #title-plate{width:200px}.title-cast #title-plate svg{display:block;width:100%;height:auto}.title-cast .entry-koala{width:190px;height:205px;margin:0}.title-challenge{font-size:25px;line-height:1.6;margin:0;color:var(--ink-red)}.real-store-note{margin:12px 0 18px;padding:0;text-align:center;border:0;color:#555}.real-store-note h2{font-size:14px;line-height:1.7;color:#555;font-weight:600}.real-store-note p{font-size:13px;line-height:1.8;margin:4px 0}.ranking-panel{border-top:6px double var(--red);border-bottom:6px double var(--red);padding:22px 0 26px}.ranking-heading h2{font-size:28px;line-height:1.5;color:var(--red)}.ranking-heading h2 small{display:block;font-size:14px;letter-spacing:.08em;color:#555}.rank-1{--award:#ed1b24;--award-light:#ffe1e4}.rank-2{--award:#ed1b24;--award-light:#fff}.rank-3{--award:#ed1b24;--award-light:#fff3f4}.ranking-table tr.rank-1 td:first-child,.ranking-table tr.rank-2 td:first-child,.ranking-table tr.rank-3 td:first-child{font-size:20px;font-weight:900;border-left:5px solid var(--award)}.ranking-table .my-ranking td:nth-child(2)::after{content:' ←あなた';display:block;color:var(--ink-red);font-size:11px}
@media(max-width:700px){.title-screen{padding-top:0}.title-foods{margin:4px -2px;gap:0}.title-cast{gap:7px;margin-top:8px}.title-cast #title-plate{width:35%;max-width:155px}.title-cast .entry-koala{width:32%;max-width:155px;height:145px}.title-challenge{font-size:clamp(14px,4.1vw,20px);line-height:1.6}.real-store-note h2{font-size:13px}.real-store-note p{font-size:12px}.ranking-heading h2{font-size:22px}.ranking-heading h2 small{font-size:12px}}
/* Ver.0.13: deliberate phrase breaks, smaller staff meal sprite, unified awards. */
.title-challenge span{display:block;white-space:nowrap}.title-challenge{flex-shrink:0}.meal-scene{grid-template-columns:260px minmax(0,1fr);gap:24px}.meal-character{width:260px;margin:auto}.meal-scene img{height:300px}.arisa-message{font-size:20px}.arisa-message p{overflow-wrap:normal;word-break:normal}.meal-name{display:block;overflow-wrap:anywhere;margin-bottom:4px}.meal-line{display:block;white-space:nowrap}.real-store-note p span{display:inline-block;white-space:nowrap}.real-store-note h2{word-break:normal;overflow-wrap:normal;text-wrap:balance}.current-side{color:#176238}.current-side.is-omitted{color:#b61020}.ingredients .side-options button[data-included=true]{border-color:#248049;color:#176238;background:#f0fff4}.ingredients .side-options button[data-included=false]{border-color:#d52232;color:#a50e1d;background:#fff1f2}.ingredients .side-options button[data-included=true][aria-pressed=true]{background:#218047;border-color:#218047;color:white}.ingredients .side-options button[data-included=false][aria-pressed=true]{background:#d7192b;border-color:#d7192b;color:white}.side-order-included{color:#176238}.side-summary span:not(.is-omitted){color:#176238}.ranking-table tbody tr:nth-child(-n+3) td{background:var(--award-light);border-bottom:3px solid var(--award);font-weight:900;padding-top:12px;padding-bottom:12px}.ranking-table tbody tr:nth-child(-n+3) td:nth-child(2){font-size:21px}.ranking-table tbody tr:nth-child(-n+3) td:nth-child(3){font-size:25px;color:var(--ink-red)}.ranking-table .my-ranking td:nth-child(2){box-shadow:inset 4px 0 var(--red)}.ranking-table th:first-child{width:18%;text-align:center}.ranking-table td:first-child{text-align:center}.ranking-table th:nth-child(2){width:40%}.ranking-table th:nth-child(3){width:19%}.ranking-table th:nth-child(4){width:23%}.row-badge{display:block;width:58px;height:52px;margin:auto}.row-badge svg{width:100%;height:100%;display:block}.row-place{display:block;font-size:14px}.ranking-table tr.rank-1 td:first-child,.ranking-table tr.rank-2 td:first-child,.ranking-table tr.rank-3 td:first-child{border-left:0}
@media(max-width:700px){.title-cast{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'challenge challenge' 'plate koala';gap:2px 16px;max-width:360px;margin:12px auto 0}.title-challenge{grid-area:challenge;font-size:19px;margin-bottom:6px}.title-cast #title-plate{grid-area:plate;width:100%;max-width:150px;justify-self:end}.title-cast .entry-koala{grid-area:koala;width:100%;max-width:150px;height:150px;justify-self:start}.meal-scene{grid-template-columns:1fr;gap:12px}.meal-character{width:min(100%,220px)}.meal-scene img{height:auto;max-height:250px}.arisa-message{font-size:clamp(16px,4.8vw,20px);padding:12px 4px}.ranking-table tbody tr:nth-child(-n+3) td:nth-child(2){font-size:16px}.ranking-table tbody tr:nth-child(-n+3) td:nth-child(3){font-size:20px}.row-badge{width:42px;height:38px}.row-place{font-size:12px}.ranking-heading h2{font-size:clamp(18px,5vw,22px)}}
/* Ver.0.14: enjoy the completed plate before the next order. */
.served-screen{max-width:720px;margin:auto;text-align:center;padding:8px 0 24px}.served-screen h1{color:var(--red);font-size:30px;line-height:1.4;margin:10px 0}.served-score{font-size:18px;font-weight:800;margin:8px 0}.served-dish{width:min(100%,480px);margin:4px auto;line-height:0}.served-dish svg{display:block;width:100%;height:auto}.served-recipe{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:15px;font-weight:700;line-height:1.7;margin:8px 0 16px}.served-recipe span{display:block}.staff-comment{display:flex;align-items:center;gap:18px;text-align:left;padding:12px 0;margin:12px 0 22px;border-top:2px solid var(--red);border-bottom:2px solid var(--red)}.staff-comment img{width:100px;height:110px;object-fit:contain;flex-shrink:0}.staff-comment b{font-size:14px;color:var(--ink-red)}.staff-comment p{font-size:20px;font-weight:800;line-height:1.7;margin:5px 0;word-break:normal;overflow-wrap:normal;text-wrap:pretty}.served-screen>p[role=status]{color:var(--ink-red);font-size:15px}#served-next{max-width:560px}
@media(max-width:700px){.served-screen h1{font-size:25px}.served-dish{width:min(100%,360px)}.served-score{font-size:16px}.served-recipe{font-size:14px}.staff-comment{gap:10px;margin:12px 0 18px}.staff-comment img{width:74px;height:90px}.staff-comment p{font-size:17px}.served-screen .primary{font-size:22px}}

/* Ver.0.15: red-and-white rank bubbles and a two-line header promise. */
.header-label{line-height:1.5;text-align:right;flex-shrink:0}.header-label span{display:block;white-space:nowrap}.ranking-table .my-ranking td:nth-child(2){box-shadow:none;border-left:3px solid var(--red)}.ranking-table tbody tr:nth-child(-n+3) td:first-child{color:var(--ink-red)}

/* Ver.0.17: red start button with four rounded corners and straight text. */
.entry-buttons .start-button{min-height:72px;border-radius:18px;padding:18px 16px;font-size:25px;line-height:1.4;background:var(--red);color:#fff;box-shadow:none}
.entry-buttons .start-button:hover:not(:disabled){background:var(--red)}
.entry-buttons .start-button:active:not(:disabled){background:var(--red);transform:translateY(2px)}
@media(max-width:700px){.entry-buttons .start-button{font-size:22px;padding:18px 10px}}

/* Ver.0.18: keep the bright red while pressing, including touch hover. */
.entry-buttons .start-button{-webkit-tap-highlight-color:transparent;transition:transform .1s ease-out}
@media(prefers-reduced-motion:reduce){.entry-buttons .start-button{transition:none}.entry-buttons .start-button:active:not(:disabled){transform:none}}

/* Ver.0.19: the order and plate travel together on desktop. */
@media(min-width:701px){
 #game .cooking-monitor{position:sticky;top:0;z-index:4;isolation:isolate;background:#fff;max-height:min(60svh,calc(100svh - 180px));overflow:auto}
 #game .cooking-monitor #dish{height:clamp(150px,28svh,300px)}
 #game .cooking-monitor .selected-summary{padding:7px 12px;line-height:1.5}
 #game .cooking-monitor .side-summary{padding:7px 12px}
}
/* Keep very short desktop windows usable without covering the controls. */
@media(min-width:701px) and (max-height:450px){
 #game .cooking-monitor{position:relative;top:auto;max-height:none;overflow:visible}
 #game .cooking-monitor #dish{height:220px}
}

@media(display-mode:standalone){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.game-shell{padding-bottom:env(safe-area-inset-bottom)}}

/* Public ranking includes preparation time; challenge counts remain admin-only. */
#result .ranking-table th:first-child{width:18%}#result .ranking-table th:nth-child(2){width:40%}#result .ranking-table th:nth-child(3){width:20%}#result .ranking-table th:nth-child(4){width:22%}
#result .ranking-table td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:700px){#result .ranking-table th:first-child{width:16%}#result .ranking-table th:nth-child(2){width:38%}#result .ranking-table th:nth-child(3){width:22%}#result .ranking-table th:nth-child(4){width:24%}#result .ranking-table td:nth-child(4){font-size:13px}}
