*{box-sizing:border-box}body{margin:0;background:#f6f7f2;color:#24382d;font:15px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit;color:inherit}button{min-height:44px;border:1px solid #dae1d6;border-radius:10px;padding:9px 15px;background:#fff;cursor:pointer}button:hover{background:#ecf1e8}button:disabled{opacity:.5;cursor:default}a{color:inherit}input,select{border:1px solid #d6dfd2;border-radius:8px;padding:9px;background:#fff;min-width:0;width:100%;min-height:44px}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:#2c6045}input[type=range]{padding:0;border:0;background:transparent;accent-color:#2c6045;height:38px;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9abda5;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}header{max-width:1120px;margin:auto;padding:25px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe2d7}.brand{font-size:22px;font-weight:850;letter-spacing:-1px;text-decoration:none}.home{font-size:13px;text-decoration:none;color:#74836f}main{max-width:1020px;margin:auto;padding:0 24px}.intro{padding:45px 0 32px}.eyebrow{font:11px ui-monospace,monospace;letter-spacing:1.5px;color:#778c72}.intro h1{font-size:clamp(38px,7vw,64px);line-height:1.2;letter-spacing:-2.5px;margin:15px 0}.intro h1 span{color:#ce8751}.intro p{color:#74816e;font-size:16px}.local{font-size:12px;color:#52704d}.layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.settings,.result-section{border:1px solid #dce3d7;background:#fff;border-radius:20px;padding:28px}.settings h2,.result-heading h2{font-size:19px;letter-spacing:-.7px}.budget-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0 8px}.budget-heading output{font-size:27px;font-weight:750;letter-spacing:-1px}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:#87917f}.number-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:16px 0}.number-label span{display:flex;align-items:center;gap:8px}.number-label input{width:110px;padding:7px;text-align:right}.hint{font-size:12px;color:#7c8775;line-height:1.7}.settings h3{font-size:14px;margin:24px 0 10px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{font-size:12px;border-radius:99px;padding:7px 13px;min-height:40px}.chips button[aria-pressed=true],.tabs button[aria-pressed=true]{background:#eaf2e5;color:#315d3d;border-color:#97b68b;font-weight:650}details{margin-top:24px;border-top:1px solid #edf0e9;padding-top:15px}summary{cursor:pointer;font-size:13px;min-height:38px;padding:5px 0}summary span{float:right;color:#87917f;font-size:11px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.filters label{font-size:12px}.filters select,.filters input{margin-top:6px;font-size:13px}.animation{display:flex;align-items:center;gap:8px;margin-top:22px;font-size:12px;color:#77836d}.candidate{margin:19px 0 10px;font-size:12px;color:#617456}.primary{background:#2a5c42;color:#fff;border-color:#2a5c42;font-weight:650}.primary:hover{background:#1f4c34}#recommend{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:54px}.result-heading{border-bottom:1px solid #edf0e9;padding-bottom:14px;margin-bottom:20px}.result-heading h2{margin:6px 0 0}.placeholder,.empty{text-align:center;padding:55px 5px}.placeholder>span,.empty>span{font-size:65px;display:block;margin-bottom:20px}.placeholder h3,.empty h3{font-size:18px}.placeholder p,.empty p{color:#839079;font-size:13px}.food-top{display:flex;align-items:center;justify-content:space-between}.food-emoji{font-size:62px;line-height:1.4}.badge{border:1px solid #dbe4d6;padding:4px 12px;border-radius:99px;font-size:11px;color:#6e8362}.result h3{font-size:30px;line-height:1.25;letter-spacing:-1px;margin:18px 0 10px;overflow-wrap:anywhere}#food-description{font-size:13px;color:#809076}.price-block{padding:20px;background:#f2f5ed;border-radius:14px;margin:24px 0 8px}.price-block>span{display:block;font-size:11px;color:#7c9070}.price-block strong{font-size:29px;letter-spacing:-1px}.price-block p{font-size:12px;margin:6px 0 0;color:#677b5d}.price-warning{color:#9b6b38;font-size:12px;background:#fff6e8;border-radius:8px;padding:12px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:11px;background:#f3f5f0;border-radius:5px;padding:3px 8px}#food-spice{font-size:12px;margin:12px 0;color:#748767}.reason{border-left:3px solid #94b284;padding:8px 0 8px 14px;margin:20px 0}.reason b{font-size:12px}.reason p{font-size:13px;margin:6px 0 0;line-height:1.8}.ingredients p{font-size:12px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.result-actions button{font-size:12px;padding:9px 8px}.result-actions .primary{grid-column:1/-1}.text-button{background:transparent;border:0;color:#85917a;font-size:12px;text-decoration:underline;padding:6px 0}.collection{margin:35px 0;border:1px solid #dce3d7;background:#fff;border-radius:20px;padding:24px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.collection h2{font-size:18px;margin-bottom:10px}.tabs{display:flex;flex-wrap:wrap;gap:7px}.tabs button{font-size:12px}.tabs span{margin-left:5px}.search-label{display:block;font-size:12px;margin:20px 0 10px}.search-label input{margin-top:6px}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-row{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e5eadf;border-radius:10px;min-width:0}.menu-row .menu-info{flex:1;min-width:0}.menu-row b{font-size:12px;display:block;overflow-wrap:anywhere}.menu-row small{font-size:10px;color:#88927e;display:block}.menu-row button{padding:6px;font-size:11px;flex-shrink:0}.menu-row.excluded{background:#f7f5f1}.menu-row>span{font-size:24px}#more,#clear-excluded{margin:15px 5px 0 0;font-size:12px}footer{border-top:1px solid #dce3d7;padding:22px 0 35px;font-size:11px;color:#839079}footer p{margin:5px 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#24382d;color:#fff;border-radius:10px;padding:11px 18px;max-width:calc(100vw - 24px);width:max-content;font-size:13px;opacity:0;pointer-events:none;z-index:10}.toast.visible{opacity:1}.pop{animation:pop .32s ease-out}@keyframes pop{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pop{animation:none}}@media(max-width:700px){header{padding:20px}.brand{font-size:19px}main{padding:0 16px}.intro{padding:32px 4px 25px}.intro h1{font-size:43px}.intro p{font-size:14px}.layout{grid-template-columns:1fr;gap:18px}.settings,.result-section{padding:22px;border-radius:16px}.placeholder{padding:25px 5px}.menu-list{grid-template-columns:1fr}.collection{padding:20px 16px;border-radius:16px}.collection-heading{align-items:flex-start}.collection-heading .text-button{max-width:130px;text-align:right}.result h3{font-size:29px}.result-actions button{min-height:46px}.food-emoji{font-size:54px}.filters{gap:12px 8px}}
.roulette{position:relative;overflow:hidden;height:172px;border:1px solid #dce3d7;border-radius:14px;background:#f2f5ed;margin:20px 0 8px;isolation:isolate}.roulette-track{display:flex;width:max-content;height:100%;align-items:center;will-change:transform}.roulette-card{flex:0 0 140px;width:140px;height:136px;margin:0 4px;padding:14px 8px;border:1px solid #dce3d7;border-radius:12px;background:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:9px}.roulette-card span{font-size:39px;line-height:1.2}.roulette-card b{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.roulette-card.winner{background:#e6f0df;border-color:#719460;box-shadow:inset 0 0 0 1px #719460}.roulette-marker{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#c87935;z-index:2;pointer-events:none}.roulette-marker:before,.roulette-marker:after{content:'';position:absolute;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent}.roulette-marker:before{top:0;border-top:11px solid #c87935}.roulette-marker:after{bottom:0;border-bottom:11px solid #c87935}.roulette:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f2f5ed 0%,transparent 12%,transparent 88%,#f2f5ed 100%)}
.result-section{min-width:0}#roulette-status:empty{display:none}
