:root{color-scheme:light dark;--bg: #f2f1f6;--surface: #ffffff;--surface-2: #e9e7ef;--ink: #16141c;--ink-2: #5f5a6b;--separator: #3c3c432e;--control-ring: #8a8596;--plum: #6c34d6;--plum-soft: #eee6fd;--on-plum: #ffffff;--basil: #1a7431;--basil-soft: #e1f3e5;--on-basil: #ffffff;--danger: #c42b21;--on-danger: #ffffff;--glass: rgba(255, 255, 255, .66);--glass-edge: rgba(255, 255, 255, .92);--glass-rim: rgba(22, 20, 28, .1);--scrim: rgba(9, 8, 12, .32);--link: var(--plum);--focus: var(--plum);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Helvetica Neue", sans-serif;--font-rounded: ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--text-large-title: 700 34px/41px var(--font-sans);--text-title-1: 700 28px/34px var(--font-sans);--text-title-2: 700 22px/28px var(--font-sans);--text-title-3: 600 20px/25px var(--font-sans);--text-headline: 600 17px/22px var(--font-sans);--text-body: 400 17px/22px var(--font-sans);--text-callout: 400 16px/21px var(--font-sans);--text-subheadline: 400 15px/20px var(--font-sans);--text-footnote: 400 13px/18px var(--font-sans);--text-caption: 500 12px/16px var(--font-sans);--text-wordmark: 700 28px/32px var(--font-rounded);--text-count: 600 15px/20px var(--font-rounded);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 26px;--radius-xl: 34px;--radius-full: 9999px;--tap-min: 44px;--row-min: 52px;--check-size: 26px;--bar-height: 62px;--blur-glass: 22px;--saturate-glass: 180%;--shadow-card: 0 1px 2px #16141c0a, 0 0 0 .5px #16141c0d;--shadow-glass: inset 0 1px 0 rgba(255, 255, 255, .92), inset 0 0 0 .5px rgba(255, 255, 255, .6), 0 0 0 .5px rgba(22, 20, 28, .1), 0 8px 28px rgba(22, 20, 28, .12);--shadow-float: 0 6px 18px rgba(108, 52, 214, .28);--focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px #6c34d6}@media (prefers-color-scheme: dark){:root{--bg: #09080c;--surface: #1b1a21;--surface-2: #2b2932;--ink: #f4f2f9;--ink-2: #a9a4b5;--separator: #ffffff1f;--control-ring: #7c7789;--plum: #b48cff;--plum-soft: #2d2148;--on-plum: #170b30;--basil: #5ccf7c;--basil-soft: #16301f;--on-basil: #04210e;--danger: #ff7a70;--on-danger: #2b0603;--glass: rgba(38, 36, 46, .62);--glass-edge: rgba(255, 255, 255, .18);--glass-rim: rgba(0, 0, 0, .55);--scrim: rgba(0, 0, 0, .56);--shadow-card: 0 0 0 .5px #ffffff0f;--shadow-glass: inset 0 1px 0 rgba(255, 255, 255, .18), inset 0 0 0 .5px rgba(255, 255, 255, .08), 0 0 0 .5px rgba(0, 0, 0, .55), 0 8px 28px rgba(0, 0, 0, .5);--shadow-float: 0 6px 18px rgba(0, 0, 0, .55);--focus-ring: 0 0 0 2px #1b1a21, 0 0 0 4px #b48cff}}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.bs-stack{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.bs-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4)}.bs-glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));backdrop-filter:blur(var(--blur-glass)) saturate(var(--saturate-glass));box-shadow:var(--shadow-glass)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.bs-glass,.bs-chip.bs-glass{background:var(--surface)}}@media (prefers-reduced-transparency: reduce){.bs-glass,.bs-chip.bs-glass{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.bs-icon{display:block;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.bs-icon .bs-dot{fill:currentColor;stroke:none}.bs-btn{-webkit-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;font:600 17px/22px var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;height:var(--tap-min);padding:0 var(--space-5);border-radius:var(--radius-full);transition:transform .15s ease,filter .15s ease,background-color .15s ease;-webkit-user-select:none;user-select:none}.bs-btn-lg{height:52px;padding:0 var(--space-6)}.bs-btn-icon{width:var(--tap-min);padding:0}.bs-btn-lg.bs-btn-icon{width:52px}.bs-btn-filled{background:var(--plum);color:var(--on-plum)}.bs-btn-tinted{background:var(--plum-soft);color:var(--plum)}.bs-btn-glass{color:var(--ink)}.bs-btn-plain{background:transparent;color:var(--plum);padding:0 var(--space-3);font-weight:400}.bs-btn-plain.bs-btn-icon{padding:0}.bs-btn-filled.is-danger{background:var(--danger);color:var(--on-danger)}.bs-btn-tinted.is-danger,.bs-btn-plain.is-danger,.bs-btn-glass.is-danger{color:var(--danger)}.bs-btn:active{transform:scale(.96);filter:brightness(.94)}.bs-btn-glass:active{filter:brightness(1.06)}.bs-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-btn-glass:focus-visible{box-shadow:var(--shadow-glass),var(--focus-ring)}.bs-btn:disabled{opacity:.4;cursor:default;transform:none;filter:none}.bs-check{-webkit-appearance:none;appearance:none;border:0;margin:0;padding:0;background:transparent;cursor:pointer;flex:none;width:var(--tap-min);height:var(--tap-min);display:grid;place-items:center;color:var(--on-basil)}.bs-check-disc{box-sizing:border-box;width:var(--check-size);height:var(--check-size);border-radius:50%;border:2px solid var(--control-ring);display:grid;place-items:center;transition:background-color .2s ease,border-color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.bs-check-disc .bs-icon{opacity:0;transform:scale(.4);transition:opacity .15s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.bs-check[aria-checked=true] .bs-check-disc{background:var(--basil);border-color:var(--basil)}.bs-check[aria-checked=true] .bs-check-disc .bs-icon{opacity:1;transform:scale(1)}.bs-check:active .bs-check-disc{transform:scale(.86)}.bs-check:focus-visible{outline:none}.bs-check:focus-visible .bs-check-disc{box-shadow:var(--focus-ring)}.bs-swipe{position:relative;overflow:hidden}.bs-swipe-action{position:absolute;top:0;right:0;bottom:0;width:88px;border:0;margin:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--danger);color:var(--on-danger);font:500 12px/16px var(--font-sans)}.bs-swipe-action:focus-visible{outline:2px solid var(--on-danger);outline-offset:-6px}.bs-row{position:relative;display:flex;align-items:stretch;padding:0 var(--space-4) 0 6px;background:var(--surface);touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform .25s ease,background-color .15s ease}.bs-row.is-dragging{transition:none}.bs-row:active{background:var(--surface-2)}.bs-row .bs-check{align-self:center}.bs-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3);min-height:var(--row-min);padding:11px 0 11px 4px;box-sizing:border-box}.bs-swipe+.bs-swipe .bs-row-main{border-top:.5px solid var(--separator)}.bs-row-text{flex:1;min-width:0}.bs-row-name{font:400 17px/22px var(--font-sans);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.bs-row-detail{font:400 15px/20px var(--font-sans);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-row-qty{flex:none;font:600 15px/20px var(--font-rounded);font-variant-numeric:tabular-nums;color:var(--ink-2)}.bs-row.is-done .bs-row-name{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1.5px}.bs-section{margin:0}.bs-section-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 var(--space-4) 6px}.bs-section-title{margin:0;font:600 15px/20px var(--font-sans);color:var(--ink-2)}.bs-section-count{font:600 15px/20px var(--font-rounded);font-variant-numeric:tabular-nums;color:var(--ink-2)}.bs-section-body{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden}.bs-section-footer{margin:6px var(--space-4) 0;font:400 13px/18px var(--font-sans);color:var(--ink-2)}.bs-section+.bs-section{margin-top:var(--space-6)}.bs-chip{-webkit-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--space-1);height:36px;padding:0 14px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink);font:400 15px/20px var(--font-sans);white-space:nowrap;transition:transform .15s ease,background-color .15s ease}.bs-chip.is-selected{background:var(--plum-soft);color:var(--plum);font-weight:600}.bs-chip.bs-glass{background:var(--glass)}.bs-chip:active{transform:scale(.96)}.bs-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-chips{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.bs-chips::-webkit-scrollbar{display:none}.bs-stepper{display:inline-flex;align-items:center;height:var(--tap-min);border-radius:var(--radius-full);background:var(--surface-2)}.bs-stepper-btn{-webkit-appearance:none;appearance:none;border:0;margin:0;padding:0;cursor:pointer;background:transparent;color:var(--plum);width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-full);display:grid;place-items:center}.bs-stepper-btn:active{transform:scale(.9)}.bs-stepper-btn:disabled{opacity:.4;cursor:default}.bs-stepper-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-stepper-value{min-width:44px;text-align:center;font:600 17px/22px var(--font-rounded);font-variant-numeric:tabular-nums;color:var(--ink)}.bs-stepper-unit{font:400 15px/20px var(--font-sans);color:var(--ink-2);margin-left:2px}.bs-addbar-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.bs-addbar{display:flex;align-items:center;gap:var(--space-2);box-sizing:border-box;height:var(--bar-height);padding:0 7px 0 var(--space-5);border-radius:var(--radius-full);margin:0}.bs-addbar:focus-within{box-shadow:var(--shadow-glass),0 0 0 2px var(--plum)}.bs-addbar-input{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:0;font:400 17px/22px var(--font-sans);color:var(--ink)}.bs-addbar-input::placeholder{color:var(--ink-2);opacity:1}.bs-addbar-submit{-webkit-appearance:none;appearance:none;border:0;margin:0;padding:0;cursor:pointer;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--plum);color:var(--on-plum);box-shadow:var(--shadow-float);transition:transform .15s ease}.bs-addbar-submit:active{transform:scale(.92)}.bs-addbar-submit:disabled{opacity:.4;box-shadow:none}.bs-addbar-submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-listcard{-webkit-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;text-align:left;width:100%;box-sizing:border-box;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:var(--space-3);row-gap:14px;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card);font-family:var(--font-sans);transition:transform .15s ease}.bs-listcard:active{transform:scale(.98)}.bs-listcard:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-listcard-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--plum-soft);color:var(--plum);display:grid;place-items:center}.bs-listcard.is-complete .bs-listcard-icon{background:var(--basil-soft);color:var(--basil)}.bs-listcard-name{font:600 20px/25px var(--font-sans);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-listcard-meta{display:flex;align-items:center;gap:4px;font:400 13px/18px var(--font-sans);color:var(--ink-2);margin-top:1px}.bs-listcard.is-complete .bs-listcard-meta{color:var(--basil);font-weight:600}.bs-listcard-chev{color:var(--ink-2)}.bs-progress{grid-column:1 / -1;height:6px;border-radius:var(--radius-full);background:var(--basil-soft);overflow:hidden}.bs-progress-fill{height:100%;border-radius:var(--radius-full);background:var(--basil);transition:width .4s ease}.bs-nav{position:relative;padding:0 var(--space-4) var(--space-2)}.bs-nav-bar{display:flex;align-items:center;gap:var(--space-2);height:54px}.bs-nav-bar-title{flex:1;min-width:0;text-align:center;font:600 17px/22px var(--font-sans);color:var(--ink);opacity:0;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-nav-group{display:flex;gap:var(--space-2);min-width:var(--tap-min)}.bs-nav-group-end{justify-content:flex-end}.bs-nav-large{margin:var(--space-1) 0 0;font:700 34px/41px var(--font-sans);color:var(--ink);transition:opacity .2s ease}.bs-nav-sub{margin:2px 0 0;font:400 15px/20px var(--font-sans);color:var(--ink-2);transition:opacity .2s ease}.bs-nav.is-scrolled{padding-bottom:0}.bs-nav.is-scrolled .bs-nav-bar{margin:0 calc(-1 * var(--space-4));padding:var(--nav-inset-top, env(safe-area-inset-top, 0px)) var(--space-4) 0;box-sizing:content-box;border-radius:0}.bs-nav.is-scrolled .bs-nav-bar-title{opacity:1}.bs-nav.is-scrolled .bs-nav-large,.bs-nav.is-scrolled .bs-nav-sub{display:none}.bs-tabbar-row{display:flex;align-items:center;gap:var(--space-2)}.bs-tabbar{flex:1;display:flex;align-items:stretch;box-sizing:border-box;height:var(--bar-height);padding:4px;border-radius:var(--radius-full)}.bs-tab{-webkit-appearance:none;appearance:none;border:0;margin:0;cursor:pointer;background:transparent;color:var(--ink);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:var(--radius-full);font:500 12px/16px var(--font-sans);transition:background-color .2s ease,color .2s ease}.bs-tab.is-active{background:var(--plum-soft);color:var(--plum);font-weight:600}.bs-tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-tabbar-action{-webkit-appearance:none;appearance:none;border:0;margin:0;padding:0;cursor:pointer;flex:none;width:var(--bar-height);height:var(--bar-height);border-radius:50%;display:grid;place-items:center;background:var(--plum);color:var(--on-plum);box-shadow:var(--shadow-float);transition:transform .15s ease}.bs-tabbar-action:active{transform:scale(.92)}.bs-tabbar-action:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bs-toast{display:inline-flex;align-items:center;gap:var(--space-2);box-sizing:border-box;min-height:50px;padding:0 6px 0 var(--space-5);border-radius:var(--radius-full);max-width:100%}.bs-toast-text{font:400 15px/20px var(--font-sans);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-toast .bs-btn{height:38px;padding:0 var(--space-3);font-size:15px;font-weight:600}.bs-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-8) var(--space-6)}.bs-empty-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--plum-soft);color:var(--plum);margin-bottom:var(--space-2)}.bs-empty.is-done .bs-empty-mark{background:var(--basil);color:var(--on-basil)}.bs-empty-title{margin:0;font:700 28px/34px var(--font-sans);color:var(--ink)}.bs-empty-body{margin:0;max-width:280px;font:400 16px/21px var(--font-sans);color:var(--ink-2)}@media (prefers-reduced-motion: reduce){.bs-btn,.bs-chip,.bs-row,.bs-check-disc,.bs-check-disc .bs-icon,.bs-listcard,.bs-progress-fill,.bs-addbar-submit,.bs-tabbar-action{transition:opacity .15s ease,background-color .15s ease!important}.bs-btn:active,.bs-chip:active,.bs-listcard:active,.bs-check:active .bs-check-disc,.bs-addbar-submit:active,.bs-tabbar-action:active{transform:none}}.bs-field{display:flex;flex-direction:column;gap:6px}.bs-field-label{margin:0 var(--space-4);font:600 15px/20px var(--font-sans);color:var(--ink-2)}.bs-input{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:100%;margin:0;min-height:var(--tap-min);padding:0 var(--space-4);border:0;border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink);font:var(--text-body);-webkit-user-select:text;user-select:text}.bs-input::placeholder{color:var(--ink-2);opacity:1}.bs-input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--control-ring)}.bs-input:focus-visible{box-shadow:var(--focus-ring)}.bs-input:disabled{opacity:.4}.bs-input[type=date]{display:flex;align-items:center;line-height:var(--tap-min)}.bs-field-hint,.bs-field-error{margin:0 var(--space-4);font:var(--text-footnote);color:var(--ink-2)}.bs-field-error{color:var(--ink);font-weight:600}.bs-field.has-error .bs-input{box-shadow:inset 0 0 0 1.5px var(--control-ring)}.bs-sheet-scrim{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:bs-fade .2s ease}.bs-sheet{box-sizing:border-box;width:100%;max-width:720px;max-height:92dvh;overflow-y:auto;padding:var(--space-5) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);color:var(--ink);animation:bs-sheet-in .25s ease}.bs-sheet-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.bs-sheet-title{flex:1;min-width:0;margin:0;font:var(--text-title-2)}.bs-sheet-body{display:flex;flex-direction:column;gap:var(--space-4)}.bs-sheet-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6)}.bs-sheet-actions .bs-btn{width:100%}.bs-sheet-text{margin:0;font:var(--text-callout);color:var(--ink-2)}@keyframes bs-fade{0%{opacity:0}to{opacity:1}}@keyframes bs-sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.bs-banner{display:flex;align-items:flex-start;gap:var(--space-3);box-sizing:border-box;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:var(--text-callout)}.bs-banner .bs-icon{margin-top:0}.bs-banner-text{flex:1;min-width:0;margin:0}.bs-banner.is-info{background:var(--plum-soft)}.bs-banner.is-info .bs-icon{color:var(--plum)}.bs-banner.is-done{background:var(--basil-soft);color:var(--basil);font-weight:600}.bs-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:22px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--plum-soft);color:var(--plum);font:var(--text-caption);font-variant-numeric:tabular-nums}.bs-badge.is-done{background:var(--basil-soft);color:var(--basil)}.bs-badge.is-neutral{background:var(--surface-2);color:var(--ink-2)}.bs-status{display:inline-flex;align-items:center;gap:var(--space-1);box-sizing:border-box;height:28px;padding:0 var(--space-3) 0 10px;border-radius:var(--radius-full);background:var(--surface-2);color:var(--ink-2);font:var(--text-caption);white-space:nowrap}.bs-status.is-offline,.bs-status.is-error{color:var(--ink);font-weight:600}.bs-skeleton{display:flex;align-items:center;gap:var(--space-3);min-height:var(--row-min);padding:0 var(--space-4) 0 var(--space-4)}.bs-skeleton+.bs-skeleton{border-top:.5px solid var(--separator)}.bs-skeleton-disc{flex:none;width:var(--check-size);height:var(--check-size);border-radius:50%;background:var(--surface-2)}.bs-skeleton-bar{height:12px;border-radius:var(--radius-full);background:var(--surface-2);animation:bs-pulse 1.1s ease-in-out infinite alternate}.bs-loading{margin:0;padding:var(--space-3) var(--space-4);font:var(--text-footnote);color:var(--ink-2)}@keyframes bs-pulse{0%{opacity:1}to{opacity:.45}}.bs-group+.bs-group{margin-top:var(--space-6)}.bs-cards{display:flex;flex-direction:column;gap:var(--space-3)}.bs-chip.is-on-bg{background:var(--surface)}a.bs-chip,a.bs-btn,a.bs-listcard,a.bs-tab,a.bs-tabbar-action{text-decoration:none}.bs-wordmark{margin:0;font:var(--text-wordmark);color:var(--plum)}.bs-testbanner{position:sticky;top:0;z-index:60;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-2);min-height:calc(var(--tap-min) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--space-2) 0 var(--space-4);background:var(--ink);color:var(--bg);font:var(--text-headline)}.bs-testbanner-text{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-testbanner-meta{font:var(--text-footnote);opacity:.8}.bs-testbanner .bs-btn-plain{color:var(--bg)}.bs-testbanner .bs-btn:focus-visible{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--bg)}.bs-plainrow{display:flex;align-items:center;gap:var(--space-3);min-height:var(--row-min);padding:11px var(--space-4);box-sizing:border-box;background:var(--surface);color:var(--ink);text-decoration:none}.bs-plainrow+.bs-plainrow{border-top:.5px solid var(--separator)}.bs-plainrow .bs-row-text{flex:1;min-width:0}a.bs-plainrow:active{background:var(--surface-2)}a.bs-plainrow:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus)}@media (prefers-reduced-motion: reduce){.bs-sheet,.bs-sheet-scrim{animation:bs-fade .15s ease}.bs-skeleton-bar{animation:none}}.ds-block>*+*{margin-top:var(--space-3)}.ds-h{margin:0 var(--space-4);font:var(--text-title-2);color:var(--ink)}.ds-sub{margin:var(--space-4) var(--space-4) 6px}.ds-pad{padding:var(--space-4)}.ds-caption{font:var(--text-footnote);color:var(--ink-2)}.ds-typegroup+.ds-typegroup{margin-top:var(--space-5)}.ds-type{display:flex;flex-direction:column;padding:var(--space-2) 0;border-top:.5px solid var(--separator)}.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.ds-swatch{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface)}.ds-chipcolor{display:block;height:44px;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 .5px var(--separator)}.ds-swatch-name{font:var(--text-headline)}.ds-space{display:flex;align-items:center;gap:var(--space-3);min-height:24px}.ds-spacebar{display:block;height:12px;background:var(--plum);border-radius:2px}.ds-radii{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.ds-radius{width:96px;height:64px;display:grid;place-items:center;background:var(--surface-2)}.ds-icongrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--space-3)}.ds-icon{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);color:var(--ink)}.ds-surface{background:var(--bg);border-radius:var(--radius-lg);box-shadow:inset 0 0 0 .5px var(--separator);overflow:hidden}.ds-focus{box-shadow:var(--focus-ring)!important}.ds-phone{position:relative;width:min(402px,100%);height:874px;margin:0 auto;overflow:hidden;border-radius:44px;background:var(--bg);box-shadow:inset 0 0 0 .5px var(--separator),var(--shadow-card)}.ds-phone-scroll{position:absolute;inset:0;overflow-y:auto;padding:59px 0 150px;box-sizing:border-box}.ds-phone-bottom{position:absolute;left:var(--space-4);right:var(--space-4);bottom:20px}html{background:var(--bg);-webkit-text-size-adjust:100%}body{min-height:100vh;min-height:100dvh}[hidden]{display:none!important}.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}:root{--bar-bottom: max(var(--space-2), calc(env(safe-area-inset-bottom, 0px) - 14px) );--test-banner-h: 0px}.has-test-banner{--test-banner-h: var(--tap-min);--nav-inset-top: 0px}.app{box-sizing:border-box;max-width:720px;margin:0 auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(var(--bar-height) + env(safe-area-inset-bottom,0px) + var(--space-8))}.has-test-banner .app{padding-top:0}.app-content{padding:var(--space-3) var(--space-4) 0}.app-content>*+*{margin-top:var(--space-6)}.app-collapsed-nav{position:fixed;left:0;right:0;top:0;z-index:40;transition:opacity .2s ease,transform .2s ease}.has-test-banner .app-collapsed-nav{top:calc(var(--test-banner-h) + env(safe-area-inset-top,0px))}.app-collapsed-nav.is-hidden{opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden}.app-bottom{position:fixed;z-index:30;left:0;right:0;bottom:var(--bar-bottom);box-sizing:border-box;max-width:720px;margin:0 auto;padding:0 var(--space-4)}.app-toast{position:fixed;z-index:35;left:0;right:0;bottom:calc(var(--bar-bottom) + var(--bar-height) + 14px);display:flex;justify-content:center;padding:0 var(--space-4);pointer-events:none}.app-toast>*{pointer-events:auto}.app-narrow{max-width:440px;margin:0 auto;padding:var(--space-8) var(--space-4)}.app-narrow .bs-wordmark{text-align:center;margin-bottom:var(--space-2)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.row-anim{animation:rowIn .3s ease}@keyframes rowIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.phx-click-loading .bs-btn,.phx-submit-loading .bs-btn{opacity:.7}@media (prefers-reduced-motion: reduce){.row-anim{animation:none}.app-collapsed-nav{transition:opacity .15s ease;transform:none!important}}
