:root{--bg:#000;--surface:#101012;--surface-2:#17171a;--surface-3:#1f1f23;--hairline:#ffffff17;--hairline-strong:#ffffff29;--text:#f5f5f7;--text-2:#a1a1a6;--text-3:#6e6e73;--accent:#0a84ff;--accent-quiet:#0a84ff24;--green:#30d158;--red:#ff453a;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--ease:cubic-bezier(.32, .72, 0, 1);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}@supports (height:100dvh){body,#root{height:100dvh}}body{background:var(--bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Inter,system-ui,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}::selection{background:var(--accent-quiet)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.setup{height:100%;padding:calc(var(--safe-t) + 28px) 24px calc(var(--safe-b) + 20px);flex-direction:column;gap:24px;width:100%;max-width:1100px;margin:0 auto;display:flex;overflow:hidden}.setup__head{flex:none;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.title{letter-spacing:-.028em;margin:0;font-size:30px;font-weight:640}.subtitle{color:var(--text-3);margin:4px 0 0;font-size:14px}.columns{flex:1;grid-template-columns:1fr 1fr;gap:16px;min-height:0;display:grid}@media (width<=720px){.setup{padding:calc(var(--safe-t) + 20px) 16px calc(var(--safe-b) + 16px);gap:18px}.title{font-size:24px}.setup__head{flex-wrap:wrap}.tune{justify-content:space-between;width:100%}.slider{flex:1;width:auto;min-width:0}.columns{scrollbar-width:none;grid-template-columns:1fr;overflow-y:auto}.columns::-webkit-scrollbar{display:none}.panel{min-height:340px}.setup__foot{flex-direction:column-reverse;align-items:stretch;gap:10px}.setup__foot .btn{justify-content:center}.hint{text-align:center}}.tune{background:var(--surface);border:1px solid var(--hairline);border-radius:999px;flex:none;align-items:center;gap:14px;padding:9px 18px;display:flex}.tune__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;font-size:11.5px;font-weight:620}.tune__value{color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right;min-width:38px;font-size:13.5px}.slider{align-items:center;width:168px;height:22px;display:flex;position:relative}.slider__track{background:#ffffff21;border-radius:999px;height:4px;position:absolute;left:0;right:0;overflow:hidden}.slider__fill{background:var(--accent);height:100%;display:block}.slider__input{appearance:none;background:0 0;width:100%;height:22px;margin:0;position:relative}.slider__input::-webkit-slider-runnable-track{background:0 0;height:22px}.slider__input::-webkit-slider-thumb{appearance:none;cursor:grab;width:18px;height:18px;transition:transform .15s var(--ease);background:#fff;border:0;border-radius:50%;box-shadow:0 1px 4px #000000b3}.slider__input:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.12)}.slider__input::-moz-range-track{background:0 0;height:22px}.slider__input::-moz-range-thumb{cursor:grab;background:#fff;border:0;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #000000b3}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-xl);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel__head{flex:none;justify-content:space-between;align-items:baseline;gap:10px;padding:18px 20px 12px;display:flex}.panel__title{letter-spacing:.09em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:620}.panel__count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.panel__list{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent;flex-direction:column;flex:1;gap:6px;min-height:0;padding:0 12px 12px;display:flex;overflow-y:auto}.panel__list::-webkit-scrollbar{width:8px}.panel__list::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:99px}.empty{text-align:center;color:var(--text-3);margin:auto;padding:24px;font-size:14px}.row{border-radius:var(--r-md);background:var(--surface-2);text-align:left;width:100%;transition:background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);border:1px solid #0000;align-items:center;gap:12px;padding:13px 14px;display:flex}.row:hover{background:var(--surface-3)}.row:active{transform:scale(.985)}.row.is-selected{background:var(--accent-quiet);border-color:#0a84ff80}.row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15.5px;font-weight:500;overflow:hidden}.row.is-selected .row__name{font-weight:560}.check{border:1.5px solid var(--hairline-strong);width:22px;height:22px;transition:background .18s var(--ease), border-color .18s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.row.is-selected .check{background:var(--accent);border-color:var(--accent)}.check svg{opacity:0;transition:opacity .16s var(--ease), transform .22s var(--ease);transform:scale(.6)}.row.is-selected .check svg{opacity:1;transform:scale(1)}.row__delete{width:26px;height:26px;color:var(--text-3);opacity:0;transition:opacity .16s var(--ease), background .16s var(--ease), color .16s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}.row:hover .row__delete,.row__delete:focus-visible{opacity:1}.row__delete:hover{color:var(--red);background:#ff453a29}@media (hover:none){.row__delete{opacity:1}}.add{border-top:1px solid var(--hairline);flex:none;gap:8px;padding:12px;display:flex}.add__input{background:var(--surface-2);border-radius:var(--r-md);min-width:0;transition:border-color .18s var(--ease), background .18s var(--ease);border:1px solid #0000;flex:1;padding:12px 14px;font-size:15px}.add__input::placeholder{color:var(--text-3)}.add__input:focus{background:var(--surface-3);border-color:var(--hairline-strong);outline:none}.add__btn{border-radius:var(--r-md);background:var(--surface-2);width:44px;color:var(--text-2);transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);flex:none;place-items:center;display:grid}.add__btn:hover:not(:disabled){background:var(--accent);color:#fff}.add__btn:active:not(:disabled){transform:scale(.94)}.add__btn:disabled{opacity:.35;cursor:default}.setup__foot{flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.hint{color:var(--text-3);min-height:20px;font-size:13.5px}.btn{background:var(--surface-2);letter-spacing:-.012em;transition:background .18s var(--ease), transform .18s var(--ease), opacity .18s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:13px 24px;font-size:15.5px;font-weight:560;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:active:not(:disabled){transform:scale(.97)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:#3d9dff}.btn:disabled{opacity:.3;cursor:default}.icon-btn{width:38px;height:38px;color:var(--text-2);transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);background:#ffffff0f;border-radius:50%;place-items:center;display:grid}.icon-btn:hover{color:var(--text);background:#ffffff1f}.icon-btn:active{transform:scale(.92)}.reveal{height:100%;padding:calc(var(--safe-t) + 10px) 10px calc(var(--safe-b) + 10px);grid-template-rows:1fr 1fr;gap:10px;display:grid}.reveal__bar{top:calc(var(--safe-t) + 20px);z-index:10;pointer-events:none;justify-content:space-between;gap:10px;display:flex;position:fixed;left:22px;right:22px}.reveal__bar-group{pointer-events:auto;gap:8px;display:flex}.box{border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--hairline);text-align:center;transition:background .3s var(--ease), border-color .3s var(--ease), opacity .3s var(--ease), transform .3s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:28px 24px;display:flex;position:relative;overflow:hidden}.box.is-waiting{opacity:.34}.box.is-armed{cursor:pointer;border-color:var(--hairline-strong)}.box.is-armed:hover{background:var(--surface-2)}.box.is-armed:active{transform:scale(.992)}.box.is-spinning{border-color:#0a84ff73}.box.is-landed{border-color:#30d1586b}.box__label{letter-spacing:.11em;text-transform:uppercase;color:var(--text-3);transition:color .3s var(--ease);font-size:12px;font-weight:620}.box.is-spinning .box__label{color:var(--accent)}.box.is-landed .box__label{color:var(--green)}.box__name{letter-spacing:-.035em;word-break:break-word;max-width:16ch;font-size:clamp(30px,7.6vmin,76px);font-weight:620;line-height:1.06}.box__name.is-idle{color:var(--text-3);letter-spacing:-.015em;font-size:clamp(17px,2.4vmin,22px);font-weight:500}.box__name.is-landing{animation:land .5s var(--ease)}@keyframes land{0%{transform:scale(.94)}55%{transform:scale(1.035)}to{transform:scale(1)}}.box__progress{background:var(--accent);width:0;height:2px;transition:opacity .4s var(--ease);position:absolute;bottom:0;left:0}.box__foot{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12.5px;position:absolute;bottom:16px}.dots{gap:6px;display:flex}.dots span{background:var(--surface-3);width:6px;height:6px;transition:background .24s var(--ease), transform .24s var(--ease);border-radius:50%}.dots span.is-on{background:var(--accent);transform:scale(1.25)}.dots span.is-done{background:var(--green)}.toast{left:50%;bottom:calc(var(--safe-b) + 26px);background:var(--surface-3);border:1px solid var(--hairline);color:var(--text-2);z-index:50;animation:rise .35s var(--ease);border-radius:999px;padding:10px 18px;font-size:13.5px;position:fixed;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.fade-in{animation:fade .4s var(--ease)}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
