:root{--bg:#14100e;--bg-2:#1f1815;--panel:#ffffff0b;--border:#ffffff1a;--text:#f3ece6;--muted:#a89a90;--accent:#f2994a;--accent-strong:#e8615a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:Pretendard,Pretendard Variable,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(900px 500px at 15% -10%, #f2994a29, transparent 60%), radial-gradient(800px 500px at 90% 10%, #e8615a21, transparent 60%), linear-gradient(180deg, var(--bg-2), var(--bg));color:var(--text);background-attachment:fixed}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{cursor:not-allowed}input{font:inherit}h1,h2,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}.app{max-width:940px;margin:0 auto;padding:40px 20px 60px}.header{text-align:center;margin-bottom:28px}.header h1{letter-spacing:-.02em;font-size:clamp(26px,5vw,38px)}.header-emoji{filter:drop-shadow(0 4px 12px #f2994a73)}.subtitle{color:var(--muted);margin-top:8px;font-size:15px}.layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:20px;display:grid}@media (width<=780px){.layout{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:24px}.wheel-panel{flex-direction:column;align-items:center;gap:18px;display:flex}.side-panel{flex-direction:column;gap:26px;display:flex}.wheel-stage{width:100%;max-width:340px;position:relative}.wheel-svg{filter:drop-shadow(0 18px 34px #00000073);width:100%;height:auto;display:block}.wheel-spin{transition-property:transform;transition-timing-function:cubic-bezier(.16,.84,.2,1)}.wheel-rim{fill:#2b211b;stroke:#ffffff24;stroke-width:2px}.wheel-hub{fill:#2b211b;stroke:#fff3;stroke-width:2px}.wheel-hub-emoji{pointer-events:none}.wheel-pointer{border-left:13px solid #0000;border-right:13px solid #0000;border-top:26px solid var(--accent);filter:drop-shadow(0 3px 6px #00000080);z-index:2;width:0;height:0;position:absolute;top:-4px;left:50%;translate:-50%}.wheel-empty{aspect-ratio:1;border:2px dashed var(--border);width:100%;max-width:340px;color:var(--muted);border-radius:50%;place-items:center;display:grid}.spin-button{color:#21150e;background:linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:14px;width:100%;max-width:340px;padding:15px 20px;font-size:17px;font-weight:700;transition:transform .12s,box-shadow .2s,opacity .2s;box-shadow:0 10px 24px #e8615a47}.spin-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px #e8615a5c}.spin-button:active:not(:disabled){transform:translateY(0)}.spin-button:disabled{opacity:.45;box-shadow:none}.toggle{color:var(--muted);cursor:pointer;align-items:center;gap:9px;font-size:14px;display:flex}.toggle input{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.hint{color:var(--muted);text-align:center;font-size:13.5px}.error{color:#ff9d97;margin-top:8px;font-size:13.5px}.block h2{letter-spacing:.01em;margin-bottom:12px;font-size:15px;font-weight:700}.count{color:var(--muted);font-size:13px;font-weight:500}.add-row{gap:8px;display:flex}.add-row input{border:1px solid var(--border);min-width:0;color:var(--text);background:#00000040;border-radius:11px;outline:none;flex:1;padding:11px 13px;transition:border-color .15s}.add-row input::placeholder{color:#7c706a}.add-row input:focus{border-color:#f2994a99}.add-row button{border:1px solid var(--border);background:#ffffff1a;border-radius:11px;padding:0 16px;font-weight:600;transition:background .15s,opacity .15s}.add-row button:hover:not(:disabled){background:#ffffff2e}.add-row button:disabled{opacity:.4}.chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip{border:1px solid var(--border);background:#ffffff12;border-radius:999px;align-items:center;gap:6px;padding:7px 8px 7px 13px;font-size:14px;display:inline-flex}.chip button{width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;font-size:16px;line-height:1;transition:background .15s,color .15s;display:grid}.chip button:hover{color:#ffd7d4;background:#e8615a40}.history{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.history li{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:baseline;padding:8px 2px;font-size:14.5px;display:flex}.history li:first-child .history-name{color:var(--accent);font-weight:700}.history-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.link{color:var(--muted);text-underline-offset:3px;padding:0;font-size:13px;text-decoration:underline}.link:hover{color:var(--text)}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#0a0705a8;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.modal{text-align:center;background:linear-gradient(#2a201a,#1c1512);border:1px solid #ffffff21;border-radius:22px;width:min(360px,100%);padding:34px 28px 26px;animation:.32s cubic-bezier(.2,1.2,.4,1) pop;position:relative;overflow:hidden;box-shadow:0 26px 60px #0009}.modal-label{color:var(--muted);font-size:14px}.modal-result{letter-spacing:-.02em;background:linear-gradient(135deg, #ffd08a, var(--accent-strong));color:#0000;-webkit-background-clip:text;background-clip:text;margin:10px 0 26px;font-size:clamp(30px,8vw,40px);font-weight:800}.modal-actions{gap:10px;display:flex}.modal-actions button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#21150e;border-radius:12px;flex:1;padding:12px;font-weight:600}.modal-actions .ghost{border:1px solid var(--border);color:var(--text);background:#ffffff17}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{border-radius:2px;width:8px;height:12px;animation:1.6s ease-in forwards fall;position:absolute;top:-12px}.confetti .c0{background:#f2c94c;animation-delay:0s}.confetti .c1{background:#e8615a;animation-delay:.12s}.confetti .c2{background:#8fbf62;animation-delay:.24s}.confetti .c3{background:#4fb3a5;animation-delay:60ms}.confetti .c4{background:#c86fbf;animation-delay:.18s}@keyframes fall{to{opacity:0;transform:translateY(360px)rotate(540deg)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.9)translateY(10px)}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}.footer{text-align:center;color:var(--muted);margin-top:34px;font-size:12.5px}
