@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--paper:#f5f1e8;--ink:#283d35;--muted:#8b9286;--green:#50745b;--coral:#cf664b;--line:#deded0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:13px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ec9a50;outline-offset:4px}button:disabled{opacity:.4;cursor:default}button{touch-action:none}a{color:inherit;text-decoration:none}.app{max-width:1512px;margin:auto;padding:0 44px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:46px;height:46px;border-radius:14px;background:var(--coral);color:white;font-size:34px;display:grid;place-items:center;padding-bottom:5px}.brand b{font-family:Georgia,serif;font-size:25px;letter-spacing:-1px;line-height:1.05}.brand i{font-size:20px}.brand-dot{color:var(--coral)}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:7px;font-weight:600}.header-caption{font-size:12px;letter-spacing:2px;color:#8c9184}.header-actions{display:flex;align-items:center;gap:15px}.prototype{font-size:11px;display:flex;align-items:center;gap:7px}.prototype i,.live-dot{width:6px;height:6px;border-radius:50%;background:#6d9475;display:inline-block}.icon-button{width:34px;height:34px;border:1px solid #deded1;border-radius:50%;background:transparent;font-size:17px;display:flex;justify-content:center;align-items:center;gap:2px}.icon-button span{font-size:7px}.page-heading{display:flex;align-items:center;justify-content:space-between;padding:34px 0 25px}.eyebrow,.small-label{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#8b9484}.eyebrow{color:#a07c5d;font-size:9px;letter-spacing:2.2px}h1{font-size:27px;letter-spacing:1px;margin:8px 0 0;font-weight:700}.level-badge{display:flex;align-items:center;gap:12px;font-size:11px;background:#ecebdd;border:1px solid #e0e1d2;padding:9px 14px;border-radius:7px}.level-badge>span{color:#789172;border-right:1px solid #ccd1bd;padding-right:12px;font-size:15px;font-family:Georgia,serif}.level-badge i{font-size:8px;color:#869c73;letter-spacing:3px;font-style:normal}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 254px;gap:25px}.play-column{min-width:0}.dashboard{display:flex;gap:14px;align-items:center;background:#fffcf6;padding:15px 16px;border:1px solid var(--line);border-radius:12px 12px 0 0;height:103px}.orders-title{min-width:80px}.orders-title>b{display:block;margin-top:6px;font-size:13px}.orders-title>b>span{display:inline-grid;place-items:center;border-radius:50%;background:#e9ecdf;color:#667b5c;font-size:10px;width:18px;height:18px;margin-left:3px}.orders{display:flex;gap:8px;flex:1;min-width:0}.order{background:#f9f7ee;min-width:0;width:105px;padding:7px 9px 9px;border:1px solid #e7e4d7;border-radius:7px;position:relative;overflow:hidden}.order-top{display:flex;align-items:center;gap:6px}.order-icon{font-size:25px}.order-text{font-size:10px;font-weight:700;white-space:nowrap}.order-number{display:block;font-size:8px;color:#9b9e8c;font-weight:400;letter-spacing:.7px}.order-bar{height:3px;background:#dfe4d6;border-radius:3px;margin-top:6px}.order-bar i{height:100%;display:block;background:#89a47b;border-radius:3px;transition:width .2s linear}.order.urgent .order-bar i{background:#d47750}.stats{display:flex;gap:20px;align-items:center;border-left:1px solid #e7e5da;padding-left:16px}.stats>div{text-align:center}.stats strong{display:block;font-size:24px;font-family:Georgia,serif;font-weight:500;letter-spacing:1px;margin-top:4px;line-height:1.1}.stats .timer strong{color:var(--coral)}.pause{background:#eeeede;border:none;width:29px;height:32px;border-radius:6px;font-weight:800;font-size:16px}.kitchen-frame{position:relative;background:#dce1cc;aspect-ratio:960/560;overflow:hidden;isolation:isolate;border:1px solid #b3bca1;border-top:0;border-radius:0 0 12px 12px}canvas{width:100%;height:100%;display:block}.scene-tag{position:absolute;left:20px;top:15px;font-size:8px;color:#5a7257;letter-spacing:1.5px;display:flex;gap:7px;align-items:center;font-weight:700}.under-board{display:flex;justify-content:space-between;align-items:center;color:#929888;font-size:9px;padding:15px 1px;gap:10px}.under-board>span:first-child{display:flex;align-items:center;gap:6px;white-space:nowrap;letter-spacing:.7px}.under-board b{font-weight:500;font-size:10px;margin-right:10px;letter-spacing:0;color:#6e7c6c}.player-dot,.cpu-dot{width:8px;height:8px;background:#cb6b50;border-radius:50%;display:inline-block}.cpu-dot{background:#5c8992}kbd{font-size:8px;border:1px solid #dadfce;padding:3px 4px;border-radius:4px;margin:0 4px 0 8px;font-family:inherit;background:#faf8f0}.touch-hint{display:none}.sidebar{display:flex;flex-direction:column;gap:24px}.buddy-card{border:1px solid #d5ddc9;background:#eaf0e2;padding:20px;border-radius:12px}.section-top{display:flex;align-items:center;justify-content:space-between}.auto-badge{font-size:8px;letter-spacing:1px;background:#d6e2cd;color:#5d7d58;padding:4px 6px;border-radius:4px}.buddy-intro{display:flex;gap:12px;align-items:center;margin:18px 0 15px}.buddy-avatar{background:#d0ded0;border:3px solid #f4f7ec;width:51px;height:51px;display:grid;place-items:center;border-radius:50%;font-size:32px}.buddy-intro h2{margin:0 0 5px;font-size:14px}.buddy-intro p{margin:0;font-size:9px;color:#7b8b70}.buddy-intro .live-dot{width:5px;height:5px;margin-right:3px}.buddy-speech{position:relative;background:#fbfdf5;border-radius:7px;padding:12px 10px;font-size:11px;text-align:center;min-height:40px}.buddy-speech:before{content:'';position:absolute;top:-5px;left:22px;border-bottom:6px solid #fbfdf5;border-left:6px solid transparent;border-right:6px solid transparent}.buddy-note{font-size:10px;line-height:1.9;color:#7c8971;margin:12px 0 0}.recipe-section .section-top{margin-bottom:12px}.section-top h2{font-size:13px;margin:0}.section-top>span:last-child:not(.auto-badge){font-size:8px;color:#a0a58f;letter-spacing:1px}.recipe-card{background:#fbf9f1;border:1px solid #e0e0d0;border-radius:10px;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:7px;padding:15px;margin-bottom:10px}.dish-art{font-size:33px;display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#e6edd7}.soup-art{background:#f5e5cf}.recipe-card h3{font-size:12px;margin:0 0 5px}.recipe-time{font-size:7px;letter-spacing:1px;color:#a0a38b}.recipe-flow{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #dddfcd;padding-top:11px;margin-top:5px;font-size:9px;color:#7e8971}.recipe-flow i{font-style:normal;color:#bdc0ae;font-size:10px}.tip{display:flex;gap:12px;background:#eee9d8;padding:16px;border-radius:9px;margin-top:-12px}.tip>span{color:#b89b59;font-size:20px}.tip b{font-size:11px;font-weight:600}.tip p{font-size:10px;color:#97917a;line-height:1.9;margin:5px 0 0}footer{display:flex;justify-content:space-between;margin:22px 0;border-top:1px solid var(--line);padding:19px 0;color:#a0a38f;font-size:9px;letter-spacing:1px}footer>span:first-child{font-size:8px;letter-spacing:1.8px}.footer-flower{font-size:17px;color:#889774;vertical-align:middle;margin-left:12px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#263e352b;backdrop-filter:blur(2px);z-index:5}.overlay.hidden{display:none}.start-card{width:380px;max-width:90%;background:#fffcf3;border:1px solid #f7f6e7;box-shadow:0 18px 70px #233f3333;border-radius:18px;text-align:center;padding:25px 28px}.card-illustration{font-size:38px;line-height:1.2;letter-spacing:7px}.start-card .eyebrow{display:block;margin:11px 0 8px;font-size:8px}.start-card h2{font-size:22px;margin:0 0 10px;letter-spacing:1px}.start-card p{font-size:11px;color:#8a907c;line-height:1.9;margin:8px 0 17px}.start-card .instruction{font-size:10px;display:flex;justify-content:center;gap:15px;color:#6f7f68;margin:16px 0}.primary{border:0;border-radius:8px;background:var(--coral);color:#fffdf5;font-weight:700;padding:13px 20px;width:100%;box-shadow:0 3px 0 #a34c35;font-size:13px;letter-spacing:1px;transition:transform .1s}.primary:active{transform:translateY(2px);box-shadow:0 1px 0 #a34c35}.sub-button{background:none;border:0;font-size:10px;color:#8f987f;padding:12px 10px 0}.toast{position:absolute;left:50%;top:65px;transform:translateX(-50%);background:#284b3de8;color:white;font-size:12px;padding:10px 18px;border-radius:30px;opacity:0;transition:opacity .2s;white-space:nowrap;pointer-events:none;z-index:4}.toast.visible{opacity:1}.mobile-controls{position:absolute;inset:0;pointer-events:none;z-index:3}.joystick{display:none;position:absolute;left:22px;bottom:18px;width:100px;height:100px;pointer-events:auto;touch-action:none;align-items:center;justify-content:center}.joystick-ring{position:absolute;inset:0;border:2px solid #f6f7edb3;background:#ffffff26;border-radius:50%;box-shadow:0 3px 10px #31523d12}.joystick #stick{width:44px;height:44px;background:#fffdf0d9;border:2px solid white;border-radius:50%;box-shadow:0 3px 5px #243e3526;position:absolute}.joystick b{position:absolute;bottom:-15px;color:#57724c;font-size:8px}.action-controls{position:absolute;bottom:16px;right:20px;display:flex;align-items:center;gap:10px;pointer-events:none}.action{width:70px;height:70px;border-radius:50%;border:2px solid #fff8e8;background:#cf7152;box-shadow:0 4px 0 #a0523e,0 5px 12px #24463520;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;user-select:none;-webkit-user-select:none}.action.work{background:#698668;box-shadow:0 4px 0 #456544,0 5px 12px #24463520}.action:active,.action.pressed{transform:translateY(3px);box-shadow:0 1px 0 #456544}.action>span{font-size:21px;line-height:1}.action>b{font-size:10px;margin-top:3px}.action>small{font-size:7px;opacity:.65;margin-top:2px}.target-label{position:absolute;right:0;top:-25px;width:200px;text-align:right;color:#4e664a;font-size:10px;pointer-events:none}.rotate-hint{display:none}.results{display:flex;gap:20px;justify-content:center;margin:15px 0 20px}.results b{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400}.results span{font-size:10px;color:#969b88}.score-big{font-family:Georgia,serif;font-size:45px;color:var(--coral);line-height:1.2}.star-row{color:#ceaa58;font-size:22px;letter-spacing:8px;margin:7px}.help-list{font-size:11px;color:#68785f;text-align:left;line-height:1.8;margin:14px 0}.help-list b{color:#334b3b}
@media(min-width:1500px){.app{padding:0 60px}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:28px}.dashboard{height:110px}.order{width:114px}}
@media(max-width:1150px){.app{padding:0 25px}.sidebar{width:214px;gap:18px}.game-layout{grid-template-columns:minmax(0,1fr) 214px;gap:17px}.dashboard{gap:8px;padding:12px 10px}.orders-title{min-width:66px}.orders-title .small-label{font-size:7px}.stats{gap:12px;padding-left:10px}.stats strong{font-size:21px}.order{padding:6px;width:85px}.order-icon{font-size:20px}.order-text{font-size:9px}.keyboard-hint{display:none}.start-card{padding:20px 24px}.buddy-card{padding:16px}.recipe-card{padding:12px}.scene-tag{font-size:7px;top:11px}}
@media(pointer:coarse){body{overscroll-behavior:none;user-select:none;-webkit-user-select:none}.joystick{display:flex}.keyboard-hint{display:none}.touch-hint{display:block}.action>small{display:none}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:650px){.app{padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));max-width:1100px}.header{height:43px;border:0}.brand-icon{height:29px;width:29px;border-radius:8px;font-size:24px}.brand{gap:8px}.brand b{font-size:19px}.brand i{font-size:14px}.brand small{display:none}.header-caption{font-size:9px}.header-actions{gap:9px}.icon-button{width:27px;height:27px;font-size:13px}.prototype{font-size:9px}.page-heading,.sidebar,footer,.under-board{display:none}.game-layout{display:block}.dashboard{height:63px;padding:6px 12px;border-radius:9px 9px 0 0}.orders-title{min-width:68px}.orders-title>b{font-size:11px;margin-top:4px}.orders-title .small-label{font-size:7px}.orders{gap:6px}.order{width:95px;padding:3px 6px 5px}.order-top{gap:5px}.order-icon{font-size:21px}.order-text{font-size:9px}.order-number{font-size:7px}.order-bar{margin-top:2px}.stats{gap:15px}.stats strong{font-size:22px}.small-label{font-size:7px}.kitchen-frame{height:calc(100dvh - 113px);min-height:210px;aspect-ratio:auto;border-radius:0 0 9px 9px}canvas{object-fit:contain}.scene-tag{top:8px;left:11px;font-size:6px}.joystick{width:80px;height:80px;left:18px;bottom:24px}.joystick #stick{width:36px;height:36px}.action-controls{right:15px;bottom:20px;gap:9px}.action{width:57px;height:57px}.action>span{font-size:18px}.action>b{font-size:8px}.target-label{font-size:8px;top:-18px}.start-card{padding:14px 24px;width:355px;border-radius:12px}.card-illustration{font-size:24px}.start-card .eyebrow{font-size:7px;margin:7px 0 5px}.start-card h2{font-size:18px;margin-bottom:5px}.start-card p{font-size:10px;line-height:1.6;margin:6px 0 10px}.start-card .instruction{font-size:9px;margin:9px 0}.primary{padding:10px 15px;font-size:11px}.sub-button{font-size:9px;padding-top:8px}.help-list{font-size:10px;margin:7px 0;line-height:1.6}.score-big{font-size:30px}.results{margin:7px 0 12px}.results b{font-size:22px}.star-row{font-size:16px;margin:4px}.toast{top:35px;font-size:10px;padding:7px 13px}}
@media(max-width:700px) and (orientation:portrait){.rotate-hint{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper);text-align:center}.rotate-hint>span{color:var(--coral);font-size:80px}.rotate-hint h2{font-size:22px}.rotate-hint p{font-size:13px;line-height:2;color:#8a927e}.rotate-hint small{letter-spacing:4px;margin-top:40px;color:#768469}.app{visibility:hidden}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Input surfaces own their gestures; long presses never start selection or dragging. */
.mobile-controls,.action,.joystick,canvas{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.team-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;margin:13px 0 16px;color:#64775e}.team-picker select{font:inherit;color:#334b3b;background:#edf0e2;border:1px solid #c8d2bc;border-radius:6px;padding:7px 5px;min-height:34px}.team-member{display:flex;align-items:center;gap:6px;text-align:left;margin:6px 0;font-size:10px}.team-member i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.team-member b{min-width:25px;font-size:10px}.team-member span{font-size:9px;line-height:1.6;color:#718268}.buddy-speech{padding:7px 9px}.order-ingredients{font-size:9px;color:#667653;margin-top:3px;white-space:nowrap}.recipe-time{font-size:10px;color:#64775e;letter-spacing:0}.start-card{max-height:96%;overflow:auto}.team-picker select:focus-visible{outline:2px solid #cf664b;outline-offset:2px}
@media(max-width:1000px) and (orientation:landscape) and (max-height:650px){.team-picker{margin:7px 0 10px;font-size:9px}.team-picker select{min-height:28px;padding:4px}.order-ingredients{font-size:8px;margin-top:1px}.order{padding:2px 5px 3px}.order-icon{font-size:18px}.order-number{font-size:6px}.order-bar{margin-top:2px}.dashboard{height:68px}.kitchen-frame{height:calc(100dvh - 118px)}}

.start-card{touch-action:pan-y;overscroll-behavior:contain}
.recipe-book-button{border:1px solid #ced5bf;background:#e8eddd;border-radius:7px;font-size:11px;padding:8px 12px;white-space:nowrap}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.menu-option{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;padding:10px 3px;background:#fbf9f1;border:1px solid #dedfcf;border-radius:8px}.menu-option>span{font-size:25px}.menu-option.selected,.book-tab.selected{border-color:#b48053;background:#f4e8ce;color:#785031}.selected-recipe{background:#ecefdc;border-radius:8px;padding:13px;margin-top:12px}.selected-recipe>b{display:block;font-size:13px;margin-bottom:12px}.selected-recipe .small-label{font-size:9px;letter-spacing:.5px}.selected-recipe p{font-size:11px;line-height:1.8;margin:5px 0 12px}.selected-recipe p:last-child{margin-bottom:0}.book-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:12px 0}.book-tab{font-size:10px;padding:8px 4px;background:#f0f2e7;border:1px solid #d9dfca;border-radius:6px}.book-ingredients{text-align:left;background:#edf0df;padding:10px 12px;border-radius:7px;font-size:11px}.book-ingredients p{margin:4px 0!important;color:#536a48!important;font-size:11px!important}.book-steps{text-align:left;margin:15px 0;padding-left:24px;font-size:11px;line-height:1.9;color:#5d7255}.book-steps li{margin-bottom:8px}.book-note{font-size:9px!important;margin:8px 0!important}.order{width:129px;text-align:left;flex-shrink:1;min-width:90px}.order.selected{border-color:#bd8a56;box-shadow:inset 0 0 0 1px #bd8a56}.order-ingredients{white-space:normal;line-height:1.4;min-height:25px;font-size:9px}.order-text{font-size:10px}.order-number{font-size:8px}.orders-title{min-width:70px}.stats{gap:14px}.dashboard{gap:10px}.target-label{width:260px;font-size:10px;background:#f7f5e5df;border-radius:5px;padding:3px 5px;line-height:1.5;top:auto;bottom:calc(100% + 6px);text-align:center}.target-label:empty{display:none}
@media(max-width:1150px){.stats{gap:8px}.stats strong{font-size:20px}.order{min-width:76px;width:115px}.order-text{font-size:8px}.order-ingredients{font-size:8px}.order-icon{font-size:18px}.orders-title{min-width:53px}.dashboard{gap:6px}.order-top{gap:3px}.recipe-book-button{padding:6px 8px;font-size:10px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:650px){.dashboard{height:81px}.kitchen-frame{height:calc(100dvh - 131px)}.orders-title{min-width:65px}.order{width:115px;min-width:95px;padding:3px 5px}.order-ingredients{font-size:8px;min-height:21px}.order-text{font-size:8px}.order-number{font-size:7px}.order-icon{font-size:17px}.stats{gap:12px}.target-label{width:190px;font-size:8px}.book-tabs{margin:8px 0}.book-tab{padding:7px 4px;font-size:10px}.book-steps{font-size:10px;line-height:1.8}.header-caption{display:none}}
.recipe-notebook{width:660px;display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px 18px;padding:20px}.recipe-notebook>.eyebrow,.recipe-notebook>h2,.recipe-notebook>.primary{grid-column:1/-1}.recipe-notebook>.eyebrow{margin:0}.recipe-notebook>h2{margin:0}.recipe-notebook .book-tabs{grid-column:1;grid-row:3/6;display:flex;flex-direction:column;gap:7px;margin:0}.recipe-notebook .book-tab{flex:1;padding:9px 5px;text-align:left}.recipe-notebook .book-ingredients,.recipe-notebook .book-steps,.recipe-notebook .book-note{grid-column:2}.recipe-notebook .book-steps{margin:0;padding-left:19px;line-height:1.7}.recipe-notebook .book-steps li{margin-bottom:6px}.recipe-notebook .book-note{margin:0!important}
@media(max-width:1000px) and (orientation:landscape) and (max-height:650px){.overlay.book-mode{position:fixed;inset:0;z-index:100;padding:8px max(12px,env(safe-area-inset-right))}.recipe-notebook{width:660px;max-width:96%;max-height:100%;grid-template-columns:165px minmax(0,1fr);padding:14px 18px;gap:7px 14px}.recipe-notebook>h2{font-size:17px}.recipe-notebook .book-tab{padding:7px 4px;font-size:10px}.recipe-notebook .book-steps{font-size:11px}.recipe-notebook .primary{padding:9px}.recipe-notebook .book-ingredients{padding:7px 10px}}
