:root{--lime-90: #e8ffb0;--lime-70: #c6ff00;--lime-60: #aee000;--lime-40: #6f8f00;--primary: #c6ff00;--on-primary: #1c2400;--primary-container: #4a5c00;--on-primary-container: #e8ffb0;--secondary: #8fd6ff;--on-secondary: #003549;--secondary-container: #0e4d68;--on-secondary-container: #c7ecff;--tertiary: #ffb59c;--on-tertiary: #5a1c0a;--tertiary-container: #7a3320;--on-tertiary-container: #ffdbcf;--error: #ffb4ab;--on-error: #690005;--error-container: #93000a;--on-error-container: #ffdad6;--background: #14160f;--on-background: #e6e9dd;--surface: #14160f;--on-surface: #e6e9dd;--on-surface-variant: #c5c8b8;--outline: #8f9285;--outline-variant: #44483c;--surface-dim: #14160f;--surface-bright: #3a3d33;--surface-container-lowest: #0e1009;--surface-container-low: #1c1f16;--surface-container: #20241a;--surface-container-high: #2b2e24;--surface-container-highest: #363a2e;--inverse-surface: #e6e9dd;--inverse-on-surface: #2d3027;--scrim: rgba(0,0,0,.6);--chart-1: #c6ff00;--chart-2: #8fd6ff;--chart-3: #ffb59c;--chart-4: #d0bcff;--chart-5: #ffd34d;--shape-none: 0px;--shape-xs: 6px;--shape-sm: 10px;--shape-md: 16px;--shape-lg: 22px;--shape-xl: 30px;--shape-2xl: 40px;--shape-full: 999px;--ease-spatial: cubic-bezier(.2, .8, .2, 1.05);--ease-effects: cubic-bezier(.3, 0, 0, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--dur-short: .14s;--dur-medium: .26s;--dur-long: .42s;--elev-1: 0 1px 2px rgba(0,0,0,.4), 0 1px 3px 1px rgba(0,0,0,.25);--elev-2: 0 1px 2px rgba(0,0,0,.4), 0 2px 6px 2px rgba(0,0,0,.25);--elev-3: 0 4px 8px 3px rgba(0,0,0,.25), 0 1px 3px rgba(0,0,0,.4);--font: "Roboto Flex", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}[data-theme=ember]{--primary: #ffb68a;--on-primary: #4a1e05;--primary-container: #7a3411;--on-primary-container: #ffdbcc;--secondary: #ffd9a0;--on-secondary: #442b00;--secondary-container: #6a4a1c;--on-secondary-container: #ffe7c4;--tertiary: #ff9ea8;--on-tertiary: #5a1a22;--tertiary-container: #7d2f38;--on-tertiary-container: #ffd9dd;--background: #171008;--on-background: #f1e6da;--surface: #171008;--on-surface: #f1e6da;--on-surface-variant: #d8c6b6;--outline: #a08c79;--outline-variant: #4f4135;--surface-dim: #171008;--surface-bright: #3f372d;--surface-container-lowest: #100a05;--surface-container-low: #201810;--surface-container: #251b12;--surface-container-high: #30251b;--surface-container-highest: #3c3025;--inverse-surface: #f1e6da;--inverse-on-surface: #352c20;--chart-1: #ffb68a;--chart-2: #ffd34d;--chart-3: #ff9ea8;--chart-4: #c6a0ff;--chart-5: #8fd6ff}[data-theme=aqua]{--primary: #5fdfe6;--on-primary: #00363a;--primary-container: #00504f;--on-primary-container: #b6fff7;--secondary: #8fd6ff;--on-secondary: #003549;--secondary-container: #0e4d68;--on-secondary-container: #c7ecff;--tertiary: #bcc2ff;--on-tertiary: #1f2a6b;--tertiary-container: #37418c;--on-tertiary-container: #e0e0ff;--background: #0c1416;--on-background: #dde4e6;--surface: #0c1416;--on-surface: #dde4e6;--on-surface-variant: #bdc9cc;--outline: #879396;--outline-variant: #3c484b;--surface-dim: #0c1416;--surface-bright: #323b3d;--surface-container-lowest: #060e0f;--surface-container-low: #131c1e;--surface-container: #172123;--surface-container-high: #212b2d;--surface-container-highest: #2c3638;--inverse-surface: #dde4e6;--inverse-on-surface: #1b2a2c;--chart-1: #5fdfe6;--chart-2: #8fd6ff;--chart-3: #bcc2ff;--chart-4: #7ee79e;--chart-5: #ffd34d}[data-theme=grape]{--primary: #d6b4ff;--on-primary: #2a0e5e;--primary-container: #48297f;--on-primary-container: #ecddff;--secondary: #ff9ec7;--on-secondary: #5a1138;--secondary-container: #7c2b54;--on-secondary-container: #ffd9e8;--tertiary: #ffb59c;--on-tertiary: #5a1c0a;--tertiary-container: #7a3320;--on-tertiary-container: #ffdbcf;--background: #141019;--on-background: #e8e0ef;--surface: #141019;--on-surface: #e8e0ef;--on-surface-variant: #cbbfd6;--outline: #968a9f;--outline-variant: #453c4d;--surface-dim: #141019;--surface-bright: #393143;--surface-container-lowest: #0e0a13;--surface-container-low: #1c1726;--surface-container: #211b2c;--surface-container-high: #2b2537;--surface-container-highest: #372f43;--inverse-surface: #e8e0ef;--inverse-on-surface: #312b3c;--chart-1: #d6b4ff;--chart-2: #ff9ec7;--chart-3: #ffb59c;--chart-4: #8fd6ff;--chart-5: #ffe08a}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);background:var(--background);color:var(--on-surface);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}a{color:inherit}button{font-family:inherit}.display{font-size:clamp(2.2rem,7vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.05}.headline{font-size:1.6rem;font-weight:750;letter-spacing:-.01em}.title{font-size:1.15rem;font-weight:700}.label{font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant)}.body{font-size:.95rem;line-height:1.55;color:var(--on-surface-variant)}.mono-num{font-variant-numeric:tabular-nums}.app{min-height:100%;max-width:880px;margin:0 auto;padding-top:0;padding-bottom:calc(96px + env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app:has(.fab){padding-bottom:calc(162px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:max(18px,calc(env(safe-area-inset-top) + 6px)) 4px 14px;background:linear-gradient(var(--background) 70%,transparent)}.topbar>.headline{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar>.btn{flex:0 0 auto}.brand{font-size:1.5rem;font-weight:850;letter-spacing:-.03em;color:var(--primary)}.brand-dot{color:var(--on-surface)}.spacer{flex:1}.icon-btn{flex:0 0 auto;width:38px;height:38px;margin-right:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--shape-full);background:var(--surface-container-high);border:1.5px solid var(--outline-variant);color:var(--on-surface);font-size:1.05rem;line-height:1;cursor:pointer;transition:background var(--dur-short) var(--ease-effects)}.icon-btn:hover{background:var(--surface-container-highest)}.icon-btn:active{transform:scale(.94)}@media (pointer: coarse){.icon-btn{min-width:44px;min-height:44px}}.avatar{width:38px;height:38px;border-radius:var(--shape-full);object-fit:cover;border:2px solid var(--outline-variant);cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.off-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;margin-right:8px;border-radius:var(--shape-full);background:var(--tertiary-container);color:var(--on-tertiary-container);font-weight:700;font-size:.82rem}.off-chip.syncing{background:var(--secondary-container);color:var(--on-secondary-container)}@media (pointer: coarse){.off-chip{min-height:44px}}.ck-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;margin-right:8px;border-radius:var(--shape-full);background:var(--surface-container-high);border:1.5px solid var(--outline-variant);color:var(--on-surface-variant);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;overflow:hidden;transition:background var(--dur-short) var(--ease-effects),border-color var(--dur-short) var(--ease-effects),color var(--dur-short) var(--ease-effects)}.ck-chip .ck-flame{filter:grayscale(1);opacity:.55;transition:filter var(--dur-medium) var(--ease-effects),opacity var(--dur-medium) var(--ease-effects)}.ck-chip.on{background:var(--primary-container);border-color:transparent;color:var(--on-primary-container)}.ck-chip.on .ck-flame{filter:none;opacity:1}.ck-chip:active{transform:scale(.94)}.ck-chip:disabled{opacity:.6;cursor:progress}.card{position:relative;background:var(--surface-container);border-radius:var(--shape-xl);padding:20px;border:1px solid var(--outline-variant);transition:transform var(--dur-medium) var(--ease-spatial),background var(--dur-short) var(--ease-effects)}.card.tap{cursor:pointer}.card.tap:active{transform:scale(.985)}.card-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 520px){.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{position:relative;background:var(--surface-container-high);border-radius:var(--shape-lg);padding:16px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--outline-variant)}.tile .v{font-size:1.9rem;font-weight:800;letter-spacing:-.02em}.tile .v.accent{color:var(--primary)}.tile .k{font-size:.72rem;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.btn{border:none;cursor:pointer;text-decoration:none;font-weight:700;font-size:.95rem;padding:14px 22px;border-radius:var(--shape-full);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-short) var(--ease-spatial),filter var(--dur-short) var(--ease-effects),background var(--dur-short) var(--ease-effects)}.btn:active{transform:scale(.94)}.btn.filled{background:var(--primary);color:var(--on-primary)}.btn.filled:hover{filter:brightness(1.06)}.btn.tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn.outline{background:transparent;color:var(--primary);border:1.5px solid var(--outline)}.btn.text{background:transparent;color:var(--primary);padding:10px 14px}.btn.danger{background:var(--error-container);color:var(--on-error-container)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}@media (pointer: coarse){.btn,.chip,.ck-chip{min-height:44px}.btn.text,.avatar{min-width:44px}.avatar{min-height:44px}[role=switch]{position:relative}[role=switch]:before{content:"";position:absolute;left:50%;top:50%;width:100%;height:44px;transform:translate(-50%,-50%)}}.fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));z-index:30;background:var(--primary);color:var(--on-primary);border:none;cursor:pointer;height:60px;padding:0 24px;border-radius:var(--shape-xl);font-weight:800;font-size:1rem;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--elev-3);transition:transform var(--dur-medium) var(--ease-spatial),filter var(--dur-short) var(--ease-effects)}.fab:active{transform:scale(.9)}.fab .plus{font-size:1.5rem;line-height:1}.navbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:flex;justify-content:center;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--background) 40%);max-width:100vw}.navbar-inner{display:flex;gap:2px;background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--shape-full);padding:6px;box-shadow:var(--elev-2);max-width:100%;overflow-x:auto}.nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;cursor:pointer;color:var(--on-surface-variant);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:var(--shape-full);font-size:.68rem;font-weight:650;transition:background var(--dur-medium) var(--ease-spatial),color var(--dur-short) var(--ease-effects)}.nav-item .ic{font-size:1.25rem;line-height:1}.nav-item.active{background:var(--primary-container);color:var(--on-primary-container)}@media (max-width: 430px){.navbar{padding-left:6px;padding-right:6px}.navbar-inner{padding:5px;gap:0;width:100%;justify-content:space-between}.nav-item{padding:7px 4px;font-size:clamp(.5rem,2.5vw,.6rem);flex:1}.nav-item .lbl{white-space:nowrap}.nav-item .ic{font-size:1.15rem}}.ring-wrap{display:flex;align-items:center;gap:18px}.progress-track{height:12px;border-radius:var(--shape-full);background:var(--surface-container-highest);overflow:hidden}.progress-fill{height:100%;border-radius:var(--shape-full);background:linear-gradient(90deg,var(--lime-40),var(--primary));transition:width var(--dur-long) var(--ease-spatial)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-4px;padding-inline:4px}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll>.chip{flex:0 0 auto}.chip{border:1.5px solid var(--outline-variant);background:var(--surface-container-high);color:var(--on-surface);border-radius:var(--shape-full);padding:9px 16px;font-weight:650;font-size:.88rem;cursor:pointer;transition:all var(--dur-short) var(--ease-effects)}.chip.sel{background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>span{font-size:.82rem;font-weight:650;color:var(--on-surface-variant)}.input,select.input,textarea.input{background:var(--surface-container-high);color:var(--on-surface);border:1.5px solid var(--outline-variant);border-radius:var(--shape-md);padding:14px 16px;font-size:1rem;font-family:inherit;transition:border-color var(--dur-short) var(--ease-effects)}.input:focus{outline:none;border-color:var(--primary)}.row{display:flex;gap:12px}.row>*{flex:1;min-width:0}.row.wrap{flex-wrap:wrap}.row.wrap>*{min-width:128px}.field .input{width:100%}.input{max-width:100%}.badge{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border-radius:var(--shape-lg);background:var(--surface-container-high);border:1px solid var(--outline-variant);text-align:center}.badge.locked{opacity:.4;filter:grayscale(1)}.badge .emoji{font-size:2.1rem}.badge .bn{font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.badge .bd{font-size:.68rem;color:var(--on-surface-variant);overflow-wrap:anywhere}.toast-wrap{position:fixed;left:0;right:0;bottom:calc(150px + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{background:var(--inverse-surface);color:var(--inverse-on-surface);padding:14px 22px;border-radius:var(--shape-full);font-weight:700;box-shadow:var(--elev-3);animation:pop var(--dur-long) var(--ease-spatial)}.toast.celebrate{background:var(--primary);color:var(--on-primary);font-size:1.05rem}@keyframes pop{0%{transform:translateY(24px) scale(.8);opacity:0}to{transform:none;opacity:1}}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--hm-size, 14px));grid-auto-columns:var(--hm-size, 14px);gap:4px}.hm-cell{width:var(--hm-size, 14px);height:var(--hm-size, 14px);border-radius:4px;background:var(--surface-container-highest);padding:0;border:none;flex:0 0 auto}.hm-cell.l1{background:color-mix(in srgb,var(--hm-color, var(--primary)) 24%,var(--surface-container-highest))}.hm-cell.l2{background:color-mix(in srgb,var(--hm-color, var(--primary)) 46%,var(--surface-container-highest))}.hm-cell.l3{background:color-mix(in srgb,var(--hm-color, var(--primary)) 72%,var(--surface-container-highest))}.hm-cell.l4{background:var(--hm-color, var(--primary))}.hm-cell.hm-void{background:none}button.hm-cell{cursor:pointer}button.hm-cell.sel{outline:2px solid var(--on-surface);outline-offset:1px}.hm-grid{display:flex;gap:6px;align-items:flex-start}.hm-side{display:grid;grid-template-rows:repeat(7,var(--hm-size, 14px));gap:4px;margin-top:18px;font-size:.6rem;color:var(--on-surface-variant)}.hm-side span{line-height:var(--hm-size, 14px)}.hm-scroll{overflow-x:auto;padding-bottom:4px;flex:1;min-width:0}.hm-months{display:grid;grid-auto-flow:column;grid-auto-columns:var(--hm-size, 14px);gap:4px;height:18px;font-size:.62rem;color:var(--on-surface-variant)}.hm-months span{white-space:nowrap;overflow:visible}.hm-foot{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;font-size:.72rem;color:var(--on-surface-variant);min-height:20px}.hm-caption{flex:1;min-width:0;font-weight:600;color:var(--on-surface)}.hm-legend{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.hm-key{display:inline-flex;align-items:center;gap:4px}.spark{display:block;width:100%}.share-bar{display:flex;height:12px;border-radius:var(--shape-full);overflow:hidden;background:var(--surface-container-highest)}.share-bar>span{display:block;height:100%}.share-keys{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.76rem;color:var(--on-surface-variant)}.share-keys>span{display:inline-flex;align-items:center;gap:6px}.share-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.rank-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:baseline;padding:9px 0}.rank-row .rank-track{grid-column:1 / -1;height:8px;border-radius:var(--shape-full);background:var(--surface-container-highest);overflow:hidden}.rank-row .rank-fill{display:block;height:100%;border-radius:var(--shape-full);background:var(--primary)}.section-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;margin:26px 4px 12px}.section-title>.title{min-width:0;overflow-wrap:anywhere}.empty{text-align:center;padding:40px 16px;color:var(--on-surface-variant)}.empty .big{font-size:2.6rem;margin-bottom:8px}.list-item{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:14px 4px;border-bottom:1px solid var(--outline-variant)}.list-item>:not([role=switch]){min-width:0;overflow-wrap:anywhere}.list-item:last-child{border-bottom:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur-medium) var(--ease-effects)}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:880px;background:var(--surface-container);border-radius:var(--shape-2xl) var(--shape-2xl) 0 0;padding:12px 0 0;border:1px solid var(--outline-variant);border-bottom:none;max-height:88dvh;display:flex;flex-direction:column;overflow:hidden;animation:slideup var(--dur-long) var(--ease-spatial)}@keyframes slideup{0%{transform:translateY(100%)}to{transform:none}}.sheet-grab{flex:0 0 auto;width:40px;height:4px;border-radius:2px;background:var(--outline);margin:6px auto 16px}.sheet-title{flex:0 0 auto;padding:0 20px 14px;margin:0;border-bottom:1px solid transparent;transition:border-color var(--dur-short) var(--ease-effects)}.sheet[data-scrolled=true] .sheet-title{border-bottom-color:var(--outline-variant)}.sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px calc(28px + env(safe-area-inset-bottom))}.sheet-body:has(.sheet-actions){padding-bottom:0}.sheet-actions{position:sticky;bottom:0;z-index:1;margin:16px -20px 0;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface-container);border-top:1px solid var(--outline-variant);display:flex;flex-direction:column;gap:10px}@media (min-width: 700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{max-width:560px;max-height:88dvh;border-radius:var(--shape-2xl);border-bottom:1px solid var(--outline-variant);animation:sheetpop var(--dur-long) var(--ease-spatial)}.sheet-grab{display:none}}@keyframes sheetpop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.skeleton{background:linear-gradient(90deg,var(--surface-container),var(--surface-container-high),var(--surface-container));background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--shape-lg)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sel{position:relative}.sel-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface-container-high);color:var(--on-surface);border:1.5px solid var(--outline-variant);border-radius:var(--shape-md);padding:14px 16px;font:inherit;font-size:1rem;cursor:pointer;text-align:left;transition:border-color var(--dur-short) var(--ease-effects)}.sel-trigger:hover{border-color:var(--outline)}.sel-trigger>:first-child{min-width:0;overflow-wrap:anywhere}.sel-placeholder{color:var(--on-surface-variant)}.sel-caret{flex:0 0 auto;color:var(--on-surface-variant);transition:transform var(--dur-short) var(--ease-spatial)}.sel-caret.open{transform:rotate(180deg)}.sel-pop{z-index:1000;margin:0;padding:6px;list-style:none;background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--shape-md);box-shadow:var(--elev-3);max-height:264px;overflow-y:auto;animation:selPop var(--dur-short) var(--ease-spatial);transform-origin:top center}@keyframes selPop{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.sel-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-radius:var(--shape-sm);cursor:pointer;font-size:.95rem;color:var(--on-surface)}.sel-opt.active{background:var(--surface-container-highest)}.sel-opt.selected{color:var(--primary);font-weight:650}.info-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:2px;background:transparent;border:none;border-radius:var(--shape-full);font-size:.95rem;line-height:1;cursor:pointer;opacity:.75;transition:opacity var(--dur-short) var(--ease-effects),background var(--dur-short) var(--ease-effects)}.info-btn:hover{opacity:1;background:var(--surface-container-high)}@media (pointer: coarse){.info-btn{width:44px;height:44px}}.info-body p{margin:0 0 12px;color:var(--on-surface-variant);line-height:1.55}.info-body p:last-child{margin-bottom:0}.info-body b,.info-body strong{color:var(--on-surface)}.info-body ul{margin:0 0 12px;padding-left:20px;color:var(--on-surface-variant);line-height:1.55}.info-body li{margin-bottom:6px}.field .field-hint,.field-hint{display:block;margin-top:-2px;font-size:.78rem;line-height:1.45;color:var(--on-surface-variant);font-weight:400;letter-spacing:0;text-transform:none;opacity:.85}.rest-card{text-align:center;background:var(--primary-container);color:var(--on-primary-container);border-color:transparent}.rest-num{font-size:3.2rem;font-weight:800;line-height:1;letter-spacing:-.02em}.rest-track{height:6px;border-radius:3px;background:color-mix(in srgb,var(--on-primary-container) 22%,transparent);overflow:hidden;margin-top:14px}.rest-fill{height:100%;border-radius:3px;background:var(--on-primary-container);transition:width 1s linear}.set-done{min-height:60px;font-size:1.15rem}.supp-row{flex:1;min-width:0;display:flex;align-items:center;gap:12px;justify-content:flex-start;text-align:left;padding:10px 2px}.supp-icon{flex:0 0 auto;font-size:1.35rem;line-height:1}.supp-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.supp-name{font-weight:650;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.supp-sub{font-size:.72rem;max-width:100%;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.35}.supp-bar{display:block;height:4px;border-radius:2px;background:var(--surface-container-highest);overflow:hidden;margin-top:2px}.supp-bar-fill{display:block;height:100%;background:var(--primary);border-radius:2px;transition:width var(--dur-medium) var(--ease-spatial)}.supp-done{flex:0 0 auto;color:var(--primary);font-weight:800}.supp-add{flex:0 0 auto;width:44px;min-width:44px;height:44px;padding:0;font-size:1.35rem;font-weight:700}.cbx .input{width:100%}.cbx-pop{padding:4px}.cbx-row{list-style:none}.cbx-group{padding:10px 12px 4px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant)}.cbx-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cbx-hint{flex:0 0 auto;font-size:.74rem;color:var(--on-surface-variant)}.sel-opt.cbx-create{color:var(--primary);font-weight:650}.btn:focus-visible,.chip:focus-visible,.nav-item:focus-visible,.sel-trigger:focus-visible,.avatar:focus-visible,a:focus-visible,[role=switch]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.input:focus-visible,select.input:focus-visible,textarea.input:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}button.hm-cell:focus-visible{outline:2px solid var(--primary);outline-offset:1px;z-index:1}.display,.headline,.title{text-wrap:balance;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.tilt{position:relative;transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transform-style:preserve-3d;will-change:transform}@media (pointer: coarse){.btn,.nav-item,.chip,.sel-trigger{min-height:44px}}body,.card,.tile,.badge,.navbar-inner,.nav-item,.chip,.input,.topbar,.progress-track,.list-item{transition:background-color var(--dur-medium) var(--ease-effects),color var(--dur-medium) var(--ease-effects),border-color var(--dur-medium) var(--ease-effects)}.card,.tile{transition:background-color var(--dur-medium) var(--ease-effects),color var(--dur-medium) var(--ease-effects),border-color var(--dur-short) var(--ease-effects),transform var(--dur-medium) var(--ease-spatial)}.card:before,.tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:0;background:radial-gradient(240px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--primary) 13%,transparent),transparent 62%);opacity:0;transition:opacity var(--dur-medium) var(--ease-effects)}.card.glow-on:before,.tile.glow-on:before{opacity:1}.card>*,.tile>*{position:relative;z-index:1}@media (hover: hover) and (pointer: fine){.card:not(.tilt):hover,.tile:hover{border-color:var(--outline);transform:translateY(-2px)}.card.tap:hover{box-shadow:var(--elev-2)}}.theme-wash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;background:radial-gradient(circle at 50% 35%,var(--wash),transparent 65%);animation:themeWash .7s var(--ease-emphasized) forwards}@keyframes themeWash{0%{opacity:0;transform:scale(.5)}35%{opacity:.6}to{opacity:0;transform:scale(1.6)}}.skip-link{position:absolute;left:8px;top:-100px;z-index:100;padding:12px 18px;border-radius:var(--shape-md);background:var(--primary);color:var(--on-primary);font-weight:700;text-decoration:none;transition:top var(--dur-short) var(--ease-effects)}.skip-link:focus{top:calc(8px + env(safe-area-inset-top))}main.page:focus{outline:none}.notice-band{margin:0 0 14px;padding:11px 14px;border-radius:var(--shape-md);background:var(--secondary-container);color:var(--on-secondary-container);font-weight:600;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}.page-anim{animation:pageIn var(--dur-long) var(--ease-spatial) both}@keyframes pageIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.page-anim .card,.page-anim .tile,.page-anim .badge{animation:riseIn var(--dur-medium) var(--ease-spatial) both}@keyframes riseIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.page-anim .grid>*:nth-child(1){animation-delay:.03s}.page-anim .grid>*:nth-child(2){animation-delay:.08s}.page-anim .grid>*:nth-child(3){animation-delay:.13s}.page-anim .grid>*:nth-child(4){animation-delay:.18s}.page-anim .grid>*:nth-child(5){animation-delay:.23s}.page-anim .grid>*:nth-child(6){animation-delay:.28s}.page-anim .grid>*:nth-child(7){animation-delay:.33s}.page-anim .grid>*:nth-child(8){animation-delay:.38s}.page-anim .ring-wrap>div:first-child{animation:ringPop var(--dur-long) var(--ease-spatial) both}@keyframes ringPop{0%{opacity:0;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}.page-anim .fab{animation:fabIn var(--dur-long) var(--ease-spatial) both}@keyframes fabIn{0%{opacity:0;transform:translateY(40px) scale(.7)}60%{opacity:1}to{transform:none}}.progress-fill{position:relative;overflow:hidden;transform-origin:left center}.page-anim .progress-fill{animation:barGrow var(--dur-long) var(--ease-spatial) both}@keyframes barGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.page-anim .progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translate(-100%);animation:barShine 2.2s var(--ease-effects) .4s 2}@keyframes barShine{to{transform:translate(100%)}}.btn,.chip,.nav-item,.fab,.tile,.card.tap{overflow:hidden}.ripple-ink{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);background:currentColor;opacity:.22;animation:rippleOut .6s var(--ease-emphasized) forwards}@keyframes rippleOut{to{transform:scale(1);opacity:0}}.nav-item.active{animation:navPop var(--dur-medium) var(--ease-spatial)}@keyframes navPop{0%{transform:scale(.82)}55%{transform:scale(1.12)}to{transform:scale(1)}}.nav-item.active .ic{animation:iconHop var(--dur-long) var(--ease-spatial)}@keyframes iconHop{0%{transform:translateY(0)}40%{transform:translateY(-5px) scale(1.15)}to{transform:translateY(0)}}.chip.sel{animation:chipPop var(--dur-short) var(--ease-spatial)}@keyframes chipPop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:scale(1)}}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-18px;width:9px;height:14px;border-radius:2px;opacity:.95;animation:confettiFall var(--dur) var(--ease-effects) var(--delay) forwards}@keyframes confettiFall{0%{transform:translateY(-20px) translate(0) rotate(var(--rot));opacity:1}to{transform:translateY(104vh) translate(var(--drift)) rotate(calc(var(--rot) + 540deg));opacity:.85}}@media (prefers-reduced-motion: reduce){*,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.theme-wash,.confetti{display:none}}
