:root{font-family:"DM Sans",sans-serif;color:#282b26;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--green:#41644a;--muted:#85877f;--line:#e9eae6}*{box-sizing:border-box}body{margin:0;min-width:320px}.page{width:min(640px,calc(100% - 36px));margin:0 auto}.header{height:61px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.brand{color:#252821;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:-.8px}.brand span{color:var(--green)}.intro{padding:32px 0 20px}.intro h1{font-family:"Playfair Display",serif;font-size:34px;letter-spacing:-.8px;margin:0}.intro>p{color:var(--muted);font-size:12px;margin:6px 0 0}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;background:#f8f9f7;border:1px solid var(--line);border-radius:8px}.filter-control{display:flex;flex-direction:column;gap:5px}.filter-control>span{font-size:10px;color:#777a71}.filter-control select{width:100%;padding:9px 8px;border:1px solid #e2e4de;border-radius:5px;background:#fff;color:#343830;font:500 11px "DM Sans",sans-serif}.wheel-section{display:flex;align-items:center;flex-direction:column;padding:28px 0 25px}.wheel-wrap{position:relative;width:min(340px,78vw);aspect-ratio:1}.wheel-wrap canvas{display:block;width:100%;height:100%;transition:transform 5s cubic-bezier(.12,.78,.13,1);filter:drop-shadow(0 5px 8px #20271e18)}.wheel-pointer{position:absolute;z-index:1;left:50%;top:-4px;transform:translateX(-50%);width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:25px solid #41644a;filter:drop-shadow(0 2px 1px #0002)}.wheel-hint{min-height:17px;margin:12px 0 10px;color:var(--muted);font-size:11px;text-align:center}.spin-button{min-width:190px;padding:12px 18px;border:0;border-radius:6px;background:var(--green);color:#fff;font:600 12px "DM Sans",sans-serif;cursor:pointer;transition:background .2s,transform .2s}.spin-button:hover:not(:disabled){background:#34533c;transform:translateY(-1px)}.spin-button:disabled{opacity:.55;cursor:wait}.result-section{padding:19px 0 28px;border-top:1px solid var(--line)}.eyebrow{color:#898c82;font-size:9px;font-weight:700;letter-spacing:1.3px;margin:0 0 10px}.recipe-card{display:grid;grid-template-columns:70px 1fr;gap:14px;align-items:center}.result-emoji{display:grid;place-items:center;width:62px;height:62px;border-radius:8px;background:#f2f3ef;font-size:34px}.recipe-info h2{font-family:"Playfair Display",serif;font-size:20px;line-height:1.25;margin:5px 0}.recipe-category{font-size:9px;letter-spacing:1px;color:#85877f;font-weight:700;margin:0}.recipe-description{color:#73766d;font-size:11px;line-height:1.5;margin:5px 0}.recipe-meta{display:flex;gap:12px;margin:8px 0;color:#73766d;font-size:10px}.recipe-bottom p{font-size:10px;color:#73766d;margin:0 0 7px;line-height:1.5}.recipe-bottom p strong{color:#484b44}.recipe-open{padding:0;border:0;background:none;color:var(--green);font:600 11px "DM Sans",sans-serif;cursor:pointer}.footer{padding:14px 0 20px;border-top:1px solid var(--line);color:#92948b;font-size:10px}.recipe-dialog{width:min(460px,calc(100% - 30px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:27px 30px;color:#30352d;box-shadow:0 14px 55px #1c201733}.recipe-dialog::backdrop{background:#20271e66}.dialog-close{position:absolute;right:15px;top:13px;width:28px;height:28px;border:0;border-radius:50%;background:#f3f4f1;font-size:20px;color:#62665c;cursor:pointer}.dialog-emoji{font-size:38px;margin-bottom:8px}.recipe-dialog .eyebrow{margin:0 0 5px}.recipe-dialog h2{font-family:"Playfair Display",serif;font-size:24px;margin:0}.dialog-meta,.dialog-description{font-size:11px;color:#73776c;line-height:1.6}.recipe-dialog h3{font-size:12px;margin:17px 0 7px}.recipe-dialog li{font-size:11px;line-height:1.7;color:#5e6258}.recipe-dialog ul,.recipe-dialog ol{padding-left:19px;margin:0}[hidden]{display:none!important}@media(max-width:540px){.page{width:calc(100% - 30px)}.intro{padding:27px 0 17px}.intro h1{font-size:31px}.filters{grid-template-columns:1fr;gap:9px;padding:11px}.filter-control{display:grid;grid-template-columns:100px 1fr;align-items:center}.filter-control select{padding:9px}.wheel-section{padding:24px 0 20px}.wheel-wrap{width:min(310px,78vw)}.recipe-card{grid-template-columns:52px 1fr;gap:10px}.result-emoji{width:48px;height:48px;font-size:27px}.recipe-info h2{font-size:18px}.recipe-dialog{padding:24px 22px}}
