:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#302f29;background:#faf7f2;font-synthesis:none;--bg:#faf7f2;--card:#fffdf9;--ink:#302f29;--muted:#89867b;--border:#e8e3d9;--accent:#b84d2e;--soft:#f3ede3;--shadow:0 12px 40px #66523a06;color-scheme:light}*{box-sizing:border-box}body{margin:0}html[data-theme=dark]{--bg:#1c201e;--card:#242925;--ink:#f1ecdf;--muted:#a6ab9e;--border:#3b413a;--accent:#f59b70;--soft:#303730;--shadow:none;color:var(--ink);background:var(--bg);color-scheme:dark}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;transition:background .2s,transform .2s;color:inherit}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}header,main,footer{max-width:1160px;margin:auto}header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{font-size:29px;font-weight:800;letter-spacing:-1.8px;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:8px}.brand-icon{color:var(--accent);font-size:40px;font-weight:400}.brand-dot{color:var(--accent);margin-left:-8px}.header-right{display:flex;align-items:center;gap:28px}.tiny,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px}.tiny{color:var(--muted)}.icon-button{border:1px solid var(--border);background:var(--card);width:40px;height:40px;border-radius:50%;font-size:23px}.intro{padding:56px 0 38px;position:relative}.eyebrow{color:var(--muted)}.intro .eyebrow{color:var(--accent);display:flex;align-items:center;gap:8px}.intro .eyebrow span{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:76px;line-height:1.08;letter-spacing:-3px;font-weight:650;margin:22px 0}h1 br{display:none}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro p{color:var(--muted);font-size:15px;line-height:1.8;position:absolute;right:0;bottom:51px;margin:0}h2,p{margin:0}h2{font-size:19px;letter-spacing:-.5px}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px}.spin-panel,.side-card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.spin-panel{padding:25px}.panel-top,.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.count{font-size:11px;color:var(--muted)}.wheel-area{position:relative;width:344px;height:344px;margin:32px auto 25px}.wheel{width:100%;height:100%;border-radius:50%;position:relative;border:9px solid var(--card);outline:1px solid var(--border);box-shadow:0 8px 0 var(--soft),0 15px 35px #342b2310;transition:transform 4.2s cubic-bezier(.12,.64,.13,1);overflow:hidden}.wheel-label{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--angle))}.wheel-label span,.wheel-label b{position:absolute;transform:translate(-50%,-50%) rotate(90deg);color:#3d3c31;white-space:nowrap}.wheel-label span{top:-129px;font-size:23px}.wheel-label b{top:-89px;font-size:10px;font-weight:650}.pointer{position:absolute;z-index:3;top:-11px;left:calc(50% - 13px);width:26px;height:35px;background:var(--accent);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 2px 2px #0003)}.hub{position:absolute;left:calc(50% - 31px);top:calc(50% - 31px);width:62px;height:62px;background:#fffaf0;border:6px solid #ffffffa8;border-radius:50%;display:grid;place-items:center;font-size:28px;box-shadow:0 2px 12px #0002}.empty-wheel{position:absolute;inset:80px 0 auto;text-align:center;color:#49473d;font-size:14px}.spin-actions{display:flex;align-items:center;flex-direction:column;gap:12px}.primary{background:var(--accent);border:0;color:var(--card);border-radius:12px;padding:16px 30px;font-size:16px;font-weight:650;min-width:270px}.primary:hover:not(:disabled){filter:brightness(1.07)}.hint{font-size:11px;color:var(--muted)}.result{display:flex;align-items:center;gap:15px;border-top:1px dashed var(--border);margin-top:26px;padding-top:23px;min-height:95px}.result-emoji{font-size:32px;flex-shrink:0}.result h2{font-size:18px}.result small{font-size:9px;letter-spacing:1px;color:var(--accent);display:block;margin-bottom:6px}.result p{font-size:12px;color:var(--muted);margin-top:5px}.small-primary{margin-left:auto;background:var(--soft);border:1px solid var(--border);border-radius:9px;padding:11px;font-size:12px;white-space:nowrap;color:var(--accent)}.text-button{background:none;border:0;color:var(--accent);font-size:12px;margin-left:auto;white-space:nowrap}aside{display:flex;flex-direction:column;gap:18px}.side-card{padding:26px}.side-card h2{margin:15px 0 19px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 14px;border-radius:9px;border:1px solid var(--border);background:transparent;font-size:12px}.chip.active{background:var(--soft);border-color:var(--accent);color:var(--accent)}.repeat{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);margin-top:23px;padding-top:17px}.repeat input{accent-color:var(--accent)}.card-heading>span{font-size:11px;color:var(--accent);background:var(--soft);padding:4px 8px;border-radius:7px}.weekly{flex:1}.weekly h2{margin-bottom:10px}.muted{color:var(--muted)}.weekly p{font-size:12px;line-height:1.7}.empty-history{text-align:center;padding:20px 0 7px;font-size:26px}.empty-history p{font-size:12px;color:var(--muted);margin-top:8px}.week-list{max-height:210px;overflow:auto}.week-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.week-row>span:first-child{font-size:24px}.week-row b,.food-card b{font-size:12px;font-weight:600}.week-row small,.food-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.check{color:#68805b;margin-left:auto;font-size:13px}.local-note{font-size:11px;line-height:1.7;color:var(--muted);padding-left:16px}.menu-section{margin:44px 0}.menu-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.menu-heading h2{margin-top:10px;font-size:22px}.food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.food-card{display:flex;align-items:center;gap:12px;padding:17px;background:var(--card);border:1px solid var(--border);border-radius:12px}.food-card>span:first-child{font-size:26px}.food-card.eaten{opacity:.5;background:var(--soft)}.notice{font-size:13px;color:var(--accent);margin:15px 0}footer{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding:24px 0 30px;font-size:11px;color:var(--muted)}footer>span:first-child{color:var(--ink)}@media(min-width:1500px){main{padding-top:15px}}@media(max-width:1220px){header,main,footer{margin-left:30px;margin-right:30px}}@media(max-width:900px){h1{font-size:58px}.intro p{position:static;margin-top:12px}.workspace{grid-template-columns:1fr 1fr;gap:16px}.wheel-area{width:280px;height:280px}.wheel-label span{top:-101px;font-size:20px}.wheel-label b{top:-68px;font-size:9px}.spin-panel{padding:20px 15px}.side-card{padding:20px}.food-grid{grid-template-columns:repeat(3,1fr)}.result{gap:10px;flex-wrap:wrap}.small-primary{margin-left:0}}@media(max-width:650px){header,main,footer{margin-left:20px;margin-right:20px}header{height:78px}.tiny{display:none}.intro{padding:35px 0 28px}h1{font-size:54px;letter-spacing:-2px;margin:18px 0}h1 br{display:block}.intro p{font-size:13px}.workspace{grid-template-columns:1fr}.wheel-area{width:300px;height:300px;margin:30px auto}.wheel-label span{top:-110px}.wheel-label b{top:-74px}.panel-top .eyebrow{font-size:9px}.result{flex-wrap:nowrap}.result h2{font-size:16px}.result p{font-size:11px}.small-primary{font-size:11px;margin-left:auto}.food-grid{grid-template-columns:repeat(2,1fr);gap:8px}.food-card{padding:13px 10px;gap:8px}.food-card b{font-size:11px}.menu-heading{align-items:flex-start}.menu-heading>.count{display:none}.menu-heading h2{font-size:19px}.menu-section{margin-top:30px}.local-note{display:none}footer{font-size:10px;gap:20px;line-height:1.7}footer>span:last-child{display:none}}@media(max-width:360px){.wheel-area{width:260px;height:260px}.wheel-label span{top:-93px}.wheel-label b{top:-62px;font-size:8px}.primary{min-width:230px}.result{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
