:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#0b0d12;--surface:#151922;--surface-strong:#1d2330;--text:#f7f8fa;--muted:#a7afbd;--accent:#ef8523;--accent-active:#d97317;--border:rgba(255,255,255,.12);--focus:#ffd29f;--max-width:680px;--ad-height:66px}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%}body{min-width:320px;min-height:100dvh;margin:0;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input,select,textarea{font:inherit}button,a{-webkit-touch-callout:none}a{color:inherit}[hidden]{display:none!important}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.app-shell{width:min(100%,var(--max-width));min-height:100dvh;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(var(--ad-height) + max(28px,env(safe-area-inset-bottom))) max(16px,env(safe-area-inset-left))}.app-header{padding:12px 2px 20px}.brand{margin:0 0 6px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em}h1,h2,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(1.75rem,8vw,2.4rem);line-height:1.15}.subtitle{margin:10px 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}
.tabs{display:flex;gap:5px;margin:0 0 16px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.tab{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:700}.tab.active{background:var(--accent);color:#111}.tool-panel{padding:20px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 12px 32px rgba(0,0,0,.2)}.tool-panel h2{margin:0;font-size:1.15rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.remaining-badge{white-space:nowrap;color:var(--muted);font-size:.82rem}.remaining-badge strong{color:var(--accent);font-size:1.1rem;font-variant-numeric:tabular-nums}.panel-description{margin:10px 0 20px;color:var(--muted);line-height:1.65;font-size:.9rem}
.machine-stage{position:relative;width:min(100%,360px);margin:14px auto 0;aspect-ratio:360/310;background:radial-gradient(ellipse at center,rgba(239,133,35,.09),transparent 70%)}.machine{display:block;width:100%;height:auto;overflow:visible}.drum{transform-origin:170px 119px}.crank{transform-origin:272px 119px}.spinning .drum{animation:drum-turn 2.2s cubic-bezier(.35,.05,.25,1) forwards}.spinning .crank{animation:crank-turn 2.2s cubic-bezier(.35,.05,.25,1) forwards}@keyframes drum-turn{to{transform:rotate(1080deg)}}@keyframes crank-turn{to{transform:rotate(1080deg)}}.drawn-ball{position:absolute;width:5.8%;aspect-ratio:1;left:70%;top:68%;border-radius:50%;background:var(--ball-color,#fff);border:1px solid rgba(0,0,0,.25);box-shadow:inset -3px -4px 0 rgba(0,0,0,.16),0 3px 4px rgba(0,0,0,.25)}.drawn-ball:before{content:"";position:absolute;width:25%;height:25%;top:18%;left:20%;border-radius:50%;background:rgba(255,255,255,.6)}.drawn-ball.drop{animation:ball-drop .65s ease-out both}@keyframes ball-drop{0%{left:56%;top:57%;opacity:0}15%{opacity:1}40%{left:66%;top:69%}60%{top:63%}80%{top:69%}100%{left:70%;top:68%;opacity:1}}.machine-caption{position:absolute;bottom:0;width:100%;text-align:center;font-size:.63rem;letter-spacing:.25em;color:#a38a74}
.result-box{text-align:center;padding:17px 10px 20px;min-height:102px}.result-eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.06em}.result-box p{margin:7px 0 0;font-weight:800;font-size:clamp(1.25rem,6vw,1.6rem);line-height:1.35}.primary-button{width:100%;min-height:52px;border:0;border-radius:14px;padding:12px 18px;background:var(--accent);color:#111;font-weight:800}.primary-button:active{background:var(--accent-active);transform:translateY(1px)}#spin-button{font-size:1.2rem}#spin-button span{margin-left:12px}.secondary-button{min-height:44px;border:1px solid var(--border);border-radius:11px;padding:10px 14px;background:var(--surface-strong);color:var(--text);font-weight:600}.helper{margin:12px 0 0;font-size:.8rem;color:var(--muted);line-height:1.6;text-align:center}.prize-summary{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--border)}.prize-summary li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.9rem}.color-dot{display:inline-block;width:16px;height:16px;border-radius:50%;flex-shrink:0;background:var(--ball-color);border:1px solid rgba(255,255,255,.3)}.prize-name{flex:1;min-width:0;overflow-wrap:anywhere}.prize-count{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.prize-count strong{color:var(--text)}.reset-button{display:block;margin:18px auto 0;color:var(--muted);background:transparent}
.prize-editor{display:grid;gap:12px;margin-bottom:14px}.prize-row{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.row-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.row-header span{color:var(--muted);font-size:.78rem}.delete-prize{min-width:44px;min-height:44px;border:0;background:transparent;color:#e9a1a1;font-size:.85rem}.field-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}label{display:block;font-size:.8rem;color:var(--muted)}label input,label select{display:block;width:100%;min-height:46px;margin-top:6px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);color:var(--text);font-size:16px}input[type=number]{font-variant-numeric:tabular-nums}.settings-total{text-align:right;color:var(--muted);font-size:.9rem}.settings-total strong{color:var(--accent)}.error-message{color:#ffb4a7;line-height:1.6;font-size:.85rem}.error-message:empty{display:none}.history-list{list-style:none;margin:0;padding:0}.history-list li{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.history-number{font-size:.78rem;color:var(--muted);min-width:32px}.history-details{flex:1;min-width:0}.history-details strong{display:block;overflow-wrap:anywhere;font-size:.95rem}.history-details time{display:block;margin-top:5px;color:var(--muted);font-size:.75rem}.empty-message{text-align:center;padding:35px 0;color:var(--muted)}.save-note{margin:18px 8px 0;color:var(--muted);font-size:.75rem;text-align:center;line-height:1.6}.site-footer{display:flex;justify-content:center;padding:14px 0 10px}.mrs-tools-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border-radius:10px;color:var(--muted);font-size:.9rem;font-weight:700;text-decoration:none}.mrs-tools-link:active{color:var(--text)}
.ad-banner{position:fixed;z-index:20;right:0;bottom:0;left:0;min-height:calc(var(--ad-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:rgba(11,13,18,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ad-banner-inner{display:flex;width:min(100%,var(--max-width));height:var(--ad-height);margin:0 auto;align-items:center;justify-content:center;padding:8px 16px}.ad-placeholder{color:#737b89;font-size:.75rem}@media(min-width:700px){.app-shell{padding-top:32px}.tool-panel{padding:26px}}@media(max-width:360px){.tool-panel{padding:16px}.panel-heading{align-items:flex-start}.panel-heading h2{font-size:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
