:root{--color-indigo-200: #c7d2fe;--color-indigo-400: #818cf8;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-indigo-700: #4338ca;--color-violet-400: #a78bfa;--color-violet-600: #7c3aed;--color-teal-300: #5eead4;--color-teal-500: #14b8a6;--color-teal-600: #0d9488;--color-red-400: #f87171;--color-red-600: #dc2626;--color-green-400: #34d399;--color-green-600: #059669;--color-amber-400: #fbbf24;--color-amber-600: #d97706}:root{--text-2xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.55;--tracking-caps: .06em;--radius-full: 999px;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--accent-soft-border: color-mix(in srgb, var(--accent) 35%, transparent);--accent-text: var(--accent-hover);--error-soft: color-mix(in srgb, var(--error) 12%, transparent);--error-soft-border: color-mix(in srgb, var(--error) 35%, transparent);--success-soft: color-mix(in srgb, var(--success) 12%, transparent);--success-soft-border: color-mix(in srgb, var(--success) 35%, transparent);--warning-soft: color-mix(in srgb, var(--warning) 12%, transparent);--warning-soft-border: color-mix(in srgb, var(--warning) 35%, transparent);--tile-icon-bg: color-mix( in oklab, oklch(62% var(--tile-chroma, .16) var(--tile-hue, 262)) 20%, var(--surface) );--tile-icon-fg: oklch(80% calc(var(--tile-chroma, .16) * .85) var(--tile-hue, 262))}:root,[data-theme=dark]{color-scheme:dark;--bg: #26262d;--surface: #31313a;--surface2: #3d3d47;--border: #46464f;--border-subtle: #3c3c45;--border-strong: #55555f;--text: #f0f0f5;--muted: #a0a0b0;--accent: var(--color-indigo-500);--accent-hover: var(--color-indigo-400);--error: var(--color-red-400);--success: var(--color-green-400);--warning: var(--color-amber-400);--accent-teal: var(--color-teal-300);--font: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .25), 0 2px 4px rgba(0, 0, 0, .12);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .38), 0 4px 10px rgba(0, 0, 0, .22);--shadow-pop: 0 24px 64px rgba(0, 0, 0, .5), 0 8px 20px rgba(0, 0, 0, .3);--edge-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--transition: .15s ease;--gate-orb-color: color-mix(in srgb, var(--accent) 12%, transparent);--card-bg: rgba(35, 35, 42, .85);--card-border: color-mix(in srgb, var(--accent) 22%, transparent);--card-shadow: 0 24px 64px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06);--title-gradient: linear-gradient( 135deg, var(--color-indigo-200) 0%, var(--color-indigo-400) 45%, var(--color-violet-400) 100% );--header-bg: rgba(30, 30, 36, .9);--sidebar-bg: rgba(27, 27, 33, .7);--tabbar-bg: rgba(27, 27, 33, .8);--item-hover: rgba(255, 255, 255, .055);--dropdown-bg: rgba(18, 20, 30, .97);--shell-title: linear-gradient(135deg, var(--color-indigo-200), var(--color-indigo-400));--overlay-1: rgba(255, 255, 255, .04);--overlay-2: rgba(255, 255, 255, .08);--overlay-border: rgba(255, 255, 255, .08);--btn-primary-bg: var(--accent);--btn-primary-text: #ffffff;--btn-ghost-text: var(--text);--input-bg: var(--surface);--input-border: var(--border);--modal-overlay: rgba(0, 0, 0, .55);--modal-bg: var(--surface)}[data-theme=midnight]{color-scheme:dark;--bg: #0f0f14;--surface: #18181f;--surface2: #242430;--border: #333340;--border-subtle: #26262f;--border-strong: #40404e;--text: #f4f4fa;--muted: #9090a8;--accent: var(--color-violet-400);--accent-hover: #c4b5fd;--error: var(--color-red-400);--success: var(--color-green-400);--warning: var(--color-amber-400);--accent-teal: var(--color-teal-300);--font: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55), 0 4px 10px rgba(0, 0, 0, .3);--shadow-pop: 0 24px 64px rgba(0, 0, 0, .65), 0 8px 20px rgba(0, 0, 0, .35);--edge-highlight: inset 0 1px 0 rgba(255, 255, 255, .04);--transition: .15s ease;--gate-orb-color: color-mix(in srgb, var(--accent) 10%, transparent);--card-bg: rgba(18, 18, 26, .9);--card-border: color-mix(in srgb, var(--accent) 20%, transparent);--card-shadow: 0 24px 64px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .04);--title-gradient: linear-gradient(135deg, #c4b5fd 0%, var(--color-violet-400) 50%, #818cf8 100%);--header-bg: rgba(12, 12, 18, .95);--sidebar-bg: rgba(10, 10, 16, .8);--tabbar-bg: rgba(10, 10, 16, .85);--item-hover: rgba(255, 255, 255, .04);--dropdown-bg: rgba(10, 10, 16, .97);--shell-title: linear-gradient(135deg, #c4b5fd, var(--color-indigo-400));--overlay-1: rgba(255, 255, 255, .03);--overlay-2: rgba(255, 255, 255, .06);--overlay-border: rgba(255, 255, 255, .06);--btn-primary-bg: var(--accent);--btn-primary-text: #0f0f14;--btn-ghost-text: var(--text);--input-bg: var(--surface);--input-border: var(--border);--modal-overlay: rgba(0, 0, 0, .7);--modal-bg: var(--surface)}[data-theme=warm]{color-scheme:dark;--bg: #1e1a14;--surface: #28231a;--surface2: #342d22;--border: #423b2e;--border-subtle: #362f24;--border-strong: #4f4737;--text: #f5f0e8;--muted: #a89880;--accent: var(--color-amber-400);--accent-hover: #fcd34d;--error: var(--color-red-400);--success: var(--color-green-400);--warning: var(--color-amber-400);--accent-teal: var(--color-teal-300);--font: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .16);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .15);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45), 0 4px 10px rgba(0, 0, 0, .25);--shadow-pop: 0 24px 64px rgba(0, 0, 0, .55), 0 8px 20px rgba(0, 0, 0, .3);--edge-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--transition: .15s ease;--gate-orb-color: color-mix(in srgb, var(--accent) 10%, transparent);--card-bg: rgba(30, 26, 18, .9);--card-border: color-mix(in srgb, var(--accent) 18%, transparent);--card-shadow: 0 24px 64px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .05);--title-gradient: linear-gradient(135deg, #fcd34d 0%, var(--color-amber-400) 50%, #fb923c 100%);--header-bg: rgba(22, 18, 12, .92);--sidebar-bg: rgba(18, 15, 10, .75);--tabbar-bg: rgba(18, 15, 10, .8);--item-hover: rgba(255, 255, 255, .045);--dropdown-bg: rgba(30, 25, 20, .97);--shell-title: linear-gradient(135deg, #fcd34d, #fb923c);--overlay-1: rgba(255, 255, 255, .035);--overlay-2: rgba(255, 255, 255, .07);--overlay-border: rgba(255, 255, 255, .07);--btn-primary-bg: var(--accent);--btn-primary-text: #1e1a14;--btn-ghost-text: var(--text);--input-bg: var(--surface);--input-border: var(--border);--modal-overlay: rgba(0, 0, 0, .6);--modal-bg: var(--surface)}[data-theme=light]{color-scheme:light;--bg: #f0f0f4;--surface: #ffffff;--surface2: #e6e6ec;--border: #d0d0d8;--border-subtle: #e2e2e9;--border-strong: #b8b8c4;--text: #1a1a22;--muted: #6b6b7b;--accent: var(--color-indigo-600);--accent-hover: var(--color-indigo-700);--accent-text: var(--accent);--error: var(--color-red-600);--success: var(--color-green-600);--warning: var(--color-amber-600);--accent-teal: var(--color-teal-600);--font: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow-xs: 0 1px 2px rgba(16, 16, 32, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 32px rgba(16, 16, 32, .12), 0 4px 10px rgba(16, 16, 32, .06);--shadow-pop: 0 24px 64px rgba(16, 16, 32, .16), 0 8px 20px rgba(16, 16, 32, .08);--edge-highlight: inset 0 1px 0 rgba(255, 255, 255, 0);--tile-icon-bg: color-mix( in oklab, oklch(62% var(--tile-chroma, .16) var(--tile-hue, 262)) 14%, var(--surface) );--tile-icon-fg: oklch(46% var(--tile-chroma, .16) var(--tile-hue, 262));--transition: .15s ease;--gate-orb-color: color-mix(in srgb, var(--accent) 7%, transparent);--card-bg: rgba(255, 255, 255, .95);--card-border: color-mix(in srgb, var(--accent) 14%, transparent);--card-shadow: 0 8px 40px rgba(0, 0, 0, .08), 0 1px 3px rgba(0, 0, 0, .05);--title-gradient: linear-gradient( 135deg, var(--color-indigo-600) 0%, var(--color-indigo-500) 50%, var(--color-violet-600) 100% );--header-bg: rgba(255, 255, 255, .94);--sidebar-bg: #eaeaf0;--tabbar-bg: #e4e4ec;--item-hover: rgba(0, 0, 0, .045);--dropdown-bg: rgba(246, 246, 250, .97);--shell-title: linear-gradient(135deg, var(--color-indigo-600), var(--color-violet-600));--overlay-1: rgba(0, 0, 0, .03);--overlay-2: rgba(0, 0, 0, .055);--overlay-border: rgba(0, 0, 0, .08);--btn-primary-bg: var(--accent);--btn-primary-text: #ffffff;--btn-ghost-text: var(--text);--input-bg: var(--surface);--input-border: var(--border);--modal-overlay: rgba(0, 0, 0, .4);--modal-bg: var(--surface)}[data-font-scale=compact]{--text-xs: .688rem;--text-sm: .8rem;--text-md: .9rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.3rem;font-size:13.5px}[data-font-scale=spacious]{--text-xs: .813rem;--text-sm: .95rem;--text-md: 1.1rem;--text-lg: 1.25rem;--text-xl: 1.375rem;--text-2xl: 1.65rem;font-size:16.5px}[data-radius-scale=sharp]{--radius: 4px;--radius-sm: 2px;--radius-lg: 6px}[data-radius-scale=rounded]{--radius: 14px;--radius-sm: 9px;--radius-lg: 20px}[data-accent-hue]{--accent: oklch(60% .2 var(--accent-hue-override, 262));--accent-hover: oklch(70% .2 var(--accent-hue-override, 262))}.icon{width:1.25em;height:1.25em;flex-shrink:0;vertical-align:-.22em}.icon--xs{width:12px;height:12px}.icon--sm{width:16px;height:16px}.icon--md{width:20px;height:20px}.icon--lg{width:24px;height:24px}.icon-fallback{display:inline-block;line-height:1;font-style:normal}.icon--spin{animation:spinner-spin .9s linear infinite}.app-tile-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--tile-icon-bg);color:var(--tile-icon-fg);border-radius:var(--radius-sm);flex-shrink:0;width:24px;height:24px;font-size:13px;line-height:1}.app-tile-icon .icon{width:14px;height:14px;vertical-align:baseline}.app-tile-icon--sm{width:18px;height:18px;border-radius:5px;font-size:10px}.app-tile-icon--sm .icon{width:11px;height:11px}.app-tile-icon--lg{width:40px;height:40px;border-radius:var(--radius);font-size:20px}.app-tile-icon--lg .icon{width:22px;height:22px}.icon-fallback.icon--xs{font-size:12px}.icon-fallback.icon--sm{font-size:16px}.icon-fallback.icon--md{font-size:20px}.icon-fallback.icon--lg{font-size:24px}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;font-family:var(--font);line-height:1;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition),opacity var(--transition)}.btn:hover:not(:disabled){background:var(--surface2);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 45%,transparent)}.btn--ghost{background:transparent;border-color:transparent;color:var(--btn-ghost-text)}.btn--ghost:hover:not(:disabled){background:var(--item-hover);border-color:transparent;transform:none}.btn--danger{background:transparent;border-color:var(--error);color:var(--error)}.btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--error) 12%,transparent);transform:none}.btn--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-md) var(--space-lg);font-size:var(--text-md);border-radius:var(--radius-lg)}.card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-md);box-shadow:var(--edge-highlight),var(--shadow-xs)}.card--sm{padding:var(--space-sm)}.card--lg{padding:var(--space-lg)}.card--clickable{cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.card--clickable:hover{background:var(--surface2);border-color:var(--accent-soft-border);transform:translateY(-1px);box-shadow:var(--edge-highlight),var(--shadow-sm)}.card--clickable:active{transform:translateY(0)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--modal-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--edge-highlight),var(--shadow-lg);width:100%;max-height:90dvh;overflow-y:auto;animation:modal-slide-in .18s ease}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-box--sm{max-width:380px}.modal-box--md{max-width:520px}.modal-box--lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-subtle);font-size:var(--text-md);font-weight:600;line-height:var(--leading-tight)}.modal-header .icon{color:var(--muted)}.modal-body{padding:var(--space-lg)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-subtle)}.input{background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);width:100%;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder{color:var(--muted)}.input--sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;line-height:1.4;white-space:nowrap}.badge--accent{background:var(--accent-soft);color:var(--accent-text)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--error{background:var(--error-soft);color:var(--error)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--muted{background:var(--overlay-2);color:var(--muted)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spinner-spin .7s linear infinite;flex-shrink:0}.spinner--sm{width:14px;height:14px;border-width:1.5px}.spinner--lg{width:28px;height:28px;border-width:3px}@keyframes spinner-spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);text-align:center;color:var(--muted)}.empty-state__icon{font-size:2.5rem;line-height:1;opacity:.7}.empty-state__icon .icon{width:2.5rem;height:2.5rem;vertical-align:baseline;stroke-width:1.5}.empty-state__title{font-size:var(--text-md);font-weight:600;color:var(--text)}.empty-state__subtitle{font-size:var(--text-sm);color:var(--muted);max-width:28rem;line-height:1.5}.progress-wrap{display:flex;flex-direction:column;gap:var(--space-xs)}.progress-label{font-size:var(--text-xs);color:var(--muted)}.progress-track{height:6px;background:var(--surface2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .3s ease}.stat-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);box-shadow:var(--edge-highlight),var(--shadow-xs)}.stat-card__value{font-size:var(--text-xl);font-weight:700;color:var(--text);line-height:1}.stat-card__label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.section-label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:var(--space-sm) 0 var(--space-xs)}.filter-tabs{display:flex;gap:var(--space-xs);flex-wrap:wrap;padding:var(--space-xs) 0}.filter-tab{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition)}.filter-tab:hover:not(:disabled){background:var(--item-hover);color:var(--text);transform:none}.filter-tab--active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-text)}.select-wrap{position:relative;display:inline-flex;width:100%}.select-wrap:after{content:"";position:absolute;right:.65em;top:50%;width:16px;height:16px;transform:translateY(-50%);background-color:var(--muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;pointer-events:none}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--input-bg);color:var(--text);border:1px solid var(--input-border);border-radius:var(--radius);padding:var(--space-sm) 2.2em var(--space-sm) var(--space-md);font-size:var(--text-sm);font-family:var(--font);width:100%;cursor:pointer;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.select:disabled{opacity:.45;cursor:not-allowed}.select--sm{padding:var(--space-xs) 2em var(--space-xs) var(--space-sm);font-size:var(--text-xs);border-radius:var(--radius-sm)}.checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--input-bg);cursor:pointer;display:inline-grid;place-items:center;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.checkbox:checked{background:var(--accent);border-color:var(--accent)}.checkbox:checked:after{content:"";width:12px;height:12px;background-color:var(--btn-primary-text);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat}.checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check-label{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-sm);color:var(--text);-webkit-user-select:none;user-select:none}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:20px;margin:0;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface2);position:relative;cursor:pointer;flex-shrink:0;transition:background var(--transition),border-color var(--transition)}.switch:before{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform var(--transition),background var(--transition)}.switch:checked{background:var(--accent);border-color:var(--accent)}.switch:checked:before{transform:translate(16px);background:var(--btn-primary-text)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list{display:flex;flex-direction:column}.list--card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--edge-highlight),var(--shadow-xs);overflow:hidden}.list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-subtle);text-align:left}.list-item:last-child{border-bottom:none}.list-item--clickable{cursor:pointer;transition:background var(--transition)}.list-item--clickable:hover{background:var(--item-hover)}.list-item__icon{display:flex;color:var(--muted);flex-shrink:0}.list-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-item__title{font-size:var(--text-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item__subtitle{font-size:var(--text-xs);color:var(--muted)}.list-item__trailing{margin-left:auto;display:flex;align-items:center;gap:var(--space-xs);color:var(--muted);font-size:var(--text-xs);flex-shrink:0}.toast-region{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);z-index:300;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);background:var(--dropdown-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-full);padding:.55rem 1.1rem;font-size:var(--text-sm);box-shadow:var(--edge-highlight),var(--shadow-lg);pointer-events:auto;animation:toast-in .2s ease;max-width:min(92vw,480px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--leaving{opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease}.toast__icon{display:flex;flex-shrink:0;color:var(--muted)}.toast--success .toast__icon{color:var(--success)}.toast--error .toast__icon{color:var(--error)}.detail-panel{position:fixed;inset-block:0;right:0;width:min(420px,100%);background:var(--surface);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:50;animation:panel-slide-in .22s ease;overflow-y:auto}@keyframes panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.detail-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1}.detail-panel__title{font-size:var(--text-md);font-weight:600}.detail-panel__body{padding:var(--space-lg);flex:1;display:flex;flex-direction:column;gap:var(--space-md)}.onboarding-host{display:contents}.onb-count{font-size:var(--text-sm);font-weight:400;color:var(--muted);margin-left:var(--space-xs)}.onb-step{text-align:center;padding:var(--space-sm) var(--space-xs) var(--space-md)}.onb-step-icon{font-size:2.5rem;line-height:1;margin-bottom:var(--space-md);color:var(--accent-text)}.onb-step-icon .icon{width:1em;height:1em;vertical-align:baseline;stroke-width:1.5}.onb-step-heading{font-size:var(--text-lg);font-weight:600;color:var(--text);margin-bottom:var(--space-sm)}.onb-step-body{font-size:var(--text-sm);line-height:1.55;color:var(--muted);margin:0 auto;max-width:40ch}.onb-dots{display:flex;justify-content:center;gap:var(--space-xs);margin-top:var(--space-sm)}.onb-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .15s ease,transform .15s ease}.onb-dot--active{background:var(--accent);transform:scale(1.25)}.onb-footer-left{margin-right:auto}.onb-footer-right{display:flex;gap:var(--space-sm)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text)}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6;min-height:100dvh}#app{max-width:720px;margin:0 auto;padding:0 1rem}.app-header{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.app-header h1{font-size:1.1rem;font-weight:600;letter-spacing:.05em;color:var(--accent)}.header-actions{margin-left:auto;display:flex;gap:.5rem}.sync-status{font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--muted)}.sync-status--synced,.sync-status--conflict-resolved{color:var(--success)}.sync-status--syncing{color:var(--warning)}.sync-status--error{color:var(--error)}button{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:500;font-family:var(--font);cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}button:hover:not(:disabled){background:var(--surface2);border-color:var(--accent-soft-border);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button[type=submit]{background:var(--btn-primary-bg);border-color:transparent;color:var(--btn-primary-text);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 30%,transparent)}button[type=submit]:hover:not(:disabled){background:var(--accent-hover);border-color:transparent;box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 45%,transparent)}input[type=text],input[type=password]{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .8rem;font-size:.9rem;font-family:inherit;width:100%;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--input-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238892a4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5em center;background-size:1em;border:1px solid var(--input-border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);outline:none;padding:var(--space-sm) 2em var(--space-sm) var(--space-sm);transition:border-color var(--transition),box-shadow var(--transition)}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-logo .icon,.gate-feature-icon .icon,.settings-backend-icon .icon,.import-dropzone-icon .icon,.ext-warning-icon .icon,.mbn-ico .icon{width:1em;height:1em;vertical-align:baseline}.unlock-screen{max-width:380px;margin:6rem auto 0;text-align:center}.unlock-screen h1{font-size:2rem;color:var(--accent);margin-bottom:.5rem}.unlock-screen p{color:var(--muted);margin-bottom:1.5rem}.unlock-screen form{display:flex;flex-direction:column;gap:.75rem}main{padding:1.25rem 0;display:flex;flex-direction:column;gap:1.5rem}.event-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.event-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:baseline}.event-type{font-weight:600;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.event-payload{color:var(--muted);font-family:monospace;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-meta{color:var(--muted);font-size:.72rem;white-space:nowrap}.empty{color:var(--muted);text-align:center;padding:2rem 0}.add-event-form{display:flex;gap:.5rem;flex-wrap:wrap}.add-event-form input{flex:1;min-width:160px}.error{color:var(--error);font-size:.8rem;min-height:1.2em;margin-top:.4rem}.tab-bar{display:flex;gap:0;border-bottom:1px solid var(--border);margin-top:.25rem}.tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:500;margin-bottom:-1px;padding:.6rem 1rem;transition:color .15s,border-color .15s}.tab:hover:not(:disabled){background:none;border-bottom-color:var(--border);color:var(--text)}.tab--active{border-bottom-color:var(--accent);color:var(--text)}.eb-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.75rem 0 .5rem}.eb-count{color:var(--muted);font-size:.78rem}.eb-controls{display:flex;flex-wrap:wrap;gap:.4rem}.eb-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.8rem;outline:none;padding:.3rem .6rem;width:220px}.eb-search:focus{border-color:var(--accent)}.eb-type-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.8rem;padding:.3rem 1.6rem .3rem .6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238892a4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.eb-type-filter:focus{border-color:var(--accent);outline:none}.eb-sort-btn{font-size:.78rem;white-space:nowrap}.eb-table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.eb-thead{background:var(--surface);border-bottom:1px solid var(--border);display:grid;font-size:.7rem;font-weight:600;grid-template-columns:4rem 11rem 10rem 6.5rem 1fr;letter-spacing:.06em;padding:.45rem .75rem;text-transform:uppercase;color:var(--muted)}.eb-row{border-bottom:1px solid var(--border);cursor:pointer;outline:none}.eb-row:last-child{border-bottom:none}.eb-row:hover .eb-row-main,.eb-row:focus .eb-row-main{background:color-mix(in srgb,var(--accent) 6%,transparent)}.eb-row--expanded .eb-row-main{background:color-mix(in srgb,var(--accent) 8%,transparent)}.eb-row-main{align-items:baseline;display:grid;font-size:.82rem;grid-template-columns:4rem 11rem 10rem 6.5rem 1fr;padding:.5rem .75rem;transition:background .1s}.eb-col--seq{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.eb-type-badge{background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:3px;color:var(--accent-hover);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.15rem .4rem;text-transform:uppercase;white-space:nowrap}.eb-col--time{color:var(--muted);font-size:.75rem}.eb-id{background:none;color:var(--muted);font-size:.75rem}.eb-payload-preview{color:var(--muted);font-family:monospace;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb-detail{background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-top:1px solid var(--border);display:grid;gap:.35rem;padding:.75rem .75rem .75rem 4.75rem}.eb-detail-row{align-items:baseline;display:flex;gap:.75rem;font-size:.78rem}.eb-detail-label{color:var(--muted);flex-shrink:0;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;width:3.5rem}.eb-detail-row code{color:var(--text);font-size:.78rem;word-break:break-all}.eb-detail-payload{align-items:flex-start}.eb-json{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.75rem;line-height:1.5;margin:0;max-height:240px;overflow:auto;padding:.5rem .75rem;white-space:pre;word-break:break-all}#app{max-width:100%;padding:0}.hidden{display:none!important}button.ghost{background:transparent;border-color:transparent}.btn-accent-sm{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.78rem;font-weight:600;padding:.32rem .75rem;transition:background .15s,opacity .15s;white-space:nowrap}.btn-accent-sm:hover{background:var(--accent-hover)}.shell-gate,.shell-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden}.login-bg{top:0;right:0;bottom:0;left:0;position:absolute;z-index:0;transition:background .3s}[data-theme=dark] .login-bg,:root:not([data-theme=light]) .login-bg{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(45,30,110,.75) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 80% 90%,rgba(15,37,64,.55) 0%,transparent 60%),var(--bg)}[data-theme=light] .login-bg{background:radial-gradient(ellipse 80% 55% at 50% -5%,rgba(199,210,254,.65) 0%,transparent 65%),radial-gradient(ellipse 55% 40% at 85% 95%,rgba(196,181,253,.35) 0%,transparent 60%),var(--bg)}.login-bg:after{animation:orb 8s ease-in-out infinite alternate;background:radial-gradient(circle,var(--gate-orb-color) 0%,transparent 70%);border-radius:50%;content:"";height:600px;left:50%;position:absolute;top:30%;transform:translate(-50%,-50%);width:600px}@keyframes orb{0%{transform:translate(-55%,-55%) scale(1)}to{transform:translate(-45%,-45%) scale(1.15)}}.login-card{animation:card-in .45s cubic-bezier(.16,1,.3,1) both;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;box-shadow:var(--card-shadow);max-width:400px;padding:2.75rem 2.25rem 2.25rem;position:relative;text-align:center;width:100%;z-index:1;transition:background .3s,border-color .3s,box-shadow .3s}@keyframes card-in{0%{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-out{animation:card-out .2s ease-in both}@keyframes card-out{to{opacity:0;transform:scale(.96)}}.card-in .login-card{animation:card-in .4s cubic-bezier(.16,1,.3,1) both}.login-step{color:color-mix(in srgb,var(--accent) 60%,transparent);font-size:.68rem;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.login-back{background:none;border:none;color:#8892a48c;cursor:pointer;font-size:.75rem;margin-top:1rem;padding:.25rem .5rem;transition:color .15s}.login-back:hover{color:var(--muted)}.login-logo{color:var(--accent);display:inline-block;font-size:2.8rem;line-height:1;margin-bottom:.65rem;text-shadow:0 0 30px color-mix(in srgb,var(--accent) 50%,transparent)}.login-title{background:var(--title-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.5rem}.login-sub{color:var(--muted);font-size:.78rem;letter-spacing:.04em;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-input-wrap{position:relative}.login-input{background:var(--surface2, rgba(255, 255, 255, .05));border:1px solid var(--card-border, color-mix(in srgb, var(--accent) 25%, transparent));border-radius:10px;color:var(--text);font-size:.95rem;outline:none;padding:.75rem 2.75rem .75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.login-input::placeholder{color:var(--muted);opacity:.65}.login-input:focus{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),0 0 20px color-mix(in srgb,var(--accent) 8%,transparent)}.login-eye{background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;padding:.2rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .15s}.login-eye:hover{color:var(--text)}.login-error{color:var(--error);font-size:.78rem;min-height:1.1em;text-align:left}.login-btn{align-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-hover));border:none;border-radius:10px;box-shadow:0 4px 20px color-mix(in srgb,var(--accent) 35%,transparent);color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.01em;padding:.8rem 1rem;transition:box-shadow .2s,transform .12s,opacity .15s}.login-btn:hover{box-shadow:0 6px 28px color-mix(in srgb,var(--accent) 50%,transparent);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-spinner{border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;height:16px;width:16px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-hint{color:#8892a48c;font-size:.72rem;margin-top:1.25rem;line-height:1.5}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.shake{animation:shake .38s ease-in-out}.shell-main{min-height:100dvh;display:flex;flex-direction:column}.main-in{animation:main-fade-in .35s ease-out both}@keyframes main-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ext-warning{display:flex;align-items:flex-start;gap:.6rem;background:#f59e0b1a;border-bottom:1px solid rgba(245,158,11,.35);padding:.6rem 1.25rem;font-size:.78rem;color:var(--warning, #f59e0b);line-height:1.5}.ext-warning-icon{flex-shrink:0;font-size:.9rem;margin-top:.05rem}.ext-warning-text{flex:1;color:var(--text);opacity:.85}.ext-warning-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;flex-shrink:0;font-size:.85rem;line-height:1;padding:.1rem}.ext-warning-dismiss:hover{color:var(--text)}.main-header{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--header-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.65rem 1.5rem;position:sticky;top:0;z-index:100}.main-header-left{align-items:center;display:flex;gap:.5rem;cursor:pointer}.main-header-left:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.main-logo{color:var(--accent);font-size:1.25rem;line-height:1}.main-title{background:var(--shell-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1rem;font-weight:800;letter-spacing:-.02em}.brand-zero,.brand-cove{background:none;-webkit-text-fill-color:currentColor}.brand-zero{color:var(--accent)}.brand-cove{color:var(--accent-teal)}.main-header-right{align-items:center;display:flex;gap:.75rem}.device-badge{color:var(--muted);font-family:monospace;font-size:.72rem}.lock-btn{align-items:center;background:var(--item-hover);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;display:flex;font-size:.75rem;gap:.35rem;padding:.3rem .65rem;transition:color .15s,background .15s}.lock-btn:hover{background:#f871711f;border-color:#f8717140;color:var(--error)}.main-workspace{display:flex;flex:1;overflow:hidden}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;width:200px}.sidebar-hidden .sidebar{display:none}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-item{align-items:center;background:none;border:none;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);cursor:pointer;display:flex;font-size:.82rem;gap:.55rem;padding:.52rem .75rem .52rem .85rem;position:relative;text-align:left;transition:background var(--transition),color var(--transition),border-color var(--transition);width:100%}.sidebar-item:hover{background:var(--surface2);border-color:transparent;color:var(--text)}.sidebar-item--active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-left-color:var(--accent);box-shadow:var(--shadow-sm);color:var(--text)}.sidebar-item--open:not(.sidebar-item--active){color:var(--text);opacity:.75}.sidebar-item-icon{flex-shrink:0}.sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-dot{background:var(--accent);border-radius:50%;flex-shrink:0;height:6px;width:6px}.sidebar-item-verified{color:var(--accent);flex-shrink:0;font-size:.7em}.sidebar-item-inspect{background:none;border:none;border-radius:4px;color:var(--muted);cursor:pointer;flex-shrink:0;font-size:.7rem;opacity:0;padding:.15rem .3rem;transition:opacity .12s,color .12s,background .12s}.sidebar-item:hover .sidebar-item-inspect{opacity:1}.sidebar-item-inspect:hover,.sidebar-item-inspect--on{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-hover);opacity:1}.sidebar-bottom{border-top:1px solid var(--border);padding:.6rem .75rem}.sidebar-custom-btn{align-items:center;background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;display:flex;font-size:.75rem;gap:.4rem;padding:.35rem .6rem;transition:border-color .15s,color .15s;width:100%}.sidebar-custom-btn:hover{border-color:var(--accent);color:var(--text)}.sidebar-custom-icon{font-size:1rem;line-height:1}.sidebar-custom-form{margin-top:.4rem}.sidebar-custom-input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.78rem;outline:none;padding:.32rem .55rem;transition:border-color .15s;width:100%}.sidebar-custom-input:focus{border-color:var(--accent)}.main-pane{display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.pane-tabbar{align-items:stretch;background:var(--tabbar-bg);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:0;overflow-x:auto;scrollbar-width:none}.pane-tabbar::-webkit-scrollbar{display:none}.pane-tab{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;border-right:1px solid var(--border);color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;font-size:.82rem;font-weight:500;gap:.4rem;padding:.55rem 1rem;transition:background var(--transition),color var(--transition);white-space:nowrap}.pane-tab:hover{background:var(--surface2);color:var(--text);transform:none}.pane-tab--active{background:var(--surface);border-bottom-color:var(--accent);color:var(--text)}.pane-tab--unloaded{opacity:.55}.pane-tab-icon{line-height:1}.pane-tab-name{max-width:120px;overflow:hidden;text-overflow:ellipsis}.pane-tab-close{color:var(--muted);font-size:1rem;line-height:1;margin-left:.1rem;opacity:0;padding:0 .1rem;transition:opacity .12s,color .12s}.pane-tab:hover .pane-tab-close,.pane-tab--active .pane-tab-close{opacity:1}.pane-tab-close:hover{color:var(--error)}.pane-topbar{display:flex;align-items:stretch;background:var(--tabbar-bg);border-bottom:1px solid var(--border)}.pane-topbar .pane-tabbar{flex:1;min-width:0;border-bottom:none}.pane-controls{display:flex;align-items:center;gap:.15rem;flex-shrink:0;padding:0 .35rem;border-left:1px solid var(--border)}.pane-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-sm, 6px);color:var(--muted);cursor:pointer;font-size:1.05rem;line-height:1;transition:background var(--transition),color var(--transition)}.pane-ctrl-btn:hover{background:var(--surface2);color:var(--text)}.pane-content{flex:1;overflow:hidden;position:relative}.app-fullscreen .sidebar,.app-fullscreen .main-header,.app-fullscreen .pane-topbar,.app-fullscreen .mobile-bottomnav,.app-fullscreen .insp-panel{display:none!important}.app-fullscreen .main-workspace{height:100%}.fs-controls{position:absolute;top:calc(.5rem + env(safe-area-inset-top));left:calc(.5rem + env(safe-area-inset-left));z-index:50;display:flex;gap:.25rem}.fs-ctrl-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;font-size:1.05rem;line-height:1;box-shadow:var(--shadow-sm);transition:background var(--transition),transform .1s}.fs-ctrl-btn:hover{background:var(--surface2)}.fs-ctrl-btn:active{transform:scale(.93)}html.is-mobile .fs-ctrl-btn{width:42px;height:42px;font-size:1.2rem}.pane-iframe{background:var(--bg);border:none;height:100%;position:absolute;width:100%}.pane-empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center;pointer-events:none}.pane-empty-icon{color:color-mix(in srgb,var(--accent) 25%,transparent);font-size:3.5rem;line-height:1}.pane-empty-text{font-size:.85rem}.home-screen{height:100%;overflow-y:auto;padding:2rem 2.5rem}.home-header{margin-bottom:1.75rem}.home-title{background:var(--shell-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.home-sub{color:var(--muted);font-size:.875rem;margin-top:.3rem}.home-cat{margin-bottom:1.5rem}.home-cat-title{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem}.home-cat-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));list-style:none}.home-empty{color:var(--muted);font-size:.85rem;padding:1rem 0}.home-app-card{align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:grid;gap:.2rem .75rem;grid-template-columns:2.5rem 1fr;grid-template-rows:auto auto;padding:.9rem 1rem;text-align:left;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);width:100%}.home-app-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}.home-app-card--has-data{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.home-app-icon{grid-row:1 / -1}.home-app-name{align-self:end;color:var(--text);font-size:.88rem;font-weight:600}.home-app-desc{-webkit-box-orient:vertical;-webkit-line-clamp:2;align-self:start;color:var(--muted);display:-webkit-box;font-size:.75rem;line-height:1.4;overflow:hidden}.insp-panel{border-top:2px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:320px;overflow:hidden}.catalogue-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.catalogue-title{color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase;flex:none}.catalogue-custom{align-items:center;display:flex;gap:.4rem;margin-left:auto}.catalogue-custom-input{background:#ffffff0a;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.8rem;outline:none;padding:.32rem .65rem;transition:border-color .15s;width:180px}.app-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));list-style:none}.app-card{align-items:flex-start;background:#1a1d2799;border:1px solid rgba(46,50,69,.8);border-radius:14px;display:grid;gap:.75rem;grid-template-columns:3rem 1fr;grid-template-rows:auto auto;padding:.9rem 1rem;position:relative;transition:border-color .18s,box-shadow .18s,transform .15s}.app-card:hover{border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 4px 20px #0000004d,0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent);transform:translateY(-2px)}.app-card--live{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.app-card--live:before{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,transparent),#a78bfa14);border-radius:14px;content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:0}.app-card>*{position:relative;z-index:1}.app-card-icon{align-items:center;background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:10px;color:var(--accent-hover);display:flex;font-size:1.4rem;height:3rem;justify-content:center;line-height:1;width:3rem}.app-card-body{min-width:0;padding-top:.1rem}.app-card-name{color:var(--text);font-size:.9rem;font-weight:600;margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-card-desc{color:var(--muted);font-size:.74rem;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app-card-dot{background:var(--accent);border-radius:50%;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 60%,transparent);height:7px;position:absolute;right:.9rem;top:.9rem;width:7px;z-index:2}.app-card-actions{align-items:center;display:flex;gap:.4rem;grid-column:1 / -1;justify-content:flex-end}.card-inspect{background:none;border:1px solid transparent;border-radius:7px;color:var(--muted);cursor:pointer;font-size:.72rem;padding:.25rem .55rem;transition:color .15s,border-color .15s}.card-inspect:hover{border-color:var(--border);color:var(--text)}.card-inspect--on{border-color:var(--accent);color:var(--accent-hover);background:color-mix(in srgb,var(--accent) 10%,transparent)}.card-launch{font-size:.75rem;padding:.28rem .7rem}.app-frame-wrapper{border:1px solid var(--border);border-radius:14px;margin-bottom:1rem;overflow:hidden}.app-frame-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.5rem .9rem}.app-frame-title{color:var(--accent-hover);font-size:.78rem;font-weight:600}.app-frame-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.72rem;padding:.15rem .4rem;border-radius:5px;transition:background .12s,color .12s}.app-frame-close:hover{background:#f871711a;color:var(--error)}.app-iframe{background:#fff;border:none;display:block;height:520px;width:100%}.todo-app{max-width:500px;margin:0 auto;padding:1.25rem 1rem;font-family:var(--font)}.todo-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.todo-header h1{font-size:1.4rem;font-weight:700;color:var(--accent);flex:1}.sync-pill{font-size:.72rem;padding:.15rem .5rem;border-radius:999px}.sync-pill.ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.sync-pill.pending{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.sync-pill.locked{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.app-sync-wrap{position:fixed;top:8px;right:8px;display:flex;align-items:center;gap:6px;z-index:500;pointer-events:none}.app-sync-wrap>*{pointer-events:auto}.app-sync-btn{font-size:.95rem;line-height:1;padding:3px 7px}.app-sync-icon{display:inline-block}.app-sync-btn.syncing .app-sync-icon{animation:spin .8s linear infinite}.app-sync-pill{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.app-sync-pill--syncing{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.app-sync-pill--ok{background:color-mix(in srgb,var(--success) 15%,transparent);color:var(--success)}.app-sync-pill--error{background:color-mix(in srgb,var(--error) 15%,transparent);color:var(--error)}.app-loading-bar{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);animation:app-loading-bar-slide 1.2s ease-in-out infinite;z-index:9999}.app-loading-bar--pane{position:absolute}@keyframes app-loading-bar-slide{0%{transform:translate(-100%)}60%{transform:translate(0)}to{transform:translate(100%)}}.todo-status{font-size:.78rem;padding:.35rem .65rem;border-radius:var(--radius);margin-bottom:.75rem}.todo-status.hidden{display:none}.todo-status.info{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-hover)}.todo-status.error{background:color-mix(in srgb,var(--error) 12%,transparent);color:var(--error)}.todo-share-bar{font-size:.75rem;color:var(--muted);margin-bottom:.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.todo-share-bar.hidden,.todo-invite.hidden{display:none}.todo-share-peer{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-hover);border-radius:999px;padding:.1rem .5rem;font-family:var(--mono, monospace);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-invite{display:flex;align-items:center;gap:.5rem;font-size:.8rem;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .65rem;margin-bottom:.6rem}.todo-invite span{flex:1}.todo-invite button{font-size:.78rem;padding:.2rem .6rem}.add-row{display:flex;gap:.5rem;margin-bottom:1rem}.add-row input{flex:1}#todo-list{list-style:none;display:flex;flex-direction:column;gap:.4rem}.todo-item{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem}.todo-item.done .todo-text{color:var(--muted);text-decoration:line-through}.todo-check{flex-shrink:0;cursor:pointer;width:auto}.todo-text{flex:1;font-size:.88rem;cursor:text}.todo-edit-input{background:var(--surface);border:1px solid var(--accent);border-radius:4px;font-size:.88rem;padding:.05rem .3rem;width:100%}.todo-del{font-size:.7rem;padding:.1rem .35rem;opacity:.5}.todo-del:hover{opacity:1;color:var(--error);border-color:var(--error)}.todo-due{flex-shrink:0;width:auto;font-size:.72rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1rem .3rem;cursor:pointer}.todo-group-header{list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:.5rem .25rem .1rem}.todo-group-header.todo-group--overdue{color:var(--error)}.todo-group-count{font-weight:400;opacity:.7}.habit-block{display:flex;flex-direction:column;gap:4px}.week-prog{font-size:.72rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.05rem .4rem}.week-prog.met{color:#fff;background:var(--accent);border-color:var(--accent)}.target-sel{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:.72rem;padding:.05rem .2rem;cursor:pointer}.habit-heat{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;gap:2px;padding:2px 0 6px 28px}.heat-cell{width:9px;height:9px;border-radius:2px;background:var(--border);opacity:.45}.heat-cell.on{background:var(--accent);opacity:1}.habit-ctx-section{display:flex;flex-direction:column;gap:8px}.habit-ctx-header{display:flex;align-items:center;gap:8px;padding-bottom:2px;border-bottom:1px solid var(--border)}.habit-ctx-name{flex:1;color:var(--text);font-size:.95rem;font-weight:600}.habit-ctx-subtotal{color:var(--accent);font-size:.78rem;font-weight:600}.habit-ctx-count{color:var(--muted);font-size:.72rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.02rem .4rem}.habit-ctx-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.95rem;padding:0 2px}.ctx-sel{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--muted);font-size:.72rem;padding:.05rem .2rem;cursor:pointer;max-width:90px}.al-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;white-space:nowrap}.al-badge--pending{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.al-badge--in_progress{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.al-badge--paused{background:color-mix(in srgb,var(--warning, #f59e0b) 20%,transparent);color:var(--warning, #f59e0b)}.al-badge--done{background:color-mix(in srgb,var(--success, #22c55e) 20%,transparent);color:var(--success, #22c55e)}.al-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.al-modal-card{background:var(--bg, var(--surface));border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:100%;max-width:420px;box-shadow:var(--edge-highlight),var(--shadow-lg)}.al-label{display:block;color:var(--text);font-size:.8rem;font-weight:600;margin-bottom:4px}.al-unit{display:block;color:var(--muted);font-size:.68rem;text-align:center;margin-top:2px}.al-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.al-tg{background:var(--surface);border:none;color:var(--muted);font-size:.72rem;padding:3px 9px;cursor:pointer;transition:var(--transition, all .12s)}.al-tg:hover{color:var(--text)}.al-tg.on{background:var(--accent);color:#fff}.al-ctx-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.al-ctx-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.8rem;cursor:pointer;transition:var(--transition, all .12s)}.al-ctx-pill:hover{color:var(--text)}.al-ctx-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}.al-ctx-del{background:none;border:none;color:inherit;opacity:.7;cursor:pointer;font-size:.95rem;line-height:1;padding:0}.al-ctx-del:hover{opacity:1}.al-ctx-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed var(--border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;transition:var(--transition, all .12s)}.al-ctx-add:hover{color:var(--accent);border-color:var(--accent)}.history-panel{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.history-icon{flex-shrink:0;opacity:.6;font-size:.95rem}#history-slider,.history-slider{flex:1;accent-color:var(--accent);cursor:pointer}.history-label{flex-shrink:0;font-size:.74rem;color:var(--muted);white-space:nowrap;min-width:3.5rem;text-align:right}.history-banner{font-size:.78rem;padding:.35rem .65rem;margin-bottom:.75rem;border-radius:var(--radius);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning)}.history-banner.hidden{display:none}.history-mode .history-dim,.budget-app.history-mode #b-list{opacity:.6;border:1px dashed var(--warning);border-radius:var(--radius);pointer-events:none}.muted{color:var(--muted);font-size:.82rem}.catalogue{padding:1.25rem 1.5rem .5rem}.catalogue-header{align-items:center;display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.catalogue-title{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;flex:none}.catalogue-hint{font-size:.78rem;color:var(--muted)}.catalogue-custom{display:flex;gap:.4rem;margin-left:auto}.catalogue-custom-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.82rem;outline:none;padding:.3rem .65rem;width:180px}.catalogue-custom-input:focus{border-color:var(--accent)}.catalogue-custom-btn{font-size:.78rem;padding:.3rem .65rem}.catalogue-list{display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none}.catalogue-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:.75rem;justify-content:space-between;padding:.65rem .85rem;transition:border-color .12s}.catalogue-card--has-data{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.catalogue-card-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.catalogue-card-id{color:var(--accent-hover);font-family:monospace;font-size:.75rem}.catalogue-card-name{font-size:.88rem;font-weight:600;color:var(--text)}.catalogue-card-desc{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-card-actions{align-items:center;display:flex;flex-shrink:0;gap:.35rem}.catalogue-data-dot{color:var(--accent);font-size:.6rem;line-height:1;opacity:.7;title:"Has local data"}.card-launch{background:var(--accent);border-color:var(--accent);color:#fff;font-size:.75rem;padding:.25rem .6rem}.card-launch:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.card-inspect{font-size:.72rem;padding:.2rem .5rem;color:var(--muted);border-color:transparent}.card-inspect:hover{color:var(--accent-hover);border-color:var(--accent)}.app-list li{display:flex;align-items:center;gap:.5rem}.insp-btn{font-size:.72rem;padding:.2rem .55rem;color:var(--muted);border-color:transparent}.insp-btn:hover{color:var(--accent-hover);border-color:var(--accent)}.insp-btn--active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent-hover)}#inspector-mount{margin:.5rem 1.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.insp-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;background:var(--surface);border-bottom:1px solid var(--border);font-size:.82rem}.insp-title{color:var(--muted)}.insp-title strong{color:var(--accent-hover)}.insp-close-btn{font-size:.72rem;padding:.15rem .45rem}.insp-tabs{display:flex;align-items:center;gap:0;background:var(--surface);border-bottom:1px solid var(--border);padding:0 .25rem}.insp-tab{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:.82rem;font-weight:500;margin-bottom:-1px;padding:.55rem .9rem;cursor:pointer;transition:color .12s,border-color .12s}.insp-tab:hover{background:none;color:var(--text);border-bottom-color:var(--border)}.insp-tab--active{color:var(--text);border-bottom-color:var(--accent)}.insp-count{background:color-mix(in srgb,var(--muted) 20%,transparent);border-radius:999px;font-size:.68rem;padding:.05rem .4rem;margin-left:.25rem}.insp-refresh{margin-left:auto;background:none;border:none;color:var(--muted);font-size:.95rem;padding:.25rem .55rem;cursor:pointer}.insp-refresh:hover{color:var(--accent-hover);background:none}.insp-body{max-height:520px;overflow:auto}.insp-empty{color:var(--muted);font-size:.82rem;padding:1.5rem;text-align:center}.insp-doc-json{margin:0;padding:1rem 1.25rem;background:var(--bg);font-size:.78rem;line-height:1.55;white-space:pre;overflow:auto;color:var(--text);border:none;max-height:none}.insp-toolbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem}.insp-tally{color:var(--muted);font-size:.75rem;margin-right:auto}.insp-filters{display:flex;flex-wrap:wrap;gap:.35rem}.insp-search{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.78rem;outline:none;padding:.28rem .55rem;width:180px}.insp-search:focus{border-color:var(--accent)}.insp-select{background-color:var(--bg);font-size:.78rem;padding:.28rem 1.5rem .28rem .55rem}.insp-select:focus{border-color:var(--accent)}.insp-sort-btn{font-size:.75rem;padding:.28rem .6rem;white-space:nowrap}.insp-table{font-size:.8rem}.insp-thead{background:var(--surface);border-bottom:1px solid var(--border);color:var(--muted);display:grid;font-size:.68rem;font-weight:600;grid-template-columns:3.5rem 4.5rem 5.5rem 1fr 6rem 9rem;letter-spacing:.06em;padding:.38rem .75rem;text-transform:uppercase}.insp-row{border-bottom:1px solid var(--border);cursor:pointer;outline:none}.insp-row:last-child{border-bottom:none}.insp-row:hover .insp-row-main,.insp-row:focus .insp-row-main{background:color-mix(in srgb,var(--accent) 5%,transparent)}.insp-row--expanded .insp-row-main{background:color-mix(in srgb,var(--accent) 8%,transparent)}.insp-row-main{align-items:center;display:grid;grid-template-columns:3.5rem 4.5rem 5.5rem 1fr 6rem 9rem;padding:.45rem .75rem;transition:background .1s}.insp-lc{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.insp-badge{border-radius:3px;font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:.15rem .38rem;text-transform:uppercase}.badge--patch{background:color-mix(in srgb,#6366f1 15%,transparent);color:light-dark(var(--color-indigo-600),#a5b4fc)}.badge--coll{background:color-mix(in srgb,#10b981 15%,transparent);color:light-dark(var(--color-green-600),#6ee7b7)}.badge--event{background:color-mix(in srgb,#f59e0b 15%,transparent);color:light-dark(var(--color-amber-600),#fcd34d)}.insp-op{color:var(--text);font-size:.78rem}.insp-coll code{color:var(--accent-hover);font-size:.75rem}.insp-iid{color:var(--muted);font-family:monospace;font-size:.72rem}.insp-device{color:var(--muted);font-family:monospace;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.insp-time{color:var(--muted);font-size:.72rem;white-space:nowrap}.insp-detail{background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-top:1px solid var(--border);display:grid;gap:.3rem;padding:.65rem .75rem .65rem 4.25rem}.insp-detail-row{align-items:baseline;display:flex;font-size:.78rem;gap:.65rem}.insp-detail-label{color:var(--muted);flex-shrink:0;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;width:3.5rem}.insp-detail-row code{color:var(--text);font-size:.77rem;word-break:break-all}.insp-detail-data{align-items:flex-start;margin-top:.15rem}.insp-json{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1;font-size:.74rem;line-height:1.5;margin:0;max-height:220px;overflow:auto;padding:.45rem .65rem;white-space:pre;word-break:break-all}.insp-perm{display:grid;gap:.85rem;padding:.85rem 1rem}.insp-perm-intro{color:var(--muted);font-size:.78rem;line-height:1.55;margin:0}.insp-perm-intro strong{color:var(--text)}.insp-perm-form{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.insp-perm-form-label{color:var(--text);font-size:.8rem}.insp-perm-grant-btn{background:var(--accent);border:none;border-radius:var(--radius);color:var(--bg);cursor:pointer;font-size:.78rem;font-weight:600;padding:.32rem .75rem}.insp-perm-grant-btn:hover{background:var(--accent-hover)}.insp-perm-error{color:#f87171;font-size:.78rem;margin:0}.insp-perm-list{display:grid;gap:.4rem}.insp-perm-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:.5rem;padding:.45rem .65rem}.insp-perm-row--revoked{opacity:.6}.insp-perm-target{color:var(--text);font-size:.8rem}.insp-perm-scope{color:var(--muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.insp-perm-revoke-btn{font-size:.72rem;margin-left:auto;padding:.22rem .55rem}.insp-perm-revoked-label{color:var(--muted);font-size:.68rem;letter-spacing:.04em;margin-left:auto;text-transform:uppercase}.insp-perm-revoked{color:var(--muted);font-size:.78rem}.insp-perm-revoked summary{cursor:pointer;margin-bottom:.4rem}.budget-app{max-width:520px;margin:0 auto;padding:1.25rem 1rem;font-family:var(--font)}.budget-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem}.budget-header h1{font-size:1.4rem;font-weight:700;color:var(--accent);flex:1}.budget-month-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.budget-month-nav button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.2rem .55rem;font-size:.85rem}.budget-month-label{font-size:.92rem;font-weight:600;min-width:9rem;text-align:center}.budget-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:1rem}.budget-envelopes{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.budget-env{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .7rem}.budget-env-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.8rem}.budget-env-nums{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.budget-env-nums.over{color:var(--error)}.budget-env-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem}.budget-env-del:hover{color:var(--error)}.budget-env-form{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.budget-env-form select,.budget-env-form input{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.35rem .5rem;font-size:.82rem}.budget-env-form select{padding-right:1.6rem}.budget-env-form input{flex:1;min-width:100px}.budget-env-form button{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.35rem .8rem;font-size:.82rem;cursor:pointer}.budget-amounts{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;margin-bottom:.65rem}.budget-remaining{font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--success)}.budget-remaining.over{color:var(--error)}.budget-of{color:var(--muted);font-size:.8rem}.budget-limit-btn{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);background:none;border:1px dashed var(--border);border-radius:4px;padding:.05rem .45rem;cursor:pointer}.budget-limit-btn:hover{border-color:var(--accent);color:var(--accent-hover);background:none}.budget-currency{color:var(--muted);font-size:.78rem}.budget-bar-wrap{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin-bottom:.45rem}.budget-bar{height:100%;background:var(--success);border-radius:999px;transition:width .3s ease}.budget-bar.warning{background:var(--warning)}.budget-bar.danger{background:var(--error)}.budget-spent-label{font-size:.75rem;color:var(--muted)}.budget-add-form{display:flex;gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap}.budget-add-form input[type=text]{flex:2;min-width:130px}.budget-add-form input[type=number]{flex:1;min-width:80px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .65rem;font-size:.875rem;outline:none}.budget-add-form input[type=number]:focus{border-color:var(--accent)}.budget-add-form select{flex:1;min-width:110px;background-color:var(--surface);font-size:.875rem;padding:.4rem 1.6rem .4rem .65rem}.budget-add-form button[type=submit]{background:var(--accent);border-color:var(--accent);color:#fff;padding:.4rem .9rem;font-size:.875rem}.budget-add-form button[type=submit]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.budget-empty{color:var(--muted);font-size:.82rem;text-align:center;padding:1.5rem 0}.budget-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.budget-item{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem}.budget-label{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-cat{font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:.15rem .45rem;border-radius:3px;text-transform:uppercase;white-space:nowrap}.cat--food{background:color-mix(in srgb,#f59e0b 15%,transparent);color:light-dark(var(--color-amber-600),#fcd34d)}.cat--transport{background:color-mix(in srgb,#6366f1 15%,transparent);color:light-dark(var(--color-indigo-600),#a5b4fc)}.cat--housing{background:color-mix(in srgb,#ec4899 15%,transparent);color:light-dark(#be185d,#f9a8d4)}.cat--entertainment{background:color-mix(in srgb,#8b5cf6 15%,transparent);color:light-dark(#7c3aed,#c4b5fd)}.cat--health{background:color-mix(in srgb,#10b981 15%,transparent);color:light-dark(var(--color-green-600),#6ee7b7)}.cat--other{background:color-mix(in srgb,#6b7280 15%,transparent);color:light-dark(#4b5563,#9ca3af)}.budget-amount{font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap}.budget-del{font-size:.7rem;padding:.1rem .35rem;opacity:.4}.budget-del:hover{opacity:1;color:var(--error);border-color:var(--error)}.recovery-code-box{background:#00000059;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;color:var(--text);font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:1rem;font-weight:600;letter-spacing:.08em;margin:.5rem 0 1.25rem;padding:.85rem 1rem;text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all}.recovery-confirm-row{align-items:flex-start;cursor:pointer;display:flex;font-size:.8rem;gap:.6rem;color:var(--muted);line-height:1.45;margin-bottom:1.25rem;text-align:left}.recovery-confirm-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:15px;margin-top:.1rem;width:15px}.recovery-passkey-btn{background:none;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:10px;color:var(--muted);cursor:pointer;font-size:.82rem;margin-top:.75rem;padding:.55rem 1rem;transition:border-color .15s,color .15s;width:100%}.recovery-passkey-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 60%,transparent);color:var(--text);background:none}.passkey-row{align-items:center;display:flex;gap:.75rem;margin-top:1rem}.passkey-or{color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.passkey-row:before,.passkey-row:after{background:var(--border);content:"";flex:1;height:1px}.btn-passkey{background:#ffffff0a;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:10px;color:var(--text);cursor:pointer;flex:1;font-size:.85rem;padding:.6rem 1rem;transition:background .15s,border-color .15s}.btn-passkey:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.login-forgot{background:none;border:none;color:color-mix(in srgb,var(--accent) 55%,transparent);cursor:pointer;font-size:.78rem;margin-top:.75rem;padding:.2rem .5rem;transition:color .15s}.login-forgot:hover{color:var(--accent-hover)}.login-input--mono{font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:.88rem;letter-spacing:.05em;text-align:center;text-transform:uppercase}.signin-brand{margin-bottom:2rem;text-align:center}.signin-tagline{color:var(--muted);font-size:.75rem;letter-spacing:.12em;margin-top:.35rem;opacity:.75;text-transform:uppercase}.signin-area{display:flex;flex-direction:column;gap:.65rem}.signin-checking{align-items:center;color:var(--muted);display:flex;font-size:.82rem;gap:.6rem;justify-content:center;padding:.5rem 0}.signin-spinner{flex-shrink:0}.btn-oauth{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.75rem;justify-content:center;padding:.75rem 1rem;transition:box-shadow .18s,transform .12s,filter .18s;width:100%}.btn-oauth:hover{filter:brightness(1.06);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-oauth:active{transform:translateY(0)}.oauth-icon{flex-shrink:0;height:20px;width:20px}.btn-google{background:#fff;border:1px solid #dadce0;color:#3c4043}.btn-google:hover{background:#f8f9fa;border-color:#c6c9cc}.btn-github{background:#24292e;border:1px solid #444d56;color:#fff}.btn-github:hover{background:#2f363d;border-color:#586069}.signin-footer{color:var(--muted);font-size:.65rem;letter-spacing:.02em;line-height:1.5;margin-top:1.5rem;opacity:.55;text-align:center}.signin-error{color:var(--error);font-size:.78rem;text-align:center}.signin-switch{display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.78rem;color:var(--muted);margin-top:1.25rem}.signin-switch-link{background:none;border:none;padding:0;font-size:.78rem;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.signin-switch-link:hover{color:var(--accent-light, #a78bfa)}.check-warn{background:#fbbf2414;border:1px solid rgba(251,191,36,.3);border-radius:10px;margin-bottom:1.25rem;padding:1rem;text-align:left}.check-warn-msg{color:var(--text);font-size:.82rem;line-height:1.55;margin-bottom:.9rem}.check-warn-msg strong{color:var(--warning)}.check-warn-btns{display:flex;flex-direction:column;gap:.5rem}.signout-wrap{position:relative}.signout-btn{background:transparent;border:1px solid transparent;border-radius:8px;color:#8892a480;cursor:pointer;font-size:.73rem;padding:.28rem .6rem;transition:color .15s,border-color .15s,background .15s}.signout-btn:hover{background:#f8717114;border-color:#f8717133;color:var(--error)}.signout-confirm{align-items:center;background:#0f1117f5;border:1px solid rgba(248,113,113,.3);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;gap:.5rem;padding:.5rem .75rem;position:absolute;right:0;top:calc(100% + 6px);white-space:nowrap;z-index:200}.signout-label{color:var(--text);font-size:.78rem}.signout-cancel{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:.75rem;padding:.25rem .6rem;transition:background .12s}.signout-cancel:hover{background:var(--border)}.signout-ok{align-items:center;background:#f8717126;border:1px solid rgba(248,113,113,.4);border-radius:6px;color:var(--error);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.4rem;padding:.25rem .6rem;transition:background .12s,border-color .12s}.signout-ok:hover{background:#f8717140;border-color:#f8717199}.profile-wrap{position:relative}.profile-btn{align-items:center;background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:.8rem;gap:.5rem;padding:.28rem .55rem .28rem .35rem;transition:background .15s,border-color .15s}.profile-btn:hover{background:var(--overlay-2);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.profile-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.72rem;font-weight:700;height:22px;justify-content:center;width:22px}.profile-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{flex-shrink:0;color:var(--muted)}.profile-menu{background:var(--dropdown-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:12px;box-shadow:0 12px 40px #00000080,0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent);min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:300}.profile-menu-info{align-items:center;display:flex;gap:.75rem;padding:1rem 1rem .85rem}.profile-menu-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:36px;justify-content:center;width:36px}.profile-menu-details{min-width:0}.profile-menu-name{color:var(--text);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-uid{color:var(--muted);font-family:monospace;font-size:.68rem;margin-top:.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-device{color:var(--muted);font-family:monospace;font-size:.63rem;margin-top:.1rem;opacity:.5}.profile-menu-sep{background:var(--border);height:1px;margin:.2rem 0}.profile-menu-item{align-items:center;background:none;border:none;border-radius:0;color:var(--text);cursor:pointer;display:flex;font-size:.82rem;gap:.55rem;padding:.6rem 1rem;transition:background .1s;width:100%}.profile-menu-item:hover{background:var(--item-hover)}.profile-menu-item--danger{color:var(--error)}.profile-menu-item--danger:hover{background:color-mix(in srgb,var(--error) 8%,transparent)}.context-btn-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu{min-width:220px}.context-menu-item{justify-content:flex-start}.context-menu-check{color:var(--accent);flex-shrink:0;font-size:.78rem;width:1rem}.context-menu-name{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.context-menu-pin{color:var(--muted);flex-shrink:0;font-size:.85rem;opacity:.35;padding:.1rem;transition:color .15s,opacity .15s}.context-menu-item:hover .context-menu-pin{color:var(--muted);opacity:1}.context-menu-pin--active,.context-menu-item:hover .context-menu-pin--active{color:var(--accent)}.menu-confirm{padding:.85rem 1rem 1rem}.menu-confirm-text{color:var(--text);font-size:.82rem;line-height:1.5;margin-bottom:.85rem}.menu-confirm-btns{display:flex;gap:.5rem;justify-content:flex-end}.menu-confirm-cancel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:.78rem;padding:.35rem .75rem;transition:background .12s}.menu-confirm-cancel:hover{background:var(--border)}.menu-confirm-ok{align-items:center;background:color-mix(in srgb,var(--error) 12%,transparent);border:1px solid color-mix(in srgb,var(--error) 40%,transparent);border-radius:var(--radius);color:var(--error);cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:.4rem;padding:.35rem .75rem;transition:background .12s}.menu-confirm-ok:hover{background:color-mix(in srgb,var(--error) 22%,transparent)}.dev-meter{padding:.65rem 1rem .5rem}.dev-meter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.45rem}.dev-meter-title{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.dev-meter-refresh{background:none;border:none;border-radius:4px;color:var(--muted);cursor:pointer;font-size:.8rem;padding:.1rem .3rem;transition:color .12s}.dev-meter-refresh:hover{color:var(--accent-hover)}.dev-meter-rows{display:flex;flex-direction:column;gap:.18rem}.dev-meter-loading{color:#8892a466;font-size:.75rem}.dev-meter-row{align-items:center;display:flex;font-size:.75rem;justify-content:space-between}.dev-meter-row span:first-child{color:var(--muted)}.dev-meter-row span:last-child{color:var(--text);font-variant-numeric:tabular-nums;font-family:monospace}.dev-meter-row--sub span:first-child{color:#8892a480;padding-left:.75rem;font-size:.7rem}.dev-meter-row--sub span:last-child{color:#e2e8f08c;font-size:.7rem}.dev-meter-row--sep{border-top:1px solid rgba(46,50,69,.5);margin:.25rem 0 .1rem}.dev-meter-spark{align-items:flex-end;display:flex;gap:.2rem;height:2rem;margin-top:.4rem}.dev-meter-spark-bar{background:var(--accent);border-radius:1px;flex:1;min-height:2px;opacity:.55;transition:opacity .12s}.dev-meter-spark-bar:hover{opacity:.9}.dataset-app{display:flex;flex-direction:column;height:100%;font-family:inherit;color:var(--text)}.dataset-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--overlay-border);flex-wrap:wrap}.dataset-header h2{margin:0;font-size:1rem;font-weight:600;white-space:nowrap}.dataset-filters{display:flex;gap:.5rem;flex:1;flex-wrap:wrap}.dataset-tabs{display:flex;gap:.25rem}.dataset-tab{background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:6px;color:var(--muted);padding:.35rem .8rem;font-size:.82rem;cursor:pointer}.dataset-tab--active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent-hover);font-weight:600}.manual-add{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.movie-card--manual .badge-manual{font-size:.8rem;opacity:.7}.movie-card--manual .manual-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;margin-left:auto}.movie-card--manual .manual-del:hover{color:var(--error)}.dataset-search{flex:1;min-width:140px;background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:6px;color:inherit;padding:.4rem .7rem;font-size:.85rem}.dataset-filter-select{background-color:var(--overlay-1);border-color:var(--overlay-border);border-radius:var(--radius-sm);color:inherit;padding:.4rem 1.8rem .4rem .6rem;font-size:.85rem}.dataset-action-btn{background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:6px;color:var(--accent-hover);padding:.4rem .75rem;font-size:.82rem;cursor:pointer;white-space:nowrap}.dataset-action-btn:hover{background:color-mix(in srgb,var(--accent) 28%,transparent)}.dataset-body{flex:1;overflow:hidden;position:relative}.dataset-list{height:100%;overflow-y:auto;padding:.25rem 0}.dataset-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;cursor:pointer;border-bottom:1px solid var(--overlay-1);transition:background .12s}.dataset-row:hover{background:var(--overlay-1)}.dataset-status{padding:.4rem 1rem;font-size:.75rem;color:var(--muted);min-height:1.5rem}.dataset-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}.dataset-detail{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:1rem;background:var(--surface)}.detail-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:0;margin-bottom:1rem}.detail-close:hover{color:var(--text)}.detail-hero{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.detail-symbol{font-size:2.5rem;line-height:1;min-width:2.5rem;text-align:center}.detail-title{margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.detail-sub{margin:0 0 .25rem;color:var(--muted);font-size:.85rem}.detail-meta{margin:.15rem 0;font-size:.82rem;color:var(--muted)}.detail-link{color:var(--accent-hover);font-size:.82rem;word-break:break-all}.annotation-section{border-top:1px solid var(--overlay-border);padding-top:1rem;margin-top:.5rem}.annotation-label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:.35rem}.annotation-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.annotation-input{flex:1;background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:6px;color:inherit;padding:.4rem .7rem;font-size:.85rem}.annotation-textarea{width:100%;box-sizing:border-box;background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:6px;color:inherit;padding:.5rem .7rem;font-size:.85rem;resize:vertical;font-family:inherit;margin-bottom:.6rem}.annotation-save-btn{background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:6px;color:var(--accent-hover);padding:.45rem 1rem;font-size:.85rem;cursor:pointer}.annotation-save-btn:hover{background:color-mix(in srgb,var(--accent) 32%,transparent)}.annotation-saved{margin-left:.75rem;font-size:.82rem;color:var(--success)}.currency-code{font-weight:600;font-size:.9rem;min-width:3.5rem}.currency-name{flex:1;font-size:.85rem;color:var(--text)}.currency-symbol{font-size:1rem;min-width:2rem;text-align:right;color:var(--muted)}.has-annotation{font-size:.7rem}.movie-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;padding:.75rem;overflow-y:auto;height:100%;box-sizing:border-box}.movie-card{background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:8px;padding:.75rem;cursor:pointer;transition:background .12s;position:relative}.movie-card:hover{background:var(--overlay-2)}.movie-card-header{position:absolute;top:.4rem;right:.5rem;display:flex;gap:.2rem;font-size:.75rem}.movie-card-title{font-size:.85rem;font-weight:600;line-height:1.3;margin-bottom:.35rem;padding-right:1.5rem}.movie-card-meta{display:flex;gap:.4rem;align-items:center;font-size:.75rem;color:var(--muted)}.movie-stars{font-size:.8rem;color:#fbbf24;margin-top:.3rem}.genre-badge{background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:4px;padding:0 .35rem;font-size:.7rem;color:var(--accent-hover)}.star-row{display:flex;gap:.15rem}.star-btn{background:none;border:none;color:var(--border);font-size:1.4rem;cursor:pointer;padding:0;line-height:1}.star-btn.active{color:#fbbf24}.badge-watchlist,.badge-watched{font-size:.75rem}.market-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;cursor:pointer;border-bottom:1px solid var(--overlay-1);transition:background .12s}.market-row:hover{background:var(--overlay-1)}.market-row-left{display:flex;flex-direction:column}.market-symbol{font-weight:700;font-size:.9rem}.market-name{font-size:.75rem;color:var(--muted)}.market-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.market-price{font-weight:600;font-size:.9rem}.market-change{font-size:.75rem;font-weight:500}.market-holding{font-size:.72rem;color:var(--muted)}.change-up{color:var(--success)}.change-down{color:var(--error)}.bookmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:.75rem;overflow-y:auto;height:100%;box-sizing:border-box}.bookmark-card{background:var(--overlay-1);border:1px solid var(--overlay-border);border-radius:8px;padding:.75rem;cursor:pointer;transition:background .12s}.bookmark-card:hover{background:var(--overlay-2)}.bookmark-card-title{font-size:.88rem;font-weight:600;margin-bottom:.2rem;line-height:1.35}.bookmark-card-host{font-size:.73rem;color:var(--muted);margin-bottom:.4rem}.bookmark-tags,.bookmark-personal-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.tag-chip{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;padding:.1rem .4rem;font-size:.68rem;color:var(--accent-hover)}.tag-chip-personal{background:#14b8a61f;color:var(--accent-teal)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg, var(--radius));box-shadow:var(--shadow-md);padding:1.5rem;width:min(480px,90vw);display:flex;flex-direction:column;gap:.25rem}.modal-title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.modal-sub{font-size:.8rem;color:var(--muted);margin:0 0 .75rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:50;display:flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.32rem .8rem;font-size:.75rem;font-family:var(--font);color:var(--muted);cursor:pointer;transition:background .2s,border-color .2s,color .2s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-xs)}.theme-toggle:hover{color:var(--text);border-color:var(--accent);background:var(--surface2)}.header-theme-btn{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:.3rem;border-radius:6px;color:var(--muted);transition:color .15s}.header-theme-btn:hover{color:var(--text);background:#ffffff0f}[data-theme=light] .header-theme-btn:hover{background:#0000000d}.gate-layout{display:flex;align-items:center;justify-content:center;gap:5rem;width:100%;max-width:980px;padding:2rem 1.5rem;position:relative;z-index:1}.gate-brand-panel{flex:1;max-width:420px;display:flex;flex-direction:column;gap:1.5rem;animation:card-in .5s cubic-bezier(.16,1,.3,1) both;animation-delay:.05s}.gate-brand-logo{font-size:3.5rem;line-height:1;filter:drop-shadow(0 0 20px color-mix(in srgb,var(--accent) 40%,transparent))}.gate-brand-name{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;background:var(--title-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gate-brand-tagline{font-size:1.1rem;line-height:1.6;color:var(--muted)}.gate-features{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0}.gate-features li{display:flex;align-items:flex-start;gap:.8rem;font-size:.9rem;color:var(--text);opacity:.9}.gate-feature-icon{font-size:1.1rem;line-height:1.4;flex-shrink:0;width:1.5rem;text-align:center}.gate-features strong{color:var(--text);font-weight:600}.gate-card-wrap{flex-shrink:0;width:100%;max-width:400px}.shell-gate{background:var(--bg);transition:background .3s}@media(max-width:719px){.gate-layout{flex-direction:column;gap:0;padding:1.25rem 1rem;min-height:100dvh;justify-content:center}.gate-brand-panel{display:none}.gate-card-wrap{max-width:100%;width:100%}.login-card{border-radius:16px;padding:2rem 1.5rem}}@media(max-width:480px){.login-card{padding:1.75rem 1.25rem;border-radius:14px}.login-title{font-size:1.65rem}.btn-oauth{font-size:.88rem;padding:.7rem 1rem}.theme-toggle{font-size:.7rem;padding:.25rem .65rem}}.btn-oauth,.login-btn{min-height:44px}.mobile-bottomnav{display:none}html.is-mobile .mobile-bottomnav{display:flex;flex-shrink:0;background:var(--header-bg);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}html.is-mobile .mbn-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:.45rem 0;background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition)}html.is-mobile .mbn-btn:active{color:var(--text)}html.is-mobile .mbn-ico{font-size:1.2rem;line-height:1}html.is-mobile .mbn-lbl{font-size:.62rem;font-weight:600;letter-spacing:.01em}html.is-mobile .sidebar{display:none}html.is-mobile .main-workspace{flex:1}html.is-mobile .main-header{padding:calc(.5rem + env(safe-area-inset-top)) 1rem .5rem}html.is-mobile .cmd-trigger-btn,html.is-mobile #context-wrap{display:none}html.is-mobile .main-title{font-size:.95rem}html.is-mobile .pane-tabbar{-webkit-overflow-scrolling:touch}html.is-mobile .pane-tab{padding:.7rem 1rem;font-size:.9rem;min-height:44px}html.is-mobile .home-screen{padding:1.25rem 1rem}html.is-mobile .home-cat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}html.is-mobile .home-app-card{padding:1rem .9rem}html.is-mobile .header-theme-btn,html.is-mobile .profile-btn{min-height:40px;min-width:40px}@media(max-width:1024px){:root{--cal-day-min-width: 84px}.sidebar{width:164px}.home-cat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.main-header{padding:.6rem 1rem}}@media(max-width:720px){:root{--cal-day-min-width: 60px}.mobile-bottomnav{display:flex;flex-shrink:0;background:var(--header-bg);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom)}.mbn-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:.45rem 0;background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition)}.mbn-btn:active{color:var(--text)}.mbn-ico{font-size:1.2rem;line-height:1}.mbn-lbl{font-size:.62rem;font-weight:600;letter-spacing:.01em}.sidebar{display:none}.main-workspace{flex:1}.cmd-trigger-btn,#context-wrap{display:none}.main-header{padding:calc(.5rem + env(safe-area-inset-top)) 1rem .5rem}.main-title{font-size:.95rem}.header-theme-btn,.profile-btn{min-height:40px;min-width:40px}.home-screen{padding:1.25rem 1rem}.home-cat-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.home-app-card{padding:1rem .9rem}.pane-tab{min-height:44px;padding:.7rem 1rem;font-size:.9rem}.cal-body{flex-direction:column}.cal-side{width:auto;max-height:40%;border-left:none;border-top:1px solid var(--border)}.notes-app{flex-direction:column}.notes-sidebar{width:auto;max-height:35%;border-right:none;border-bottom:1px solid var(--border)}.messages-app{flex-direction:column!important;height:100%!important;max-width:100%!important}.messages-app>div:first-child{width:auto!important;max-height:38%!important;border-right:none!important;border-bottom:1px solid var(--border)!important}.rubiks-app{flex-direction:column!important}.rubiks-app>div:last-child{width:auto!important;border-left:none!important;border-top:1px solid var(--border);max-height:42%}}[data-theme=light] .sidebar-item--open:not(.sidebar-item--active){color:var(--text);opacity:.75}[data-theme=light] .pane-empty-icon{color:#4f46e533}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}}.export-modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(480px,100%);max-height:min(90dvh,680px);display:flex;flex-direction:column;box-shadow:var(--edge-highlight),var(--shadow-pop);animation:card-in .25s cubic-bezier(.16,1,.3,1) both;overflow:hidden}.export-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0;flex-shrink:0}#export-pane,#import-pane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.export-modal-title{font-size:1rem;font-weight:700;letter-spacing:-.01em}.export-close-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem;border-radius:6px;transition:color .15s}.export-close-btn:hover{color:var(--text)}.export-modal-sub{font-size:.8rem;color:var(--muted);padding:.6rem 1.5rem 1rem;line-height:1.55;flex-shrink:0}.export-app-list{overflow-y:auto;flex:1;padding:.25rem 1.5rem;min-height:0}.export-app-row{display:flex;align-items:center;gap:.65rem;padding:.6rem .5rem;border-radius:8px;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.export-app-row:hover{background:var(--surface2)}.export-app-row input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;flex-shrink:0}.export-app-icon{flex-shrink:0}.export-app-name{font-size:.88rem;color:var(--text)}.export-select-row{display:flex;gap:.75rem;padding:.5rem 1.5rem;flex-shrink:0}.export-select-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.78rem;padding:0;text-decoration:underline;text-underline-offset:2px}.export-select-link:hover{color:var(--accent-hover)}.export-format-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;border-top:1px solid var(--border);flex-shrink:0}.export-format-label{font-size:.78rem;color:var(--muted);flex-shrink:0}.export-format-opt{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.export-format-opt input[type=radio]{accent-color:var(--accent);cursor:pointer}.export-footer{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0}.export-status{flex:1;font-size:.8rem}.export-cancel-btn{background:none;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .15s;flex-shrink:0}.export-cancel-btn:hover{border-color:var(--border);color:var(--text)}.export-download-btn{align-items:center;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.4rem;padding:.5rem 1.25rem;transition:background .15s;flex-shrink:0}.export-download-btn:hover{background:var(--accent-hover)}.export-download-btn:disabled{opacity:.5;cursor:not-allowed}.export-tabs{display:flex;gap:0}.export-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-family:var(--font);font-size:.88rem;font-weight:500;margin-right:1.25rem;padding:0 .1rem .5rem;transition:all .15s}.export-tab:hover{color:var(--text)}.export-tab--active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.import-dropzone{border:1.5px dashed var(--border);border-radius:10px;cursor:pointer;margin:0 1.5rem .75rem;padding:1.5rem;position:relative;text-align:center;transition:border-color .15s,background .15s}.import-dropzone:hover,.import-dropzone.drag-over{background:color-mix(in srgb,var(--accent) 6%,transparent);border-color:var(--accent)}.import-file-input{cursor:pointer;height:100%;top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;width:100%}.import-dropzone-icon{color:var(--muted);display:block;font-size:1.5rem;margin-bottom:.4rem}.import-dropzone-label{color:var(--muted);font-size:.82rem;word-break:break-all}.import-preview-header{align-items:center;color:var(--text);display:flex;font-size:.82rem;font-weight:500;gap:.75rem;padding:.5rem 1.5rem .25rem}.import-event-count{color:var(--muted);font-family:monospace;font-size:.75rem;margin-left:auto}.import-error{color:var(--error);font-size:.78rem;margin-bottom:.25rem;padding:.4rem 1.5rem}.pane-appstore{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:2rem 2.5rem}.appstore-pane-header{margin-bottom:1.25rem}.appstore-pane-title{background:var(--shell-title);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.appstore-pane-sub{color:var(--muted);font-size:.875rem;margin-top:.3rem}.appstore-app-row{cursor:default;flex-wrap:wrap}.appstore-chip-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-left:auto;padding-left:2.15rem;width:100%}.appstore-no-contexts{color:var(--muted);font-size:.72rem;font-style:italic}.appstore-context-chip{background:none;border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:.72rem;padding:.18rem .6rem;transition:all .12s}.appstore-context-chip:hover{border-color:var(--accent);color:var(--text)}.appstore-context-chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.appstore-search-wrap{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:.5rem;margin-top:.85rem;padding:0 .7rem}.appstore-search-icon{color:var(--muted);display:flex}.appstore-search{background:none;border:none;color:var(--text);flex:1;font-size:.85rem;outline:none;padding:.5rem 0}.appstore-cat{margin-bottom:1.1rem}.appstore-cat-title{align-items:center;color:var(--muted);display:flex;font-size:.72rem;font-weight:700;gap:.4rem;letter-spacing:.04em;margin:0 0 .55rem;text-transform:uppercase}.appstore-cat-count{background:var(--border);border-radius:999px;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:0;padding:.05rem .4rem}.appstore-card-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.appstore-app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:grid;gap:.2rem .75rem;grid-template-columns:2.5rem 1fr;padding:.85rem .95rem;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.appstore-app-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:var(--shadow-md),0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-2px)}.appstore-card-icon{flex-shrink:0}.appstore-card-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.appstore-card-name{color:var(--text);font-size:.88rem;font-weight:600}.appstore-card-desc{color:var(--muted);font-size:.75rem;line-height:1.35}.appstore-app-card .appstore-chip-row{margin:.45rem 0 0;padding-left:0;width:auto}.appstore-empty{color:var(--muted);font-size:.85rem;padding:1rem 0;text-align:center}.appstore-contexts-section{border-top:1px solid var(--border);flex-shrink:0;padding:.75rem 1.5rem 1.25rem}.appstore-contexts-header{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}.appstore-context-list{display:flex;flex-direction:column;gap:.15rem}.appstore-context-row{align-items:center;border-radius:8px;display:flex;gap:.6rem;padding:.4rem}.appstore-context-row:hover{background:var(--surface2)}.appstore-context-pin{background:none;border:none;color:#ffffff26;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:.1rem;transition:color .15s}.appstore-context-row:hover .appstore-context-pin{color:var(--muted)}.appstore-context-pin--active,.appstore-context-row:hover .appstore-context-pin--active{color:var(--accent)}.appstore-context-name{color:var(--text);flex:1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appstore-context-name--active{font-weight:700}.appstore-context-rename,.appstore-context-delete{background:none;border:none;color:var(--muted);cursor:pointer;flex-shrink:0;font-size:.8rem;padding:.2rem .3rem;transition:color .15s}.appstore-context-rename:hover{color:var(--text)}.appstore-context-delete:hover{color:var(--error)}.appstore-new-context-form{align-items:center;display:flex;gap:.6rem;margin-top:.6rem}.appstore-new-context-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1;font-family:inherit;font-size:.82rem;padding:.4rem .6rem}.appstore-new-context-input:focus{border-color:var(--accent);outline:none}.notes-app{display:flex;height:100%;font-family:inherit;position:relative}.notes-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;background:var(--sidebar-bg, var(--surface))}.notes-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem .5rem;border-bottom:1px solid var(--border);flex-shrink:0}.notes-sidebar-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.notes-new-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:.1rem .4rem;transition:all .15s}.notes-new-btn:hover{color:var(--accent);border-color:var(--accent)}.notes-list{flex:1;overflow-y:auto;padding:.35rem 0}.notes-list-empty{font-size:.78rem;color:var(--muted);text-align:center;padding:1.5rem .5rem}.notes-list-item{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;cursor:pointer;transition:background .1s}.notes-list-item:hover{background:var(--item-hover, rgba(255, 255, 255, .05))}.notes-list-item--active{background:color-mix(in srgb,var(--accent) 10%,transparent);border-left:2px solid var(--accent);padding-left:calc(.75rem - 2px)}.notes-list-title{flex:1;font-size:.82rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-shared-dot{font-size:.55rem;color:var(--accent);flex-shrink:0}.notes-editor-wrap{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.notes-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted);pointer-events:none}.notes-empty-icon{font-size:2.5rem;opacity:.4}.notes-empty-text{font-size:.85rem}.notes-editor{flex:1;display:flex;flex-direction:column;min-height:0}.notes-toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.notes-title-input{flex:1;background:none;border:none;color:var(--text);font-size:.95rem;font-weight:600;font-family:inherit;outline:none;padding:.2rem 0}.notes-title-input::placeholder{color:var(--muted);font-weight:400}.notes-toolbar-right{display:flex;gap:.25rem}.notes-tool-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.25rem .35rem;border-radius:5px;transition:all .15s}.notes-tool-btn:hover{background:var(--surface2);color:var(--text)}.notes-tool-btn--danger:hover{color:var(--error)}.notes-delete-confirm{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--error);animation:fade-in .1s ease}.notes-delete-yes,.notes-delete-no{background:none;border:1px solid currentColor;border-radius:4px;cursor:pointer;font-size:.72rem;font-family:inherit;padding:.1rem .45rem}.notes-delete-yes{color:var(--error);border-color:var(--error)}.notes-delete-yes:hover{background:var(--red-dim, rgba(239, 68, 68, .1))}.notes-delete-no{color:var(--muted);border-color:var(--border)}.notes-collab-bar{display:flex;align-items:center;gap:.5rem;padding:.3rem .75rem;background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.notes-collab-label{font-size:.72rem;color:var(--muted)}.notes-collab-list{display:flex;gap:.3rem}.notes-collab-dot{font-size:.7rem;color:var(--muted);cursor:default}.notes-collab-dot--online{color:var(--success)}.notes-collab-dot--typing{color:var(--accent)}.notes-key-warning{padding:.4rem .75rem;background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.notes-key-warning-row{color:var(--error);font-size:.75rem;line-height:1.5}.notes-key-warning-row+.notes-key-warning-row{margin-top:.3rem}.notes-content-area{flex:1;display:flex;min-height:0;overflow:hidden}.notes-textarea{flex:1;background:var(--bg);border:none;color:var(--text);font-family:SF Mono,Cascadia Code,Fira Mono,monospace;font-size:.88rem;line-height:1.7;outline:none;padding:1rem;resize:none;overflow-y:auto}.notes-preview{flex:1;overflow-y:auto;padding:1rem;background:var(--bg)}.notes-preview-inner{max-width:680px;line-height:1.7;font-size:.92rem;color:var(--text)}.notes-preview-inner h1,.notes-preview-inner h2,.notes-preview-inner h3{font-weight:700;margin:1.2em 0 .4em;line-height:1.25}.notes-preview-inner h1{font-size:1.5rem}.notes-preview-inner h2{font-size:1.2rem}.notes-preview-inner h3{font-size:1rem}.notes-preview-inner p{margin:.6em 0}.notes-preview-inner code{background:var(--surface2);border-radius:3px;font-family:monospace;font-size:.85em;padding:.1em .35em}.notes-preview-inner ul{margin:.4em 0;padding-left:1.5rem}.notes-preview-inner a{color:var(--accent)}.notes-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.notes-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:min(400px,90%)}.notes-modal-title{font-size:.95rem;font-weight:700;margin-bottom:.25rem}.notes-modal-sub{font-size:.78rem;color:var(--muted);margin-bottom:.85rem}.notes-modal-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:.85rem;font-family:monospace;padding:.5rem .75rem;outline:none;margin-bottom:.85rem}.notes-modal-input:focus{border-color:var(--accent)}.notes-modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.notes-modal-cancel{background:none;border:1px solid var(--border);border-radius:7px;color:var(--muted);cursor:pointer;font-size:.82rem;padding:.4rem .9rem}.notes-modal-ok{background:var(--accent);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .9rem;transition:background .15s}.notes-modal-ok:hover{background:var(--accent-hover)}.notes-modal-error{color:var(--error);font-size:.75rem;margin-top:.5rem}.notes-invites-banner{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--accent);border-radius:8px;padding:.6rem 1rem;display:flex;align-items:center;gap:.6rem;font-size:.82rem;z-index:40;box-shadow:var(--shadow-lg)}.notes-invite-accept{background:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.78rem;font-weight:600;padding:.25rem .65rem}.notes-invite-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:0}.notes-readonly-banner{display:flex;align-items:center;gap:.6rem;padding:.35rem .75rem;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));flex-shrink:0;font-size:.78rem}.notes-readonly-label{flex:1;color:var(--accent);font-weight:500}.notes-restore-btn{background:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.72rem;font-family:inherit;font-weight:600;padding:.2rem .6rem;transition:opacity .15s}.notes-restore-btn:hover{opacity:.85}.notes-back-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;font-size:.72rem;font-family:inherit;padding:.2rem .6rem;transition:all .15s}.notes-back-btn:hover{color:var(--text);border-color:var(--text)}.notes-history-bar{display:flex;align-items:center;gap:.6rem;padding:.35rem .75rem;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.notes-history-ts{font-size:.65rem;color:var(--muted);white-space:nowrap;min-width:5rem;font-variant-numeric:tabular-nums}.notes-history-ts--right{text-align:right}.notes-history-slider{flex:1;accent-color:var(--accent);height:3px;cursor:pointer}.notes-tool-btn--active{color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.sync-test{display:flex;flex-direction:column;height:100%;font-family:var(--font);color:var(--fg);background:var(--bg)}.st-header{padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.6rem}.st-title{font-size:1.1rem;font-weight:600;color:var(--fg)}.st-meta{display:flex;gap:.5rem;flex-wrap:wrap}.st-badge{font-size:.72rem;padding:.2rem .55rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono, monospace);white-space:nowrap}.st-sync-ok{color:var(--success, #22c55e);border-color:var(--success, #22c55e)}.st-sync-pending{color:var(--accent);border-color:var(--accent)}.st-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.st-clear-confirm{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--error);animation:fade-in .1s ease}.st-clear-confirm.hidden{display:none}.st-clear-yes,.st-clear-no{background:none;border:1px solid currentColor;border-radius:4px;cursor:pointer;font-size:.72rem;font-family:inherit;padding:.1rem .45rem}.st-clear-yes{color:var(--error);border-color:var(--error)}.st-clear-yes:hover{background:var(--red-dim, rgba(239, 68, 68, .1))}.st-clear-no{color:var(--muted);border-color:var(--border)}.st-delay-row{display:flex;align-items:center;gap:.6rem}.st-delay-icon{flex-shrink:0;opacity:.6;font-size:.95rem}#st-delay{flex:1;accent-color:var(--accent);cursor:pointer}.st-delay-label{flex-shrink:0;font-size:.74rem;color:var(--muted);white-space:nowrap;text-align:right;font-family:var(--font-mono, monospace)}.st-input{flex:1;min-width:0;padding:.45rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:.9rem}.st-input:focus{outline:none;border-color:var(--accent)}.st-btn{padding:.45rem .9rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s}.st-btn:hover{background:var(--border)}.st-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.st-btn-primary:hover{opacity:.88;background:var(--accent)}.st-status{margin:.5rem 1.25rem 0;padding:.4rem .75rem;border-radius:6px;font-size:.82rem}.st-status.hidden{display:none}.st-status-ok{background:color-mix(in srgb,var(--success, #22c55e) 15%,transparent);color:var(--success, #22c55e)}.st-status-err{background:color-mix(in srgb,var(--danger, #ef4444) 15%,transparent);color:var(--danger, #ef4444)}.st-list{flex:1;overflow-y:auto;padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}.st-empty{color:var(--muted);font-size:.9rem;margin:2rem auto;text-align:center}.st-ping{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:.88rem;transition:background .2s}.st-ping-mine{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.st-ping-other{border-color:var(--border)}.st-ping-new{animation:st-arrive .6s ease}@keyframes st-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.st-ping-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.st-ping-mine .st-ping-dot{background:var(--accent)}.st-ping-other .st-ping-dot{background:var(--success, #22c55e)}.st-ping-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-ping-device,.st-ping-time{font-size:.72rem;color:var(--muted);font-family:var(--font-mono, monospace);flex-shrink:0}:root{--cal-hour-height: 48px;--cal-day-min-width: 110px;--cal-gcal-color: light-dark(#1a73e8, #4285f4);--cal-habit-proposed: light-dark(var(--color-amber-600), var(--color-amber-400));--cal-habit-approved: light-dark(var(--color-green-600), var(--color-green-400))}.cal-app{display:flex;flex-direction:column;height:100%;font-family:var(--font);overflow:hidden}.cal-toolbar{display:flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0}.cal-toolbar-title{font-weight:600;font-size:.9rem;color:var(--text);min-width:130px;flex:1}.cal-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.28rem .65rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-family:inherit;transition:background var(--transition),border-color var(--transition)}.cal-btn:hover{background:var(--surface2)}.cal-btn.active,.cal-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.cal-btn-gcal{background:#4285f41f;border-color:#4285f466;color:#93c5fd}.cal-btn-gcal:hover{background:#4285f433}.cal-btn-gcal.connected{background:#34d3991f;border-color:#34d39966;color:#34d399}.cal-body{display:flex;flex:1;overflow:hidden}.cal-main{flex:1;overflow:auto;position:relative}.cal-week-grid{display:grid;grid-template-columns:44px repeat(7,minmax(var(--cal-day-min-width),1fr));min-width:calc(44px + 7 * var(--cal-day-min-width))}.cal-day-grid{display:grid;grid-template-columns:44px minmax(var(--cal-day-min-width),1fr)}.cal-day-header-row{display:contents}.cal-gutter-corner{border-bottom:1px solid var(--border);border-right:1px solid var(--border);position:sticky;top:0;z-index:3;background:var(--bg)}.cal-day-header{padding:.3rem .4rem;border-bottom:1px solid var(--border);border-left:1px solid var(--border);text-align:center;font-size:.75rem;font-weight:600;color:var(--muted);position:sticky;top:0;background:var(--bg);z-index:2;line-height:1.4}.cal-day-header.today{color:var(--accent)}.cal-day-header .cal-day-num{display:block;font-size:1.1rem;font-weight:700;line-height:1.2}.cal-day-header.today .cal-day-num{background:var(--accent);color:#fff;border-radius:50%;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center}.cal-time-col{grid-column:1;position:relative;height:calc(24 * var(--cal-hour-height));border-right:1px solid var(--border)}.cal-gutter-label{position:absolute;right:6px;font-size:.62rem;color:var(--muted);transform:translateY(-50%);-webkit-user-select:none;user-select:none;white-space:nowrap}.cal-day-col{border-left:1px solid var(--border);position:relative;height:calc(24 * var(--cal-hour-height))}.cal-hour-line{position:absolute;left:0;right:0;border-top:1px solid rgba(255,255,255,.04);pointer-events:none}.cal-hour-line.major{border-top-color:var(--border)}.cal-event{position:absolute;left:2px;right:2px;border-radius:4px;padding:2px 5px;font-size:.7rem;overflow:hidden;cursor:default;z-index:1;transition:opacity var(--transition);box-sizing:border-box}.cal-event:hover{z-index:3;opacity:.88}.cal-event-title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.cal-event-time{font-size:.62rem;opacity:.75;display:block}.cal-event--gcal{background:#4285f433;border-left:3px solid var(--cal-gcal-color);color:#93c5fd}.cal-event--user{background:#a855f733;border-left:3px solid #a855f7;color:#d8b4fe;cursor:pointer;z-index:2}.cal-month-dot--user{background:#a855f7}.cal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.cal-modal-overlay.hidden{display:none}.cal-modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;width:320px;max-width:90vw}.cal-modal-title{margin:0 0 .75rem;font-size:1rem;color:var(--text)}.cal-modal-input{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.4rem .6rem;font-size:.85rem;margin-bottom:.5rem}.cal-modal-row{display:flex;gap:.4rem}.cal-modal-row .cal-modal-input{flex:1;min-width:0}.cal-modal-actions{display:flex;align-items:center;gap:.4rem;margin-top:.5rem}.cal-modal-delete{color:var(--error);border-color:var(--error)}.cal-modal-delete.hidden{display:none}.cal-event--habit.is-proposed{background:#fbbf2426;border-left:3px dashed var(--cal-habit-proposed);color:var(--cal-habit-proposed)}.cal-event--habit.is-approved{background:#34d39926;border-left:3px solid var(--cal-habit-approved);color:var(--cal-habit-approved)}.cal-event--habit.is-skipped{background:var(--surface);border-left:3px solid var(--border);color:var(--muted);opacity:.5}.cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-dow{padding:.3rem .5rem;font-size:.72rem;font-weight:600;color:var(--muted);text-align:center;border-bottom:1px solid var(--border)}.cal-month-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.3rem .4rem;min-height:72px;font-size:.75rem;cursor:pointer;transition:background var(--transition)}.cal-month-day:hover{background:var(--surface)}.cal-month-day.other-month .cal-month-day-num{opacity:.3}.cal-month-day-num{font-weight:600;color:var(--muted);font-size:.8rem;display:inline-block;width:1.4rem;height:1.4rem;line-height:1.4rem;text-align:center}.cal-month-day.today .cal-month-day-num{background:var(--accent);color:#fff;border-radius:50%}.cal-month-dots{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px}.cal-month-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cal-month-dot--gcal{background:var(--cal-gcal-color)}.cal-month-dot--habit{background:var(--cal-habit-approved)}.cal-month-dot--proposed{background:var(--cal-habit-proposed)}.cal-side{width:260px;flex-shrink:0;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.cal-side.hidden{display:none}.cal-side-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.cal-side-tab{flex:1;padding:.4rem;text-align:center;font-size:.75rem;cursor:pointer;color:var(--muted);border:none;background:none;font-family:inherit;border-bottom:2px solid transparent;transition:color var(--transition)}.cal-side-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.cal-side-body{flex:1;overflow-y:auto;padding:.65rem}.cal-habit-row{padding:.45rem 0;border-bottom:1px solid var(--border)}.cal-habit-row-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.cal-habit-name{font-size:.82rem;font-weight:500;color:var(--text);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-habit-toggle{width:28px;height:16px;border-radius:99px;border:none;cursor:pointer;background:var(--border);position:relative;flex-shrink:0;transition:background var(--transition)}.cal-habit-toggle:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform var(--transition)}.cal-habit-toggle.on{background:var(--accent)}.cal-habit-toggle.on:after{transform:translate(12px)}.cal-habit-controls{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.cal-habit-select{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:.72rem;padding:.15rem .35rem;border-radius:4px;font-family:inherit;cursor:pointer}.cal-habit-label{font-size:.68rem;color:var(--muted)}.cal-proposal-slot{display:flex;align-items:flex-start;gap:.4rem;padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.78rem}.cal-proposal-info{flex:1;min-width:0}.cal-proposal-name{font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-proposal-time{color:var(--muted);font-size:.7rem;margin-top:1px}.cal-proposal-actions{display:flex;gap:.2rem;flex-shrink:0}.cal-proposal-approve{background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#34d399;border-radius:4px;padding:.12rem .45rem;cursor:pointer;font-size:.68rem;font-family:inherit}.cal-proposal-approve:hover{background:#34d39938}.cal-proposal-skip{background:none;border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:.12rem .45rem;cursor:pointer;font-size:.68rem;font-family:inherit}.cal-proposal-skip:hover{background:var(--surface)}.cal-perm-banner{background:#fbbf2414;border:1px solid rgba(251,191,36,.35);border-radius:var(--radius);padding:.55rem .75rem;font-size:.75rem;color:var(--cal-habit-proposed);line-height:1.5;margin-bottom:.5rem}.cal-generate-btn{width:100%;margin-top:.75rem;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--accent);padding:.4rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-family:inherit;font-weight:500;transition:background var(--transition)}.cal-generate-btn:hover{background:color-mix(in srgb,var(--accent) 25%,transparent)}.cal-generate-btn:disabled{opacity:.4;cursor:not-allowed}.cal-approve-all-btn{width:100%;margin-bottom:.5rem;background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:#34d399;padding:.35rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-family:inherit;font-weight:500;transition:background var(--transition)}.cal-approve-all-btn:hover{background:#34d39938}.cal-empty-hint{color:var(--muted);font-size:.78rem;text-align:center;padding:1.5rem 0;line-height:1.6}.cal-section-title{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}.cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmd-overlay.hidden{display:none}.cmd-card{width:min(540px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0006,0 4px 16px #0003;overflow:hidden;display:flex;flex-direction:column}.cmd-input-row{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-bottom:1px solid var(--border)}.cmd-search-icon{color:var(--muted);display:flex;align-items:center;flex-shrink:0}.cmd-input{flex:1;font-size:.92rem;font-family:var(--font);border:none;background:transparent;color:var(--text);padding:.35rem 0;outline:none}.cmd-input::placeholder{color:var(--muted)}.cmd-input--partial{color:var(--muted);font-style:italic}.cmd-esc-key{font-size:.65rem;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:.15rem .4rem;flex-shrink:0;font-family:var(--font)}.cmd-voice-btn{flex-shrink:0;border:none;background:transparent;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;padding:.25rem;border-radius:6px;transition:color .15s,background .15s}.cmd-voice-btn:hover{color:var(--text);background:var(--surface2)}.cmd-voice-btn.listening{color:var(--accent, #e74c3c);animation:cmd-voice-pulse 1.2s ease-in-out infinite}.cmd-voice-btn.thinking{color:var(--accent);opacity:.7;animation:cmd-voice-pulse .8s ease-in-out infinite}@keyframes cmd-voice-pulse{0%,to{opacity:1}50%{opacity:.4}}.cmd-voice-status{margin:0 .75rem .4rem;padding:.4rem .7rem;border-radius:8px;background:var(--surface2);color:var(--text);font-size:.85rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-results{max-height:340px;overflow-y:auto;padding:.3rem 0}.cmd-group-header{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.55rem 1rem .2rem}.cmd-item{display:flex;align-items:center;gap:.7rem;padding:.42rem 1rem;cursor:pointer;transition:background .08s}.cmd-item:hover,.cmd-item.active{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.cmd-item-example{font-size:.78rem;font-family:var(--font-mono, monospace);color:var(--accent);flex-shrink:0}.cmd-item-desc{font-size:.78rem;color:var(--muted);flex:1}.cmd-item-run-hint{font-size:.65rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:4px;padding:.1rem .4rem;flex-shrink:0}.cmd-item-fill-hint{font-size:.65rem;color:var(--muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;padding:.1rem .4rem;flex-shrink:0;opacity:0;transition:opacity .1s}.cmd-item:hover .cmd-item-fill-hint,.cmd-item.active .cmd-item-fill-hint{opacity:1}.cmd-empty{padding:1.5rem 1rem;color:var(--muted);font-size:.82rem;text-align:center}.cmd-feedback{padding:1.2rem 1rem;font-size:.88rem;text-align:center;color:#34d399;font-weight:500}.cmd-footer{display:flex;gap:1rem;padding:.45rem 1rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 60%,var(--surface))}.cmd-footer span{font-size:.65rem;color:var(--muted);display:flex;align-items:center;gap:.3rem}.cmd-footer kbd{font-size:.6rem;background:var(--surface2);border:1px solid var(--border);border-radius:3px;padding:.1rem .3rem;font-family:var(--font);color:var(--text)}.cmd-trigger-btn{font-size:.9rem!important;letter-spacing:.02em;opacity:.75}.cmd-trigger-btn:hover{opacity:1}.req-app{display:flex;flex-direction:column;height:100dvh;overflow:hidden;background:var(--surface);color:var(--text)}.req-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.req-header-left{display:flex;flex-direction:column;gap:.2rem}.req-title{font-size:1.1rem;font-weight:600}.req-subtitle{font-size:.78rem;color:var(--muted)}.req-new-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.45rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.req-new-btn:hover{opacity:.88}.req-controls{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.req-filter,.req-sort{background:var(--surface-alt, var(--surface));color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .6rem;font-size:.8rem;cursor:pointer}.req-count{margin-left:auto;font-size:.75rem;color:var(--muted)}.req-list{flex:1;overflow-y:auto;padding:.5rem 0}.req-loading,.req-empty,.req-error{padding:2rem 1.25rem;text-align:center;color:var(--muted);font-size:.85rem}.req-error{color:var(--danger, #e55)}.req-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.req-item:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.req-item--expanded{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.req-vote-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.35rem .5rem;cursor:pointer;color:var(--muted);min-width:2.4rem;flex-shrink:0;transition:border-color .15s,color .15s,background .15s}.req-vote-btn:hover{border-color:var(--accent);color:var(--accent)}.req-vote-btn--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.req-vote-icon{font-size:.7rem;line-height:1}.req-vote-count{font-size:.78rem;font-weight:600;line-height:1}.req-item-body{flex:1;min-width:0}.req-item-top{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.req-item-title{font-size:.9rem;font-weight:500;flex:1;min-width:0}.req-item-meta{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;font-size:.72rem;color:var(--muted)}.req-my-vote{color:var(--accent);font-weight:500}.req-item-desc{margin-top:.5rem;font-size:.82rem;color:var(--muted);line-height:1.5;white-space:pre-wrap}.req-status{font-size:.68rem;font-weight:600;padding:.15rem .45rem;border-radius:99px;white-space:nowrap;flex-shrink:0}.req-status--submitted{background:color-mix(in srgb,var(--muted) 20%,var(--surface));color:var(--muted)}.req-status--reviewing{background:color-mix(in srgb,#f59e0b 18%,var(--surface));color:#b45309}[data-theme=dark] .req-status--reviewing{color:#fbbf24}.req-status--planned{background:color-mix(in srgb,#3b82f6 18%,var(--surface));color:#1d4ed8}[data-theme=dark] .req-status--planned{color:#60a5fa}.req-status--building{background:color-mix(in srgb,#8b5cf6 18%,var(--surface));color:#6d28d9}[data-theme=dark] .req-status--building{color:#a78bfa}.req-status--shipped{background:color-mix(in srgb,#10b981 18%,var(--surface));color:#047857}[data-theme=dark] .req-status--shipped{color:#34d399}.req-status--declined{background:color-mix(in srgb,#ef4444 14%,var(--surface));color:#991b1b}[data-theme=dark] .req-status--declined{color:#f87171}.req-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh}.req-modal-card{width:min(540px,92vw);max-height:85vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, var(--radius));box-shadow:var(--edge-highlight),var(--shadow-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.4rem}.req-modal-sub{font-size:.78rem;color:var(--muted);line-height:1.4;margin:0 0 .25rem}.req-section{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;border-top:1px solid var(--border)}.req-section:first-of-type{border-top:none}.req-section-label{font-size:.8rem;font-weight:600;color:var(--text)}.req-field{display:flex;flex-direction:column;margin-top:.35rem}.req-grid{display:grid;grid-template-columns:1fr 70px 1fr;gap:.5rem}.req-grid .req-field{margin-top:0}.req-checks{display:flex;flex-direction:column;gap:.3rem;margin-top:.2rem}.req-checks--row{flex-direction:row;flex-wrap:wrap;gap:.75rem}.req-check{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text);cursor:pointer}.req-check input{accent-color:var(--accent)}.req-hint{font-size:.72rem;color:var(--muted);margin-top:.3rem}.req-spec{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;font-size:.82rem;color:var(--text)}.req-spec-row{line-height:1.45}.req-spec-key{color:var(--muted);font-weight:600;margin-right:.3rem}.req-cap-chips{display:inline-flex;flex-wrap:wrap;gap:.3rem}.req-cap-chip{display:inline-block;padding:.05rem .45rem;border-radius:999px;background:var(--surface-alt, var(--bg));border:1px solid var(--border);font-size:.72rem}.req-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.req-modal-title{font-size:1rem;font-weight:600}.req-modal-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.2rem}.req-label{font-size:.8rem;font-weight:500;color:var(--text)}.req-required{color:var(--danger, #e55)}.req-optional{color:var(--muted);font-weight:400}.req-input,.req-textarea{width:100%;background:var(--surface-alt, var(--surface));color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .65rem;font-size:.85rem;font-family:inherit;resize:vertical;margin-top:.2rem}.req-input:focus,.req-textarea:focus{outline:none;border-color:var(--accent)}.req-char-count{font-size:.7rem;color:var(--muted);text-align:right;margin-top:.1rem}.req-modal-error{font-size:.8rem;color:var(--danger, #e55);padding:.3rem 0}.req-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.req-cancel-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .9rem;font-size:.82rem;cursor:pointer;color:var(--text)}.req-cancel-btn:hover{background:color-mix(in srgb,var(--muted) 10%,var(--surface))}.req-submit-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.45rem .9rem;font-size:.82rem;font-weight:600;cursor:pointer}.req-submit-btn:hover:not(:disabled){opacity:.88}.req-submit-btn:disabled{opacity:.5;cursor:not-allowed}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.settings-card{width:min(560px,94vw);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, var(--radius));box-shadow:var(--edge-highlight),var(--shadow-pop);display:flex;flex-direction:column;max-height:84vh;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .875rem;border-bottom:1px solid var(--border);flex-shrink:0}.settings-title{font-size:.95rem;font-weight:600}.settings-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.2rem;line-height:1}.settings-close:hover{color:var(--text)}.settings-body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.settings-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.settings-row:last-of-type{border-bottom:none}.settings-row-info{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.settings-row-name{font-size:.85rem;font-weight:500}.settings-row-desc{font-size:.72rem;color:var(--muted);line-height:1.4}.settings-control{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.settings-range{width:110px;accent-color:var(--accent);cursor:pointer}.settings-value{font-size:.78rem;font-weight:600;color:var(--accent);min-width:3.5rem;text-align:right}.settings-backend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin-bottom:.75rem}.settings-backend-option{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.settings-backend-option input[type=radio]{display:none}.settings-backend-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.settings-backend-soon,.settings-backend-na{opacity:.5;cursor:not-allowed}.settings-backend-icon{font-size:1.4rem;line-height:1}.settings-backend-name{font-size:.78rem;font-weight:500}.settings-backend-status{font-size:.65rem;color:var(--muted)}.settings-backend-active .settings-backend-status{color:var(--accent);font-weight:600}.settings-backend-note{font-size:.75rem;color:var(--muted);line-height:1.5;padding:.5rem 0}.settings-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--border);flex-shrink:0}.settings-reset-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:.78rem;padding:.35rem .75rem;font-family:inherit;transition:color .15s,border-color .15s}.settings-reset-btn:hover{color:var(--text);border-color:var(--text)}.settings-reset-btn:disabled{opacity:.4;cursor:not-allowed}.settings-reset-btn:disabled:hover{color:var(--muted);border-color:var(--border)}.settings-row-disabled{opacity:.55}.settings-saved{font-size:.78rem;color:var(--accent);font-weight:500}.settings-theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem}.settings-theme-option{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .4rem;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.settings-theme-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.settings-theme-option input[type=radio]{display:none}.settings-theme-swatch{width:36px;height:22px;border-radius:var(--radius-sm);border:1px solid rgba(255 255 255 / .08);display:block}.settings-theme-swatch--dark{background:#26262d;box-shadow:inset 8px 0 #6366f1}.settings-theme-swatch--light{background:#f0f0f4;box-shadow:inset 8px 0 #4f46e5}.settings-theme-swatch--midnight{background:#0f0f14;box-shadow:inset 8px 0 #a78bfa}.settings-theme-swatch--warm{background:#1e1a14;box-shadow:inset 8px 0 #f59e0b}.settings-theme-name{font-size:.7rem;font-weight:500;color:var(--muted)}.settings-theme-option:has(input:checked) .settings-theme-name{color:var(--accent)}.settings-accent-toggle{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.78rem;color:var(--muted)}.settings-accent-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.settings-accent-hue-row{display:flex;align-items:center;gap:.75rem;padding:.4rem 0 .6rem}.settings-range--wide{flex:1;accent-color:var(--accent);cursor:pointer}.settings-accent-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.settings-seg-group{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.settings-seg-btn{background:transparent;border:none;border-left:1px solid var(--border);color:var(--muted);cursor:pointer;font-size:.72rem;font-weight:500;font-family:inherit;padding:.3rem .6rem;line-height:1;transition:background .12s,color .12s}.settings-seg-btn:first-child{border-left:none}.settings-seg-btn:hover:not(.settings-seg-btn--active){background:var(--surface2);color:var(--text)}.settings-seg-btn--active{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent)}.contact-row{color:var(--text);transition:background var(--transition)}.contact-row:hover{background:var(--item-hover)}.contact-row--active{background:var(--accent);color:#fff}.contact-row--active div{opacity:1!important}.btn-trust-start,.btn-trust-confirm,.btn-trust-cancel{margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:500}.btn-trust-confirm{color:var(--error);border-color:var(--error)}.msg-bubble{max-width:72%;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}.msg-bubble--mine{background:var(--accent);color:#fff;border-color:transparent}.family-tree-app .ft-form{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.family-tree-app .ft-form input[type=text]{flex:2;min-width:130px}.family-tree-app .ft-form textarea{flex:3;min-width:180px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .8rem;font-size:.9rem;font-family:inherit;resize:vertical;outline:none}.family-tree-app .ft-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.family-tree-app .ft-form select{flex:1;min-width:130px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238892a4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.875rem;outline:none;padding:.4rem 1.6rem .4rem .65rem}.family-tree-app .ft-form select:focus{border-color:var(--accent)}.family-tree-app .ft-form-actions{display:flex;gap:.4rem;flex-basis:100%}.ft-tree,.ft-tree .ft-tree{list-style:none;margin:0;padding:0}.ft-tree .ft-tree{margin-top:.5rem;padding-left:1.5rem;border-left:1px dashed var(--border)}.ft-node{margin-bottom:.6rem}.ft-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .85rem;display:flex;flex-direction:column;gap:.4rem}.ft-card-main{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.ft-years{color:var(--muted);font-size:.78rem}.ft-spouse{color:var(--muted);font-size:.8rem}.ft-notes{color:var(--muted);font-size:.82rem;white-space:pre-wrap}.ft-access{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ft-badge{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.ft-badge--invited{color:var(--accent);border-color:var(--accent)}.ft-badge--unlinked{color:var(--muted)}.ft-linked-id{font-family:monospace;font-size:.78rem;color:var(--text);background:var(--surface2);border-radius:var(--radius);padding:.15rem .5rem}.ft-link-form{display:flex;gap:.3rem;flex-basis:100%}.ft-link-form input[type=text]{flex:1;min-width:120px}.ft-actions{display:flex;gap:.4rem}.ft-delete-confirm-btn{color:var(--error);border-color:var(--error)}.starter-app{max-width:640px;margin:0 auto;padding:1rem;color:var(--text)}.starter-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.starter-header h1{flex:1;margin:0;font-size:1.4rem}.starter-header button{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.25rem .5rem}.starter-status{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.starter-status.error{border-color:var(--error);color:var(--error)}.starter-status.hidden{display:none}.starter-add{display:flex;gap:.5rem;margin-bottom:1rem}.starter-add input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}.starter-add button{padding:.5rem 1rem;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer}.starter-add button:hover{background:var(--accent-hover)}.starter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.starter-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.starter-item .item-text{flex:1}.starter-item.done .item-text{text-decoration:line-through;color:var(--muted)}.starter-item .item-del{background:none;border:none;color:var(--muted);cursor:pointer}.starter-item .item-del:hover{color:var(--error)}.ai-chat{margin:.75rem 0}.ai-chat.hidden,.ai-chat-panel.hidden,.ai-chat-progress.hidden{display:none}.ai-chat-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;font-size:.9rem}.ai-chat-toggle:hover{border-color:var(--accent);color:var(--accent-hover)}.ai-chat-panel{margin-top:.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-height:24rem;overflow:hidden}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-weight:600}.ai-chat-header .ai-chat-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem}.ai-chat-log{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;min-height:4rem}.ai-chat-msg{max-width:85%;padding:.4rem .65rem;border-radius:.75rem;white-space:pre-wrap;word-break:break-word;line-height:1.35}.ai-chat-msg--user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:.2rem}.ai-chat-msg--model{align-self:flex-start;background:var(--overlay-1, rgba(127, 127, 127, .12));color:var(--text);border-bottom-left-radius:.2rem}.ai-chat-msg--streaming:after{content:"▋";animation:ai-chat-blink 1s steps(2) infinite;margin-left:1px}@keyframes ai-chat-blink{50%{opacity:0}}.ai-chat-msg--error{background:transparent;color:var(--error)}.ai-chat-progress{padding:.4rem .75rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--border)}.ai-chat-form{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border)}.ai-chat-form .ai-chat-input{flex:1;padding:.4rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg, var(--surface));color:var(--text)}.ai-chat-form .ai-chat-send{padding:.4rem .9rem;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer}.ai-chat-form .ai-chat-send:disabled{opacity:.5;cursor:default}.ai-chat-form .ai-chat-mic{flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted);cursor:pointer;padding:.4rem .6rem;line-height:1}.ai-chat-form .ai-chat-mic:hover{color:var(--text);border-color:var(--text)}.ai-chat-form .ai-chat-mic.recording{color:var(--accent, #e74c3c);border-color:var(--accent, #e74c3c);animation:cmd-voice-pulse 1.2s ease-in-out infinite}.ai-chat-form .ai-chat-mic.transcribing{color:var(--accent);opacity:.7;animation:cmd-voice-pulse .8s ease-in-out infinite}.ai-chat-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-self:flex-start}.ai-chat-chip{font-size:.78rem;padding:.1rem .45rem;border-radius:.7rem;background:var(--overlay-1, rgba(127, 127, 127, .12));color:var(--muted);border:1px solid var(--border)}.ai-chat-chip--err{color:var(--error);border-color:var(--error)}.projects-app{max-width:720px;margin:0 auto;padding:1rem;color:var(--text)}.projects-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.projects-header h1{flex:1;margin:0;font-size:1.4rem}.projects-status{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.projects-status.error{border-color:var(--error);color:var(--error)}.projects-status.hidden{display:none}.projects-add{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.projects-add #new-project{flex:1 1 12rem}.projects-list{display:flex;flex-direction:column;gap:.75rem}.project-card{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.75rem .9rem;display:flex;flex-direction:column;gap:.5rem}.project-card.status-active{border-left-color:var(--accent)}.project-card.status-on-hold{border-left-color:var(--warning, #e0a93c)}.project-card.status-done{border-left-color:var(--success, #34d399)}.project-card.status-done .project-name{color:var(--muted)}.project-card__top{display:flex;align-items:center;gap:.5rem}.project-name{flex:1;font-weight:600;font-size:1.05rem;cursor:text;word-break:break-word}.project-rename{width:100%}.project-desc{margin:0;color:var(--muted);font-size:.9rem}.project-progress{display:flex;align-items:center;gap:.5rem}.project-progress__track{flex:1;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.project-progress__fill{height:100%;background:var(--accent);transition:width .2s ease}.project-progress__label{font-size:.8rem;color:var(--muted);white-space:nowrap}.project-progress__label--empty{font-style:italic}.project-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.project-card__actions .project-status,.project-card__actions .project-due{width:auto}.project-due-label{font-size:.8rem;color:var(--muted)}.project-card__actions [data-act=del]{margin-left:auto}.task-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.task-item{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.task-item .task-text{flex:1;word-break:break-word}.task-item.done .task-text{text-decoration:line-through;color:var(--muted)}.task-empty{color:var(--muted);font-style:italic;margin:0 0 .75rem}.task-add{display:flex;gap:.5rem}.task-add #new-task{flex:1}.finance-app{max-width:760px;margin:0 auto;padding:1.25rem 1rem 3.5rem;font-family:var(--font)}.fin-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.fin-header h1{font-size:1.4rem;font-weight:700;color:var(--accent);flex:1;margin:0}.fin-header button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.25rem .6rem}.fin-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.9rem;overflow-x:auto}.fin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.45rem .7rem;white-space:nowrap}.fin-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.fin-month-nav{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem}.fin-month-nav button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.2rem .55rem;font-size:.85rem}.fin-month-label{font-size:.92rem;font-weight:600;min-width:9rem;text-align:center}.fin-month-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.9rem}.fin-summary-cell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem}.fin-summary-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fin-summary-value{font-size:1.05rem;font-weight:700;font-variant-numeric:tabular-nums}.fin-pos{color:var(--success)}.fin-neg{color:var(--error)}.fin-charts{display:grid;grid-template-columns:2fr 1fr;gap:.6rem;margin-bottom:.9rem}.fin-charts:empty{display:none}.fin-chart-card,.fin-accounts-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem;min-width:0}.fin-accounts-chart{margin-bottom:.9rem}.fin-accounts-chart:empty{display:none;margin:0;padding:0;border:none}.fin-chart-card h4,.fin-accounts-chart h4{margin:0 0 .4rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fin-filter-bar{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.fin-filter-bar input[type=search]{flex:2 1 10rem}.fin-filter-bar select{flex:1 1 7rem;min-width:0}.fin-filter-bar input,.fin-filter-bar select,.fin-tx-form input,.fin-tx-form select,.fin-cat-form input,.fin-acct-form input,.fin-acct-form select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.85rem;padding:.4rem .55rem}.fin-empty,.fin-empty-hint{color:var(--muted);text-align:center;padding:1.5rem 0;font-size:.9rem}.fin-tx-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.fin-tx{display:grid;grid-template-columns:3rem 1fr auto auto;grid-template-areas:"date payee amount del" "date meta amount del";align-items:center;column-gap:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .6rem}.fin-tx-date{grid-area:date;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.fin-tx-payee{grid-area:payee;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-tx-imported{color:var(--muted);font-size:.75rem}.fin-tx-meta{grid-area:meta;color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-tx-amount{grid-area:amount;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-kind--expense{color:var(--text)}.fin-kind--income{color:var(--success)}.fin-kind--transfer{color:var(--muted)}.fin-tx-del{grid-area:del;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.2rem .3rem}.fin-tx-del:hover{color:var(--error)}.fin-tx-form,.fin-cat-form,.fin-acct-form{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem}.fin-tx-form input[type=text]{flex:2 1 9rem}.fin-tx-form input[type=number]{flex:1 1 5.5rem}.fin-tx-form select,.fin-tx-form input[type=date]{flex:1 1 7rem;min-width:0}.fin-cat-form input[type=text],.fin-acct-form input[type=text]{flex:2 1 9rem}.fin-tx-form button[type=submit],.fin-cat-form button[type=submit],.fin-acct-form button[type=submit]{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .9rem}.fin-budget-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .7rem;margin-bottom:.4rem}.fin-budget-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.fin-budget-name{flex:1;font-size:.9rem;font-weight:600}.fin-budget-nums{font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.fin-budget-nums.over{color:var(--error);font-weight:600}.fin-cat-edit,.fin-cat-del,.fin-acct-archive{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.82rem;padding:.15rem .25rem}.fin-cat-del:hover{color:var(--error)}.fin-budget-row--uncat{opacity:.75}#f-cat-form,#f-acct-form{margin-top:.75rem}.fin-account{display:flex;align-items:center;gap:.6rem;padding:.65rem .8rem;margin-bottom:.4rem}.fin-account-main{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.fin-account-name{font-weight:600;font-size:.92rem}.fin-account-type{color:var(--muted);font-size:.75rem}.fin-account-balance{font-weight:700;font-variant-numeric:tabular-nums}.fin-import-note{color:var(--muted);font-size:.83rem;margin:.75rem 0 1rem;line-height:1.45}.fin-import-error{color:var(--error);font-size:.85rem;margin-bottom:.6rem}.fin-import-past-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1rem 0 .4rem}.fin-import-past{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.83rem}.fin-import-file{color:var(--text);font-weight:500}.fin-import-progress{display:flex;flex-direction:column;gap:.5rem;padding:1rem 0}.fin-import-progress-label{font-size:.88rem;color:var(--muted)}.fin-import-progress .btn{align-self:flex-start}.fin-review-head{font-size:.88rem;margin-bottom:.5rem}.fin-review-warning{background:color-mix(in srgb,var(--warning, #f59e0b) 12%,transparent);border:1px solid var(--warning, #f59e0b);border-radius:var(--radius);color:var(--text);font-size:.83rem;padding:.5rem .7rem;margin-bottom:.6rem}.fin-review-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem;font-size:.85rem}.fin-review-toolbar label{display:flex;align-items:center;gap:.4rem;color:var(--muted)}.fin-review-toolbar select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.3rem .45rem}.fin-review-table{width:100%;border-collapse:collapse;font-size:.84rem;margin-bottom:.6rem}.fin-review-table th{text-align:left;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;padding:.3rem .35rem;border-bottom:1px solid var(--border)}.fin-review-table td{padding:.3rem .35rem;border-bottom:1px solid var(--border);vertical-align:middle}.fin-review-table input[type=text],.fin-review-table input[type=date],.fin-review-table input[type=number],.fin-review-table select{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) * .75);color:var(--text);font-size:.82rem;padding:.25rem .35rem;width:100%;min-width:0}.fin-review-table input[type=number]{max-width:6rem}.fin-review-row--dup{opacity:.55}.fin-review-dup-badge{display:inline-block;background:color-mix(in srgb,var(--warning, #f59e0b) 18%,transparent);border-radius:999px;color:var(--warning, #f59e0b);font-size:.68rem;font-weight:600;padding:.05rem .45rem;margin-top:.15rem}.fin-review-learn{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.83rem;margin-bottom:.75rem}.fin-review-actions{display:flex;justify-content:flex-end;gap:.5rem}.fin-insight-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:.6rem}.fin-insight-icon{font-size:1.1rem;line-height:1.3}.fin-insight-body{flex:1;min-width:0}.fin-insight-title{font-size:.9rem;font-weight:600;margin:0 0 .15rem}.fin-insight-detail{color:var(--muted);font-size:.82rem;line-height:1.4}.fin-insight-action{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;font-size:.78rem;font-weight:600;padding:.3rem .6rem;white-space:nowrap}.fin-insight-action:hover{background:var(--accent);color:#fff}.finance-app.history-mode .fin-tx-form,.finance-app.history-mode .fin-cat-form,.finance-app.history-mode .fin-acct-form,.finance-app.history-mode #f-import{opacity:.5;pointer-events:none}@media(max-width:560px){.fin-charts{grid-template-columns:1fr}.fin-tx{grid-template-columns:2.6rem 1fr auto;grid-template-areas:"date payee amount" "date meta del"}.fin-month-summary{grid-template-columns:1fr}}.household-app{max-width:760px;margin:0 auto;padding:1.25rem 1rem 3.5rem;font-family:var(--font)}.hh-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem}.hh-header h1{font-size:1.4rem;font-weight:700;color:var(--accent);flex:1;margin:0}.hh-header button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;padding:.25rem .6rem}.hh-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.9rem;overflow-x:auto}.hh-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.45rem .7rem;white-space:nowrap}.hh-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.hh-panel.hidden{display:none}.hh-filter-bar{display:flex;gap:.4rem;margin-bottom:.75rem;flex-wrap:wrap}.hh-filter-bar input,.hh-filter-bar select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.85rem;padding:.35rem .5rem}.hh-filter-bar input[type=search]{flex:1;min-width:10rem}.hh-form{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem;align-items:center}.hh-form input,.hh-form select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.85rem;padding:.4rem .55rem}.hh-form input[type=text]{flex:1;min-width:11rem}.hh-form input[type=number]{width:4.5rem}.hh-form button[type=submit]{background:var(--accent);border:none;border-radius:var(--radius);color:var(--accent-contrast, #fff);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .85rem}.hh-form--inline{margin-top:.5rem}.hh-room{margin-bottom:.75rem;padding:.7rem .85rem}.hh-room-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.hh-room-name{font-weight:600;flex:1}.hh-room-count{color:var(--muted);font-size:.78rem}.hh-item-list,.hh-target-list,.hh-task-list{list-style:none;margin:0;padding:0}.hh-item,.hh-target,.hh-task{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-top:1px solid var(--border);font-size:.9rem}.hh-item:first-child,.hh-target:first-child,.hh-task:first-child{border-top:none}.hh-item-name,.hh-target-name,.hh-task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hh-item-qty{color:var(--muted);font-size:.8rem}.hh-item-cat,.hh-target-meta,.hh-task-room{color:var(--muted);font-size:.78rem;white-space:nowrap}.hh-item-del,.hh-target-del,.hh-task-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.15rem .3rem}.hh-item-del:hover,.hh-target-del:hover,.hh-task-del:hover{color:var(--error)}.hh-thumb{width:34px;height:34px;border-radius:var(--radius);object-fit:cover;background:var(--surface2, var(--surface));border:1px solid var(--border);flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.hh-thumb--none{color:var(--muted)}.hh-thumb--missing{opacity:.35;filter:grayscale(1)}.hh-pill{border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.12rem .5rem;text-transform:uppercase;flex:none}.hh-pill--fresh{background:color-mix(in oklab,var(--success) 18%,transparent);color:var(--success)}.hh-pill--due{background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}.hh-pill--overdue{background:color-mix(in oklab,var(--error) 18%,transparent);color:var(--error)}.hh-badge{border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:.72rem;padding:.08rem .45rem;white-space:nowrap}.hh-badge--warn{border-color:var(--error);color:var(--error)}.hh-prio{border-radius:var(--radius);font-size:.7rem;font-weight:700;padding:.12rem .4rem;flex:none}.hh-prio--1{background:color-mix(in oklab,var(--error) 20%,transparent);color:var(--error)}.hh-prio--2{background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}.hh-prio--3{background:var(--surface);color:var(--muted)}.hh-empty-hint{color:var(--muted);font-size:.88rem;padding:1.1rem .5rem;text-align:center}@media(max-width:560px){.hh-form input[type=text]{min-width:100%}}.hh-horizon-bar{display:flex;gap:.3rem;margin-bottom:.75rem}.hh-horizon{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:.82rem;padding:.3rem .8rem}.hh-horizon.active{background:color-mix(in oklab,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--accent);font-weight:600}.hh-suggestion{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem;padding:.6rem .8rem;border-left:3px solid var(--accent);font-size:.86rem}.hh-suggestion-text{flex:1;min-width:12rem}.hh-plan{display:flex;flex-direction:column;gap:.6rem}.hh-plan-day{padding:.65rem .85rem}.hh-plan-day-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem}.hh-plan-date{font-weight:600;flex:1}.hh-plan-total{color:var(--muted);font-size:.78rem}.hh-plan-room{color:var(--accent);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin-top:.4rem;text-transform:uppercase}.hh-plan-tasks{list-style:none;margin:.15rem 0 0;padding:0}.hh-plan-task{display:flex;align-items:center;gap:.5rem;padding:.28rem 0;font-size:.9rem}.hh-plan-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hh-plan-effort{color:var(--muted);font-size:.76rem}.hh-capture-blurb{color:var(--muted);font-size:.88rem;max-width:34rem}.hh-capture-error{color:var(--error);font-size:.85rem;margin-bottom:.5rem}.hh-capture-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.hh-capture-progress{color:var(--muted);display:flex;flex-direction:column;gap:.6rem;font-size:.9rem;padding:1rem 0}.hh-progress-track{height:6px;border-radius:3px;background:var(--border);overflow:hidden;max-width:22rem}.hh-progress-bar{height:100%;background:var(--accent);transition:width .2s}.hh-capture-review-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.88rem;margin-bottom:.6rem}.hh-capture-thumb{width:48px;height:48px}.hh-review-table{border-collapse:collapse;width:100%;font-size:.85rem}.hh-review-table th{color:var(--muted);font-size:.74rem;font-weight:600;padding:.25rem .3rem;text-align:left;text-transform:uppercase}.hh-review-table td{border-top:1px solid var(--border);padding:.25rem .3rem}.hh-review-table input[type=text]{width:100%;min-width:8rem}.hh-review-table input,.hh-review-table select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.83rem;padding:.25rem .35rem}.hh-review-table input[type=number]{width:3.6rem}.hh-review-row--dup{opacity:.55}.hh-review-dup-tag{color:var(--error);font-size:.72rem}.hh-review-price{color:var(--muted);white-space:nowrap}.dashboard-app{max-width:720px;margin:0 auto;padding:16px}.dash-title{display:flex;align-items:center;gap:var(--space-sm);color:var(--text);margin:0 0 4px;font-size:var(--text-xl);line-height:var(--leading-tight)}.dash-sub{color:var(--muted);font-size:var(--text-sm);margin:0 0 16px;line-height:var(--leading-normal)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.dash-card--wide{grid-column:1 / -1}.dash-card--waiting{border-style:dashed;box-shadow:none;opacity:.9}.dash-card-head{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:10px}.dash-card-label{flex:1;color:var(--text);font-weight:600;font-size:.95rem}.dash-stat{font-size:var(--text-2xl);font-weight:700;color:var(--text);line-height:var(--leading-tight)}.dash-stat--over{color:var(--error)}.dash-stat-suffix{font-size:var(--text-sm);font-weight:400;color:var(--muted);margin-left:6px}.dash-progress{margin-top:10px}.dash-progress-fill--over{background:var(--error)}.dash-list{margin:10px 0 0;padding:0 0 0 18px;color:var(--muted);font-size:var(--text-sm);line-height:1.8}.dash-list-overdue{color:var(--error)}.dash-muted{color:var(--muted);font-size:var(--text-sm);margin-top:8px}.dash-add{display:flex;gap:6px;margin-top:10px}.dash-add-status{font-size:var(--text-xs);color:var(--muted);min-height:1.2em;margin-top:4px}.dash-hint{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.day-app{padding:1.25rem 1.5rem}.day-todo-row{display:flex;align-items:center;gap:8px}.day-check{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer}.day-check:hover{color:var(--success, var(--accent));border-color:currentColor}.day-check:disabled{opacity:.5;cursor:default}.day-agenda .day-time{display:inline-block;min-width:3.2em;color:var(--muted);font-variant-numeric:tabular-nums}.day-event-add{flex-wrap:wrap}.day-time-input{width:auto;flex:none}.pane-assistant{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:1.5rem 2rem 1rem;gap:.75rem}.asst-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-lg);margin:0 0 .25rem}.asst-sub{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 .5rem;max-width:46rem}.asst-access-btn{font-size:var(--text-sm);display:inline-flex;align-items:center;gap:var(--space-xs)}.asst-consent{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;max-height:40%;overflow-y:auto}.asst-consent-row{display:flex;align-items:center;gap:var(--space-md)}.asst-consent-row .app-tile-icon{width:24px;height:24px}.asst-consent-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.consent-intro{margin:0 0 var(--space-md);font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.consent-rows{display:flex;flex-direction:column;gap:.4rem}.consent-row{display:flex;align-items:center;gap:var(--space-md);padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.consent-row .app-tile-icon{width:24px;height:24px}.consent-row-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.consent-row-cap{font-size:var(--text-xs);color:var(--text-muted)}.consent-row-app{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asst-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.25rem 0}.asst-msg{max-width:44rem;padding:.5rem .85rem;border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:break-word}.asst-msg--user{align-self:flex-end;background:var(--accent-soft)}.asst-msg--model{align-self:flex-start;background:var(--surface);border:1px solid var(--border-subtle);min-height:1.9em}.asst-chip{align-self:flex-start;font-size:var(--text-xs);color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-full);padding:.15rem .6rem}.asst-note{align-self:center;color:var(--muted);font-size:var(--text-sm);text-align:center}.asst-action-card{align-self:flex-start;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);padding:.75rem 1rem;max-width:44rem;display:flex;flex-direction:column;gap:.5rem}.asst-action-card--rejected{opacity:.6}.asst-action-card--done{border-color:var(--success)}.asst-action-head{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm)}.asst-action-head .app-tile-icon{width:24px;height:24px}.asst-action-op{color:var(--muted);margin-left:var(--space-sm)}.asst-action-summary{margin:0;font-size:var(--text-sm)}.asst-action-fields{margin:0;display:flex;flex-direction:column;gap:.15rem;font-size:var(--text-xs)}.asst-action-fields>div{display:flex;gap:var(--space-sm)}.asst-action-fields dt{color:var(--muted);min-width:6rem}.asst-action-fields dd{margin:0;font-family:var(--mono, monospace);overflow-wrap:anywhere}.asst-action-btns{display:flex;gap:var(--space-sm);justify-content:flex-end}.asst-action-status{font-size:var(--text-xs);color:var(--muted)}.asst-load{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-sm);color:var(--muted)}.asst-load-bar{flex:1;height:6px;border-radius:var(--radius-full);background:var(--surface2);overflow:hidden}.asst-load-fill{height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .3s ease}.asst-composer{display:flex;gap:var(--space-sm)}.asst-input{flex:1}@media(max-width:720px){.pane-assistant{padding:1rem 1rem .75rem}}.asst-header-btns{display:flex;gap:var(--space-sm)}.pane-explorer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.expl-root{display:flex;width:100%;height:100%;min-height:0}.expl-side{width:220px;flex:none;border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.expl-side-head{display:flex;align-items:center;gap:var(--space-sm);padding:1rem;font-weight:600;border-bottom:1px solid var(--border)}.expl-app-list{overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:2px}.expl-app{display:flex;align-items:center;gap:var(--space-sm);padding:.4rem .5rem;border:0;border-radius:var(--radius);background:none;color:var(--fg);cursor:pointer;text-align:left;font-size:var(--text-sm)}.expl-app:hover{background:var(--surface)}.expl-app--active{background:var(--surface);font-weight:600}.expl-app-icon{width:22px;height:22px;flex:none}.expl-app-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expl-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.expl-head{display:flex;align-items:center;gap:var(--space-lg);padding:.75rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.expl-head-app{display:flex;align-items:center;gap:var(--space-sm);font-weight:600}.expl-tabs{display:flex;gap:2px}.expl-tab{border:0;background:none;color:var(--muted);padding:.35rem .7rem;border-radius:var(--radius);cursor:pointer;font-size:var(--text-sm)}.expl-tab:hover{background:var(--surface)}.expl-tab--active{background:var(--surface);color:var(--fg);font-weight:600}.expl-body{flex:1;overflow:auto;padding:1rem 1.25rem;min-height:0}.expl-placeholder{color:var(--muted);font-size:var(--text-sm);max-width:40rem}.expl-error{color:var(--danger, #e5484d);font-size:var(--text-sm);margin:.5rem 1.25rem 0}.expl-colls{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:.75rem}.expl-coll-btn{border:1px solid var(--border);background:none;color:var(--fg);border-radius:var(--radius);padding:.25rem .6rem;font-size:var(--text-sm);cursor:pointer}.expl-coll-btn--active{background:var(--surface);font-weight:600}.expl-count{color:var(--muted);font-size:var(--text-xs)}.expl-controls{display:flex;gap:var(--space-sm);align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.expl-controls input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);padding:.3rem .5rem;font-size:var(--text-sm)}.expl-q-contains{flex:1;min-width:10rem}.expl-q-limit{width:5rem}.expl-add-btn{display:inline-flex;align-items:center;gap:var(--space-xs);border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:var(--radius);padding:.3rem .6rem;font-size:var(--text-sm);cursor:pointer}.expl-table-wrap{overflow-x:auto}.expl-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.expl-table th,.expl-table td{border-bottom:1px solid var(--border);padding:.35rem .5rem;text-align:left;vertical-align:top}.expl-th{cursor:pointer;color:var(--muted);font-weight:600;white-space:nowrap;-webkit-user-select:none;user-select:none}.expl-cell{max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expl-cell-actions{white-space:nowrap;text-align:right}.expl-cell-actions button{border:0;background:none;color:var(--muted);cursor:pointer;padding:.15rem .25rem;border-radius:var(--radius)}.expl-cell-actions button:hover{background:var(--surface);color:var(--fg)}.expl-table input{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);padding:.25rem .4rem;font-size:var(--text-sm)}.expl-tally{color:var(--muted);font-size:var(--text-xs);margin-top:.5rem}.expl-schema-summary{font-size:var(--text-sm);margin:0 0 .5rem}.expl-schema-note{color:var(--muted);font-size:var(--text-xs);margin:0 0 .75rem;max-width:40rem}.expl-schema-coll{margin:1rem 0 .35rem;font-size:var(--text-sm)}.expl-schema-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.expl-schema-table th,.expl-schema-table td{border-bottom:1px solid var(--border);padding:.3rem .5rem;text-align:left}.expl-schema-table th{color:var(--muted);font-weight:600}.expl-schema-name code{font-size:var(--text-sm)}.expl-doc-json{margin:0}.expl-appinfo{max-width:52rem}.expl-appinfo-details td{word-break:break-all}.expl-op-group{display:flex;align-items:baseline;gap:.6rem;margin:.3rem 0}.expl-op-group-label{flex:0 0 7rem;color:var(--muted);font-size:var(--text-xs);font-weight:600}.expl-op-list{display:flex;flex-wrap:wrap;gap:.25rem}.expl-op{font-size:var(--text-xs);padding:.1rem .35rem;border:1px solid var(--border);border-radius:var(--radius)}.expl-op--disabled{opacity:.35;text-decoration:line-through}.expl-grant-row{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.expl-grant-scope{color:var(--muted);font-size:var(--text-xs);border-bottom:1px dotted var(--muted);cursor:help}.expl-grant-revoke{margin-left:auto;font-size:var(--text-xs)}.expl-actions code,.expl-grant-row code{font-size:var(--text-xs)}@media(max-width:720px){.expl-root{flex-direction:column}.expl-side{width:100%;max-height:30%;border-right:0;border-bottom:1px solid var(--border)}}.six-seven-app{max-width:640px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:12px}.six-seven-header{display:flex;align-items:center;justify-content:space-between}.six-seven-header h1{margin:0;font-size:1.25rem;font-weight:700;color:var(--text)}.six-seven-status{color:var(--muted);font-size:var(--text-sm)}.six-seven-opponents{display:flex;justify-content:space-between;gap:8px}.ss-opponent{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:1px solid var(--border);border-radius:8px;color:var(--muted)}.ss-opponent--active{border-color:var(--accent);color:var(--text)}.ss-opponent__count{font-weight:700;color:var(--text)}.six-seven-discard{display:flex;justify-content:center}.ss-discard__top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--text-sm)}.six-seven-log{font-size:var(--text-xs);color:var(--muted);max-height:100px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:6px 10px}.six-seven-hand,#ss-giveaway-hand{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ss-card{width:48px;height:68px;border-radius:8px;border:2px solid transparent;font-weight:700;font-size:1.1rem;color:#16161a;cursor:pointer}.ss-card:disabled{opacity:.55;cursor:default}.ss-card--wild{background:conic-gradient(#14b8a6,#14b8a6 90deg,#7dd3fc 90deg,#7dd3fc 180deg,#a855f7 180deg,#a855f7 270deg,#a3e635 270deg,#a3e635 360deg)}.ss-card--selected{border-color:var(--accent);transform:translateY(-6px)}.six-seven-actions{display:flex;gap:8px;justify-content:center}.six-seven-giveaway{border-top:1px solid var(--border);padding-top:10px;text-align:center}
