@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800&display=swap";:root{color:#f8f5f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#11100e;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{background:radial-gradient(at 50% 5%,#292116 0,#0000 42%),#11100e;justify-content:center;min-height:100vh;padding:52px 20px 64px;display:flex;position:relative;overflow:hidden}.ambient{filter:blur(90px);opacity:.14;pointer-events:none;border-radius:50%;position:absolute}.ambient-one{background:#f59e0b;width:300px;height:300px;top:30%;left:-180px}.ambient-two{background:#d94a29;width:340px;height:340px;top:12%;right:-220px}.roulette-card{z-index:1;background:linear-gradient(145deg,#25211bfa,#181613fa);border:1px solid #39332a;border-radius:30px;width:min(100%,560px);padding:38px 48px 22px;box-shadow:0 30px 100px #0008}.app-header{text-align:center}.eyebrow{color:#d8b875;letter-spacing:1.8px;border:1px solid #48402f;border-radius:99px;align-items:center;gap:8px;padding:7px 11px;font-size:10px;font-weight:700;display:inline-flex}.status-dot{background:#f4b844;border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #f4b844}.app-header h1{color:#fffaf0;letter-spacing:-1.5px;margin:15px 0 5px;font:700 clamp(30px,7vw,39px)/1.1 Outfit,sans-serif}.app-header h1 span{color:#f6b943}.app-header p{color:#a59c8e;font-size:13px}.wheel-stage{justify-content:center;padding:20px 0 16px;display:flex}.wheel-component{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.pointer-wrap{z-index:2;height:16px;position:relative}.wheel-pointer{filter:drop-shadow(0 3px 4px #0009);border-top:24px solid #fff2d4;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.wheel-frame{aspect-ratio:1;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 18px #0008);width:min(76vw,340px);position:relative}.wheel-disc{background:#241b10;border:9px solid #48371e;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:inset 0 0 0 3px #d79e3d,inset 0 0 18px #0008,0 0 0 3px #211a11}.wheel-disc svg{width:100%;height:100%}.wheel-label{pointer-events:none;filter:drop-shadow(0 1px 2px #0009)}.wheel-empty{color:#f8f5f0;text-align:center;padding:25px;font-weight:700}.wheel-spin-button{z-index:3;color:#3c2508;letter-spacing:.5px;background:linear-gradient(145deg,#ffda77,#ed9f22);border:4px solid #ffe4a1;border-radius:50%;width:62px;height:62px;font-size:10px;font-weight:800;transition:transform .18s,filter .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0007}.wheel-spin-button:not(:disabled):hover{filter:brightness(1.08);transform:translate(-50%,-50%)scale(1.08)}.wheel-spin-button:disabled{cursor:not-allowed;opacity:.8}.wheel-spin-button.spinning{animation:.7s infinite alternate pulse}.add-form{gap:9px;margin-top:7px;display:flex}.add-form input{color:#fff8ec;background:#171613;border:1px solid #464034;border-radius:12px;outline:none;flex:1;min-width:0;padding:13px 15px;font-size:13px;transition:border .2s,box-shadow .2s}.add-form input::placeholder{color:#756e63}.add-form input:focus{border-color:#d69a34;box-shadow:0 0 0 3px #d69a3425}.add-form button{color:#291b06;background:#e9a835;border:0;border-radius:12px;padding:0 16px;font-size:12px;font-weight:800;transition:background .2s,transform .2s}.add-form button:hover:not(:disabled){background:#ffc752;transform:translateY(-1px)}.add-form button:disabled{opacity:.45;cursor:not-allowed}.add-form button span{margin-left:4px;font-size:16px}.options-section{margin-top:24px}.options-heading{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.options-heading h2{color:#f0e8da;margin:0;font-size:13px;font-weight:700}.options-heading>span{color:#898174;font-size:11px}.food-options{flex-wrap:wrap;gap:8px;max-height:112px;padding:1px 2px 4px;display:flex;overflow:auto}.food-chip{color:#e6ded1;background:#2d2922;border:1px solid #423b30;border-radius:99px;align-items:center;gap:7px;padding:7px 9px 7px 10px;font-size:11px;display:inline-flex}.food-chip i{background:hsl(var(--chip-hue),75%,63%);width:7px;height:7px;box-shadow:0 0 7px hsl(var(--chip-hue),75%,63%,.4);border-radius:50%}.food-chip button{color:#8c8375;background:0 0;border:0;border-radius:50%;width:19px;height:19px;margin:-3px -3px -3px 1px;font-size:17px;line-height:1}.food-chip button:hover{color:#ff9b77;background:#563b30}.empty-options{color:#817a70;margin:0;font-size:12px}.card-footer{color:#827a6e;text-align:center;border-top:1px solid #39342c;margin-top:24px;padding-top:16px;font-size:10px}.card-footer span{color:#eab249;margin-left:4px}.winner-overlay{z-index:20;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#090807c7;place-items:center;padding:20px;animation:.25s both fade-in;display:grid;position:fixed;inset:0}.winner-dialog{isolation:isolate;text-align:center;background:radial-gradient(at 50% 0,#4a381f,#27231d 57%,#201e1a);border:1px solid #76603b;border-radius:28px;width:min(100%,410px);padding:39px 30px 30px;animation:.55s cubic-bezier(.16,1.25,.4,1) both pop-in;position:relative;overflow:hidden;box-shadow:0 30px 100px #000b}.winner-dialog:before{z-index:-1;border-radius:inherit;content:"";background:linear-gradient(135deg,#ffffff0b,#0000 42%);position:absolute;inset:0}.winner-close{z-index:5;color:#c8bdaa;background:#ffffff0b;border:1px solid #ffffff20;border-radius:50%;width:32px;height:32px;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.winner-close:hover{color:#fff;background:#ffffff20}.winner-trophy{z-index:2;filter:drop-shadow(0 8px 15px #f6ac4b55);margin:5px auto 12px;font-size:58px;line-height:1;animation:1.5s ease-in-out infinite trophy-bob;position:relative}.winner-kicker{z-index:2;color:#e4b85d;letter-spacing:2.3px;font-size:9px;font-weight:800;position:relative}.winner-dialog h2{z-index:2;color:#fff9ef;letter-spacing:-1.4px;margin:7px 0 3px;font:800 42px/1 Outfit,sans-serif;position:relative}.winner-caption{z-index:2;color:#bdb2a0;font-size:13px;position:relative}.winner-food{z-index:2;color:#ffd77e;overflow-wrap:anywhere;background:#e9a83518;border:1px solid #f4c46b5e;border-radius:14px;max-width:100%;margin:17px 0 22px;padding:11px 20px;font:700 clamp(20px,6vw,26px)/1.2 Outfit,sans-serif;display:inline-block;position:relative}.winner-action{z-index:2;color:#32220b;background:linear-gradient(100deg,#f6c35b,#e9a232);border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;padding:13px;font-size:13px;font-weight:800;transition:transform .2s,filter .2s;display:flex;position:relative;box-shadow:0 7px 20px #d4952e2b}.winner-action:hover{filter:brightness(1.08);transform:translateY(-2px)}.winner-action span{font-size:18px}.fireworks{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fireworks i{width:3px;height:3px;animation:firework 1.8s ease-out calc(var(--burst)*.2s) infinite;background:#ffd573;border-radius:50%;position:absolute;top:17%;left:12%;box-shadow:0 0 5px 2px #ffbd4c,0 0 18px 5px #f89b35}.fireworks i:nth-child(2n){background:#ff7c66;box-shadow:0 0 5px 2px #ff8d76,0 0 18px 5px #f6545a}.fireworks i:nth-child(3n){background:#fff3c7;box-shadow:0 0 5px 2px #fff1b1,0 0 18px 5px #ffe174}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes firework{0%{opacity:0;transform:scale(.1);box-shadow:0 0}15%{opacity:1}65%{opacity:.9;box-shadow:0 -28px #ffd573,20px -20px #ff8b62,28px 0 #ffe780,20px 20px #ff8b62,0 28px #ffd573,-20px 20px #ffe780,-28px 0 #ff8b62,-20px -20px #ffe780}to{opacity:0;transform:scale(.15);box-shadow:0 -43px #0000,31px -31px #0000,43px 0 #0000,31px 31px #0000,0 43px #0000,-31px 31px #0000,-43px 0 #0000,-31px -31px #0000}}@keyframes pop-in{0%{opacity:0;transform:translateY(25px)scale(.82)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes trophy-bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-5px)rotate(4deg)}}@keyframes pulse{0%{transform:translate(-50%,-50%)scale(.94)}to{transform:translate(-50%,-50%)scale(1.02)}}@media (width<=540px){.app-shell{padding:24px 12px 36px}.roulette-card{border-radius:24px;padding:28px 19px 18px}.wheel-frame{width:min(78vw,310px)}.wheel-stage{padding:18px 0 13px}.options-section{margin-top:20px}.winner-dialog{padding:35px 23px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
