:root{--bg:#f7f2fb;--bg-grad:linear-gradient(165deg, #f4eefe 0%, #fbeff6 55%, #fff4f1 100%);--surface:#fff;--surface-soft:#fbf8fd;--text:#3d3148;--muted:#9184a0;--border:#eee6f3;--accent:#e2457f;--accent-grad:linear-gradient(135deg, #f58bb4 0%, #e2457f 100%);--accent-soft:#fde7f0;--accent-text:#fff;--danger:#e0464e;--ok:#2fb38a;--ok-soft:#e3f7ef;--warn:#c86a1e;--warn-bg:#fff3e8;--shadow:0 6px 24px #8c64aa1a, 0 1px 3px #8c64aa14;--shadow-sm:0 2px 8px #8c64aa1a;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;font-family:Hiragino Maru Gothic ProN,Hiragino Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#1b1522;--bg-grad:linear-gradient(165deg, #1d1626 0%, #23172a 60%, #2a1a26 100%);--surface:#2a2133;--surface-soft:#32283c;--text:#f4ecf8;--muted:#ab9dba;--border:#3d3249;--accent:#f27aa8;--accent-grad:linear-gradient(135deg, #f7a1c3 0%, #e2457f 100%);--accent-soft:#4a2a3c;--danger:#ff7b82;--ok:#5fd4ad;--ok-soft:#1f3a33;--warn:#ffb36b;--warn-bg:#3a2a1d;--shadow:0 6px 24px #00000059;--shadow-sm:0 2px 8px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);margin:0}.page{max-width:640px;padding:0 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}h2{margin:0 0 8px;font-size:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.field{flex-direction:column;gap:4px;min-width:0;margin-bottom:10px;display:flex}.field>span{color:var(--muted);font-size:.85rem}input,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;width:100%;min-width:0;min-height:44px;padding:8px 10px;font-size:16px}input[type=date],input[type=time]{appearance:none;text-align:left;height:44px;line-height:26px;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=date]::-webkit-datetime-edit{padding:0}input[type=time]::-webkit-datetime-edit{padding:0}input[aria-invalid=true]{border-color:var(--danger)}button{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 14px}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);width:100%}button.danger{color:var(--danger);width:100%;margin-top:8px}button.link{color:var(--text);background:0 0;border:none;padding:0 4px;font-weight:500}button.icon{flex:none;width:44px;padding:0}.tabs{gap:4px;margin-bottom:12px;display:flex}.tab{flex:1}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.row{text-align:left;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;display:flex}.edit-list{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.edit-list li,.inline{align-items:center;gap:6px;display:flex}.inline{margin-bottom:8px}.grow{flex:1;min-width:0}.narrow{flex:none;width:64px}.prize{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px}.grid3,.grid4{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid3 .field,.grid4 .field{margin-bottom:0}.badge{color:var(--muted);border:1px solid var(--border);border-radius:999px;flex:none;padding:2px 8px;font-size:.8rem}.muted{color:var(--muted)}.small,small{font-size:.8rem}.error{color:var(--danger)}details summary{cursor:pointer;min-height:32px}html,body,#root{height:100%}body{overflow:hidden}.app{flex-direction:column;height:100dvh;display:flex}.appbar{padding:calc(4px + env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 4px max(8px, env(safe-area-inset-left));min-height:calc(52px + env(safe-area-inset-top));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:.5px solid var(--border);z-index:5;flex:none;align-items:center;gap:4px;display:flex}.appbar-title{text-align:center;flex:1;min-width:0}.appbar-title h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.05rem;font-weight:600;overflow:hidden}.appbar-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.clock{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.9rem}button.nav{color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.nav-space{flex:none;width:44px}.scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;width:100%;min-height:0;padding-top:12px;overflow-y:auto}.dock{background:var(--surface);border-top:.5px solid var(--border);padding:8px 0 calc(8px + env(safe-area-inset-bottom));flex:none}.dock .page{padding-bottom:0}.drawer-backdrop{z-index:25;background:#00000059;justify-content:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(300px,80vw);height:100%;padding:calc(8px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));animation:.18s ease-out slide-in;overflow-y:auto;box-shadow:-4px 0 16px #0003}.drawer-head{justify-content:space-between;align-items:center;padding-left:8px;display:flex}.drawer-head .icon{background:0 0;border:none}.drawer ul{margin:0;padding:0;list-style:none}.drawer li.separated{border-top:.5px solid var(--border);margin-top:8px;padding-top:8px}.drawer-item{text-align:left;background:0 0;border:none;border-radius:8px;width:100%;min-height:48px;padding:0 12px}.drawer-item.current{background:color-mix(in srgb, var(--muted) 16%, transparent);font-weight:600}@keyframes slide-in{0%{transform:translate(100%)}}@keyframes fade{0%{opacity:0}}.controls{flex-direction:column;gap:8px;display:flex}.controls .card{margin-bottom:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list.compact{gap:4px}.list.compact .row{gap:8px;min-height:44px;padding:6px 10px}.recent .row{background:0 0;border:none;padding:4px 0}.chips,.presets,.toast-row{flex-wrap:wrap;gap:6px;display:flex}.chip{min-width:48px;position:relative}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.dot{background:var(--ok);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:4px;display:inline-block}button.watching{border-color:var(--ok);color:var(--ok);font-weight:600}.prize-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}button.big{min-height:56px;font-weight:600}button:active:not(:disabled){filter:brightness(.85)}.actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.actions button{min-height:56px;padding:0 4px}button.accent{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.banner{background:var(--warn-bg);border:1px solid var(--warn);border-radius:var(--radius);margin-bottom:8px;padding:8px 12px}.banner .inline{margin:8px 0 0}.toast{left:50%;top:calc(60px + env(safe-area-inset-top));z-index:20;background:var(--text);width:min(608px,100% - 16px);color:var(--bg);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #00000040}.toast.error{background:var(--danger);color:#fff}.toast .muted{color:inherit;opacity:.7}.toast-warn{color:var(--warn);font-size:.85rem}.toast button{color:inherit;background:0 0;border-color:currentColor}.toast button.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.sheet-backdrop{z-index:10;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:640px;max-height:90dvh;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet-head h2{margin:0}.menu{flex-direction:column;gap:8px;display:flex}.counter{flex:none;align-items:center;gap:4px;display:flex}.counter input{text-align:center;width:64px}.counter .icon{width:52px;font-size:1.2rem}.count-row{align-items:center;gap:8px;padding:2px 0;display:flex}.auto-count{text-align:center;flex:none;width:172px}.prev{text-align:right;flex:none;width:56px}.presets{margin-bottom:6px}.props{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;display:grid}.props dt{color:var(--muted)}.props dd{margin:0}.history{padding-left:1.2em;font-size:.9rem}.voided{color:var(--muted);text-decoration:line-through}.filters{flex-direction:column;gap:8px;display:flex}.check{align-items:center;gap:8px;display:flex}.check input{width:22px;min-height:22px}.reminder{width:100%;min-height:36px;color:var(--warn);border-color:var(--warn);background:var(--warn-bg);margin-bottom:8px;font-size:.9rem}.banner.error{color:var(--danger);border-color:var(--danger)}.update{left:50%;bottom:calc(8px + env(safe-area-inset-bottom));z-index:30;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);align-items:center;gap:6px;width:min(608px,100% - 16px);padding:8px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 16px #00000040}code.key{word-break:break-all;background:var(--bg);border:1px solid var(--border);-webkit-user-select:all;user-select:all;border-radius:6px;margin:4px 0;padding:6px 8px;font-size:.85rem;display:block}.group{margin:0 0 22px}.group-title{color:var(--muted);margin:0 16px 6px;font-size:.8rem;font-weight:400}.group-body{background:var(--surface);border-radius:10px;overflow:hidden}.group-body>*{position:relative}.group-body>*+:before{content:"";border-top:.5px solid var(--border);pointer-events:none;position:absolute;top:0;left:16px;right:0}.group-footer,.group-note{color:var(--muted);margin:6px 16px 0;font-size:.78rem}.group-note{margin:-14px 16px 22px}.row-field,.row-link{align-items:center;gap:10px;width:100%;min-height:44px;padding:0 16px;display:flex}.row-label{flex:none;max-width:60%}.row-field input:not([type=checkbox]),.row-field select{text-align:right;text-align-last:right;color:var(--muted);background:0 0;border:none;border-radius:0;flex:1;padding:0}.row-field input:focus,.row-field select:focus{color:var(--text);outline:none}.row-field input[type=date],.row-field input[type=time]{text-align:right;height:44px;min-height:44px;padding:0;line-height:44px}.row-field input[type=date]::-webkit-date-and-time-value{text-align:right}.row-field input[type=time]::-webkit-date-and-time-value{text-align:right}.row-field input.left{text-align:left;color:var(--text)}.row-field input.strong{font-weight:600}.row-field input.narrow{text-align:center;border:1px solid var(--border);border-radius:6px;flex:none;width:56px;min-height:34px}.row-field input[aria-invalid=true]{color:var(--danger)}.row-stack{flex-direction:column;gap:6px;padding:10px 16px;display:flex}.row-stack p{margin:0}.row-link{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0}.row-link.compact{min-height:40px}.row-link:active:not(:disabled){background:color-mix(in srgb, var(--muted) 22%, transparent);filter:none}@media (hover:hover){.row-link:hover:not(:disabled){background:color-mix(in srgb, var(--muted) 12%, transparent)}}.accent-text{color:var(--accent)}.danger-text{color:var(--danger)}.right{text-align:right}.time{font-variant-numeric:tabular-nums;flex:none}.chevron{color:var(--muted);font-size:1.3rem;line-height:1}.group-body>button.primary,.group-body>button.danger{background:0 0;border:none;border-radius:0;width:100%;min-height:44px;margin:0;font-weight:600}.group-body>button.primary{color:var(--accent)}.group-body>button.primary:disabled{color:var(--muted)}.group-body>button.danger{color:var(--danger)}button.plain{color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;width:36px;display:inline-flex}button.plain.muted{color:var(--muted)}button.plain:disabled{opacity:.25}.row-field button.link{flex:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.segmented{background:color-mix(in srgb, var(--muted) 18%, transparent);border-radius:9px;margin-bottom:18px;padding:2px;display:flex}.segmented button{background:0 0;border:none;border-radius:7px;flex:1;min-height:34px;font-size:.9rem}.segmented button.active{background:var(--surface);font-weight:600;box-shadow:0 1px 3px #00000026}input[type=checkbox].switch{appearance:none;background:color-mix(in srgb, var(--muted) 30%, transparent);border:none;border-radius:31px;flex:none;width:51px;min-width:51px;height:31px;min-height:31px;margin-left:auto;padding:0;transition:background .2s;position:relative}input[type=checkbox].switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}input[type=checkbox].switch:checked:after{transform:translate(20px)}.dock-row{align-items:center;gap:6px;display:flex}.dock-row .chips{flex-wrap:nowrap;overflow-x:auto}.small-btn{flex:none;padding:0 10px;font-size:.85rem}.dock-label{color:var(--muted);margin-bottom:-4px;font-size:.75rem}.controls>button{width:100%}.icon-svg{flex:none;display:block}.row-link.action .row-icon{width:22px;color:var(--text);justify-content:center;display:inline-flex}.row-link.action:disabled{opacity:1;color:var(--muted)}.row-link.action:disabled .row-icon{color:var(--muted)}.chevron{color:var(--muted);display:inline-flex}label.row-link{cursor:pointer}button.pill{background:color-mix(in srgb, var(--muted) 16%, transparent);min-height:32px;color:var(--text);border:none;border-radius:16px;flex:none;align-items:center;gap:4px;padding:0 12px;font-size:.9rem;font-weight:500;display:inline-flex}.drawer-head .icon{justify-content:center;align-items:center;display:inline-flex}body{background:var(--bg)}.app{background:var(--bg-grad)}.appbar{background:color-mix(in srgb, var(--surface) 72%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--border) 70%, transparent);border-bottom:none}.appbar-title h1{letter-spacing:.02em;font-weight:700}.clock{background:var(--surface-soft);border-radius:999px;padding:2px 10px;font-size:.82rem}.group-body{border-radius:var(--radius);box-shadow:var(--shadow)}.group-title{letter-spacing:.04em;color:var(--muted);font-size:.78rem;font-weight:700}button{background:var(--surface);box-shadow:var(--shadow-sm);border:none;border-radius:14px;transition:transform 80ms,filter 80ms}button:active:not(:disabled){filter:none;transform:scale(.97)}button.primary,button.accent,.chip.active,.toast button.chip.active{background:var(--accent-grad);color:var(--accent-text);font-weight:700;box-shadow:0 4px 14px #e2457f4d}button.primary:disabled,button.accent:disabled{background:var(--border);color:var(--muted);box-shadow:none}button.danger{box-shadow:none;background:0 0}button.link,button.nav,button.plain,.drawer-head .icon,.row-link,.drawer-item,.segmented button{box-shadow:none}.row-link:active:not(:disabled){background:var(--accent-soft);transform:none}@media (hover:hover){.row-link:hover:not(:disabled){background:color-mix(in srgb, var(--accent-soft) 60%, transparent)}}button.pill{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:700}input,select{border-color:var(--border);background:var(--surface-soft);border-radius:12px}.row-field input:not([type=checkbox]),.row-field select{background:0 0}.segmented{background:color-mix(in srgb, var(--surface) 55%, transparent);box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;padding:3px}.segmented button{border-radius:999px}.segmented button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}input[type=checkbox].switch:checked{background:var(--accent)}.drawer{background:var(--surface);border-radius:24px 0 0 24px}.drawer-item{border-radius:12px}.drawer-item.current{background:var(--accent-soft);color:var(--accent)}.dock{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:none;border-radius:24px 24px 0 0;padding-top:12px;box-shadow:0 -6px 24px #8c64aa1f}.chip{background:var(--surface-soft);min-width:46px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px}.dot{background:var(--ok);box-shadow:0 0 0 2px color-mix(in srgb, var(--ok) 25%, transparent)}.chip.active .dot{background:#fff}button.watching{background:var(--ok-soft);color:var(--ok);box-shadow:none;border:none}button.big{background:var(--surface);min-height:54px;box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--border);border-radius:16px;font-size:1rem}.actions button{border-radius:16px;font-weight:600}.dock-label{letter-spacing:.04em;font-weight:700}.sheet{border-radius:28px 28px 0 0;box-shadow:0 -8px 30px #50286e2e}.sheet-head h2{font-weight:700}.counter .icon{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:700}.counter .icon:disabled{background:var(--border);color:var(--muted)}.toast{background:color-mix(in srgb, var(--text) 92%, transparent);color:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 10px 30px #3c1e5a4d}.toast button{background:color-mix(in srgb, var(--surface) 14%, transparent);color:inherit;box-shadow:none}.banner{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:none}.reminder{box-shadow:none;border:none;border-radius:999px}.badge{background:var(--accent-soft);color:var(--accent);border:none}
