.app{max-width:1360px;margin:0 auto;padding:32px 24px 72px}.app-head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--line-soft);margin-bottom:26px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{width:44px;height:44px;flex:none;border-radius:50%;background:conic-gradient(#ff4d6d 0deg 60deg,#ff8a3d 60deg 120deg,#ffd23f 120deg 180deg,#4dd4ff 180deg 240deg,#7c6cff 240deg 300deg,#3ddc97 300deg 360deg);box-shadow:0 0 0 3px var(--bg-raised),0 0 22px #ffd23f59}.app-head h1{margin:0;font-family:var(--font-display);font-size:30px;letter-spacing:.02em;line-height:1.1}.app-head p{margin:3px 0 0;color:var(--text-dim);font-size:13.5px;letter-spacing:.02em}.head-stats{display:flex;gap:12px}.stat{min-width:92px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);text-align:center}.stat strong{display:block;font-family:var(--font-display);font-size:24px;color:var(--accent);line-height:1.1}.stat span{display:block;margin-top:2px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint)}.notice{margin:0 0 22px;padding:12px 16px;border:1px solid rgba(255,138,61,.4);border-radius:var(--radius);background:#ff8a3d17;color:#ffcda6;font-size:13.5px}.layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:28px;align-items:start}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-head h2{margin:0;font-family:var(--font-display);font-size:17px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.pill-count{min-width:28px;padding:3px 9px;border-radius:999px;background:#ffd23f24;color:var(--accent);font-size:12px;font-weight:700;text-align:center}.name-form{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.name-input{width:100%;padding:11px 13px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-raised);color:var(--text);font-family:inherit;font-size:14px;resize:vertical;min-height:62px}.name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ffd23f24}.name-input::placeholder{color:var(--text-faint)}.empty-note{margin:0;padding:16px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--text-faint);font-size:13px;line-height:1.55}.name-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:460px;overflow-y:auto}.name-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto auto;align-items:center;gap:9px;padding:8px 10px;border-radius:11px;background:var(--bg-raised);border:1px solid transparent}.name-row:hover{border-color:var(--line)}.name-row.is-exhausted{opacity:.62}.name-row.is-exhausted .name-text{text-decoration:line-through;text-decoration-color:var(--text-faint)}.reset-one{border:1px solid rgba(77,212,255,.4);background:#4dd4ff1f;color:var(--accent-cool);border-radius:7px;padding:2px 7px;font-size:10.5px;font-weight:700;white-space:nowrap;cursor:pointer}.reset-one:hover:not(:disabled){background:#4dd4ff38}.reset-one:disabled{opacity:.4;cursor:not-allowed}.swatch{width:10px;height:10px;border-radius:3px}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.odds{font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums}.weight-control{display:flex;align-items:center;gap:2px;background:#00000047;border-radius:8px;padding:2px}.btn-step{width:21px;height:21px;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer}.btn-step:hover:not(:disabled){background:#ffffff17;color:var(--text)}.btn-step:disabled{opacity:.3;cursor:not-allowed}.weight-value{min-width:17px;text-align:center;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.btn-remove{width:23px;height:23px;border:none;border-radius:6px;background:transparent;color:var(--text-faint);font-size:12px;cursor:pointer}.btn-remove:hover:not(:disabled){background:#ff4d6d29;color:var(--accent-hot)}.btn-clear{width:100%;margin-top:14px}.btn{border:1px solid transparent;border-radius:var(--radius);padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease}.btn:disabled{opacity:.42;cursor:not-allowed}.btn:not(:disabled):active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-warm) 100%);color:#14140f}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-add{background:#ffd23f24;color:var(--accent);border-color:#ffd23f52;align-self:flex-start;padding:9px 20px}.btn-add:hover:not(:disabled){background:#ffd23f38}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text-dim)}.btn-ghost:hover:not(:disabled){border-color:var(--text-faint);color:var(--text)}.btn-danger{background:#ff4d6d21;border-color:#ff4d6d6b;color:#ff8fa4}.btn-danger:hover:not(:disabled){background:#ff4d6d38;color:#ffb3c1}.btn-spin{min-width:220px;font-size:15.5px;letter-spacing:.03em;padding:14px 26px}.stage{display:flex;flex-direction:column;align-items:center;gap:18px}.stage-status{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;border:1px solid var(--line);background:var(--bg-panel);font-size:13px;font-weight:600;color:var(--text-dim);letter-spacing:.02em}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.dot.phase-spinning,.dot.phase-dropping{background:var(--accent);animation:pulse 1s ease-in-out infinite}.dot.phase-reveal,.dot.phase-question{background:var(--accent-cool)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.28}}.stage-views{width:100%;display:flex;justify-content:center}.view{display:flex;flex-direction:column;align-items:center;gap:22px;animation:rise .35s ease both}.view.is-hidden{display:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stage-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.wheel-canvas{width:460px;max-width:100%;height:auto;aspect-ratio:1 / 1;touch-action:manipulation;filter:drop-shadow(0 22px 44px rgba(0,0,0,.55))}.wheel-canvas.is-clickable{cursor:pointer}.wheel-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:50%}.plinko-canvas{width:560px;max-width:100%;height:auto;aspect-ratio:560 / 660;filter:drop-shadow(0 22px 44px rgba(0,0,0,.5))}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#05050cc7;backdrop-filter:blur(6px);animation:fade .2s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal-card{width:min(620px,100%);max-height:88vh;overflow-y:auto;padding:34px 34px 26px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(170deg,#1c1c31,#131322);box-shadow:0 30px 90px #0009;text-align:center;animation:pop .28s cubic-bezier(.2,1.1,.4,1) both}@keyframes pop{0%{opacity:0;transform:scale(.94) translateY(14px)}to{opacity:1;transform:none}}.modal-eyebrow{margin:0 0 12px;font-size:11.5px;text-transform:uppercase;letter-spacing:.16em;color:var(--text-faint)}.modal-category{display:inline-block;padding:5px 14px;border-radius:999px;background:#4dd4ff21;border:1px solid rgba(77,212,255,.35);color:var(--accent-cool);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.modal-name{margin:14px 0 20px;font-family:var(--font-display);font-size:clamp(34px,6vw,52px);line-height:1.05;letter-spacing:.01em;background:linear-gradient(180deg,#fff 0%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}.modal-question{margin:0 0 28px;padding:22px 24px;border-radius:var(--radius-lg);border:1px solid var(--line);background:#00000042;font-size:clamp(17px,2.4vw,21px);line-height:1.45;font-weight:500}.modal-actions{display:flex;flex-direction:column;gap:10px}.modal-foot{margin:20px 0 0;font-size:12px;color:var(--text-faint)}@media(max-width:1080px){.layout{grid-template-columns:minmax(0,1fr)}.name-list{max-height:300px}}@media(max-width:640px){.app{padding:22px 14px 56px}.app-head{align-items:flex-start}.head-stats{width:100%}.stat{flex:1;min-width:0}.modal-card{padding:26px 20px 20px}}.home-link{display:inline-block;margin:18px 0 0 24px;color:var(--text-dim);font-size:13px;text-decoration:none;letter-spacing:.02em}.home-link:hover{color:var(--accent)}
