*{box-sizing:border-box;margin:0;padding:0}:root{--sidebar:330px;--border:#dadce0;--primary:#635bff;--background:#f7f8fa}body{font-family:Arial,Helvetica,sans-serif;background:var(--background);color:#202124;min-height:100vh;overflow:hidden}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700}.brand-wheel{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#635bff;color:#fff}.top-actions{display:flex;gap:8px;align-items:center}.top-actions button,.back-link{border:1px solid var(--border);background:#fff;padding:8px 15px;border-radius:7px;cursor:pointer;font-size:14px}.back-link{color:#333}.app{height:calc(100vh - 64px);display:flex}.sidebar{width:var(--sidebar);background:#fff;border-right:1px solid var(--border);padding:18px;display:flex;flex-direction:column;gap:12px}.panel-header{display:flex;align-items:center;justify-content:space-between}.entry-actions{display:flex;gap:5px}.entry-actions button{border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 9px;cursor:pointer}#entries{width:100%;flex:1;min-height:220px;resize:none;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:15px;line-height:1.6;outline:none}.entry-count{color:#6b7280;font-size:13px}.quick-add{display:flex;gap:6px}.quick-add input{flex:1;border:1px solid var(--border);border-radius:7px;padding:10px;outline:none}.quick-add button{width:42px;border:none;background:var(--primary);color:#fff;border-radius:7px;font-size:22px;cursor:pointer}.settings-toggle{width:100%;border:1px solid var(--border);background:#fff;border-radius:7px;padding:11px;text-align:left;cursor:pointer;display:flex;justify-content:space-between}.settings{display:none;padding-top:8px}.settings.open{display:block}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:14px}.switch-row input{display:none}.switch{width:38px;height:21px;background:#ccc;border-radius:20px;position:relative;cursor:pointer}.switch:after{content:"";width:17px;height:17px;background:#fff;position:absolute;top:2px;left:2px;border-radius:50%;transition:.2s}.switch-row input:checked+.switch{background:var(--primary)}.switch-row input:checked+.switch:after{left:19px}.setting-group{margin-top:10px}.setting-group label{display:block;font-size:13px;margin-bottom:6px}.setting-group select,.setting-group input{width:100%}.wheel-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.wheel-wrapper{position:relative;width:min(70vh,650px);height:min(70vh,650px)}#wheelCanvas{width:100%;height:100%;display:block}.pointer{position:absolute;z-index:10;top:-3px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:40px solid #222;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}#spinBtn{position:absolute;width:110px;height:110px;border-radius:50%;border:7px solid #fff;background:#635bff;color:#fff;font-size:22px;font-weight:800;left:50%;top:50%;transform:translate(-50%,-50%);cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.25)}#spinBtn:hover{transform:translate(-50%,-50%) scale(1.05)}.result{margin-top:20px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:12px 25px;min-width:280px;text-align:center;color:#555}.result.winner{font-weight:700;font-size:18px;color:#111}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:100}.modal-overlay.show{display:flex}.winner-modal{width:min(90%,500px);background:#fff;border-radius:18px;padding:40px;text-align:center;position:relative;animation:popup .35s ease}@keyframes popup{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.close-modal{position:absolute;top:12px;right:15px;border:none;background:transparent;font-size:28px;cursor:pointer}.confetti{font-size:48px}.winner-label{margin-top:15px;color:#777;font-size:14px;letter-spacing:2px}.winner-name{font-size:42px;font-weight:800;margin:15px 0 30px;word-break:break-word}.modal-spin{border:none;background:#635bff;color:#fff;padding:12px 25px;border-radius:8px;font-size:16px;cursor:pointer}@media(max-width:800px){body{overflow:auto}.app{height:auto;flex-direction:column}.sidebar{width:100%;min-height:360px}.wheel-area{min-height:600px;padding:30px 10px}.wheel-wrapper{width:min(90vw,500px);height:min(90vw,500px)}#spinBtn{width:90px;height:90px}.brand{font-size:16px}.back-link{display:none}}
