*,*:before,*:after{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);user-select:none;-webkit-user-select:none}input,textarea,[contenteditable]{user-select:text;-webkit-user-select:text}img,video,svg{display:block;max-width:100%}input,button,textarea,select{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, .12);--text: #FFFFFF;--text-dim: rgba(235, 235, 245, .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, .12);--status-success-text: #4ade80;--status-error-bg: rgba(239, 68, 68, .12);--status-error-text: #f87171;--status-warn-bg: rgba(234, 179, 8, .12);--status-warn-text: #facc15;--status-info-bg: rgba(59, 130, 246, .12);--status-info-text: #60a5fa;--status-pending-bg: rgba(168, 85, 247, .12);--status-pending-text: #c084fc;--status-caution-text: #FCD34D;--status-caution-bg: rgba(252, 211, 77, .12);--status-muted-text: #9CA3AF;--status-muted-bg: rgba(156, 163, 175, .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: .15s ease;--t-normal: .2s ease;--t-spring: .25s cubic-bezier(.32, .72, 0, 1);--t-sheet-ms: 340;--t-sheet: .34s cubic-bezier(.32, .72, 0, 1);--t-collapse: .3s cubic-bezier(.34, 1.1, .64, 1);--t-bounce: .4s cubic-bezier(.34, 1.56, .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:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-in-from-right{0%{transform:translate(100%);opacity:0}to{transform:translate(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(360deg)}}.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:hover,.app-sidebar-item.active{background:var(--surface);color:var(--text)}.app-main{display:flex;flex-direction:column;flex:1;min-width:0;overflow:hidden}.app-content{flex:1;overflow:hidden;display:flex;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 all and (display-mode:standalone){.page,.app-shell{height:100vh}}.page-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overscroll-behavior-x:none;padding-bottom:env(safe-area-inset-bottom,0px)}.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,0px)}}.generator-screen{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.page-header{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>.page-title,.page-header-row>.domain-title{flex: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;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:translate(-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(68px + max(env(safe-area-inset-bottom,0px),12px));z-index:50;border-radius:var(--radius-xl);overflow:hidden;background:var(--surface-raised);border:1px solid var(--border);box-shadow:0 -8px 32px #00000080;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;top:0;right:0;bottom:0;left: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:translate(-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;top:0;right:0;bottom:0;left: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:translate(-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-rail,.nav-underlay-fab,.nav-underlay-edge,.nav-underlay-card-scrim{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-rail,.nav-underlay-fab,.nav-underlay-card-scrim{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;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;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{font-size:.75rem;padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-dim)}.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)}.section-label,.category-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;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;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[aria-expanded=true] .collapsible-chevron,.collapsible-header--open .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>[class*=item-row]:last-child,.collapsible-card>.swipe-row-wrap:last-child .item-row{border-bottom:none}.collapsible-header--empty .collapsible-label{opacity:.45}.collapsible-block{margin-bottom:12px}.row{display:flex;align-items:center;width:100%;padding:10px 20px;gap:12px;border-bottom:1px solid var(--border);min-height:44px;text-align:left}.list{display:flex;flex-direction:column}.list>.row:last-child{border-bottom:none}.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);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;font-size:.875rem;color:var(--text);min-width:0}.row-secondary{font-size:.75rem;color:var(--text-dim);min-width:0}.row-trailing{font-size:.75rem;color:var(--text-dim);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;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;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop-overlay{position:absolute;top:0;right:0;bottom:0;left: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, 0px);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:grab;touch-action:none}.sheet-handle:active{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;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;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;min-height:0}.sheet-form .form-fields{flex:1;overflow-y:auto;overscroll-behavior:contain}.page-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.page-form>.form-fields{flex:1;overflow-y:auto;overscroll-behavior:contain}.sheet-footer{flex-shrink:0;padding:16px 20px;border-top:1px solid var(--border);padding-bottom: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}.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;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{background:var(--accent);color:var(--accent-fg);font-weight:600}.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:#ef44441a;color:#f87171}.btn-destructive:active:not(:disabled){background:#ef444433}.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 currentColor;border-top-color: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 #0006;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;gap:12px}.form-fields-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;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:#8b7e6a66}.input:disabled{opacity:.5}.input--error{border-color:#ef444480}.input--error:focus{border-color:#ef4444b3}.input[type=date],.input[type=time],.input[type=datetime-local],.input[type=month]{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:#8b7e6a66}.picker-btn:active{background:var(--surface)}.picker-btn--empty .picker-btn-label{color:var(--text-dim);opacity:.5}.picker-btn-label{flex: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}.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;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;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;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}.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 #0000004d;transition:transform var(--t-normal)}.toggle-track--on .toggle-thumb{transform:translate(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;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);border-radius:var(--radius-full);flex-shrink:0}.btn-group-item{padding:4px 12px;border-radius:var(--radius-full);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{display:flex;align-items:center;gap:4px}.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;display:flex;align-items:center;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{display:flex;align-items:center;gap:10px;padding:8px 12px;padding-top:max(env(safe-area-inset-top,0px),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);flex-shrink:0}.chat-back{display:flex;align-items:center;gap:4px;color:var(--accent);flex-shrink:0;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;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);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:.9375rem;font-weight:600}.chat-header-title{display:flex;align-items:center;gap:2px;font-size:.8125rem;font-weight:600;color:var(--text)}.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;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;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 20px 20px 6px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-dim);animation:typing-bounce 1.2s infinite ease-in-out}.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;padding-bottom: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;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;min-width:0}.list-card-title{font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-card-sub{font-size:.875rem;color:var(--text-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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;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}.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;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 16px #0006;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}.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;top:0;right:0;bottom:0;left: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;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;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px}.modal-footer{flex-shrink:0;display:flex;gap:12px;padding:14px 16px;border-top:1px solid var(--border);padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}.list-card>*,.card-list>*,.collapsible-card>*{max-width:100%;min-width:0;box-sizing:border-box}.theme-grid{display:grid;grid-template-columns:1fr 1fr;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;min-width:0}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;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{display:flex;flex-direction:column;gap:4px}.stack-6{display:flex;flex-direction:column;gap:6px}.stack-8{display:flex;flex-direction:column;gap:8px}.stack-12{display:flex;flex-direction:column;gap:12px}.stack-16{display:flex;flex-direction:column;gap:16px}.stack-24{display:flex;flex-direction:column;gap:24px}.inline-row-4{display:flex;gap:4px;align-items:center}.inline-row-6{display:flex;gap:6px;align-items:center}.inline-row-12{display:flex;gap:12px;align-items:center}.inline-row-16{display:flex;gap:16px;align-items:center}.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}.surface-card{background:var(--surface);border-radius:var(--radius-xl);overflow:hidden}.btn-dashed{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-lg);border:1px dashed var(--border);color:var(--text-dim);font-size:.875rem}.checkbox-box{width:16px;height:16px;border-radius:4px;border:1px solid var(--border);background-color:transparent;flex-shrink:0;display:flex;align-items:center;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: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;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 #00000073;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[hidden],.swipe-action.is-hidden{visibility:hidden}.swipe-foreground{position:relative;z-index:1;background:var(--surface);transform:translate(var(--swipe-x, 0px));transition:transform var(--t-spring);touch-action:pan-y}.swipe-foreground--dragging{transition:none}.section-pad{padding-top:8px;padding-left:20px;padding-right:20px}.section-pad--16{padding-top:16px;padding-left:20px;padding-right:20px}:root{--bg: #17130F;--surface: #211B15;--surface-raised: #2E271F;--border: rgba(233, 220, 200, .12);--text: #F3EBDD;--text-dim: rgba(233, 220, 200, .55);--text-secondary: rgba(233, 220, 200, .55);--accent: #C4892A;--accent-fg: #17130F;--warning: #E0A93B;--danger: #E5533C;--danger-fg: #FFFFFF;--radius: 12px;--font-heading: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.db-shell{display:flex;height:100vh;overflow:hidden}.db-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;background:var(--surface)}.db-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.db-toolbar{height:44px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:8px;flex-shrink:0}.db-toolbar-brand{font-family:var(--font-heading);font-weight:600;font-size:15px;color:var(--accent);margin-right:8px;display:flex;align-items:center;gap:6px}.db-toolbar-spacer{flex:1}.db-toolbar-btn{font-size:13px;padding:5px 12px;border-radius:8px;cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--text-dim)}.db-toolbar-btn:hover{background:var(--surface-raised);color:var(--text)}.db-toolbar-btn.active{background:var(--surface-raised);color:var(--text);border-color:transparent}.db-hamburger{display:none;font-size:18px;background:transparent;border:none;color:var(--text);cursor:pointer;padding:4px 8px;line-height:1}.db-editor-area{flex:0 0 auto;border-bottom:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:8px}.db-editor-row{display:flex;gap:8px;align-items:flex-start}.db-sql-input{width:100%;min-height:80px;max-height:240px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-family:ui-monospace,monospace;font-size:13px;color:var(--text);resize:vertical}.db-sql-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.db-run-btn{background:var(--accent);color:var(--accent-fg);border:none;cursor:pointer;font-weight:600;font-size:13px;padding:8px 16px;border-radius:var(--radius);flex-shrink:0;white-space:nowrap}.db-run-btn:disabled{opacity:.5;cursor:default}.db-editor-meta{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:12px}.db-error-banner{background:color-mix(in srgb,var(--danger) 14%,transparent);border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger);border-radius:var(--radius);padding:8px 12px;font-size:13px;font-family:ui-monospace,monospace;white-space:pre-wrap}.db-results{flex:1;overflow:auto}.db-table{width:100%;border-collapse:collapse;font-size:13px}.db-table th{position:sticky;top:0;background:var(--surface);padding:6px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.db-th-name{font-weight:600;color:var(--text)}.db-type-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;letter-spacing:.04em;padding:1px 5px;border-radius:5px;background:var(--surface-raised);color:var(--text-secondary)}.db-th-pk{color:var(--accent)}.db-table td{padding:5px 12px;border-bottom:1px solid var(--border);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.db-table tr:hover td{background:var(--surface)}.db-row-clickable{cursor:pointer}.db-null{color:var(--text-secondary);font-style:italic}.db-row-detail td{white-space:normal;max-width:none;background:var(--bg);padding:0}.db-row-detail-inner{padding:12px 16px;display:grid;grid-template-columns:max-content 1fr;gap:4px 16px}.db-row-detail-key{font-size:12px;color:var(--text-secondary);font-family:ui-monospace,monospace}.db-row-detail-val{font-size:13px;font-family:ui-monospace,monospace;word-break:break-word}.db-pagination{padding:8px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary);flex-shrink:0}.db-page-btn{font-size:13px;padding:5px 12px;border-radius:8px;cursor:pointer;background:var(--surface-raised);border:1px solid transparent;color:var(--text)}.db-page-btn:disabled{opacity:.4;cursor:default}.db-pagination-spacer{flex:1}.db-sidebar-title{padding:14px 16px 8px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.tree-db{padding:4px 0}.tree-db-header{padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text)}.tree-db-header:hover{background:var(--surface)}.tree-db-header.inaccessible{color:var(--text-secondary);cursor:default;opacity:.55}.tree-db-caret{width:12px;display:inline-block;font-size:10px;color:var(--text-secondary)}.tree-db-meta{margin-left:auto;font-size:11px;color:var(--text-secondary);font-weight:400}.tree-table-row{padding:4px 12px 4px 28px;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--text-dim)}.tree-table-row:hover,.tree-table-row.active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text)}.tree-count{font-size:11px;color:var(--text-secondary)}.tree-empty{padding:4px 12px 4px 28px;font-size:12px;color:var(--text-secondary);font-style:italic}.db-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:14px;text-align:center;padding:24px}.auth-screen{height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-box{width:100%;max-width:320px;display:flex;flex-direction:column;gap:20px}.auth-title{font-family:var(--font-heading);font-size:34px;font-weight:600;color:var(--accent);text-align:center}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{width:100%;padding:12px 14px;border-radius:var(--radius);background:var(--surface-raised);border:1px solid transparent;color:var(--text);font-size:16px}.auth-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.auth-btn{padding:13px 16px;border-radius:var(--radius);font-weight:600;font-size:15px;background:var(--accent);color:var(--accent-fg);border:none;cursor:pointer}.auth-btn:disabled{opacity:.6;cursor:default}.auth-error{color:var(--danger);font-size:13px;text-align:center}.db-backdrop{display:none}@media(max-width:900px){.db-hamburger{display:block}.db-sidebar{position:fixed;left:-260px;top:0;bottom:0;z-index:50;transition:left .2s}.db-sidebar.open{left:0}.db-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080}}
