*{box-sizing:border-box}
:root{--bg:#fff8f1;--card:#fff;--ink:#2a211c;--muted:#77685f;--line:#eaded5;--accent:#ff7847;--accent2:#fff0e8;--good:#1f8a5b;--warn:#a76a00;--bad:#ba3535}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;background:var(--bg);color:var(--ink)}
button{font:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}
.header{position:sticky;top:0;z-index:50;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:rgba(255,248,241,.95);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-weight:900;font-size:21px}.mark{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:var(--ink);color:#fff}.topBtns{display:flex;gap:7px}.topBtn{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 10px}
.wrap{width:min(1180px,100%);margin:auto;padding:18px 13px 50px}.hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.hero h1{margin:0;font-size:clamp(27px,5vw,40px);letter-spacing:-1.4px}.hero p{margin:6px 0 0;color:var(--muted);line-height:1.55}.score{white-space:nowrap;border:1px solid var(--line);border-radius:15px;background:#fff;padding:10px 13px;font-weight:850}
.layout{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:900px){.layout{grid-template-columns:260px 1fr 300px}}
.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:14px;min-width:0}.panel h2{font-size:17px;margin:0 0 10px}.sub{font-size:12px;color:var(--muted);line-height:1.5}
.inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}@media(min-width:900px){.inventory{grid-template-columns:1fr}}
.ing{min-height:48px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 9px;text-align:left;display:flex;align-items:center;gap:8px}.emoji{font-size:21px}.ingName{font-size:13px;font-weight:750}
.kitchen{min-height:440px;background:linear-gradient(#fbf8f6,#f5efeb);border:1px dashed #dccdc4;border-radius:18px;padding:12px}.counterTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.counterTitle b{font-size:14px}.hint{font-size:12px;color:var(--muted)}
.items{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;min-height:135px}.food{position:relative;border:2px solid transparent;background:#fff;border-radius:13px;padding:9px 10px;min-width:110px;max-width:190px;text-align:left}.food.selected{border-color:var(--accent);background:var(--accent2)}.food .name{font-weight:850;font-size:13px}.food .state{font-size:11px;color:var(--muted);margin-top:3px}.food .components{font-size:10px;color:#8f8179;margin-top:4px;line-height:1.35}.heat{height:4px;border-radius:9px;background:#eee;margin-top:6px;overflow:hidden}.heat i{display:block;height:100%;background:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.action{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;font-weight:750}.action.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.stationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.station{border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px;min-height:105px}.station h3{font-size:14px;margin:0 0 6px}.station .inside{font-size:12px;color:var(--muted);min-height:34px}.stationBtns{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.mini{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 7px;font-size:12px}.mini.go{background:var(--good);color:#fff;border-color:var(--good)}
.log{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:13px;padding:9px;background:#fcfaf9}.logLine{font-size:12px;line-height:1.5;padding:4px 0;border-bottom:1px solid #f0e9e4}.logLine:last-child{border:0}
.plate{border:2px solid #e8ddd5;border-radius:50%;width:min(240px,85%);aspect-ratio:1;margin:8px auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;gap:4px;padding:25px;background:radial-gradient(circle,#fff 60%,#faf6f3 61%)}.plate span{font-size:26px}
.result{padding:11px;border-radius:13px;background:#f6f3f1;font-size:13px;line-height:1.6;margin-top:9px}.result.good{background:#eef9f3;color:#176d49}.result.warn{background:#fff6df;color:#7d5800}.result.bad{background:#fff0f0;color:#8b2828}.notice{margin-top:10px;padding:10px 11px;border-radius:12px;background:#fff7de;border:1px solid #eedb99;color:#6f5600;font-size:12px;line-height:1.5}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;align-items:center;justify-content:center;padding:16px;z-index:90}.modal.show{display:flex}.modalCard{width:min(540px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:20px;padding:18px}.modalCard h2{margin:0 0 8px}.modalCard h3{font-size:15px;margin:16px 0 6px}.manualStep{padding:10px 11px;border:1px solid var(--line);border-radius:12px;margin:7px 0;background:#fcfaf9}.manualStep b{display:block;margin-bottom:4px}.modalBtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.big{border:0;border-radius:12px;padding:10px 12px;background:var(--accent);color:#fff;font-weight:800}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
@media(max-width:520px){.hero{display:block}.score{display:inline-block;margin-top:10px}.stationGrid{grid-template-columns:1fr}.inventory{grid-template-columns:repeat(2,minmax(0,1fr))}}
#ingredientSearch{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:11px}.inventory{max-height:65vh;overflow:auto}.tutorialBar{background:#fff0e8;border:1px solid var(--accent);border-radius:14px;padding:14px;margin-bottom:14px}.tutorialBar[hidden]{display:none}.tutorialTarget{outline:3px solid var(--accent);outline-offset:4px}.tutorialBar p{line-height:1.6;margin:8px 0}.topBtns{flex-wrap:wrap}@media(max-width:600px){.header{height:auto;min-height:62px;gap:8px;padding:10px;flex-wrap:wrap}.topBtn{font-size:12px}}

/* Explicit selection indication independent of premium theme colors. */
.food{outline-offset:2px}.food.selected{border:3px solid #165ce7!important;outline:2px solid #ffe082!important;background:#deedff!important;color:#142341!important;box-shadow:0 0 0 2px #152c58,0 4px 11px #0003!important;padding:8px 9px}.food.selected::after{content:"✓";position:absolute;top:-9px;right:-7px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:2px solid #fff;background:#1751c9;color:#fff;font:900 15px system-ui;z-index:2}.food.selected .name,.food.selected .state,.food.selected .components{color:#142341!important}body[data-fw-global-theme] .food:not(.selected){background:#fff!important;color:#202337!important}body[data-fw-global-theme] .food.selected{background:#deedff!important;color:#142341!important}body[data-fw-global-theme] .food.selected :is(span,small,strong,b){color:#142341!important}
