.rp-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.rp-wheel-panel{display:flex;flex-direction:column;align-items:center;gap:20px}.rp-canvas-wrap{position:relative;width:100%;max-width:420px}.rp-canvas-wrap canvas{display:block;width:100%;height:auto;border-radius:50%}.rp-pointer{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-right:22px solid var(--color-ink);filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.rp-spin-btn{height:44px;padding:0 32px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--rounded-pill);font-family:var(--font-sans);font-size:15px;font-weight:600;cursor:pointer;transition:opacity .12s,transform .1s;letter-spacing:-.2px}.rp-spin-btn:hover:not(:disabled){opacity:.82;transform:translateY(-1px)}.rp-spin-btn:disabled{opacity:.4;cursor:default;transform:none}.rp-result{width:100%;max-width:420px;padding:18px 22px;background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-2);text-align:center;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.rp-result-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-mute)}.rp-result-name{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--color-ink);word-break:break-word}.rp-result-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px;width:100%}.rp-result-btn{height:34px;padding:0 16px;font-size:13px;font-family:var(--font-sans);font-weight:600;color:var(--color-ink);background:var(--color-canvas-soft);border:1.5px solid var(--color-hairline-strong);border-radius:var(--rounded-sm);cursor:pointer;transition:color .1s,border-color .1s,background .1s;width:100%}.rp-result-btn:hover{background:var(--color-canvas-soft-2);border-color:var(--color-ink)}.rp-result-btn.danger{color:var(--color-error);border-color:var(--color-error);background:var(--color-canvas-soft)}.rp-result-btn.danger:hover{background:var(--color-error-soft)}@keyframes rp-winner-pop{0%{opacity:0;transform:scale(.78) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes rp-trophy-bounce{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(4deg)}}.rp-result.has-winner{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b2e,var(--shadow-2)}.rp-result-winner-inner{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;animation:rp-winner-pop .42s cubic-bezier(.34,1.56,.64,1) both}.rp-winner-icon{font-size:36px;line-height:1;margin-bottom:2px;animation:rp-trophy-bounce 1.4s ease-in-out .4s infinite;display:inline-block}.rp-winner-label{color:#f59e0b!important;font-weight:800!important;font-size:11px!important;letter-spacing:.14em!important}.rp-result-name.winner-name{font-size:28px;font-weight:800;background:linear-gradient(135deg,#f59e0b 0%,var(--color-primary) 60%,#7928ca 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rp-list-panel{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);box-shadow:var(--shadow-1);display:flex;flex-direction:column}.rp-list-header{padding:14px 16px 10px;border-bottom:1px solid var(--color-hairline);display:flex;align-items:center;justify-content:space-between}.rp-list-title{font-size:13px;font-weight:600;color:var(--color-ink)}.rp-list-count{font-size:11px;font-family:var(--font-mono);color:var(--color-mute)}.rp-entries{flex:1;overflow-y:auto;max-height:320px;padding:8px 0;display:flex;flex-direction:column}.rp-entry{display:flex;align-items:center;gap:8px;padding:6px 12px;transition:background .08s}.rp-entry:hover{background:var(--color-canvas-soft-2)}.rp-entry-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rp-entry-name{flex:1;font-size:13px;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-entry-del{width:20px;height:20px;border:none;background:none;cursor:pointer;color:var(--color-mute);display:flex;align-items:center;justify-content:center;border-radius:var(--rounded-xs);flex-shrink:0;transition:color .1s,background .1s;padding:0}.rp-entry-del:hover{color:var(--color-error);background:var(--color-error-soft)}.rp-entry-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:var(--color-mute);min-height:80px;padding:24px 20px;width:100%}.rp-add-row{padding:10px 12px;border-top:1px solid var(--color-hairline);display:flex;gap:6px}.rp-add-input{flex:1;height:32px;padding:0 10px;font-family:var(--font-sans);font-size:13px;color:var(--color-ink);background:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:var(--rounded-sm);outline:none;transition:border-color .12s}.rp-add-input:focus{border-color:var(--color-primary);background:var(--color-canvas)}.rp-add-input::placeholder{color:var(--color-mute)}.rp-add-btn{height:32px;padding:0 12px;font-size:12px;font-family:var(--font-sans);font-weight:600;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--rounded-sm);cursor:pointer;transition:opacity .12s}.rp-add-btn:hover{opacity:.82}.rp-list-footer{padding:10px 12px;border-top:1px solid var(--color-hairline);display:flex;gap:6px}.rp-foot-btn{height:28px;padding:0 10px;font-size:11px;font-family:var(--font-sans);font-weight:500;color:var(--color-body);background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-sm);cursor:pointer;transition:color .1s,border-color .1s;white-space:nowrap}.rp-foot-btn:hover{color:var(--color-ink);border-color:var(--color-hairline-strong)}.rp-paste-wrap{padding:10px 12px;border-top:1px solid var(--color-hairline)}.rp-paste-toggle{font-size:11px;color:var(--color-link);background:none;border:none;cursor:pointer;padding:0;font-family:var(--font-sans)}.rp-paste-area{display:none;margin-top:8px;flex-direction:column;gap:6px}.rp-paste-area.open{display:flex}.rp-paste-textarea{width:100%;height:80px;resize:none;font-family:var(--font-sans);font-size:12px;color:var(--color-ink);background:var(--color-canvas-soft);border:1px solid var(--color-hairline);border-radius:var(--rounded-sm);padding:8px 10px;outline:none}.rp-paste-textarea:focus{border-color:var(--color-primary)}.rp-paste-textarea::placeholder{color:var(--color-mute)}.rp-paste-add{height:28px;padding:0 12px;font-size:12px;font-family:var(--font-sans);font-weight:600;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--rounded-sm);cursor:pointer;align-self:flex-start}.rp-paste-add:hover{opacity:.82}.rp-samples{margin-top:40px;padding-top:32px;border-top:1px solid var(--color-hairline)}.rp-samples-heading{font-size:13px;font-weight:600;color:var(--color-ink);margin-bottom:12px;letter-spacing:-.2px}.rp-samples-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rp-sample-card{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.rp-sample-title{font-size:12px;font-weight:600;color:var(--color-ink)}.rp-sample-names{font-size:11px;color:var(--color-mute);line-height:1.5;flex:1;margin:0}.rp-sample-load{margin-top:4px;height:26px;padding:0 10px;font-size:11px;font-family:var(--font-sans);font-weight:600;background:var(--color-canvas-soft);color:var(--color-link);border:1px solid var(--color-hairline);border-radius:var(--rounded-sm);cursor:pointer;transition:background .1s,border-color .1s;align-self:flex-start;white-space:nowrap}.rp-sample-load:hover{background:var(--color-canvas-soft-2);border-color:var(--color-link)}.rp-intro{margin-top:40px;padding-top:32px;border-top:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.78;color:var(--color-body)}.rp-intro p a{color:var(--color-link);text-decoration:none}.rp-intro p a:hover{text-decoration:underline}@media(max-width:900px){.rp-layout{grid-template-columns:1fr}.rp-canvas-wrap,.rp-result{max-width:340px}.rp-entries{max-height:240px}.rp-samples-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.rp-samples-grid{grid-template-columns:repeat(2,1fr)}}
