*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;scroll-behavior:smooth;height:100%;-webkit-text-size-adjust:100%}body{min-height:100%;overflow:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body);background:var(--bg);color:var(--text);-moz-user-select:none;user-select:none;-webkit-user-select:none}[contenteditable],input,textarea{-moz-user-select:text;user-select:text;-webkit-user-select:text}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:16px}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:root{--bg:#000000;--surface:#1C1C1E;--surface-raised:#2C2C2E;--border:rgba(255,255,255,0.12);--text:#FFFFFF;--text-dim:rgba(235,235,245,0.6);--accent:#0A84FF;--accent-fg:#FFFFFF;--accent-2:transparent;--accent-2-fg:var(--text);--danger:rgba(255,69,58,1);--danger-fg:#FFFFFF;--warning:#fbbf24;--warning-fg:#000000;--status-success-bg:rgba(34,197,94,0.12);--status-success-text:#4ade80;--status-error-bg:rgba(239,68,68,0.12);--status-error-text:#f87171;--status-warn-bg:rgba(234,179,8,0.12);--status-warn-text:#facc15;--status-info-bg:rgba(59,130,246,0.12);--status-info-text:#60a5fa;--status-pending-bg:rgba(168,85,247,0.12);--status-pending-text:#c084fc;--status-caution-text:#FCD34D;--status-caution-bg:rgba(252,211,77,0.12);--status-muted-text:#9CA3AF;--status-muted-bg:rgba(156,163,175,0.12);--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-heading:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SF Mono","Fira Code","Consolas",monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-full:9999px;--t-fast:150ms ease;--t-normal:200ms ease;--t-spring:250ms cubic-bezier(0.32,0.72,0,1);--t-sheet-ms:340;--t-sheet:340ms cubic-bezier(0.32,0.72,0,1);--t-collapse:300ms cubic-bezier(0.34,1.1,0.64,1);--t-bounce:400ms cubic-bezier(0.34,1.56,0.64,1);--scrim:color-mix(in srgb,var(--bg) 72%,transparent);--scrim-light:color-mix(in srgb,var(--bg) 55%,transparent)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-in-right{0%{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-from-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.page-enter{animation:slide-in-from-right .28s cubic-bezier(.32,.72,0,1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes sheet-scale-down{0%{transform:scale(1) translateY(0)}to{transform:scale(.95) translateY(-8px)}}@keyframes sheet-scale-up{0%{transform:scale(.95) translateY(-8px)}to{transform:scale(1) translateY(0)}}@keyframes slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popup-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.96)}}@keyframes spin{to{transform:rotate(1turn)}}.app-shell{display:flex;height:100%}.app-sidebar{display:none;flex-direction:column;width:208px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg);padding:24px 0 16px;gap:4px;overflow-y:auto}@media (min-width:768px){.app-sidebar{display:flex}}.app-sidebar-brand{padding:0 16px 16px;font-family:var(--font-heading);font-size:1.125rem;color:var(--text);letter-spacing:.01em}.app-sidebar-item{display:flex;align-items:center;gap:12px;margin:0 8px;padding:8px 12px;border-radius:var(--radius-md);font-size:.875rem;color:var(--text-dim);transition:color var(--t-fast),background var(--t-fast);min-height:36px}.app-sidebar-item.active,.app-sidebar-item:hover{background:var(--surface);color:var(--text)}.app-main{flex-direction:column;min-width:0}.app-content,.app-main{display:flex;flex:1 1;overflow:hidden}.app-content{flex-direction:column}.app-bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding-bottom:max(env(safe-area-inset-bottom,0px),12px);z-index:50}@media (min-width:768px){.app-bottom-nav{display:none}}.app-bottom-tabs{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none}.app-bottom-tabs::-webkit-scrollbar{display:none}.app-bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px 4px;min-width:60px;font-size:10px;font-weight:500;letter-spacing:.02em;line-height:1.2;color:var(--text-dim);transition:color var(--t-fast),opacity var(--t-fast);flex-shrink:0}.app-bottom-tab:active{opacity:.7}.app-bottom-tab.active{color:var(--accent)}.icon-sm{width:16px;height:16px;flex-shrink:0}.icon-md{width:20px;height:20px;flex-shrink:0}.icon-lg{width:24px;height:24px;flex-shrink:0}.nav-tab-icon{width:22px;height:22px;flex-shrink:0}.page{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--bg)}@media (display-mode:standalone){.app-shell,.page{height:100vh}}.page-body{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overscroll-behavior-x:none;padding-bottom:env(safe-area-inset-bottom,0)}.page-body::-webkit-scrollbar{display:none}.page-body{scrollbar-width:none}.page-body--with-nav{padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px))}@media (min-width:768px){.page-body--with-nav{padding-bottom:env(safe-area-inset-bottom,0)}}.generator-screen{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.page-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding-top:max(env(safe-area-inset-top,0px),calc(16px - var(--hc, 0) * 6px));padding-left:20px;padding-right:20px;padding-bottom:calc(16px - var(--hc, 0) * 6px);background:color-mix(in srgb,var(--bg) calc((1 - var(--hc, 0) * .12) * 100%),transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid color-mix(in srgb,var(--border) calc(var(--hc, 0) * 100%),transparent);flex-shrink:0;will-change:transform;isolation:isolate}.page-header:after{content:"";display:block;height:0}.page-header--compact:after{height:0}.page-title{font-family:var(--font-heading);font-size:calc(1.875rem - var(--hc, 0) * .75rem);font-weight:500;color:var(--accent);line-height:1.2}.page-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-header-row>.domain-title,.page-header-row>.page-title{flex:1 1;min-width:0}.page-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-header button{flex-shrink:0}.page-divider{height:1px;background:var(--border);margin:0 20px;flex-shrink:0}body:has(.sheet-backdrop) .bottom-nav{background:var(--surface)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:translateZ(0);border-top:1px solid var(--border);padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav-tab{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:12px;padding-bottom:4px;color:var(--text-dim);opacity:.85;transition:color var(--t-fast),opacity var(--t-fast);min-height:44px}.bottom-nav-tab:active{opacity:.6;transform:scale(.92);transition:transform 80ms ease,opacity 80ms ease}.bottom-nav-tab.pending{color:var(--accent);opacity:.75}.bottom-nav-tab.active{color:var(--accent);opacity:1}.bottom-nav-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.bottom-nav-tab span{font-size:10px;font-weight:500;letter-spacing:.02em}.bottom-nav-tab.active span{font-weight:700}.bottom-nav-more{position:fixed;left:16px;right:16px;bottom:calc(60px + max(env(safe-area-inset-bottom, 0px), 12px) + 8px);z-index:50;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-raised);border:1px solid var(--border);box-shadow:0 -8px 32px rgba(0,0,0,.5);animation:popup-in .18s cubic-bezier(.32,.72,0,1) forwards;transform-origin:bottom center}.bottom-nav-more--closing{animation:popup-out .18s cubic-bezier(.32,.72,0,1) forwards}.bottom-nav-more-item{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--text);transition:background var(--t-fast);border-bottom:1px solid var(--border)}.bottom-nav-more-item:last-child{border-bottom:none}.bottom-nav-more-item:active{background:var(--surface)}.bottom-nav-more-item.active{color:var(--accent)}.bottom-nav-more-item span{font-size:1rem;font-weight:500}.nav-underlay{position:relative;height:100%;overflow:hidden;background:var(--bg);isolation:isolate}.nav-underlay-rail{position:absolute;inset:0 0 0 auto;width:78%;max-width:320px;z-index:0;display:flex;flex-direction:column;background:var(--bg);padding:max(env(safe-area-inset-top,0px),20px) 18px max(env(safe-area-inset-bottom,0px),20px) 22px;opacity:0;transition:opacity var(--t-normal)}.nav-underlay-rail-head{font-family:var(--font-heading);font-size:1.5rem;color:var(--text);letter-spacing:.04em;padding:4px 12px 14px}.nav-underlay-rail-sub{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);opacity:.55;padding:0 12px 8px}.nav-underlay-list{margin-top:auto;display:flex;flex-direction:column-reverse;gap:2px;overflow-y:auto;padding-bottom:64px}.nav-underlay-item{position:relative;display:flex;align-items:center;gap:14px;min-height:54px;padding:0 14px;border-radius:var(--radius-lg);color:var(--text-dim);font-size:1.0625rem;font-weight:500;text-align:left;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.nav-underlay-item svg{width:24px;height:24px;flex-shrink:0}.nav-underlay-item:active{transform:scale(.97)}.nav-underlay-item.active{color:var(--text);background:var(--surface)}.nav-underlay-item.active:after{content:"";position:absolute;right:6px;width:3px;height:26px;border-radius:var(--radius-full);background:var(--accent)}.nav-underlay-item.active svg{color:var(--accent)}.nav-underlay-item.pending{color:var(--accent);opacity:.75}.nav-underlay-card{position:absolute;inset:0;z-index:1;background:var(--bg);overflow:hidden;transform-origin:right center;transition:transform var(--t-spring),border-radius var(--t-spring),box-shadow var(--t-spring);will-change:transform}.nav-underlay.open .nav-underlay-card{transform:translateX(-72%) scale(.92);border-radius:var(--radius-xl);box-shadow:-8px 0 40px -8px color-mix(in srgb,var(--bg) 60%,transparent),0 0 0 1px var(--border)}.nav-underlay.open .nav-underlay-rail{opacity:1}.nav-underlay-card-scrim{position:absolute;inset:0;z-index:2;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity var(--t-spring)}.nav-underlay.open .nav-underlay-card-scrim{opacity:1;pointer-events:auto}.nav-underlay-fab{position:absolute;z-index:3;right:max(env(safe-area-inset-right,0px),16px);bottom:max(env(safe-area-inset-bottom,0px),20px);width:54px;height:54px;border-radius:var(--radius-full);display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);color:var(--text);box-shadow:0 6px 20px -6px color-mix(in srgb,var(--bg) 70%,transparent);transition:transform var(--t-spring),background var(--t-fast)}.nav-underlay-fab svg{width:24px;height:24px}.nav-underlay-fab:active{transform:scale(.92)}.nav-underlay.open .nav-underlay-fab{transform:translateX(-4px) rotate(90deg);background:var(--accent);color:var(--accent-fg)}.nav-underlay-edge{position:absolute;z-index:3;right:0;top:50%;transform:translateY(-50%);width:5px;height:64px;border-radius:var(--radius-full) 0 0 var(--radius-full);background:var(--border);opacity:.9}.nav-underlay.open .nav-underlay-edge{opacity:0;pointer-events:none}.nav-underlay-badge{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:var(--radius-full);background:var(--surface-raised);color:var(--text-dim);font-size:12px;font-weight:600;display:grid;place-items:center}.nav-underlay-item.active .nav-underlay-badge{background:var(--accent);color:var(--accent-fg)}@media (min-width:768px){.nav-underlay-card-scrim,.nav-underlay-edge,.nav-underlay-fab,.nav-underlay-rail{display:none}.nav-underlay-card{position:static;transform:none!important;box-shadow:none!important;border-radius:0!important}}@media (prefers-reduced-motion:reduce){.nav-underlay-card,.nav-underlay-card-scrim,.nav-underlay-fab,.nav-underlay-rail{transition-duration:1ms}}.section-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--radius-xl);background:var(--surface);margin-bottom:4px;cursor:default;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.section-header--interactive{cursor:pointer;transition:background var(--t-fast),opacity var(--t-fast)}.section-header--interactive:active{opacity:.7}.section-header--empty{background:color-mix(in srgb,var(--surface) 40%,transparent)}.section-header--empty .section-header-label{opacity:.55}.section-header-label{font-size:1rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0}.section-header-text{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.section-header-description{font-size:.75rem;font-weight:400;color:var(--text-dim)}.section-header-count{padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-raised)}.section-header-count,.section-header-meta{font-size:.75rem;color:var(--text-dim)}.section-header-chevron{color:var(--text-dim);flex-shrink:0;transition:transform var(--t-fast)}.section-header--open .section-header-chevron{transform:rotate(90deg)}.category-label,.section-label{padding:8px 20px 4px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.collapsible-header{display:flex;align-items:center;gap:8px;padding:10px 20px;width:100%;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:opacity var(--t-fast);text-align:left;box-sizing:border-box}.collapsible-header:active{opacity:.6}.collapsible-label{font-size:1rem;font-weight:600;color:var(--text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.collapsible-lockup{display:flex;align-items:center;gap:6px;flex-shrink:0}.collapsible-count{font-size:.75rem;padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-dim)}.collapsible-chevron{color:var(--text-dim);flex-shrink:0;transition:transform var(--t-fast)}.collapsible-header--open .collapsible-chevron,.collapsible-header[aria-expanded=true] .collapsible-chevron{transform:rotate(90deg)}.collapsible-body{overflow:hidden;transition:max-height var(--t-collapse)}.collapsible-card{background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:4px}.collapsible-card>.row:last-child,.collapsible-card>.swipe-row-wrap:last-child .item-row,.collapsible-card>[class*=item-row]:last-child{border-bottom:none}.collapsible-header--empty .collapsible-label{opacity:.45}.collapsible-block{margin-bottom:12px}.row{align-items:center;width:100%;padding:10px 20px;gap:12px;border-bottom:1px solid var(--border);min-height:44px;text-align:left}.list,.row{display:flex}.list{flex-direction:column}.list>.row:last-child{border-bottom:none}.list-card{overflow:hidden;margin:0 16px 16px}.list-card .row{padding-left:16px;padding-right:16px}.list-card .row:last-child{border-bottom:none}[data-theme=lcars] .list-card{background:transparent;border:none;border-radius:0;overflow:visible;margin:0}.row--tappable{cursor:pointer;transition:background var(--t-fast)}.row--tappable:active{background:var(--surface-raised)}.row-primary{flex:1 1;font-size:.875rem;color:var(--text);min-width:0}.row-secondary{min-width:0}.row-secondary,.row-trailing{font-size:.75rem;color:var(--text-dim)}.row-trailing{flex-shrink:0;margin-left:auto}.row-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);opacity:.3;flex-shrink:0}.row-content{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.settings-row-label{font-size:.9375rem;color:var(--text);font-weight:500}.settings-row-desc{font-size:.8125rem;color:var(--text-dim);margin-top:2px}.sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop-overlay{position:absolute;inset:0;background:var(--scrim);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in var(--t-sheet) forwards}.sheet-panel{position:relative;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:calc(92dvh - var(--kb-inset, 0px));margin-bottom:var(--kb-inset,0);display:flex;flex-direction:column;animation:slide-up var(--t-sheet) forwards;transition:margin-bottom .2s ease,max-height .2s ease}.sheet-panel--dragging{transition:none!important}.sheet-backdrop--overlay{z-index:60}.sheet-backdrop--overlay .sheet-backdrop-overlay{background:var(--scrim-light)}.sheet-handle{display:flex;justify-content:center;padding-top:12px;padding-bottom:4px;flex-shrink:0;cursor:-webkit-grab;cursor:grab;touch-action:none}.sheet-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.sheet-handle:after{content:"";width:40px;height:4px;border-radius:2px;background:var(--text-dim);opacity:.3}.sheet-header{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.sheet-title{flex:1 1;font-family:var(--font-heading);font-size:1.125rem;font-weight:400;color:var(--text)}.sheet-back{display:flex;align-items:center;gap:4px;font-size:.875rem;color:var(--text-dim);transition:color var(--t-fast);margin-left:-4px;padding:4px 8px 4px 4px}.sheet-back:active{color:var(--text)}.sheet-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-raised);color:var(--text-dim);flex-shrink:0;transition:color var(--t-fast)}.sheet-close:active{color:var(--text)}.sheet-body{flex:1 1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.sheet-body--padded{overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}.sheet-form{display:flex;flex-direction:column;flex:1 1;min-height:0}.sheet-form .form-fields{flex:1 1;overflow-y:auto;overscroll-behavior:contain}.page-form{display:flex;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.page-form>.form-fields{flex:1 1;overflow-y:auto;overscroll-behavior:contain}.sheet-footer{flex-shrink:0;border-top:1px solid var(--border);padding:16px 20px max(16px,env(safe-area-inset-bottom,0px))}.sheet-panel--closing{animation:slide-down var(--t-sheet) forwards}.sheet-backdrop--closing .sheet-backdrop-overlay{animation:fade-out var(--t-sheet) forwards}.sheet-panel--scaled{animation:sheet-scale-down var(--t-normal) ease forwards;transform-origin:top center}.sheet-panel--scaled-restore{animation:sheet-scale-up var(--t-normal) ease forwards;transform-origin:top center}.sheet-nav-content{animation:slide-in-right .2s ease forwards}.sheet-actions{display:flex;gap:12px}.sheet-actions>.btn{flex:1 1}.sheet-actions>.btn-destructive{flex:none}.add-item-bottom{display:flex;align-items:center;gap:8px;padding:10px 20px;width:100%;text-align:left;color:var(--text-dim);font-size:.875rem;border-top:1px solid color-mix(in srgb,var(--border) 30%,transparent);transition:opacity var(--t-fast)}.add-item-bottom:active{opacity:.6}.add-item-bottom-icon{color:var(--accent);font-size:1rem;line-height:1;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-xl);font-size:.875rem;font-weight:500;line-height:1;min-height:44px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--t-fast),opacity var(--t-fast),background-color var(--t-fast);white-space:nowrap}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{color:var(--accent-fg);font-weight:600}.btn-primary,.btn-primary:active:not(:disabled){background:var(--accent)}.btn-ghost{background:var(--surface-raised);color:var(--text-dim)}.btn-ghost:active:not(:disabled){background:var(--surface);color:var(--text)}.btn-destructive{background:rgba(239,68,68,.1);color:#f87171}.btn-destructive:active:not(:disabled){background:rgba(239,68,68,.2)}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:unset;padding:0;border-radius:50%;background:var(--surface-raised);color:var(--text-dim);font-size:1.375rem;font-weight:300;line-height:1;flex-shrink:0}.btn-icon:active:not(:disabled){transform:scale(.9)}.btn-icon--header{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);width:44px;height:44px}.btn-icon--header:active:not(:disabled){opacity:.6;transform:scale(.9)}.btn-text{background:none;color:var(--accent);padding:8px 12px;min-height:unset;font-size:.875rem}.btn-text:active:not(:disabled){opacity:.6;transform:none}.btn .btn-spinner{width:16px;height:16px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.fab{position:fixed;right:20px;bottom:max(calc(env(safe-area-inset-bottom, 0px) + 80px),96px);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 16px rgba(0,0,0,.4);z-index:30;transition:transform var(--t-fast)}.fab:active{transform:scale(.9)}.form-fields{display:flex;flex-direction:column;gap:16px;padding:16px 20px}.form-fields-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-fields-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:8px;gap:8px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.8125rem;font-weight:500;letter-spacing:0;color:var(--text-dim)}.field-label--required:after{content:" *";color:var(--accent);opacity:.8}.field-hint{font-size:.75rem;color:var(--text-dim);opacity:.7}.field-error{font-size:.75rem;color:#f87171}.input{width:100%;padding:12px 16px;border-radius:var(--radius-xl);font-size:16px;color:var(--text);background:var(--surface-raised);border:1px solid transparent;outline:none;transition:border-color var(--t-fast)}.input::placeholder{color:var(--text-dim);opacity:.5}.input:focus{border-color:rgba(139,126,106,.4)}.input:disabled{opacity:.5}.input--error{border-color:rgba(239,68,68,.5)}.input--error:focus{border-color:rgba(239,68,68,.7)}.input[type=date],.input[type=datetime-local],.input[type=month],.input[type=time]{color-scheme:dark;width:100%;max-width:100%;min-width:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:48px;line-height:1.5}.textarea{resize:none;overflow:hidden;min-height:80px}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B7E6A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.picker-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border-radius:var(--radius-xl);background:var(--surface-raised);border:1px solid transparent;color:var(--text);font-size:.875rem;transition:border-color var(--t-fast),background var(--t-fast);min-height:44px}.picker-btn:focus{border-color:rgba(139,126,106,.4)}.picker-btn:active{background:var(--surface)}.picker-btn--empty .picker-btn-label{color:var(--text-dim);opacity:.5}.picker-btn-label{flex:1 1;text-align:left;font-size:.875rem}.picker-btn-chevron{color:var(--text-dim);opacity:.5;flex-shrink:0}.picker-item{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background var(--t-fast);min-height:44px}.picker-item:active{background:var(--surface-raised)}.picker-item--selected .picker-item-label{font-weight:500;color:var(--text)}.picker-item-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center}.picker-item--selected .picker-item-check{background:var(--accent);border-color:var(--accent)}.picker-item-label{font-size:.875rem;color:var(--text);flex:1 1}.picker-item-sublabel{font-size:.75rem;color:var(--text-dim)}.picker-create{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background var(--t-fast)}.picker-create:active{background:var(--surface-raised)}.picker-create-icon{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.picker-create-label{font-size:.875rem;font-weight:500;color:var(--accent)}.pill-group{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(3,1fr)}.pill-group--2{grid-template-columns:repeat(2,1fr)}.pill-group--4{grid-template-columns:repeat(4,1fr)}.pill-group--5{grid-template-columns:repeat(5,1fr)}.pill{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 4px;border-radius:var(--radius-xl);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface-raised);border:1px solid transparent;transition:background var(--t-fast),border-color var(--t-fast);min-width:0;overflow:hidden}.pill input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.pill-label{font-size:.8125rem;color:var(--text-dim);transition:color var(--t-fast),font-weight var(--t-fast);position:relative;text-align:center;line-height:1.3;overflow-wrap:break-word;z-index:1}.pill-group--5 .pill{padding:8px 2px}.pill-group--5 .pill-label{font-size:.6875rem;line-height:1.2}.pill:has(input:checked){background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.pill:has(input:checked) .pill-label{color:var(--text);font-weight:500}.pill:active{opacity:.8}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,1fr)}.chip-grid--3{grid-template-columns:repeat(3,1fr)}.chip-grid--4{grid-template-columns:repeat(4,1fr)}.chip-grid--7{grid-template-columns:repeat(7,1fr)}.chip-grid>.chip{justify-content:center;border-radius:var(--radius-lg);text-align:center}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);font-size:.875rem;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-dim);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.chip:active{transform:scale(.95)}.chip--selected{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--text)}.chip-remove{color:var(--text-dim);transition:color var(--t-fast);font-size:.75rem;line-height:1}.chip-remove:hover{color:var(--text)}.toggle{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:12px}.toggle-label{font-size:.875rem;color:var(--text);flex:1 1}.toggle-track{position:relative;width:48px;height:28px;border-radius:var(--radius-full);background:var(--surface-raised);transition:background var(--t-normal);flex-shrink:0;cursor:pointer}.toggle-track:active{transform:scale(.95)}.toggle-track--on{background:var(--accent)}.toggle-thumb{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform var(--t-normal)}.toggle-track--on .toggle-thumb{transform:translateX(20px)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-neutral{background:var(--surface-raised);color:var(--text-dim)}.badge-success{background:var(--status-success-bg);color:var(--status-success-text)}.badge-danger{background:var(--status-error-bg);color:var(--status-error-text)}.badge-warning{background:var(--status-warn-bg);color:var(--status-warn-text)}.badge-info{background:var(--status-info-bg);color:var(--status-info-text)}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending-text)}.badge-accent{background:var(--accent);color:var(--accent-fg)}.lock-icon{color:var(--text-dim);opacity:.45;flex-shrink:0}.object-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-xl);background:var(--surface-raised);border:1px solid var(--border);transition:background var(--t-fast);text-align:left;min-height:44px}.object-chip:active{background:var(--surface)}.object-chip-label{font-size:.875rem;color:var(--text)}.object-chip-sub{font-size:.75rem;color:var(--text-dim)}.object-chip-chevron{color:var(--text-dim);opacity:.4;flex-shrink:0;margin-left:auto}.tab-switcher{display:flex;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-raised);flex-shrink:0}.tab-switcher-tab{flex:1 1;padding:10px 0;font-size:.875rem;font-weight:500;color:var(--text-dim);transition:background var(--t-fast),color var(--t-fast);text-align:center}.tab-switcher-tab--active{background:var(--accent);color:var(--accent-fg)}.btn-group{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--surface-raised);border:1px solid var(--border);flex-shrink:0}.btn-group,.btn-group-item{border-radius:var(--radius-full)}.btn-group-item{padding:4px 12px;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap;color:var(--text-dim);transition:background var(--t-fast),color var(--t-fast)}.btn-group-item:active{transform:scale(.95)}.btn-group-item--active{background:var(--accent);color:var(--accent-fg)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center}.empty-state-icon{font-size:2rem;color:var(--text-dim);opacity:.4;margin-bottom:4px}.empty-state-title{font-size:1rem;font-weight:500;color:var(--text-dim)}.empty-state-body{font-size:.875rem;color:var(--text-dim);opacity:.6;max-width:260px;line-height:1.5}.empty-state-action{margin-top:8px}.divider{height:1px;background:var(--border);margin:0 20px}.divider--full{margin:0}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.spinner--sm{width:16px;height:16px}.star-rating{gap:4px}.star,.star-rating{display:flex;align-items:center}.star{font-size:1.5rem;line-height:1;color:var(--border);transition:color var(--t-fast),transform var(--t-fast);cursor:pointer;min-width:44px;justify-content:center}.star:active{transform:scale(.9)}.star--filled{color:#C4892A}.star-count{font-size:.75rem;color:var(--text-dim);margin-left:4px}.search-wrap{position:relative;padding:0 20px 12px}.search-icon{position:absolute;left:32px;top:50%;transform:translateY(-50%) translateY(-6px);color:var(--text-dim);opacity:.5;pointer-events:none}.search-input{padding-left:36px}.form-error-banner{padding:12px 16px;border-radius:var(--radius-xl);background:var(--status-error-bg);border:1px solid rgba(239,68,68,.2);font-size:.875rem;color:var(--status-error-text)}.chat-header{gap:10px;padding:max(env(safe-area-inset-top,0px),8px) 12px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border)}.chat-back,.chat-header{display:flex;align-items:center;flex-shrink:0}.chat-back{gap:4px;color:var(--accent);padding:4px}.chat-back-count{font-size:.8125rem;font-weight:600;min-width:22px;height:22px;padding:0 6px;border-radius:var(--radius-full);background:var(--surface-raised);color:var(--text);display:inline-flex;align-items:center;justify-content:center}.chat-header-info{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.chat-header-avatar{width:40px;height:40px;border-radius:50%;background:var(--surface-raised);justify-content:center;font-size:.9375rem}.chat-header-avatar,.chat-header-title{color:var(--text);display:flex;align-items:center;font-weight:600}.chat-header-title{gap:2px;font-size:.8125rem}.chat-header-sub{font-size:.6875rem;color:var(--text-dim)}.chat-header-action{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.chat-thread{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:2px;padding:12px 12px 8px}.chat-separator{align-self:center;margin:12px 0 6px;font-size:.6875rem;font-weight:600;color:var(--text-dim);text-align:center}.chat-separator span{font-weight:400;opacity:.85}.msg-row{display:flex;width:100%}.msg-row--sent{justify-content:flex-end}.msg-row--received{justify-content:flex-start}.msg-row--group-start{margin-top:8px}.msg-bubble{max-width:80%;padding:8px 14px;font-size:1rem;line-height:1.35;border-radius:20px;word-wrap:break-word;overflow-wrap:anywhere;-webkit-user-select:text;-moz-user-select:text;user-select:text}.msg-bubble--sent{background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:6px}.msg-bubble--received{background:var(--surface-raised);color:var(--text);border-bottom-left-radius:6px}.msg-row:not(.msg-row--last) .msg-bubble--sent{border-bottom-right-radius:20px}.msg-row:not(.msg-row--last) .msg-bubble--received{border-bottom-left-radius:20px}.msg-bubble p{margin:0}.msg-bubble p+p{margin-top:8px}.msg-bubble pre{background:color-mix(in srgb,var(--bg) 60%,transparent);border-radius:var(--radius-md);padding:10px 12px;margin:8px 0;overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem}.msg-bubble code{font-family:var(--font-mono);font-size:.85em}.msg-receipt{align-self:flex-end;margin:2px 4px 0;font-size:.625rem;color:var(--text-dim)}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:12px 16px;background:var(--surface-raised);border-radius:20px;border-bottom-left-radius:6px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);animation:typing-bounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-composer{flex-shrink:0;display:flex;align-items:flex-end;gap:8px;padding:8px 12px max(8px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--bg)}.chat-composer-add{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--surface-raised);color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1}.chat-composer-input{flex:1 1;min-height:36px;max-height:120px;padding:8px 14px;border-radius:18px;background:var(--surface-raised);border:1px solid var(--border);color:var(--text);font-size:16px;line-height:1.3;resize:none;outline:none}.chat-composer-input::placeholder{color:var(--text-dim);opacity:.6}.chat-composer-send{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:var(--accent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;transition:transform var(--t-fast),opacity var(--t-fast)}.chat-composer-send:disabled{opacity:.4}.chat-composer-send:active:not(:disabled){transform:scale(.9)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.card--clip{overflow:hidden}.card-list{display:flex;flex-direction:column;gap:12px}.card-list--tight{gap:8px}.list-card{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;transition:opacity var(--t-fast)}.list-card:active{opacity:.7}.list-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.list-card-main{flex:1 1;min-width:0}.list-card-title{font-weight:500;color:var(--text)}.list-card-sub,.list-card-title{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card-sub{color:var(--text-dim);margin-top:2px}.list-card-meta{display:flex;align-items:center;gap:12px;margin-top:12px}.list-card-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0}.meta-text{font-size:.75rem;color:var(--text-dim)}.meta-text--faint{opacity:.7}.meta-text--italic{font-style:italic}.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.stat-cards{display:flex;gap:12px}.stat-card{flex:1 1;text-align:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 12px}.stat-card-num{font-size:1.125rem;font-weight:600;color:var(--text)}.stat-card-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-top:2px}.chip--solid{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.chip-scroller{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin:0 -20px;padding-left:20px;padding-right:20px;scrollbar-width:none}.chip-scroller::-webkit-scrollbar{display:none}.chip-scroller>.chip{flex:none;white-space:nowrap}.bottom-nav-fab,.chip-scroller{align-items:center}.bottom-nav-fab{align-self:center;flex-shrink:0;width:56px;height:56px;margin-top:-20px;border-radius:50%;display:flex;justify-content:center;background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 16px rgba(0,0,0,.4);transition:transform var(--t-fast)}.bottom-nav-fab:active{transform:scale(.9)}.confirm-strip{display:flex;align-items:center;gap:8px}.confirm-text{font-size:.75rem;color:var(--text-dim)}.confirm-btn{padding:8px 12px;border-radius:var(--radius-md);font-size:.875rem;transition:transform var(--t-fast),background var(--t-fast)}.confirm-btn:active{transform:scale(.95)}.confirm-btn--yes{color:var(--status-error-text);border:1px solid rgba(239,68,68,.3)}.confirm-btn--yes:active{background:var(--status-error-bg)}.confirm-btn--no{color:var(--text-dim)}.spinner-row{display:flex;align-items:center;justify-content:center;padding:40px 0}.page-header--bar{padding-top:max(env(safe-area-inset-top,0px),12px);padding-bottom:12px}.page-header--bar:after{display:none}.page-header--bar .page-header-row{position:relative;min-height:44px}.page-header--bar .page-header-row>.page-title{position:absolute;left:0;right:0;text-align:center;font-size:1.0625rem;font-weight:600;flex:unset;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 52px;color:var(--text)}.header-back{display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;width:44px;height:44px;margin-left:-8px}.header-back:active{opacity:.6}.header-subtitle{font-size:.75rem;color:var(--text-dim)}.page-title--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn--flex{flex:1 1}.auth-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 24px;background:var(--bg)}.auth-box{width:100%;max-width:24rem}.auth-title{text-align:center;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--text-dim);margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-screen .bottom-nav{display:none}.modal-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim,rgba(0,0,0,.6));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease forwards}.modal-panel{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;max-height:calc(100dvh - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;animation:modal-in .2s cubic-bezier(.32,.72,0,1) forwards}.modal-panel--full{max-width:none;width:calc(100vw - 24px);height:calc(100dvh - max(24px, env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px)));max-height:none}.modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{flex:1 1;font-family:var(--font-heading);font-size:1.125rem;font-weight:400;color:var(--text)}.modal-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-raised);color:var(--text-dim);flex-shrink:0}.modal-close:active{color:var(--text)}.modal-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px}.modal-footer{flex-shrink:0;display:flex;gap:12px;border-top:1px solid var(--border);padding:14px 16px max(14px,env(safe-area-inset-bottom,0px))}.card-list>*,.collapsible-card>*,.list-card>*{max-width:100%;min-width:0;box-sizing:border-box}.theme-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.theme-preview-card{background:var(--sw-bg);border:2px solid var(--sw-border,rgba(255,255,255,.06));border-radius:var(--radius-lg);padding:12px;text-align:left;cursor:pointer;transition:border-color var(--t-fast),transform var(--t-fast)}.theme-preview-card--active{--sw-border:var(--sw-accent);box-shadow:0 0 0 1px var(--sw-accent)}.theme-preview-card:active{transform:scale(.97)}.theme-swatch-row{display:flex;gap:5px;margin-bottom:10px}.theme-swatch-chip{width:18px;height:18px;border-radius:4px}.theme-swatch-chip--surface{background:var(--sw-surface);border:1px solid rgba(255,255,255,.08)}.theme-swatch-chip--accent{background:var(--sw-accent)}.theme-swatch-chip--text{background:var(--sw-text);opacity:.4}.theme-preview-name{font-size:.875rem;font-weight:600;color:var(--sw-text);line-height:1.2;margin-bottom:3px}.theme-preview-check{margin-left:6px;font-size:10px;color:var(--sw-accent);font-weight:700;letter-spacing:.05em}.theme-preview-desc{font-size:.6875rem;color:var(--sw-text);opacity:.45;letter-spacing:.02em}.input--password{text-align:center;letter-spacing:.15em}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left}.text-center{text-align:center}.text-accent{color:var(--accent)}.text-dim{color:var(--text-dim)}.text-body{color:var(--text)}.flex-fill{flex:1 1;min-width:0}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.min-w-0{min-width:0}.ml-auto{margin-left:auto}.overflow-hidden{overflow:hidden}.inline-row{display:flex;gap:8px;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stack-4{gap:4px}.stack-4,.stack-6{display:flex;flex-direction:column}.stack-6{gap:6px}.stack-8{gap:8px}.stack-12,.stack-8{display:flex;flex-direction:column}.stack-12{gap:12px}.stack-16{gap:16px}.stack-16,.stack-24{display:flex;flex-direction:column}.stack-24{gap:24px}.inline-row-4{gap:4px}.inline-row-4,.inline-row-6{display:flex;align-items:center}.inline-row-6{gap:6px}.inline-row-12{gap:12px}.inline-row-12,.inline-row-16{display:flex;align-items:center}.inline-row-16{gap:16px}.btn--block{width:100%}.mt-0{margin-top:0}.mt-2{margin-top:2px}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.ml-0{margin-left:0}.ml-4{margin-left:4px}.ml-8{margin-left:8px}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.w-full{width:100%}.d-block{display:block}.d-inline-flex{display:inline-flex}.lh-15{line-height:1.5}.lh-16{line-height:1.6}.pt-8{padding-top:8px}.pt-16{padding-top:16px}.pb-16{padding-bottom:16px}.icon-xs{width:12px;height:12px;flex-shrink:0}.icon-13{width:13px;height:13px;flex-shrink:0}.icon-14{width:14px;height:14px;flex-shrink:0}.icon-15{width:15px;height:15px;flex-shrink:0}.icon-18{width:18px;height:18px;flex-shrink:0}.icon-22{width:22px;height:22px;flex-shrink:0}.icon-32{width:32px;height:32px;flex-shrink:0}.icon-40{width:40px;height:40px;flex-shrink:0}.icon-44{width:44px;height:44px;flex-shrink:0}.page-transition{height:100%;display:flex;flex-direction:column;flex:1 1}.surface-card{background:var(--surface);border-radius:var(--radius-xl);overflow:hidden}.btn-dashed{width:100%;gap:8px;padding:10px 12px;border-radius:var(--radius-lg);border:1px dashed var(--border);color:var(--text-dim);font-size:.875rem}.btn-dashed,.checkbox-box{display:flex;align-items:center}.checkbox-box{width:16px;height:16px;border-radius:4px;border:1px solid var(--border);background-color:transparent;flex-shrink:0;justify-content:center}.checkbox-box--on{border-color:var(--cb-on,var(--accent));background-color:var(--cb-on,var(--accent))}.icon-dim{color:var(--text-dim);flex-shrink:0}.icon-dim--faint{opacity:.5}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--dot-color,var(--accent));flex-shrink:0}.drag-handle{flex-shrink:0;cursor:-webkit-grab;cursor:grab;padding:0 4px;touch-action:none;display:flex;align-items:center;justify-content:center;color:var(--text-dim);opacity:.5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.collapsible-anim{overflow:hidden;max-height:var(--body-max,0);transition:max-height var(--t-collapse)}.rotating-chevron{transform:var(--chevron-rotate,rotate(0deg));transition:transform var(--t-fast);flex-shrink:0}.section-header-trailing{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.sortable-list{position:relative}.sortable-item{transform:var(--drag-transform)}.sortable-item--shifting{transition:transform var(--t-spring);transform:var(--drag-transform);touch-action:none}.sortable-item--dragging{transform:var(--drag-transform);position:relative;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,.45);border-radius:var(--radius-xl);touch-action:none}.sortable-item:not(.sortable-item--dragging):not(.sortable-item--shifting){touch-action:pan-y}.swipe-row-wrap{--swipe-action-w:88px;position:relative;overflow:hidden}.swipe-action{position:absolute;top:0;bottom:0;width:var(--swipe-action-w);z-index:0;display:flex;align-items:center;justify-content:center}.swipe-action--start{left:0;background:var(--accent);color:var(--accent-fg)}.swipe-action--end{right:0;background:var(--danger);color:#fff}.swipe-action.is-hidden,.swipe-action[hidden]{visibility:hidden}.swipe-foreground{position:relative;z-index:1;background:var(--surface);transform:translateX(var(--swipe-x,0));transition:transform var(--t-spring);touch-action:pan-y}.swipe-foreground--dragging{transition:none}.section-pad{padding-top:8px}.section-pad,.section-pad--16{padding-left:20px;padding-right:20px}.section-pad--16{padding-top:16px}