:root{--bg:#f2f2f7;--bg-surface:#fff;--bg-elevated:#fff;--bg-secondary:#f9f9fb;--bg-hover:#0000000a;--bg-pressed:#00000014;--bg-inset:#ececf1;--bg-canvas:#d6d6da;--bg-canvas-elevated:#c8c8cc;--glass-light:#ffffffb8;--glass-strong:#ffffffeb;--glass-blur:20px;--border:#3c3c431f;--border-strong:#3c3c433d;--border-focus:#007aff80;--grid:#0000000a;--ink:#000;--ink-strong:#000;--ink-secondary:#3c3c43c7;--muted:#636366;--muted-faint:#3c3c435c;--ink-on-bg:#000;--ink-on-bg-muted:#636366;--ink-on-dark:#fff;--ink-on-dark-muted:#ffffffb3;--accent:#007aff;--accent-hover:#0a84ff;--accent-soft:#007aff1f;--accent-border:#007aff4d;--accent-text:#0044b0;--warn:#ff9500;--warn-soft:#ff950024;--warn-border:#ff95004d;--warn-text:#8c4f00;--success:#34c759;--success-soft:#34c75924;--success-border:#34c7594d;--success-text:#1a7034;--danger:#ff3b30;--danger-soft:#ff3b301f;--danger-border:#ff3b304d;--danger-text:#b90009;--axis-x:var(--danger-text);--axis-x-soft:var(--danger-soft);--axis-x-border:var(--danger-border);--axis-y:var(--success-text);--axis-y-soft:var(--success-soft);--axis-y-border:var(--success-border);--axis-z:var(--accent-text);--axis-z-soft:var(--accent-soft);--axis-z-border:var(--accent-border);--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 1px 3px #0000000f, 0 4px 12px #0000000f;--shadow-lg:0 8px 24px #0000001a;--shadow-glass:0 4px 16px #0000002e;--bg-bar:var(--glass-strong);--scan-overlay:#0000008c;--task-complete-bg:#34c7591f;--task-complete-border:#34c75973;--bulb-active:#fc0;--bulb-active-soft:#ffcc002e;--bulb-text:#b07f00;--bulb-active-ring:0 0 0 1px #ffcc0073;--radius-micro:2px;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-pill:999px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:20px;--z-base:1;--z-raised:9;--z-overlay:10;--z-sticky:19;--z-topbar:20;--z-drawer:50;--z-dropdown:100;--z-modal:1000;--z-toolbar:10005;--z-sheet:10010;--z-max:9999;--font:var(--font-inter), -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-mono:var(--font-jetbrains-mono), "SF Mono", "Fira Code", monospace;--transition:.18s ease;--bp-tablet:640px;--bp-desktop:1024px;--bp-wide:1380px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--text-xs:.95rem;--text-sm:1.05rem;--text-base:1.125rem;--text-lg:1.3rem;--text-xl:1.55rem;--touch-target:44px}*{box-sizing:border-box}html{background:var(--bg);min-height:100%;font-size:100%}@media (min-width:1024px){html{font-size:93.75%}}html,body{min-height:100dvh;margin:0;padding:0}body{min-height:100dvh;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;font-size:1rem;line-height:1.55}html.immersive-view-open,body.immersive-view-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,input,select,textarea,a,[role=button]{-webkit-tap-highlight-color:transparent}button,input,select,textarea,.button,.icon-btn,.dropdown-item,.site-menu-trigger,.nav-dropdown a{touch-action:manipulation}.shell{z-index:var(--z-base);flex-direction:column;gap:16px;width:100%;min-height:100dvh;margin:0 auto;padding:12px 16px;display:flex;position:relative}.shell.has-project-nav{padding-top:0;padding-bottom:env(safe-area-inset-bottom,24px)}.site-bar{z-index:var(--z-topbar);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid var(--border);background:var(--bg-bar);-webkit-backdrop-filter:saturate(180%) blur(var(--blur-xl));position:sticky;top:0}@media (display-mode:window-controls-overlay){.site-bar{padding-top:env(titlebar-area-y,0px);padding-left:env(titlebar-area-x,0px);-webkit-app-region:drag;app-region:drag}.site-bar a,.site-bar button,.site-bar input,.site-bar [role=button],.site-bar .site-brand,.site-bar .site-menu-trigger{-webkit-app-region:no-drag;app-region:no-drag}}.theme-toggle,.site-menu-trigger-icon{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.theme-toggle:hover,.site-menu-trigger-icon:hover,.site-menu-trigger-icon.is-open,.site-menu-trigger-icon.is-active{color:var(--ink);background:var(--bg-hover);border-color:var(--border-focus)}.site-bar-inner{min-height:56px;padding-top:8px;padding-bottom:8px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-mark{background-color:currentColor;flex:none;width:39px;height:39px;display:block;-webkit-mask-image:url(/brand/logo-rhinoqr.svg);mask-image:url(/brand/logo-rhinoqr.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.brand-wordmark{letter-spacing:-.02em;font-size:21px;font-weight:700;line-height:1}.site-brand{color:var(--ink-strong);transition:opacity var(--transition);flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.site-brand:hover{opacity:.8}.site-bar-center{justify-content:center;align-items:center;min-width:0;display:flex}.topbar-page-title{text-align:center;min-width:0;max-width:100%;font-size:var(--text-sm);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-weight:600;overflow:hidden}.topbar-page-title.is-empty{visibility:hidden}.version-banner{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);min-width:0;max-width:100%;color:var(--ink-secondary);box-shadow:var(--shadow-sm);transition:border-color var(--transition), color var(--transition);align-items:center;gap:9px;padding:5px 12px 5px 10px;text-decoration:none;display:inline-flex;overflow:hidden}.version-banner:hover{border-color:var(--accent-border);color:var(--ink)}.version-banner-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex:none}.version-banner-viewport{min-width:0;display:block;overflow:hidden}.version-banner-track{white-space:nowrap;align-items:center;gap:48px;display:flex}.version-banner-track.is-scrolling{animation:version-banner-scroll var(--banner-duration,18s) linear infinite}.version-banner-copy{flex:none;align-items:center;gap:9px;display:inline-flex}.version-banner-tag{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;color:var(--ink);white-space:nowrap;font-size:11px;font-weight:600}.version-banner-sep{background:var(--border-strong);flex:none;width:1px;height:12px}.version-banner-text{white-space:nowrap;font-size:12.5px}.version-banner.is-wrapped{border-radius:var(--radius);align-items:flex-start;padding-top:7px;padding-bottom:7px}.version-banner.is-wrapped .version-banner-viewport{width:100%;overflow:visible}.version-banner.is-wrapped .version-banner-track,.version-banner.is-wrapped .version-banner-copy{white-space:normal;display:block}.version-banner.is-wrapped .version-banner-tag{margin-right:8px}.version-banner.is-wrapped .version-banner-text{white-space:normal}.version-banner.is-wrapped .version-banner-sep{display:none}@keyframes version-banner-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 24px))}}.site-menu-trigger{width:var(--touch-target,44px);height:var(--touch-target,44px);color:var(--ink);cursor:pointer;transition:opacity var(--transition);background:0 0;border:none;justify-content:flex-end;align-items:center;padding:0 10px;display:inline-flex}.site-menu-trigger:hover{opacity:.55}.site-menu-bars{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.site-menu-bars>span{background:currentColor;width:24px;height:2px;display:block}.site-drawer-scrim{z-index:60;opacity:0;visibility:hidden;transition:opacity var(--transition), visibility var(--transition);background:#0006;position:fixed;inset:0}.site-drawer-scrim.is-open{opacity:1;visibility:visible}.site-drawer{z-index:61;width:min(360px,88vw);padding:20px clamp(18px, 4vw, 28px) calc(28px + env(safe-area-inset-bottom,0px));background:var(--bg-surface);box-shadow:var(--shadow-lg);overscroll-behavior:contain;visibility:hidden;transition:transform .22s,visibility .22s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.site-drawer.is-open{visibility:visible;transform:translate(0)}.site-drawer:focus{outline:none}.site-drawer-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.site-drawer-eyebrow{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600}.site-drawer-eyebrow--spaced{margin:26px 0 8px}.site-drawer-close{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);width:40px;height:40px;color:var(--ink-secondary);cursor:pointer;transition:background var(--transition);font-size:18px;line-height:1}.site-drawer-close:hover{background:var(--bg-hover)}.site-drawer-cta{border-radius:var(--radius-pill);background:var(--accent-text);color:#fff;width:100%;transition:background var(--transition), transform var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.site-drawer-cta:hover{background:var(--accent-hover);color:#fff}.site-drawer-cta:active{transform:scale(.98)}.site-drawer-cta--ghost{border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--ink);margin-top:10px}.site-drawer-cta--ghost:hover{background:var(--bg-hover);color:var(--ink)}.site-drawer-nav{flex-direction:column;display:flex}.site-drawer-link{border-bottom:1px solid var(--border);color:var(--ink);transition:color var(--transition);justify-content:space-between;align-items:center;padding:11px 2px;font-size:16px;font-weight:500;text-decoration:none;display:flex}.site-drawer-link:hover{color:var(--accent)}.site-drawer-link-arrow{color:var(--muted-faint)}.site-drawer-accordions{border-top:1px solid var(--border);margin-top:26px}.drawer-accordion{border-bottom:1px solid var(--border)}.drawer-accordion-summary{cursor:pointer;color:var(--ink);min-height:var(--touch-target,44px);justify-content:space-between;align-items:center;gap:12px;padding:14px 2px;font-size:15px;font-weight:600;list-style:none;display:flex}.drawer-accordion-summary::-webkit-details-marker{display:none}.drawer-accordion-title{align-items:center;gap:8px;display:inline-flex}.drawer-accordion-sign{color:var(--muted);transition:transform var(--transition);flex:none;font-size:1.35rem;font-weight:300;line-height:1}.drawer-accordion[open] .drawer-accordion-sign{color:var(--accent);transform:rotate(45deg)}.drawer-accordion-body{padding-bottom:12px}.site-drawer-langs{gap:8px;display:flex}.site-drawer-lang{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--ink-secondary);cursor:pointer;transition:border-color var(--transition);flex:1;padding:10px;font-size:14px;font-weight:600}.site-drawer-lang:hover,.site-drawer-lang.is-active{border-color:var(--accent-border);color:var(--ink)}.site-drawer-legal{flex-direction:column;gap:2px;display:flex}.site-drawer-legal a{color:var(--muted);transition:color var(--transition);padding:8px 2px;font-size:14px;text-decoration:none}.site-drawer-legal a:hover{color:var(--accent)}.site-drawer-theme{justify-content:flex-start;margin-top:26px;display:flex}.site-menu{display:inline-flex;position:relative}.site-menu-trigger{flex-shrink:0}.dropdown-menu{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:260px;max-width:min(320px,100vw - 24px);z-index:var(--z-dropdown);box-shadow:var(--shadow-lg);flex-direction:column;gap:2px;padding:8px;animation:.2s both fade-in;display:flex;position:absolute;top:calc(100% + 8px);left:0}.dropdown-menu-right{left:auto;right:0}.dropdown-header{text-transform:uppercase;color:var(--muted);letter-spacing:.08em;font-size:.65rem;font-weight:700;font-family:var(--font-mono);padding:8px 12px 4px}.dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--ink-secondary);transition:all var(--transition);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;font-weight:500;display:flex;overflow:hidden}.dropdown-item:hover,.dropdown-item-button:hover{background:var(--accent-soft);color:var(--accent)}.dropdown-item-button{cursor:pointer;text-align:left;background:0 0;border:none}.dropdown-item-split{justify-content:space-between;align-items:flex-start}.dropdown-item--has-popover{overflow:visible}.dropdown-item-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.dropdown-item-title{color:var(--ink-strong)}.dropdown-item-meta{color:var(--muted);font-size:.72rem;font-family:var(--font-mono)}.dropdown-item-value{color:var(--accent);font-size:.72rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;padding-top:2px}.dropdown-account-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;padding:10px 12px 12px;display:flex}.dropdown-header-split{justify-content:space-between;align-items:center;gap:8px;display:flex}.dropdown-link-button{cursor:pointer;color:var(--accent);font-size:.7rem;font-family:var(--font-mono);text-transform:none;letter-spacing:0;background:0 0;border:none;padding:0}.dropdown-link-button:hover{text-decoration:underline}.dropdown-notif{white-space:normal;cursor:pointer;text-align:left;background:0 0;border:none;align-items:flex-start;overflow:visible}.dropdown-notif .dropdown-item-meta{white-space:normal;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dropdown-notif.is-unread{background:var(--accent-soft)}.dropdown-notif.is-unread .dropdown-item-title{font-weight:700}.dropdown-item-time{opacity:.7;margin-top:2px}.dropdown-item-empty{color:var(--muted);justify-content:center;font-style:italic}.dropdown-item-footer{border-top:1px solid var(--border);color:var(--accent);justify-content:center;margin-top:4px;font-weight:600}.site-menu-trigger-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.site-menu-trigger-wrap .unread-badge{position:absolute;top:-4px;right:-6px}.notification-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.notification-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);transition:background var(--transition)}.notification-row.is-unread{background:var(--accent-soft);border-color:var(--accent)}.notification-row-button{text-align:left;cursor:pointer;border-radius:var(--radius);background:0 0;border:none;width:100%;padding:12px 16px;display:block}.notification-row-button:hover{background:var(--bg-hover,#00000008)}.notification-row-meta{align-items:center;gap:8px;margin-bottom:4px;font-size:.75rem;display:flex}.notification-row-title{color:var(--ink-strong);font-weight:600}.notification-row-body{color:var(--ink-secondary);margin-top:2px;font-size:.85rem}.radio-row{cursor:pointer;align-items:flex-start;gap:10px;padding:8px 0;display:flex}.radio-row input{margin-top:3px}.form-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dropdown-account-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.dropdown-account-name{color:var(--ink-strong);font-size:.9rem}.dropdown-account-login{color:var(--muted);font-size:.72rem;font-family:var(--font-mono)}.chevron{opacity:.6;font-size:.7rem}.hero{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:14px 16px;animation:.4s both fade-in;position:relative}.hero h1,.hero h2,.section-card h2{letter-spacing:-.025em;color:var(--ink-strong);margin:0;font-weight:700}.hero h1{font-size:clamp(1.05rem,2.1vw,1.68rem);line-height:1.2}.hero-copy{max-width:74ch}.hero--flat{box-shadow:none;background:0 0;border:none;padding-left:0;padding-right:0}.org-home-name{color:var(--org-accent-ink,inherit)}:root.dark .org-home-name{color:var(--org-accent-ink-dark,inherit)}.hero--flat h1,.hero--flat h2{color:var(--ink-on-bg)}.hero--flat p,.hero--flat .muted,.hero--flat .hero-copy p{color:var(--ink-on-bg-muted)}.hero--flat .inline-edit-title{color:var(--ink-on-bg)}.hero--flat .inline-edit-description{color:var(--ink-on-bg-muted)}.hero--flat .inline-edit-title::placeholder,.hero--flat .inline-edit-description::placeholder{color:var(--ink-on-bg-muted);opacity:.5}.eyebrow{color:var(--accent-text);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:600;font-family:var(--font-mono);margin:0 0 6px}.hero p:not(.eyebrow),.muted{color:var(--muted)}.hero-actions,.toolbar,.filters,.summary-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid-project,.grid-two{gap:20px;display:grid}.grid-project{grid-template-columns:1fr;align-items:start}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.card,.stat-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.card{padding:24px;animation:.4s both fade-in}@media (max-width:639px){.card{padding:16px}}.stat-card{border-left:3px solid var(--muted-faint);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:20px}.stat-card:hover{border-left-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card strong{color:var(--ink-strong);letter-spacing:-.03em;margin-top:4px;font-size:2rem;font-weight:600;line-height:1;display:block}.section-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.section-card-actions{align-items:center;gap:8px;display:flex}.sa-shell{padding-top:24px}.sa-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}.sa-aside{align-self:start;position:sticky;top:80px}@media (max-width:1023px){.sa-layout{grid-template-columns:minmax(0,1fr)}.sa-aside{display:none}}.sa-drawer-fab{display:none}@media (max-width:1023px){.sa-drawer-fab{top:calc(56px + env(safe-area-inset-top,0px) + 10px);left:max(12px, env(safe-area-inset-left,12px));border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);width:40px;height:40px;color:var(--ink-secondary);box-shadow:var(--shadow-sm);cursor:pointer;z-index:calc(var(--z-topbar) - 1);transition:background var(--transition), color var(--transition), box-shadow var(--transition);justify-content:center;align-items:center;display:inline-flex;position:fixed}.sa-drawer-fab:hover{background:var(--bg-hover);color:var(--ink)}.sa-drawer-fab:active{transform:scale(.96)}}.sa-drawer-overlay{opacity:0;visibility:hidden;pointer-events:none;z-index:90;background:#0000006b;transition:opacity .2s,visibility .2s;position:fixed;inset:0}.sa-drawer-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}.sa-drawer-panel{background:var(--bg-surface);border-right:1px solid var(--border);width:min(82vw,300px);z-index:var(--z-dropdown);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);overscroll-behavior:contain;flex-direction:column;transition:transform .24s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 12px 32px #0000002e}.sa-drawer-panel.is-open{transform:translate(0)}.sa-drawer-panel:focus{outline:none}.sa-drawer-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 16px;display:flex}.sa-drawer-panel-body{flex:1;padding:8px 4px;overflow-y:auto}@media (min-width:1024px){.sa-drawer-overlay,.sa-drawer-panel{display:none!important}}.sa-content{flex-direction:column;gap:20px;min-width:0;display:flex}.sa-sidebar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:16px 12px;display:flex}.sa-sidebar-section{flex-direction:column;gap:4px;display:flex}.sa-sidebar-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-faint);margin-bottom:2px;padding:0 8px;font-size:.7rem;font-weight:600}.sa-sidebar-links{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sa-sidebar-link{border-radius:var(--radius-sm);color:var(--ink-secondary);transition:background var(--transition), color var(--transition);border:1px solid #0000;padding:7px 10px;font-size:.92rem;font-weight:500;display:block}.sa-sidebar-link:hover{background:var(--bg-hover);color:var(--ink)}.sa-sidebar-link.is-active{background:var(--accent-soft);color:var(--accent-text);border-color:var(--accent-border)}.sa-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat-card{flex-direction:column;gap:4px;display:flex}.stat-card--warn{border-left-color:var(--warn)}.stat-card--danger{border-left-color:var(--danger)}.stat-card--success{border-left-color:var(--success)}.sa-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px;display:grid}.sa-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sa-list-row{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:10px 0;display:flex}.sa-list-row:last-child{border-bottom:0}.sa-mono{font-family:var(--font-mono);color:var(--ink-secondary);font-size:.82rem}.pill-warn{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn-text)}.danger-card{background:linear-gradient(180deg, var(--danger-soft), var(--bg-surface) 30%);border-color:var(--danger-border)!important}.kbd{font-family:var(--font-mono);background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:var(--radius-xs);color:var(--ink-secondary);border-bottom-width:2px;padding:2px 6px;font-size:.78rem;display:inline-block}.sa-tabs{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:4px;margin-bottom:4px;padding:6px;display:flex}.sa-tab{border-radius:var(--radius-sm);color:var(--ink-secondary);transition:background var(--transition), color var(--transition);border:1px solid #0000;padding:7px 12px;font-size:.88rem;font-weight:500;display:inline-block}.sa-tab:hover{background:var(--bg-hover);color:var(--ink)}.sa-tab.is-active{background:var(--accent-soft);color:var(--ink-strong);border-color:var(--accent-border)}.impersonation-banner{z-index:var(--z-drawer);background:var(--danger);color:#fff;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;font-size:.92rem;font-weight:500;display:flex;position:sticky;top:0}.impersonation-banner code{color:#fff;border-radius:var(--radius-xs);background:#0003;padding:1px 6px}.usage-alert-banner{z-index:var(--z-drawer);box-shadow:var(--shadow-sm);border-bottom:1px solid #0000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:.92rem;display:flex;position:sticky;top:0}.usage-alert-banner.is-warn{background:var(--warn-soft);border-bottom-color:var(--warn-border);color:var(--warn-text)}.usage-alert-banner.is-full{background:var(--danger-soft);border-bottom-color:var(--danger-border);color:var(--danger-text)}.usage-alert-banner-text{flex:320px;min-width:0}.usage-alert-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.usage-breakdown{flex-direction:column;gap:16px;display:flex}.usage-breakdown-gauge{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.usage-breakdown-total{font-variant-numeric:tabular-nums;font-weight:600}.usage-breakdown-track{background:var(--border);border-radius:3px;flex:1;min-width:120px;max-width:240px;height:6px;overflow:hidden}.usage-breakdown-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.usage-breakdown-fill.is-warning{background:var(--warn)}.usage-breakdown-fill.is-full{background:var(--danger)}.usage-breakdown td{font-variant-numeric:tabular-nums}.usage-breakdown tr.is-free th,.usage-breakdown tr.is-free td{color:var(--muted)}.usage-breakdown-free{color:var(--success-text);font-weight:600}.usage-breakdown-note{margin:0;font-size:.86rem}.block-chips{flex-wrap:wrap;gap:6px;padding-bottom:12px;display:flex}.chip{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);color:var(--ink-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--accent-border);color:var(--ink);background:var(--bg-hover)}.chip.chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.panel-list,.stack{flex-direction:column;gap:12px;display:flex}.source-tree,.source-tree-children{flex-direction:column;gap:10px;display:flex}.source-tree-row{grid-template-columns:28px minmax(0,1fr);align-items:start;gap:8px;display:grid}.source-tree-children{border-left:1px dashed var(--border);margin-left:14px;padding-left:14px}.source-tree-expander,.source-tree-expander-placeholder{border-radius:var(--radius-pill);flex-shrink:0;width:28px;height:28px}.source-tree-expander{border:1px solid var(--border);background:var(--bg-surface);color:var(--muted);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);justify-content:center;align-items:center;display:inline-flex}.source-tree-expander:hover{border-color:var(--accent-border);background:var(--bg-hover);color:var(--ink)}.source-tree-expander-placeholder{display:block}.stack-tight{flex-direction:column;gap:4px;display:flex}.panel-row{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);padding:14px 16px}.panel-row:hover,.panel-row.active{border-color:var(--accent-border);background:var(--accent-soft);box-shadow:var(--shadow-sm)}.panel-row-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.tree-group-count{font-variant-numeric:tabular-nums;color:var(--accent);background:var(--accent-soft);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.8rem;font-weight:700;line-height:1.5}:root{--tree-kind-block:#7c8ba1;--tree-kind-rgroup:#a08c6c;--tree-kind-annotation:#8d8296}:root.dark{--tree-kind-block:#a7b5c9;--tree-kind-rgroup:#c8b48c;--tree-kind-annotation:#b3a7bd}.tree-kind-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree-kind-block{color:var(--tree-kind-block)}.tree-kind-rgroup{color:var(--tree-kind-rgroup)}.tree-kind-annotation{color:var(--tree-kind-annotation)}.tree-group-badge{border:1px solid var(--tree-kind-rgroup);color:var(--tree-kind-rgroup);font-variant-numeric:tabular-nums;border-radius:8px;flex-shrink:0;padding:0 5px;font-size:.7rem;font-weight:600;line-height:1.4}.navigation-card{min-width:0}.navigation-card .section-card-header{margin-bottom:12px;padding-bottom:10px}.navigation-card .section-card-header h2{font-size:1.02rem}.navigation-card .section-card-actions .pill{padding:2px 8px;font-size:.66rem}.navigation-card .block-chips{padding-bottom:8px}.navigation-card .filters{flex-direction:column;align-items:stretch;gap:8px}.navigation-card .field{gap:4px}.navigation-card .input,.navigation-card .select{min-height:34px;padding:8px 10px;font-size:.84rem}.navigation-card .label{letter-spacing:.05em;font-size:.64rem}.navigation-card .source-tree,.navigation-card .source-tree-children{gap:4px}.navigation-card .source-tree-row{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px}.navigation-card .source-tree-children{border-left:1px solid var(--border);margin-left:8px;padding-left:10px}.navigation-card .source-tree-expander,.navigation-card .source-tree-expander-placeholder{width:18px;height:18px}.navigation-card .source-tree-expander{border-radius:var(--radius-xs);font-size:.78rem;line-height:1}.navigation-card .panel-list,.navigation-card .stack{gap:4px}.navigation-card .panel-row{border-radius:var(--radius-sm);box-shadow:none;padding:6px 8px}.navigation-card .panel-row-top{align-items:center;gap:6px}.navigation-card .panel-row strong{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;min-width:0;font-size:.82rem;font-weight:500;display:block;overflow:hidden}.navigation-card .status-badge{letter-spacing:.01em;padding:2px 6px;font-size:.6rem}.workbench-layout{flex-direction:column;gap:20px;display:flex}.workbench-stage{position:relative}.workbench-stage--immersive{z-index:var(--z-max);background:var(--bg);flex-direction:column;gap:0;height:100dvh;padding:0;display:flex;position:fixed;inset:0}html.immersive-view-open .site-bar,html.immersive-view-open .project-nav,html.immersive-view-open .hero,html.immersive-view-open .pwa-install-banner{display:none!important}html.immersive-view-open .shell,html.immersive-view-open .workbench-layout{z-index:auto!important;max-width:none!important;box-shadow:none!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;position:static!important}html.immersive-view-open,html.immersive-view-open body{background:var(--bg)!important;overflow:hidden!important}html.immersive-view-open body:before{display:none!important}.workbench-stage--immersive .viewer-toolbar-container{top:calc(8px + env(safe-area-inset-top,0px));z-index:var(--z-dropdown);pointer-events:none;flex-direction:column;align-items:center;gap:16px;display:flex;position:absolute;left:0;right:0}.viewer-toolbar-container--landscape{top:0!important;bottom:0!important;right:calc(12px + env(safe-area-inset-right,0px))!important;padding-top:calc(8px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;flex-direction:row-reverse!important;justify-content:flex-start!important;align-items:flex-start!important;gap:12px!important;left:auto!important}.viewer-toolbar--landscape{flex-direction:column!important}.viewer-panel-stack{display:contents}.viewer-tool-stack{overscroll-behavior:contain;scrollbar-width:thin;gap:0;max-height:min(70dvh,100dvh - 140px);padding:6px;overflow-y:auto}.viewer-tool-section+.viewer-tool-section{border-top:1px solid var(--border)}.viewer-tool-section__head{width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;border-radius:var(--radius);transition:background var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0 10px;font-size:.85rem;font-weight:600;display:flex}.viewer-tool-section__head:hover{background:var(--bg-hover)}.viewer-tool-section__chevron{color:var(--ink-secondary);transition:transform var(--transition);display:inline-flex}.viewer-tool-section.is-expanded .viewer-tool-section__chevron{transform:rotate(180deg)}.viewer-tool-section__body{flex-direction:column;gap:10px;padding:4px 10px 12px;display:flex}.viewer-panel-footer{gap:8px;margin-top:2px;display:flex}.viewer-panel-footer>*{flex:1 1 0;min-width:0}.viewer-panel-reset-btn{border-radius:var(--radius);border:1px solid var(--border);width:100%;color:var(--ink-secondary);cursor:pointer;transition:all var(--transition);background:0 0;padding:7px 8px;font-size:.78rem}.viewer-panel-reset-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--ink)}.viewer-panel-danger-btn{border-radius:var(--radius);border:1px solid var(--danger-border);color:var(--danger-text);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:6px;padding:7px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.viewer-panel-danger-btn:hover{background:var(--danger-soft);border-color:var(--danger)}.viewer-panel-danger-btn svg{flex-shrink:0}.viewer-toolbar-container--landscape .viewer-panel-stack{overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;flex-direction:column;flex:none;align-self:flex-start;align-items:flex-end;gap:16px;min-height:0;max-height:100%;padding:2px 6px 8px;display:flex;overflow-y:auto}.viewer-toolbar-container--landscape .viewer-panel-stack>*,.viewer-toolbar-container--landscape .viewer-toolbar--landscape{flex-shrink:0}.viewer-toolbar-container--landscape .viewer-tool-stack{max-height:none;overflow-y:visible}.viewer-toolbar{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-glass);pointer-events:auto;gap:8px;padding:8px;display:flex}.viewer-floating-hint{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);color:var(--ink);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-glass);text-align:center;pointer-events:none;padding:8px 16px;font-size:.85rem;font-weight:500;line-height:1.4}.viewer-measure-families,.viewer-measure-strategies{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.viewer-measure-chip{border-radius:var(--radius);background:var(--glass-strong);border:1px solid var(--border);color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);transition:all var(--transition);padding:6px 12px;font-size:.85rem;font-weight:500}.viewer-measure-chip:hover{border-color:var(--accent-border);color:var(--accent)}.viewer-measure-chip.is-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent);font-weight:600}.viewer-measure-chip--axis{color:var(--axis-color);border-color:var(--axis-border);font-weight:600}.viewer-measure-chip--axis:hover{color:var(--axis-color);border-color:var(--axis-border);background:var(--axis-soft)}.viewer-measure-chip--axis.is-active{background:var(--axis-soft);border-color:var(--axis-border);color:var(--axis-color)}.viewer-measure-chip--axis-x,.viewer-section-angle--x{--axis-color:var(--axis-x);--axis-soft:var(--axis-x-soft);--axis-border:var(--axis-x-border)}.viewer-measure-chip--axis-y,.viewer-section-angle--y{--axis-color:var(--axis-y);--axis-soft:var(--axis-y-soft);--axis-border:var(--axis-y-border)}.viewer-measure-chip--axis-z,.viewer-section-angle--z{--axis-color:var(--axis-z);--axis-soft:var(--axis-z-soft);--axis-border:var(--axis-z-border)}.viewer-section-angle{flex-direction:column;gap:6px;display:flex}.viewer-section-angle-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-section-angle-label{color:var(--axis-color,var(--ink));font-size:.75rem;font-weight:600}.viewer-section-angle-field{align-items:center;gap:2px;display:flex}.viewer-section-angle-input{text-align:right;border-radius:var(--radius-micro);border:1px solid var(--border);background:var(--glass-strong);width:54px;color:var(--ink);font-variant-numeric:tabular-nums;padding:2px 4px;font-size:.8rem}.viewer-section-angle-input:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.viewer-section-angle-unit{color:var(--muted);font-size:.75rem}.viewer-measure-hint-text{white-space:normal;flex:auto;min-width:0;line-height:1.35}.viewer-floating-panel{background:var(--glass-strong);width:min(340px,100vw - 32px);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-glass);pointer-events:auto;flex-direction:column;gap:16px;padding:16px;display:flex}.viewer-explode-modes{background:var(--bg-inset);border-radius:var(--radius);gap:2px;padding:3px;display:flex}.viewer-explode-mode-btn{cursor:pointer;min-width:0;color:var(--ink-secondary);border-radius:calc(var(--radius) - 4px);background:0 0;border:none;flex:1 1 0;padding:6px 0;font-size:.7rem;font-weight:600;transition:all .2s}.viewer-explode-mode-btn:hover{color:var(--ink)}.viewer-explode-mode-btn.is-active{background:var(--bg-surface);color:var(--ink);box-shadow:var(--shadow-sm)}.viewer-explode-slider-row{align-items:center;gap:12px;display:flex}.viewer-explode-slider-row .label{color:var(--ink);min-width:75px;font-size:.75rem;font-weight:600}.viewer-ios-slider{-webkit-appearance:none;background:var(--border-strong);border-radius:var(--radius-micro);outline:none;flex:1;height:4px}.viewer-ios-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg-surface);border:1px solid var(--border);width:26px;height:26px;box-shadow:var(--shadow-md);cursor:pointer;border-radius:50%}.workbench-stage--immersive .viewer-canvas{background:var(--bg-canvas)}.workbench-viewer-area{position:relative}.workbench-viewer-area--immersive{flex:auto;grid-template-columns:minmax(200px,240px) minmax(0,1fr);align-items:stretch;gap:0;min-height:0;display:grid}.viewer-full{min-width:0;line-height:0}.tree-panel{flex-direction:column;gap:6px;min-height:0;display:flex}.tree-overlay{z-index:var(--z-overlay);pointer-events:none;width:220px;max-height:calc(100% - 24px);position:absolute;top:12px;left:12px}.tree-overlay>*{pointer-events:auto}.tree-panel--immersive{width:100%;height:100%;min-height:0}.tree-filters{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);flex-direction:column;gap:4px;padding:8px;display:flex}.tree-search,.tree-layer-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-inset);width:100%;color:var(--ink);transition:border-color var(--transition);outline:none;padding:7px 10px;font-size:.95rem}.tree-search::placeholder{color:var(--muted)}.tree-search-wrap{align-items:center;display:flex;position:relative}.tree-search-wrap .tree-search{padding-right:32px}.tree-search-wrap .tree-search::-webkit-search-cancel-button{appearance:none}.tree-search-clear{background:var(--bg-inset,#0000000f);width:22px;height:22px;color:var(--muted);cursor:pointer;transition:color var(--transition), background var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.tree-search-clear:hover{color:var(--ink);background:var(--border,#0000001f)}.tree-search:focus,.tree-layer-select:focus{border-color:var(--border-focus)}.tree-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:2px;min-height:0;max-height:440px;display:flex;overflow-y:auto}.tree-list::-webkit-scrollbar{width:4px}.tree-list::-webkit-scrollbar-track{background:0 0}.tree-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-micro)}.tree-empty{color:var(--muted);background:var(--glass-light);-webkit-backdrop-filter:blur(var(--blur-sm));border-radius:var(--radius-sm);padding:8px 10px;font-size:.92rem}.tree-panel .source-tree,.tree-panel .source-tree-children{flex-direction:column;gap:2px;display:flex}.tree-panel .source-tree-row{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:20px}.tree-panel .source-tree-children{border-left:1px solid var(--border);margin-left:8px;padding-left:8px}.tree-panel .source-tree-expander,.tree-panel .source-tree-expander-placeholder{border-radius:var(--radius-xs);width:22px;height:22px;color:var(--ink-secondary);font-size:.92rem}.tree-panel .source-tree-expander{background:var(--bg-hover)}.tree-panel .source-tree-expander-placeholder{background:0 0}.tree-panel .panel-row{border-radius:var(--radius-sm);box-shadow:none;color:var(--ink);transition:background var(--transition), border-color var(--transition);background:0 0;border:1px solid #0000;padding:6px 10px}.tree-panel .panel-row:hover{background:var(--bg-hover)}.tree-panel .panel-row.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.tree-panel .panel-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:.95rem;font-weight:500;display:block;overflow:hidden}.tree-panel .panel-row-top{align-items:center;gap:6px}.tree-panel .panel-row .tree-row-name{text-overflow:clip;white-space:nowrap;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:0 auto;min-width:0;padding-bottom:2px;display:block;overflow:auto hidden}.tree-panel .panel-row .tree-row-name::-webkit-scrollbar{height:3px}.tree-panel .panel-row .tree-row-name::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.tree-panel .status-badge{padding:3px 6px;font-size:.7rem}.tree-tabs{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:2px;padding:3px;display:flex}.tree-tab{color:var(--ink-secondary);border-radius:calc(var(--radius) - 4px);cursor:pointer;transition:background var(--transition), color var(--transition), box-shadow var(--transition);text-align:center;background:0 0;border:none;flex:1;padding:7px 8px;font-size:.92rem;font-weight:500}.tree-tab:hover{color:var(--ink)}.tree-tab.active{background:var(--bg-surface);color:var(--accent);box-shadow:var(--shadow-sm)}.layer-tree-scroll{overscroll-behavior:contain;background:var(--glass-strong);min-height:0;max-height:440px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;gap:1px;padding:4px 0;display:flex;overflow-y:auto}.layer-tree-scroll::-webkit-scrollbar{width:4px}.layer-tree-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-micro)}.layer-node{flex-direction:column;display:flex}.layer-row{border-radius:var(--radius-sm);transition:background var(--transition);align-items:center;gap:4px;padding-top:2px;padding-bottom:2px;padding-right:8px;display:flex}.layer-row:hover{background:var(--bg-hover)}.layer-chevron{cursor:pointer;width:16px;height:16px;color:var(--muted);transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.layer-chevron:hover{background:var(--bg-hover);color:var(--ink)}.layer-chevron-placeholder{flex-shrink:0;width:16px;height:16px}.layer-row-label{cursor:pointer;flex:1;align-items:center;gap:5px;min-width:0;padding-top:1px;padding-bottom:1px;display:flex}.layer-row input[type=checkbox]{cursor:pointer;width:13px;height:13px;accent-color:var(--accent);flex-shrink:0;margin:0}.layer-color-swatch{border-radius:var(--radius-micro);border:1px solid var(--border-strong);flex-shrink:0;width:12px;height:12px;display:inline-block}.layer-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;overflow:hidden}.layer-children{flex-direction:column;display:flex}.layer-reset-btn{width:calc(100% - 16px);color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:background var(--transition);margin:2px 8px 4px;padding:6px 8px;font-size:.88rem}.layer-reset-btn:hover{background:#007aff2e}.bulb-icon-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);transition:background var(--transition), color var(--transition), box-shadow var(--transition);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.bulb-icon-btn:hover{background:var(--bg-hover);color:var(--ink)}.bulb-icon-btn.is-active{color:var(--bulb-text);background:var(--bulb-active-soft);box-shadow:var(--bulb-active-ring)}.layer-isolate-btn{opacity:.45;transition:opacity var(--transition), background var(--transition), color var(--transition)}.source-tree-row:hover .layer-isolate-btn,.source-tree-row:focus-within .layer-isolate-btn{opacity:1}.tree-panel--immersive .tree-filters,.tree-panel--immersive .tree-tabs,.tree-panel--immersive .layer-tree-scroll,.tree-panel--immersive .tree-empty,.tree-panel--immersive .panel-row,.tree-panel--immersive .source-tree-expander{-webkit-backdrop-filter:none}.tree-panel--immersive .tree-filters,.tree-panel--immersive .tree-tabs,.tree-panel--immersive .layer-tree-scroll,.tree-panel--immersive .tree-empty,.tree-panel--immersive .panel-row{background:var(--bg-surface)}.tree-panel--immersive .tree-list,.tree-panel--immersive .layer-tree-scroll{flex:auto;max-height:none}.workbench-viewer-area--immersive .viewer-full,.workbench-viewer-area--immersive .viewer-shell{height:100dvh;min-height:0}.workbench-viewer-area--immersive .viewer-full{display:flex}.workbench-viewer-area--immersive .viewer-full>*{min-height:0}.workbench-stage--immersive .viewer-canvas{border-radius:0;min-height:0}.workbench-stage--immersive.is-landscape .workbench-viewer-area--immersive .tree-panel--immersive{padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.workbench-stage--immersive.is-landscape .workbench-viewer-area--immersive{grid-template-columns:1fr}.workbench-stage--immersive.is-landscape .viewer-canvas{height:100%}.workbench-stage--immersive.is-portrait .workbench-viewer-area--immersive{flex-direction:column;gap:0;display:flex}.workbench-stage--immersive.is-portrait .tree-panel--immersive{height:auto;max-height:min(38dvh,300px);padding:calc(8px + env(safe-area-inset-top,0px)) 8px 8px 8px}.workbench-stage--immersive.is-portrait{--portrait-drawer-h:min(52dvh, 560px)}.workbench-stage--immersive.is-portrait .workbench-viewer-area--immersive{transition:padding-bottom .28s cubic-bezier(.32,.72,0,1)}.workbench-stage--immersive.is-portrait .workbench-viewer-area--immersive.is-panel-open{padding-bottom:var(--portrait-drawer-h)}.workbench-stage--immersive.is-portrait .workbench-viewer-area--immersive .viewer-shell{height:100%}.workbench-stage--immersive.is-portrait .landscape-drawer{width:auto;height:var(--portrait-drawer-h);inset:auto 0 0;transform:translateY(110%)}.workbench-stage--immersive.is-portrait .landscape-drawer--open{transform:translateY(0)}.workbench-stage--immersive.is-portrait .landscape-drawer__inner{border-right:none;border-top:1px solid var(--border);padding-top:8px;padding-left:calc(12px + env(safe-area-inset-left,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));box-shadow:0 -4px 24px #0000002e}.workbench-stage--immersive.is-portrait .landscape-drawer__inner .tree-panel--immersive{height:auto;max-height:none;padding:0}.workbench-stage--immersive.is-portrait .landscape-drawer__inner .tree-panel--immersive .tree-list,.workbench-stage--immersive.is-portrait .landscape-drawer__inner .tree-panel--immersive .layer-tree-scroll{max-height:26dvh}.workbench-stage--immersive.is-portrait .workbench-viewer-area--immersive.is-panel-open~.viewer-landscape-cluster{bottom:calc(var(--portrait-drawer-h) + 16px);z-index:calc(var(--z-dropdown) + 60)}.workbench-stage--immersive.is-portrait .viewer-landscape-cluster{transition:bottom .28s cubic-bezier(.32,.72,0,1)}.workbench-stage--immersive.is-portrait .viewer-full,.workbench-stage--immersive.is-portrait .viewer-shell{flex:auto;min-height:0}.workbench-stage--immersive.is-portrait .viewer-canvas{height:100%}@media (max-width:768px){.workbench-viewer-area:not(.workbench-viewer-area--immersive){flex-direction:column;gap:8px;display:flex}.tree-overlay{pointer-events:auto;width:100%;max-height:200px;position:relative;top:auto;left:auto}.tree-filters{-webkit-backdrop-filter:none;background:var(--bg-surface);border-color:var(--border)}.tree-search{background:var(--bg-surface)}.tree-tabs,.layer-tree-scroll,.tree-panel .panel-row{-webkit-backdrop-filter:none;background:var(--bg-surface)}.tree-panel .panel-row:hover,.tree-panel .panel-row.active{background:var(--accent-soft)}.tree-empty{-webkit-backdrop-filter:none;background:var(--bg-elevated)}}@media (min-width:769px) and (max-width:1023px){.tree-overlay{width:286px}}.sheet-edit-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:16px;display:flex}.sheet-edit-row .field{flex:1;min-width:140px}.sheet-edit-row .field:last-child{flex:none;min-width:auto}.viewer-shell{flex-direction:column;display:flex;position:relative}.viewer-shell:fullscreen{background:var(--bg-canvas)}.viewer-shell:fullscreen .viewer-canvas{border-radius:0;flex:1;min-height:0}.viewer-toolbar{z-index:var(--z-overlay);pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.viewer-toolbar-container .viewer-toolbar{z-index:auto;position:static}.viewer-toolbar>*{pointer-events:auto}.viewer-ctrl-btn{border-radius:var(--radius);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);color:var(--ink);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm);white-space:nowrap;align-items:center;gap:5px;padding:7px 13px;font-size:.95rem;font-weight:500;display:inline-flex}.viewer-ctrl-btn--icon{justify-content:center;width:40px;height:40px;padding:0}.viewer-ctrl-btn--icon svg{display:block}.viewer-ctrl-btn:hover{background:var(--bg-surface);border-color:var(--accent-border);color:var(--accent)}.viewer-ctrl-btn--icon.is-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.viewer-ctrl-btn--icon.is-running{position:relative}.viewer-ctrl-btn--icon.is-running:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:5px;right:5px}.viewer-ctrl-btn--danger{color:var(--danger)}.viewer-ctrl-btn--danger:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.viewer-canvas{border-radius:var(--radius-md);background:var(--bg-canvas);border:none;min-height:600px;position:relative;overflow:hidden}.shared-viewer-header h1{margin:0}.shared-viewer-expiry{color:var(--muted);margin:4px 0 0;font-size:.9rem}.shared-viewer-canvas-wrap{position:relative}.shared-viewer-canvas-wrap .viewer-canvas{min-height:70dvh}.shared-viewer-watermark{z-index:var(--z-dropdown);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-canvas) 70%, transparent);color:var(--muted);letter-spacing:.04em;pointer-events:none;padding:4px 10px;font-size:.75rem;font-weight:600;position:absolute;bottom:12px;right:12px}.shared-viewer-empty{color:var(--muted)}.share-shell{flex-direction:column;min-height:100dvh;display:flex}.share-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.share-brand{align-items:center;gap:8px;font-weight:700;display:flex}.share-brand .brand-mark{width:22px;height:22px}.share-main{flex-direction:column;flex:auto;min-height:0;display:flex}.share-stage{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.share-render-root{background:var(--bg);flex-direction:column;margin:0;display:flex;position:fixed;inset:0}body:has(.share-render-root) #app-splash{display:none}.share-stream{background:var(--bg);flex:auto;min-height:0;display:flex;position:relative}.share-stream-canvas{touch-action:none;object-fit:contain;width:100%;height:100%;display:block}.share-stream-stage{background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.share-stream-stage-label{color:var(--fg);margin:0;font-size:1rem;font-weight:600}.share-stream-stage-hint{max-width:44ch;color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.share-stream-stage-bar{background:var(--border);border-radius:999px;width:min(280px,70vw);height:4px;overflow:hidden}.share-stream-stage-bar span{border-radius:inherit;background:var(--accent);width:40%;height:100%;animation:1.4s ease-in-out infinite share-stream-sweep;display:block}@keyframes share-stream-sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.share-stream-stage-bar span{width:100%;animation:none}}.share-foot{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.88rem;display:flex}.share-unlock{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:10px;width:min(360px,100%);margin:48px auto;padding:20px;display:flex}.share-unlock h2{margin:0;font-size:1.1rem}.share-unlock p{color:var(--muted);margin:0;font-size:.9rem}.share-link-error{color:var(--danger-text)}.share-link-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.share-link-item{border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.share-link-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.9rem;display:flex}.share-link-fallback-url{width:100%;font-family:var(--font-mono,ui-monospace, monospace);color:var(--ink-strong,#111);background:var(--bg-subtle,#f6f6f6);border:1px solid var(--border);border-radius:6px;margin-top:8px;padding:6px 8px;font-size:.78rem}.share-link-actions{gap:8px;display:flex}.share-link-item{flex-direction:column;align-items:stretch}.share-link-badges{flex-wrap:wrap;gap:6px;display:flex}.share-badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:600}.share-badge.is-secure{border-color:var(--success-text,#2e7d32);color:var(--success-text,#2e7d32)}.share-badge.is-insecure,.share-badge.is-warn{border-color:var(--warning-text,#b26a00);color:var(--warning-text,#b26a00)}.share-link-label{margin:0;font-weight:600}.share-create-form{border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:14px;margin-bottom:16px;padding:14px;display:flex}.share-create-title{margin:0;font-size:1rem}.share-field{border:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.share-field>span,.share-field>legend{padding:0;font-size:.9rem;font-weight:600}.share-field small{color:var(--muted);font-size:.82rem}.share-mode-field,.share-options-field{border:1px solid var(--border);border-radius:var(--radius-sm);gap:8px;padding:12px}.share-radio,.share-option{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.share-radio span,.share-option span{flex-direction:column;gap:2px;display:flex}.token-secret{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);font-family:var(--font-mono);word-break:break-all;-webkit-user-select:all;user-select:all;padding:10px 12px;font-size:.82rem;display:block}.tree-modified-marker{color:var(--warn-text);flex:none;font-size:.6rem;line-height:1}.source-freshness-banner{border:1px solid var(--warn-border);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-text);flex-wrap:wrap;align-items:baseline;gap:6px;padding:10px 14px;font-size:.9rem;display:flex}.workbench-layout:has(>.workbench-stage--immersive)>.source-freshness-banner{top:calc(8px + env(safe-area-inset-top,0px));z-index:calc(var(--z-max) + 1);pointer-events:none;max-width:min(560px,100vw - 32px);position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0000002e}.share-insecure-warning{border-radius:var(--radius-sm);background:var(--warning-bg,#fff4e5);color:var(--warning-text,#b26a00);margin:0;padding:8px 10px;font-size:.88rem}.share-upsell{color:var(--muted);margin:0;font-size:.88rem}.share-options-hint{color:var(--muted);margin:0;font-size:.85rem}.share-options-actions,.share-create-actions{gap:8px;display:flex}.share-journal{border-top:1px solid var(--border);width:100%;padding-top:8px}.share-journal ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.share-journal li{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.85rem;display:flex}.share-journal-hint{color:var(--muted);margin:8px 0 0;font-size:.8rem}.viewer-ctrl-btn:active{transform:scale(.96)}@media (pointer:coarse){.viewer-ctrl-btn--icon{width:44px;height:44px}}.viewer-view-cube{width:115px;height:115px;z-index:var(--z-raised);pointer-events:auto;cursor:pointer;border-radius:var(--radius-sm);filter:drop-shadow(0 6px 18px #00000059);touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:absolute;bottom:12px;right:12px}.viewer-view-cube:active{transform:scale(.97)}.viewer-view-cube-face-button{clip-path:inset(50%);white-space:nowrap;color:#0000;cursor:pointer;background:0 0;border:0;width:1px;height:1px;padding:0;position:absolute;top:50%;left:50%;overflow:hidden}.viewer-view-cube-face-button:focus-visible{clip-path:none;border-radius:var(--radius-sm);background:var(--color-accent,#0a84ff);color:#fff;outline-offset:1px;z-index:1;outline:2px solid #fff;width:auto;height:auto;padding:4px 10px;font-size:13px;font-weight:600;transform:translate(-50%,-50%)}@media (pointer:coarse){.viewer-view-cube{width:125px;height:125px;bottom:12px;right:12px}}.workbench-stage--mobile-sheet .viewer-toolbar-container{z-index:calc(var(--z-sheet) + 5);pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;padding:12px;display:flex;position:absolute;top:0;left:0;right:0}.workbench-stage--mobile-sheet .viewer-view-cube{bottom:calc(120px + env(safe-area-inset-bottom,0px) + 16px)}.viewer-bottom-toolbar{bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:var(--z-toolbar);opacity:0;pointer-events:none;visibility:hidden;align-items:center;transition:opacity .25s,transform .25s cubic-bezier(.32,.72,0,1),visibility .25s;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(16px)}.viewer-bottom-toolbar.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.viewer-bottom-toolbar .viewer-ctrl-btn{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-color:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);justify-content:center;gap:8px;max-width:calc(100vw - 32px);padding:12px 28px;font-size:.98rem}.viewer-bottom-toolbar .viewer-ctrl-btn--icon{flex-shrink:0;width:44px;height:44px;padding:0}.bottom-sheet{z-index:var(--z-sheet);background:var(--bg-surface);border-top:1px solid var(--border);border-left:1px solid var(--border);border-right:1px solid var(--border);will-change:transform;touch-action:none;overscroll-behavior:contain;border-top-left-radius:18px;border-top-right-radius:18px;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 32px #0000002e}.bottom-sheet__close{z-index:var(--z-base);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform 80ms ease;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:6px;right:8px}.bottom-sheet__close:hover{background:var(--bg-hover);border-color:var(--border-strong)}.bottom-sheet__close:active{transform:scale(.94)}.bottom-sheet__handle{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;flex:none;align-items:stretch;gap:4px;padding:8px 16px 10px;display:flex}.bottom-sheet__handle:active{cursor:grabbing}.bottom-sheet__grabber{border-radius:var(--radius-micro);background:var(--border-strong);flex:none;width:36px;height:4px;margin:0 auto 4px}.bottom-sheet__header{min-height:28px}.bottom-sheet__title{flex-direction:column;gap:2px;min-width:0;padding-right:44px;display:flex}.bottom-sheet__eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem}.bottom-sheet__name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.bottom-sheet__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:4px 12px 16px;overflow-y:auto}.workbench-sheet-body{flex-direction:column;gap:16px;display:flex}.workbench-sheet-fiche{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:12px;display:flex}.workbench-sheet-fiche__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.workbench-sheet-fiche__head .eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem}.workbench-sheet.bottom-sheet--snap-mid .bottom-sheet__content,.workbench-sheet.bottom-sheet--snap-full .bottom-sheet__content{box-sizing:border-box;flex-direction:column;flex:none;display:flex;overflow:hidden}.workbench-sheet.bottom-sheet--snap-mid .bottom-sheet__content{height:calc(var(--bottom-sheet-mid) - var(--bottom-sheet-handle,56px))}.workbench-sheet.bottom-sheet--snap-full .bottom-sheet__content{height:calc(var(--bottom-sheet-full) - var(--bottom-sheet-handle,56px))}.workbench-sheet .workbench-sheet-body{flex:auto;gap:12px;height:100%;min-height:0}.workbench-sheet .workbench-sheet-body .tree-panel--sheet{flex-direction:column;flex:auto;min-height:0;display:flex}.workbench-sheet .workbench-sheet-body .tree-panel--sheet .tree-list{flex:auto;min-height:0;max-height:none;overflow-y:auto}.workbench-sheet .workbench-sheet-body .workbench-sheet-fiche{flex:none;max-height:45%;overflow-y:auto}.tree-panel--sheet{pointer-events:auto;gap:8px;width:100%;position:static}.tree-panel--sheet .tree-list,.tree-panel--sheet .layer-tree-scroll{max-height:none}.tree-panel--sheet .tree-filters,.tree-panel--sheet .tree-tabs,.tree-panel--sheet .panel-row,.tree-panel--sheet .tree-empty{background:var(--bg-elevated);-webkit-backdrop-filter:none}.tree-panel--sheet .panel-row{min-height:44px}.tree-panel--sheet .source-tree-expander{min-width:28px;min-height:28px}.workbench-stage--mobile-sheet{height:75dvh;min-height:320px;margin:0;padding:0;position:relative}.workbench-viewer-area--mobile-sheet{display:block;position:absolute;inset:0}.workbench-viewer-area--mobile-sheet .viewer-full,.workbench-viewer-area--mobile-sheet .viewer-shell,.workbench-viewer-area--mobile-sheet .viewer-canvas{border-radius:0;height:100%;min-height:240px}.workbench-layout--mobile-sheet{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));gap:0}.workbench-layout--mobile-launcher{margin-top:8px;margin-bottom:24px}.mobile-viewer-launcher{width:100%;padding:14px 18px;font-size:16px;font-weight:600}@media (pointer:fine) and (min-width:1024px){.workbench-layout--mobile-launcher{justify-content:center;margin-top:16px;margin-bottom:32px;display:flex}.mobile-viewer-launcher{width:auto;min-width:280px;max-width:420px;padding:16px 28px}}.source-page-layout,.source-page-right-col{flex-direction:column;gap:12px;display:flex}.source-dashboard{gap:8px}.source-dashboard-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);overflow:hidden}.source-dashboard-section>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;list-style:none;display:flex}.source-dashboard-section>summary::-webkit-details-marker{display:none}.source-dashboard-section>summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;transition:transform var(--transition);flex-shrink:0;margin-right:2px;transform:rotate(-45deg)}.source-dashboard-section[open]>summary:before{transform:rotate(45deg)}.source-dashboard-section>summary:hover{background:var(--bg-hover)}.source-dashboard-section-title{color:var(--ink-strong);flex:1;min-width:0;font-size:.95rem;font-weight:600}.source-dashboard-badge{font-variant-numeric:tabular-nums;color:var(--muted);background:var(--bg-inset);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:.75rem}.source-dashboard-section-body{flex-direction:column;gap:12px;padding:4px 14px 14px;display:flex}.source-dashboard-facts{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:4px 16px;margin:0;font-size:.85rem;display:grid}.source-dashboard-facts dt{color:var(--muted)}.source-dashboard-facts dd{color:var(--ink-strong);overflow-wrap:anywhere;margin:0}.source-dashboard-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.source-dashboard-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.source-dashboard-tiles .stat-card{padding:12px 14px;font-size:.8rem}.source-dashboard-tiles .stat-card strong{margin-top:2px;font-size:1.4rem}.source-dashboard-hint{color:var(--muted);font-size:.72rem}.source-dashboard-distribution{flex-direction:column;gap:6px;display:flex}.source-dashboard-distribution-title{color:var(--muted);margin:0;font-size:.8rem;font-weight:600}.source-dashboard-bar{background:var(--bg-inset);border-radius:999px;height:8px;display:flex;overflow:hidden}.source-dashboard-bar-part{min-width:2px;height:100%}.source-dashboard-legend,.source-dashboard-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.source-dashboard-legend li,.source-dashboard-list li{align-items:center;gap:8px;min-width:0;display:flex}.source-dashboard-legend-label,.source-dashboard-list-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-strong);flex:1;overflow:hidden}.source-dashboard-legend-value{font-variant-numeric:tabular-nums;font-weight:600}.source-dashboard-alert-count{font-variant-numeric:tabular-nums;color:var(--danger-text);font-weight:700}.source-dashboard-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.source-dashboard-table-scroll{max-height:320px;padding-right:8px;overflow:auto}.source-dashboard-list-scrollable{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-surface);max-height:12.8rem;padding:8px 16px 8px 8px;overflow-y:auto}.source-dashboard-list-scrollable.source-dashboard-list-scrollable--large{max-height:32rem}.source-dashboard-table{border-collapse:collapse;width:100%;font-size:.82rem}.source-dashboard-table th{text-align:left;color:var(--muted);background:var(--bg-surface);padding:4px 8px 6px 0;font-weight:600;position:sticky;top:0}.source-dashboard-table td{border-top:1px solid var(--border);vertical-align:top;padding:5px 8px 5px 0}.source-dashboard-table .is-numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:0}.source-dashboard-bom-label{color:var(--ink-strong);display:block}.source-dashboard-bom-dims,.source-dashboard-bom-weight{font-size:.74rem;display:block}.source-dashboard-sparkline{width:100%;height:44px;display:block}.source-dashboard-progress{background:var(--bg-inset);border-radius:999px;height:8px;overflow:hidden}.source-dashboard-progress>span{background:var(--success);height:100%;display:block}.source-dashboard-actions{flex-wrap:wrap;gap:8px;display:flex}.source-dashboard-warn{color:var(--warn-text);margin:0;font-size:.82rem}.source-dashboard-success{color:var(--success-text);margin:0;font-size:.82rem}.share-link-never{color:var(--warn-text)}.source-launcher-preview{aspect-ratio:4/3;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;width:100%;transition:opacity var(--transition);display:block;position:relative;overflow:hidden}.source-launcher-preview:hover{opacity:.95}.source-launcher-preview__img{object-fit:cover;width:100%;height:100%;display:block}.source-launcher-preview__overlay{background:#00000047;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.source-launcher-preview__overlay .mobile-viewer-launcher{pointer-events:none;width:auto;min-width:200px;max-width:320px}@media (min-width:1024px){.source-page-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.source-page-viewer-col .workbench-layout--mobile-launcher{margin:0}}.viewer-ctrl-btn--close{color:var(--ink-on-dark);background:var(--danger);-webkit-backdrop-filter:none;border-color:#0000}.viewer-ctrl-btn--close:hover{color:var(--ink-on-dark);background:#d70015;border-color:#0000}.viewer-progress{height:3px;z-index:var(--z-topbar);background:#00000014;position:absolute;top:0;left:0;right:0}.viewer-progress-bar{background:var(--accent);height:100%;transition:width .3s ease-out,opacity .6s .2s}.viewer-footnote{color:var(--muted);align-items:center;gap:12px;font-size:.78rem;display:flex}.viewer-measure-panel{pointer-events:none;z-index:12;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:100px;left:20px}.viewer-measure-entry{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(160%);border:1.5px solid var(--warn-border);border-radius:var(--radius-sm);color:#b16800;font-family:var(--font-mono);white-space:nowrap;box-shadow:var(--shadow-glass);padding:10px 18px;font-size:1.4rem;font-weight:700;line-height:1.2;display:block;overflow:hidden}.viewer-measure-callout{z-index:14;pointer-events:none;background:var(--glass-strong);min-width:18px;min-height:18px;-webkit-backdrop-filter:blur(var(--blur-md)) saturate(160%);border-radius:var(--radius-sm);box-shadow:var(--shadow-glass);color:#0e7490;font-family:var(--font-mono);white-space:nowrap;border:1.5px solid #00b8d4;justify-content:center;align-items:center;padding:6px 10px;font-size:1.05rem;font-weight:700;line-height:1;display:flex;position:absolute;transform:translate(-50%,-100%)}.viewer-measure-callout:after{content:"";border-top:7px solid #00b8d4;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;top:100%;left:50%;transform:translate(-50%)}.viewer-measure-callout.is-invalid{border-color:var(--warn-border);color:#b16800}.viewer-measure-callout.is-invalid:after{border-top-color:var(--warn-border)}.viewer-measure-callout__value:empty{background:#00b8d4;border-radius:50%;width:8px;height:8px;display:inline-block}.viewer-measure-leash{z-index:13;pointer-events:none;background:linear-gradient(#00e5fff2,#00e5ff33);border-radius:1px;width:2px;position:absolute;transform:translate(-50%)}.viewer-measure-leash:after{content:"";box-sizing:border-box;border:2px solid #00e5ffcc;border-radius:50%;width:16px;height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.viewer-status-legend{z-index:15;background:var(--glass-strong);width:max-content;max-width:min(230px,46%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);color:var(--ink);pointer-events:auto;flex-direction:column;display:flex;position:absolute;bottom:12px;left:12px;overflow:hidden}.viewer-status-legend__head{width:100%;color:inherit;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:.68rem;font-weight:700;display:flex}.viewer-status-legend__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.viewer-status-legend__chevron{flex-shrink:0;transition:transform .15s;transform:rotate(-90deg)}.viewer-status-legend__chevron.is-open{transform:rotate(0)}.viewer-status-legend__list{flex-direction:column;gap:4px;max-height:34vh;margin:0;padding:0 10px 8px;list-style:none;display:flex;overflow-y:auto}.viewer-status-legend__item{overflow-wrap:anywhere;align-items:center;gap:7px;font-size:.75rem;line-height:1.25;display:flex}.viewer-status-legend__empty{color:var(--muted);flex-direction:column;gap:6px;padding:0 10px 10px;font-size:.72rem;line-height:1.35;display:flex}.viewer-status-legend__empty p{margin:0}.viewer-status-legend__link{color:var(--accent);font-weight:600;text-decoration:none}.viewer-status-legend__link:hover{text-decoration:underline}.viewer-scenario-panel{z-index:15;background:var(--glass-strong);width:min(340px,100% - 32px);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);color:var(--text);pointer-events:auto;flex-direction:column;gap:8px;padding:12px 14px;animation:.22s ease-out viewer-scenario-in;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}@keyframes viewer-scenario-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.viewer-scenario-panel__head{justify-content:space-between;align-items:center;display:flex}.viewer-scenario-panel__counter{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#6b7280);font-size:.72rem;font-weight:700}.viewer-scenario-panel__title{font-size:.98rem;font-weight:700;line-height:1.25}.viewer-scenario-panel__comment{color:var(--text-muted,#4b5563);font-size:.86rem;line-height:1.4}.viewer-scenario-panel__confirm{color:var(--text-muted,#4b5563);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:.82rem;font-weight:600;display:flex}.viewer-scenario-panel__confirm input[type=checkbox]{accent-color:#22c55e;cursor:pointer;width:15px;height:15px}.viewer-scenario-timeline{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0;display:flex}.viewer-scenario-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;flex:none;width:9px;height:9px;padding:0;transition:background .16s,transform .16s}.viewer-scenario-dot.is-done{opacity:.5;background:#3b82f6}.viewer-scenario-dot.is-active{background:#3b82f6;transform:scale(1.45)}.viewer-scenario-dot.is-confirmed{opacity:1;background:#22c55e}.viewer-scenario-controls{justify-content:center;align-items:center;gap:14px;display:flex}.viewer-scenario-btn{border:1px solid var(--border);background:var(--glass);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .16s,opacity .16s;display:inline-flex}.viewer-scenario-btn:hover:not(:disabled){background:var(--glass-strong)}.viewer-scenario-btn:disabled{opacity:.35;cursor:default}.viewer-scenario-btn--play{color:#fff;background:#3b82f6;border-color:#3b82f6;width:44px;height:44px}.viewer-scenario-btn--play:hover:not(:disabled){background:#2563eb}.viewer-display-panel{pointer-events:auto;background:var(--glass-strong);width:216px;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);flex-direction:column;gap:8px;padding:10px;animation:.12s both fade-in-up;display:flex}@keyframes fade-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.viewer-display-panel__label{letter-spacing:.07em;color:var(--muted);margin:0 0 2px 2px;font-size:.62rem;font-weight:700}.viewer-display-panel__grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.viewer-display-panel__btn{border-radius:var(--radius);border:1px solid var(--border);color:var(--ink-secondary);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 8px 8px;transition:all .12s;display:flex;position:relative}.viewer-display-panel__btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--ink)}.viewer-display-panel__btn.is-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.viewer-display-panel__btn.no-data{opacity:.55}.viewer-display-panel__btn:disabled{cursor:not-allowed}.viewer-display-panel__btn:disabled:hover{border-color:var(--border);color:var(--ink-secondary);background:0 0}.viewer-display-panel__btn-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.viewer-display-panel__btn-icon svg{width:22px;height:22px}.viewer-display-panel__btn-label{letter-spacing:.03em;white-space:nowrap;font-size:.72rem;font-weight:600}.viewer-display-panel__section-break-wrapper{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.viewer-display-panel__section-break{background:var(--border);height:1px;margin:2px 0}.viewer-display-panel__section-break-wrapper .viewer-display-panel__btn{flex-direction:row;justify-content:flex-start;gap:10px;padding:10px 12px}.viewer-display-panel__section-break-wrapper .viewer-display-panel__btn-label{flex:1}.viewer-options-panel__info-icon{vertical-align:middle;width:12px;height:12px;margin-right:5px;display:inline-flex}.viewer-options-panel__gestures{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:6px;max-height:min(34vh,200px);margin:0;padding:0 6px 0 2px;list-style:none;display:flex;overflow-y:auto}.viewer-options-panel__gestures::-webkit-scrollbar{width:6px}.viewer-options-panel__gestures::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.viewer-options-panel__gestures li{color:var(--ink-secondary);font-size:.72rem;line-height:1.35}.viewer-display-panel--scroll{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(620px,100dvh - 120px);overflow-y:auto}.workbench-stage--immersive.is-landscape .viewer-display-panel--scroll{max-height:calc(100dvh - 96px)}.viewer-display-panel--scroll::-webkit-scrollbar{width:8px}.viewer-display-panel--scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.viewer-display-panel__filters{flex-direction:column;gap:2px;display:flex}.viewer-panel-slider{flex-direction:column;gap:6px;padding:6px 2px;display:flex}.viewer-panel-slider.is-disabled{opacity:.45;pointer-events:none}.viewer-panel-slider__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.viewer-panel-slider__label{color:var(--ink-secondary);font-size:.72rem;font-weight:600}.viewer-panel-slider__value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:.7rem}.viewer-panel-color{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:4px 2px;display:flex}.viewer-panel-color__label{color:var(--ink-secondary);font-size:.72rem;font-weight:600}.viewer-panel-color__swatch{border-radius:var(--radius-micro);border:1px solid var(--border);width:34px;height:22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40}.viewer-panel-color__swatch input[type=color]{cursor:pointer;opacity:0;background:0 0;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;inset:-4px}.viewer-panel-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 2px;display:flex}.viewer-panel-toggle.is-disabled{opacity:.45;cursor:not-allowed}.viewer-panel-toggle__label{color:var(--ink-secondary);font-size:.74rem;font-weight:600}.viewer-panel-toggle.is-on .viewer-panel-toggle__label{color:var(--ink)}.viewer-panel-toggle__track{background:var(--border-strong);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.viewer-panel-toggle.is-on .viewer-panel-toggle__track{background:var(--accent)}.viewer-panel-toggle__knob{background:var(--bg-surface);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.viewer-panel-toggle.is-on .viewer-panel-toggle__knob{transform:translate(16px)}.viewer-panel-segmented{flex-direction:column;gap:7px;padding:4px 2px;display:flex}.viewer-panel-segmented__label{letter-spacing:.06em;color:var(--muted);font-size:.62rem;font-weight:700}.viewer-panel-segmented__grid{flex-wrap:wrap;gap:4px;display:flex}.viewer-panel-chip{min-width:60px;color:var(--ink-secondary);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;flex:auto;padding:7px 10px;font-size:.7rem;font-weight:600;transition:all .12s}.viewer-panel-chip:hover{border-color:var(--border-strong);color:var(--ink)}.viewer-panel-chip.is-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.viewer-panel-file-btn{color:var(--ink);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:7px 10px;font-size:.72rem;font-weight:600}.viewer-panel-file-btn:hover{border-color:var(--border-strong)}.viewer-panel-section{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.viewer-panel-section__head{background:var(--bg-inset);cursor:pointer;letter-spacing:.03em;width:100%;color:var(--ink);border:none;justify-content:space-between;align-items:center;padding:9px 11px;font-size:.72rem;font-weight:700;display:flex}.viewer-panel-section.is-open .viewer-panel-section__head{border-bottom:1px solid var(--border)}.viewer-panel-section__chevron{color:var(--muted);font-size:1rem;line-height:1}.viewer-panel-section__body{flex-direction:column;gap:7px;padding:9px 11px 11px;display:flex}.viewer-landscape-pill.is-drilled,.viewer-ctrl-btn.is-drilled,.workbench-sheet-fiche__head.is-drilled{border-color:#ff7a00b3;box-shadow:0 0 0 1.5px #ff7a00b3}.workbench-sheet-fiche__head.is-drilled{border-radius:var(--radius)}.detail-grid,.field-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600;font-family:var(--font-mono)}.add-btn{background:var(--accent);color:#fff;cursor:pointer;width:22px;height:22px;transition:background var(--transition), transform var(--transition);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;font-weight:500;line-height:0;display:inline-flex}.add-btn>svg{display:block}.add-btn:hover{background:var(--accent-hover);transform:scale(1.1)}.add-btn:disabled{opacity:.4;cursor:default;transform:none}.inline-edit-title,.inline-edit-description{width:100%;font-family:var(--font);transition:border-color var(--transition);resize:none;background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;outline:none;margin:0;padding:0;display:block;overflow:hidden}.inline-edit-title{letter-spacing:-.025em;color:var(--ink-strong);max-width:24ch;margin-bottom:6px;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:700;line-height:1.2}.inline-edit-description{color:var(--muted);margin-bottom:4px;font-size:1rem}.inline-edit-title:hover,.inline-edit-description:hover{border-bottom-color:var(--border-strong)}.inline-edit-title:focus,.inline-edit-description:focus{border-bottom-color:var(--accent)}.inline-edit-title::placeholder{color:var(--muted-faint);font-weight:700}.inline-edit-description::placeholder{color:var(--muted-faint)}.input,.select,.textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--ink);min-height:var(--touch-target);transition:border-color var(--transition), box-shadow var(--transition);padding:10px 14px;font-size:1rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder,.textarea::placeholder{color:var(--muted-faint)}.textarea{resize:vertical;min-height:120px}.button{border-radius:var(--radius-pill);background:var(--accent-text);color:#fff;letter-spacing:.01em;cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:.82rem;font-weight:600;display:inline-flex}.button:hover{background:var(--accent-hover);box-shadow:var(--shadow-sm);transform:scale(1.02)}.button:active{transform:scale(.98)}.button.secondary{background:var(--bg-elevated);color:var(--ink-secondary);border:1px solid var(--border-strong)}.button.secondary:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--ink-strong)}.button:disabled{opacity:.4;cursor:not-allowed;transform:none}.pill,.status-badge{border-radius:var(--radius-pill);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:600;font-family:var(--font-mono);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.pill{background:var(--bg-elevated);color:var(--muted);border:1px solid var(--border)}.pill-ready{border-color:var(--success-border);color:var(--success-text);background:var(--success-soft)}.pill-loading{border-color:var(--warn-border);color:var(--warn-text);background:var(--warn-soft)}.pill-error,.pill-danger{border-color:var(--danger-border);color:var(--danger-text);background:var(--danger-soft)}.pill-idle{border-color:var(--border);color:var(--muted-faint)}.status-TODO{background:var(--bg-elevated);color:var(--muted);border-left:3px solid var(--muted-faint)}.status-IN_PROGRESS{background:var(--warn-soft);color:var(--warn-text);border-left:3px solid var(--warn)}.status-DONE{background:var(--success-soft);color:var(--success-text);border-left:3px solid var(--success)}.status-STORED{background:var(--accent-soft);color:var(--accent-text);border-left:3px solid var(--accent)}.status-INSTALLED{color:#3a38a0;background:#5856d61a;border-left:3px solid #5856d6}.dashboard-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-page-header>div{min-width:0}.dashboard-page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-skeleton{flex-direction:column;gap:20px;display:flex}.skeleton-line{background:var(--bg-elevated);border-radius:6px;height:12px;margin-bottom:12px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-line--title{width:40%;height:18px;margin-bottom:20px}.skeleton-line--short{width:60%;margin-bottom:0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.inline-banner{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);padding:.75rem 1rem}.inline-banner p{margin:0;font-size:.875rem}.inline-banner--success{border-color:var(--success-border);background:var(--success-soft)}.inline-banner--success p{color:var(--success)}.inline-banner--warn{border-color:var(--warn-border);background:var(--warn-soft)}.inline-banner--danger{border-color:var(--danger-border);background:var(--danger-soft)}.inline-banner--danger p{color:var(--danger)}.table-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 18px}.table th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-elevated);font-size:.72rem;font-weight:600;font-family:var(--font-mono)}.table tr:hover td{background:var(--accent-soft)}.table-as-cards{box-shadow:none;background:0 0;border:none;overflow:visible}.table-as-cards .table{display:block}.table-as-cards .table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-as-cards .table tbody{flex-direction:column;gap:12px;display:flex}.table-as-cards .table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:14px;display:flex}.table-as-cards .table tr:hover td{background:0 0}.table-as-cards .table td{border-bottom:none;flex-direction:column;gap:6px;padding:0;display:flex}.table-as-cards .table tbody th{text-align:left;border-bottom:none;padding:0;font-size:.95rem;font-weight:600}.table-as-cards .table td[data-label]:before{content:attr(data-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-family:var(--font-mono);font-weight:600}@media (min-width:640px){.table-as-cards .table tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}}@media (min-width:1024px){.table-as-cards{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:auto}.table-as-cards .table{width:100%;display:table}.table-as-cards .table thead{clip:auto;white-space:normal;border:0;width:auto;height:auto;margin:0;padding:0;display:table-header-group;position:static;overflow:visible}.table-as-cards .table tbody{gap:0;display:table-row-group}.table-as-cards .table tr{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0;display:table-row}.table-as-cards .table tr:hover td{background:var(--accent-soft)}.table-as-cards .table td{border-bottom:1px solid var(--border);vertical-align:top;gap:0;padding:12px 18px;display:table-cell}.table-as-cards .table tbody th{border-bottom:1px solid var(--border);vertical-align:top;padding:12px 18px;font-weight:500}.table-as-cards .table td[data-label]:before{content:none}}.atelier-board-table.table-as-cards .table tr{border-color:#3c3c4373}.history-list{flex-direction:column;gap:6px;display:flex}.history-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);transition:border-color var(--transition), box-shadow var(--transition);padding:16px 18px}.history-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.doc-list{flex-direction:column;display:flex}.doc-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 2px;display:flex}.doc-item:first-child{border-top:1px solid var(--border)}.doc-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-on-bg);flex:1;font-size:.875rem;font-weight:500;text-decoration:none;overflow:hidden}.doc-item-name:hover{color:var(--accent)}.doc-item-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.doc-empty{color:var(--ink-on-bg-muted);padding:12px 2px;font-size:.875rem}.doc-group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-on-bg-muted);margin-top:4px;padding:10px 2px 4px;font-size:.7rem;font-weight:600}.project-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (min-width:1024px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);border-radius:12px;padding:20px;transition:all .2s cubic-bezier(.16,1,.3,1)}.project-card:hover,.project-card.is-draggable:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-card-meta{letter-spacing:.02em;margin:0;font-size:.74rem}.home-resume{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-resume-chips{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.home-resume-chip{border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:var(--radius);background:var(--bg-surface);color:var(--ink);transition:border-color var(--transition);align-items:baseline;gap:8px;padding:5px 10px;font-size:.78rem;text-decoration:none;display:inline-flex}.home-resume-chip:hover{border-color:var(--accent-border);border-left-color:var(--accent)}.home-resume-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.source-color-card{transition:border-color var(--transition), box-shadow var(--transition)}.source-color-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md)}.project-card.is-draggable{cursor:grab;touch-action:pan-y}.project-card.card-dragging{cursor:grabbing;border-color:var(--accent-border);box-shadow:0 18px 40px #0f172a47,0 4px 10px #0f172a29}.drag-grip{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-muted,#9aa0a6);cursor:grab;touch-action:none;transition:color var(--transition), background var(--transition);justify-content:center;align-items:center;display:inline-flex}.drag-grip:hover{color:var(--text);background:var(--accent-soft)}.source-card-header{flex-direction:column;align-items:stretch;gap:16px;display:flex}.source-thumbnail-link{border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition);display:block}.source-thumbnail-link:hover{opacity:.9}.source-card-title{color:inherit;transition:color var(--transition);text-decoration:none}.source-card-title:hover{color:var(--accent)}.source-card-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.project-section{flex-direction:column;gap:16px;display:flex}.project-section-header{flex-wrap:nowrap;align-items:center;gap:12px;display:flex}.project-section-header h2{min-width:0;color:var(--ink-on-bg);flex:0 auto;margin:0;font-size:1.25rem;line-height:1.2}@media (max-width:640px){.project-section-header h2{font-size:1.1rem}}.source-thumbnail-container{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);flex-shrink:0;width:100%;height:auto;overflow:hidden}.source-thumbnail{object-fit:cover;width:100%;height:100%}.source-thumbnail-placeholder{aspect-ratio:4/3;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px dashed var(--border-strong);flex-shrink:0;width:100%;height:auto}.icon-btn{cursor:pointer;color:var(--ink-muted);border-radius:var(--radius-sm,4px);transition:color var(--transition), background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:2px 6px;font-size:14px;line-height:1;display:inline-flex}.icon-btn:hover{color:var(--ink);background:var(--bg-hover)}.icon-btn:disabled{opacity:.25;cursor:not-allowed}.button.danger{background:var(--danger);color:var(--ink-on-dark);border-color:var(--danger)}.button.danger:hover{background:#d70015;border-color:#d70015}.task-lists-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.task-list-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);transition:border-color var(--transition);flex-direction:column;gap:12px;padding:20px;display:flex}.task-list-card.task-list-complete{border-color:var(--task-complete-border);background:var(--task-complete-bg)}.task-list-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-list-name{flex:1;font-size:15px}.task-items{flex-direction:column;gap:6px;display:flex}.task-item{align-items:center;gap:8px;padding:4px 0;display:flex}.task-item:hover .task-delete-btn{opacity:1}.task-checkbox{cursor:pointer;width:15px;height:15px;accent-color:var(--accent);flex-shrink:0}.task-content{flex:1;font-size:13px;line-height:1.4}.task-item.task-checked .task-content{color:var(--ink-muted);text-decoration:line-through}.task-delete-btn{opacity:0;transition:opacity var(--transition);flex-shrink:0;font-size:16px}.task-confirm{gap:4px;display:flex}.task-add-row{align-items:center;gap:8px;display:flex}.task-add-btn{color:var(--ink-muted);cursor:pointer;text-align:left;transition:color var(--transition);background:0 0;border:none;padding:4px 0;font-size:13px}.task-add-btn:hover{color:var(--accent)}.tasks-workspace{flex-direction:column;gap:14px;display:flex}.tw-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tw-title-row{align-items:baseline;gap:12px;display:flex}.tw-title{margin:0;font-size:22px}.tw-progress{color:var(--ink-muted);background:var(--bg-subtle,#0000000a);border-radius:999px;padding:2px 10px;font-size:13px}.tw-view-switch{background:var(--bg-subtle,#0000000d);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.tw-view-btn{color:var(--ink-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500}.tw-view-btn--active{background:var(--bg-surface);color:var(--ink);box-shadow:var(--shadow-sm)}.tw-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tw-search{max-width:240px}.tw-select{max-width:200px;font-size:13px}.tw-chip{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;transition:all var(--transition);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px}.tw-chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.tw-quickadd{gap:8px;display:flex}.tw-quickadd .input{flex:1}.tw-feedback{color:#ef4444;margin:0;font-size:13px}.tw-lists{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.tw-list-col{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:14px;display:flex}.tw-list-head{align-items:center;gap:8px;display:flex}.tw-list-name{flex:1;font-size:15px}.tw-list-count{font-size:12px}.tw-list-del{opacity:0;transition:opacity var(--transition)}.tw-list-col:hover .tw-list-del{opacity:1}.tw-list-confirm{gap:2px;display:inline-flex}.tw-list-tasks{flex-direction:column;gap:6px;display:flex}.tw-list-empty,.tw-list-add .input::placeholder{font-size:13px}.tw-list-add .input{border-style:dashed;padding:6px 8px;font-size:13px}.tw-addlist{margin-top:8px}.tw-addlist-btn{padding:12px 22px;font-size:16px;font-weight:600}.tw-addlist-row{align-items:center;gap:8px;max-width:360px;display:flex}.tc-card{border:1px solid var(--border);background:var(--bg-surface);transition:box-shadow var(--transition), border-color var(--transition);border-left:3px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.tc-card:hover{box-shadow:var(--shadow-sm);border-color:var(--accent)}.tc-card--done{opacity:.6}.tc-check{align-self:center;width:23px;height:23px;margin-top:0}.tc-body{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:6px;min-width:0;padding:0;display:flex}.tc-title{color:var(--ink);word-break:break-word;font-size:13px;line-height:1.4}.tc-card--done .tc-title{color:var(--ink-muted);text-decoration:line-through}.tc-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tc-flag{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tc-priority{font-size:11px;font-weight:600}.tc-due{background:var(--bg-subtle,#0000000d);color:var(--ink-muted);border-radius:6px;padding:1px 6px;font-size:11px}.tc-due--overdue{color:#ef4444;background:#ef44441f}.tc-due--today{color:#f97316;background:#f9731624}.tc-ref{background:var(--bg-subtle,#0000000d);color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;gap:3px;max-width:140px;padding:1px 6px;font-size:11px;display:inline-flex;overflow:hidden}.tc-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:flex}.tboard{align-items:flex-start;gap:14px;padding-bottom:8px;display:flex;overflow-x:auto}.tboard-col{background:var(--bg-subtle,#00000008);border-radius:var(--radius);transition:background var(--transition), outline var(--transition);outline:2px solid #0000;flex-direction:column;flex:0 0 280px;gap:8px;padding:10px;display:flex}.tboard-col--over{outline:2px dashed var(--accent);background:#007aff0f}.tboard-col-head{align-items:center;gap:8px;padding:2px 4px;display:flex}.tboard-col-dot{border-radius:50%;width:10px;height:10px}.tboard-col-title{flex:1;font-size:13px;font-weight:600}.tboard-col-count{color:var(--ink-muted);background:var(--bg-surface);border-radius:999px;padding:1px 8px;font-size:12px}.tboard-col-body{flex-direction:column;gap:6px;min-height:24px;display:flex}.tboard-col .tc-card{cursor:grab}.tboard-empty{text-align:center;padding:8px 0;font-size:12px}.tcal{flex-direction:column;gap:12px;display:flex}.tcal-toolbar{align-items:center;gap:10px;display:flex}.tcal-month{text-transform:capitalize;text-align:center;min-width:160px;font-size:16px}.tcal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.tcal-weekday{color:var(--ink-muted);text-align:center;padding:4px 0;font-size:11px;font-weight:600}.tcal-cell{border:1px solid var(--border);background:var(--bg-surface);min-height:92px;transition:outline var(--transition);border-radius:8px;outline:2px solid #0000;flex-direction:column;gap:3px;padding:4px;display:flex}.tcal-cell--empty{background:0 0;border:none}.tcal-cell--today{border-color:var(--accent)}.tcal-cell--over{outline:2px dashed var(--accent)}.tcal-daynum{color:var(--ink-muted);align-self:flex-end;font-size:11px}.tcal-day-tasks,.tcal-undated-row{flex-direction:column;gap:3px;display:flex}.tcal-undated-row{flex-flow:wrap}.tcal-pill{text-align:left;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-surface);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:100%;padding:2px 6px;font-size:11px;overflow:hidden}.tcal-pill--done{opacity:.55;text-decoration:line-through}.tcal-undated{border-top:1px solid var(--border);padding-top:10px}.tdrawer-backdrop{z-index:400;background:#00000047;animation:.15s tdrawer-fade;position:fixed;inset:0}.tdrawer{background:var(--bg-surface);z-index:401;flex-direction:column;width:min(460px,92vw);animation:.2s tdrawer-slide;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0000001f}@keyframes tdrawer-fade{0%{opacity:0}}@keyframes tdrawer-slide{0%{transform:translate(100%)}}.tdrawer-head{padding:calc(env(safe-area-inset-top,0px) + 64px) 16px 14px;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.tdrawer-done{align-items:center;gap:10px;font-size:14px;display:inline-flex}.tdrawer-done .task-checkbox{width:22px;height:22px}.tdrawer-selfassign{align-self:flex-start;margin-top:4px}.tdrawer-body{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.tdrawer-title-input{resize:vertical;font-size:16px;font-weight:600}.tdrawer-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.tdrawer-field{flex-direction:column;gap:5px;display:flex}.tdrawer-field .label{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-muted);font-size:11px;font-weight:600}.tdrawer-flag-row{align-items:center;gap:8px;font-size:13px;display:flex}.tdrawer-foot{border-top:1px solid var(--border);padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 22px);align-items:center;gap:10px;display:flex}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.link-btn--danger{color:#ef4444}.ref-picker{flex-direction:column;gap:8px;display:flex}.ref-chips{flex-wrap:wrap;gap:6px;display:flex}.ref-chip{border:1px solid var(--border);background:var(--bg-surface);border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:3px 8px;font-size:12px;display:inline-flex}.ref-chip-symbol{font-weight:700}.ref-chip-label{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:15px;overflow:hidden}.ref-chip-label--link,.ref-chip--link{color:var(--accent);cursor:pointer;text-decoration:none}.ref-chip-label--link:hover,.ref-chip--link:hover .ref-chip-label{text-decoration:underline}.ref-chip--link{border:1px solid var(--border);background:var(--bg-surface);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 10px;display:inline-flex}.ref-chip-color{border:1px solid #00000026;border-radius:50%;flex-shrink:0;width:11px;height:11px;margin-left:4px;display:inline-block}.ref-chip-remove{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;font-size:14px;line-height:1}.ref-picker-controls{flex-direction:column;gap:6px;display:flex}.ref-type-tabs{gap:4px;display:flex}.ref-type-tab{border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;border-radius:8px;padding:7px 14px;font-size:15px}.ref-type-tab--active{border-color:var(--accent);background:#007aff14}.ref-results{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;height:320px;max-height:50vh;display:flex;overflow-y:auto}.ref-result{background:var(--bg-surface);text-align:left;cursor:pointer;border:none;flex-shrink:0;justify-content:space-between;gap:8px;padding:9px 12px;font-size:14px;display:flex}.ref-result-label{align-items:center;display:inline-flex}.ref-result:hover:not(:disabled){background:var(--bg-subtle,#0000000a)}.ref-result:disabled{cursor:default;color:var(--ink-muted)}@media (max-width:640px){.tdrawer-grid{grid-template-columns:1fr}.tw-search,.tw-select{flex:1;max-width:none}}.tse{flex-direction:column;gap:24px;display:flex}.tse-section{flex-direction:column;gap:8px;display:flex}.tse-subtitle{margin:0;font-size:14px}.tse-hint{margin:0 0 4px;font-size:12px}.tse-colors{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.tse-color-row{align-items:center;gap:8px;display:flex}.tse-color-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.tse-color-name{flex-shrink:0;width:64px;font-size:13px}.tse-color-row .input{flex:1}.tse-statuses{flex-direction:column;gap:6px;display:flex}.tse-status-row{align-items:center;gap:8px;display:flex}.tse-status-label{flex:1}.tse-status-actions{gap:2px;display:inline-flex}.tse-foot{align-items:center;gap:12px;display:flex}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.step-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);padding:24px}.mono-block{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);overflow-wrap:anywhere;font-size:.82rem;font-family:var(--font-mono);color:var(--accent);padding:10px 14px;display:block}.code{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border);width:fit-content;font-size:.8rem;font-family:var(--font-mono);color:var(--accent);padding:2px 8px;display:inline-flex}.scan-panel{background:var(--bg-surface)}.camera-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:24px;display:flex}.camera-shell{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);min-height:340px;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;min-height:340px}.camera-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.camera-target{aspect-ratio:1;border:2px solid var(--accent);border-radius:var(--radius);width:min(68vw,260px);box-shadow:0 0 0 999px var(--scan-overlay), 0 0 0 2px var(--accent) inset}.camera-target:before,.camera-target:after{content:"";background:var(--accent);opacity:.4;position:absolute}.camera-target:before{height:1px;top:50%;left:10%;right:10%}.camera-target:after{width:1px;top:10%;bottom:10%;left:50%}.camera-canvas{display:none}.scan-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.label-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.label-card{background:var(--bg-surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);break-inside:avoid;border-radius:12px;flex-direction:column;gap:14px;padding:20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.label-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.label-qr-shell{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);justify-content:center;align-items:center;min-height:140px;padding:14px;display:flex}.label-qr-image{aspect-ratio:1;object-fit:contain;width:min(100%,140px)}.label-card-actions{align-items:center;gap:10px;margin-top:auto;display:flex}.media-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.media-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:12px;display:flex}.media-preview{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);width:100%;position:relative;overflow:hidden}.ghost-link{color:var(--accent);font-size:.82rem;font-weight:600}.ghost-link:hover{text-decoration:underline}.feedback{margin:0;font-weight:600}.feedback-success{color:var(--success-text)}.feedback-error{color:var(--danger-text)}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center;padding:24px;font-size:.86rem}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1024px){body{font-size:.9rem;line-height:1.65}.shell{width:min(94vw,1380px);padding:16px 0 80px}.shell.has-project-nav{padding-top:32px;padding-bottom:32px}.grid-project{grid-template-columns:minmax(190px,255px) minmax(0,1fr)}.site-bar-inner{gap:20px;min-height:56px;padding:6px 0}.project-card{padding:24px}.stack:has(>.project-card){grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.hero{padding:12px 20px}.camera-shell,.camera-video{min-height:420px}.input,.select,.textarea{min-height:0;font-size:.88rem}.qty-input,.inline-edit-description{font-size:.9rem}}@media print{@page{margin:12mm}html,body{color:#000!important;background:#fff!important}body:before{display:none}.site-bar,.hero,.print-hidden{display:none!important}.shell{width:auto;margin:0;padding:0}.card,.stat-card,.section-card,.label-card{box-shadow:none;background:#fff;border-color:#0000002e}.label-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.label-card{page-break-inside:avoid;gap:10px;padding:14px}.label-qr-shell{min-height:112px;padding:8px}.label-qr-image{filter:none;width:min(100%,112px)}}.print-toolbar{background:var(--bg-bar);-webkit-backdrop-filter:blur(var(--blur-xl));border-top:1px solid var(--border-strong);z-index:var(--z-modal);padding:16px 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000014}.toolbar-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.toolbar-actions{align-items:center;gap:16px;display:flex}.field-inline{align-items:center;gap:8px;display:flex}.field-inline .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.75rem;font-weight:600}.quantity-control{background:var(--bg-hover);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-items:center;display:flex;overflow:hidden}.btn-qty{width:32px;height:32px;color:var(--ink-strong);cursor:pointer;transition:background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.btn-qty:hover{background:var(--bg-elevated)}.qty-value{text-align:center;min-width:40px;font-weight:700;font-family:var(--font-mono);color:var(--accent);cursor:pointer;padding:0 12px;font-size:.9rem}.qty-value:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.qty-input{text-align:center;width:52px;font-weight:700;font-family:var(--font-mono);color:var(--accent);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xs);outline:none;padding:2px 4px;font-size:1rem}.qty-input:focus{border-color:var(--accent)}.label-card{background:var(--bg-elevated);box-shadow:var(--shadow-sm);border:1px solid #00000059}.qr-hierarchy{flex-direction:column;gap:0;display:flex}.qr-source-section{border:none;border-top:1px solid var(--border);border-radius:0;overflow:visible}.qr-source-section:first-child{border-top:none}.qr-section-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 0;transition:opacity .15s;display:flex}.qr-section-header:hover{opacity:.75}.qr-section-header.collapsed{border-bottom:none}.qr-section-title{color:var(--ink-on-bg);flex:1;font-size:.95rem;font-weight:600}.qr-section-meta{color:var(--ink-on-bg-muted);font-size:.78rem}.qr-section-chevron{color:var(--ink-on-bg-muted);flex-shrink:0;transition:transform .2s}.qr-section-chevron-collapsed{transform:rotate(-90deg)}.qr-source-content{flex-direction:column;gap:14px;padding:0 0 20px;display:flex}.qr-parent-section{border:none;border-top:1px solid var(--border);border-radius:0;overflow:visible}.qr-parent-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:11px 0;transition:opacity .15s;display:flex}.qr-parent-header:hover{opacity:.75}.qr-parent-header.collapsed{border-bottom:none}.qr-parent-content{background:0 0;padding:0 0 14px}.project-label-strip{border:none;border-left:2px solid var(--accent);background:0 0;border-radius:0;padding:8px 0 8px 14px}.project-label-row{flex-wrap:wrap;gap:12px;display:flex}.project-label-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:16px;padding:10px 14px;display:flex}.label-card-actions{gap:8px;display:flex}.label-card-actions .button{flex:1}.label-card-title{font-size:var(--text-base);color:var(--ink-strong);font-weight:700;line-height:1.3}.qr-filters{flex-direction:column;gap:12px;padding-top:16px;display:flex}@media (min-width:640px){.qr-filters{flex-flow:wrap;align-items:flex-end}.qr-filters .field{flex:200px;min-width:0}}.qr-export-card{border:1px solid var(--border-strong);margin-top:24px}.qr-export-info{margin-bottom:16px}.qr-export-info strong{font-size:var(--text-sm);display:block}.qr-export-actions{flex-direction:column;gap:12px;display:flex}.qr-export-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qr-export-buttons .button{min-height:var(--touch-target);align-items:center;gap:6px;padding:0 16px;display:inline-flex}.qr-btn-label{letter-spacing:.04em;font-size:.82rem;font-weight:700}@media (min-width:640px){.qr-export-actions{flex-direction:row;justify-content:space-between;align-items:flex-end}.qr-export-actions .field{flex:200px;min-width:0}}@media (max-width:768px){.toolbar-inner{flex-direction:column;align-items:stretch;gap:12px}.toolbar-actions{justify-content:space-between}.dropdown-menu-right{left:auto;right:0}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-elevated) 25%, var(--bg-hover) 50%, var(--bg-elevated) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-text{width:100%;height:1em}.skeleton-title{width:60%;height:1.75rem}.skeleton-pill{border-radius:var(--radius-pill);width:80px;height:24px;display:inline-block}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:20px;display:flex}.skeleton-card-footer{gap:8px;margin-top:auto;padding-top:8px;display:flex}.skeleton-stack{flex-direction:column;gap:6px;width:100%;display:flex}.skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.skeleton-row>.skeleton{flex:auto}.skeleton-viewer{align-items:stretch;width:100%;height:100%;min-height:240px;display:flex;position:relative}.skeleton-viewer-canvas{border-radius:var(--radius);flex:1;height:100%;min-height:240px}.skeleton-viewer-toolbar{background:var(--bg-bar);border-radius:var(--radius);border:1px solid var(--border);-webkit-backdrop-filter:blur(var(--blur-md));gap:8px;padding:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:vt-fade-out}::view-transition-new(root){animation-name:vt-fade-in}}@keyframes vt-fade-out{to{opacity:0;transform:translateY(-4px)}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(4px)}}.install-banner{z-index:999;background:var(--bg-bar);-webkit-backdrop-filter:blur(var(--blur-lg));border-top:1px solid var(--border);box-shadow:var(--shadow-lg);padding:12px 16px;position:fixed;bottom:0;left:0;right:0}.install-banner-inner{align-items:center;gap:12px;max-width:680px;margin:0 auto;display:flex}.install-banner-icon{border-radius:var(--radius-sm);flex-shrink:0;width:40px;height:40px}.install-banner-text{color:var(--ink-secondary);flex-direction:column;flex:1;gap:2px;font-size:.82rem;display:flex}.install-banner-text strong{color:var(--ink);font-size:.875rem}.landing{background:var(--bg)}.landing-wrap{max-width:min(94vw,1200px);margin:0 auto;padding:0 clamp(16px,4vw,32px)}.landing-wrap--medium{max-width:min(94vw,1100px)}.landing-wrap--narrow{max-width:min(94vw,1080px)}.landing-wrap--tight{max-width:min(94vw,1000px)}.landing-block{padding:clamp(56px,9vw,116px) 0}.landing-block--framed{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-h1{letter-spacing:-.03em;color:var(--ink);text-wrap:balance;max-width:16ch;margin:0 auto;font-size:clamp(2.1rem,6vw,4rem);font-weight:700;line-height:1.05}.landing-h1--compact{max-width:none;margin:0;font-size:clamp(1.9rem,4.4vw,2.8rem)}.landing-h2{letter-spacing:-.025em;max-width:20ch;margin:0;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:700;line-height:1.1}.landing-h2--centered{text-align:center;max-width:none;margin-bottom:clamp(30px,5vw,48px)}.landing-eyebrow{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:600}.landing-hero{background:var(--bg-surface);min-height:calc(100svh - 56px - clamp(120px,17vw,190px))}.landing-hero-inner{text-align:center;max-width:900px;margin:0 auto;padding:clamp(64px,11vw,132px) clamp(20px,5vw,32px) clamp(48px,8vw,88px);position:relative}.landing-beta-tag{background:var(--ink);color:var(--bg-surface);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.16em;box-shadow:var(--shadow-md);border-radius:5px;padding:6px 13px;font-size:12px;font-weight:600;position:absolute;top:clamp(20px,5vw,44px);left:clamp(14px,5vw,64px);transform:rotate(-7deg)}.landing-hero-sub{max-width:56ch;color:var(--ink-secondary);text-wrap:pretty;margin:clamp(18px,3vw,26px) auto 0;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.5}.landing-hero-sub--left{margin-left:0;margin-right:0}.landing-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(26px,4vw,38px);display:flex}.landing-btn{border-radius:var(--radius-pill);min-height:var(--touch-target,44px);transition:background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.landing-btn--primary{background:var(--accent-text);color:#fff;border:none}.landing-btn--primary:hover{background:var(--accent-hover);color:#fff;transform:scale(1.02)}.landing-btn--primary:active{transform:scale(.98)}.landing-btn--ghost{border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--ink-secondary)}.landing-btn--ghost:hover{background:var(--bg-hover);border-color:var(--border-focus);color:var(--ink)}.landing-divider{background:var(--bg-surface)}.landing-qr-canvas{width:100%;height:clamp(120px,17vw,190px);display:block}.landing-media{background:var(--bg-canvas);place-items:center;display:grid;position:relative;overflow:hidden}.landing-media-watermark{opacity:.12;color:#000;width:114px;height:114px}.landing-media-label{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600;position:absolute;top:12px;left:14px}.landing-media--card{aspect-ratio:16/10;border-bottom:1px solid var(--border)}.landing-media--step{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.landing-media--video{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:16px}.landing-media--video .landing-media-label{position:static}.landing-video-play{background:var(--accent-text);width:74px;height:74px;box-shadow:var(--shadow-md);border-radius:50%;place-items:center;display:grid}.landing-section-head{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;margin-bottom:clamp(26px,4vw,40px);display:flex}.landing-carousel-controls{gap:10px;display:flex}.landing-round-btn{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-surface);width:46px;height:46px;color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition);font-size:18px}.landing-round-btn:hover{background:var(--bg-hover);border-color:var(--border-focus)}.landing-carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:clamp(14px,2vw,20px);margin:0 -4px;padding:4px 0 10px;scroll-padding-left:4px;display:flex;overflow-x:auto}.landing-carousel:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:3px;border-radius:var(--radius-md,8px)}.landing-carousel::-webkit-scrollbar{width:0;height:0;display:none}.landing-feature-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);scroll-snap-align:start;width:clamp(280px,85vw,460px);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;flex:none;display:flex;overflow:hidden}.landing-feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.landing-feature-body{padding:16px 18px 18px}.landing-feature-body h3{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:1.12rem;font-weight:700}.landing-feature-body p{color:var(--ink-secondary);margin:7px 0 0;font-size:.94rem;line-height:1.45}.landing-dots{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(22px,3.4vw,34px);display:flex}.landing-dot{cursor:pointer;background:var(--border-strong);width:11px;height:11px;transition:background var(--transition), transform var(--transition);border:none;padding:0}.landing-dot:hover{background:var(--muted-faint);transform:scale(1.25)}.landing-dot.is-active{background:var(--accent)}.landing-steps{flex-direction:column;gap:clamp(36px,6vw,72px);display:flex}.landing-step{flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,52px);display:flex}.landing-step-copy{flex:300px;min-width:min(100%,280px)}.landing-step .landing-media{flex:380px;min-width:min(100%,300px)}.landing-step-num{font-family:var(--font-mono,ui-monospace, monospace);color:var(--accent);letter-spacing:-.02em;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1;display:inline-block}.landing-step-copy h3{letter-spacing:-.02em;color:var(--ink);margin:12px 0 0;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700}.landing-step-copy p{color:var(--ink-secondary);max-width:46ch;margin:12px 0 0;font-size:1.05rem;line-height:1.55}.landing-video{margin-top:clamp(44px,7vw,80px)}.landing-video-caption{text-align:center;margin-top:18px}.landing-video-caption h3{color:var(--ink);margin:0;font-size:1.15rem;font-weight:600}.landing-video-caption p{color:var(--muted);max-width:52ch;margin:6px auto 0;font-size:.98rem}.landing-cta{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-lg);text-align:center;padding:clamp(36px,6vw,68px) clamp(24px,5vw,64px);position:relative;overflow:hidden}.landing-cta .landing-h2{max-width:20ch;margin:0 auto}.landing-cta-body{color:var(--ink-secondary);max-width:46ch;margin:16px auto 0;font-size:clamp(1.02rem,1.8vw,1.2rem)}.landing-cta-dots{opacity:.5;grid-template-columns:repeat(4,8px);gap:5px;display:grid;position:absolute;top:18px;right:20px}.landing-cta-dots>span{background:0 0;width:8px;height:8px}.landing-cta-dots>span.is-lit{background:var(--accent)}.landing-cta-dots>span.is-dim{background:var(--accent);opacity:.5}.landing-pricing{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;gap:clamp(14px,2vw,20px);display:grid}.landing-tier{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:28px 24px;display:flex;position:relative}.landing-tier.is-featured{border-color:var(--accent);box-shadow:var(--shadow-sm), 0 0 0 1px var(--accent)}.landing-tier-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.landing-tier-head h3{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.landing-tier-badge{border-radius:var(--radius-pill);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.04em;text-transform:uppercase;background:var(--success-soft,#34c75924);color:var(--success-text,#1a7034);border:1px solid var(--success-border,#34c7594d);align-items:center;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.landing-tier-lead{color:var(--muted);margin-bottom:2px;font-size:.82rem;display:block}.landing-tier-amount{letter-spacing:-.02em;color:var(--ink);font-size:2.4rem;font-weight:700;line-height:1}.landing-tier-price small{color:var(--muted);margin-left:4px;font-size:.9rem;font-weight:500}.landing-tier-note{color:var(--muted);margin:6px 0 0;font-size:.78rem}.landing-tier-seats{border-top:1px solid var(--border);gap:4px;margin:8px 0 0;padding:10px 0 0;list-style:none;display:grid}.landing-tier-seats li{justify-content:space-between;align-items:baseline;gap:10px;font-size:.86rem;display:flex}.landing-tier-seat-price{color:var(--ink);white-space:nowrap;font-weight:600}.landing-tier-seat-label{color:var(--muted);text-align:right}.landing-tier-tagline{color:var(--ink-secondary);min-height:2.6em;margin:0;font-size:.94rem}.landing-tier-features{flex:1;gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.landing-tier-features li{color:var(--ink-secondary);align-items:flex-start;gap:9px;font-size:.9rem;display:flex}.landing-tier-features li>span{color:var(--accent);flex:none;font-weight:700}.landing-tier-cta{width:100%;margin-top:8px;padding:12px 20px;font-size:14px}.landing-pricing-compare{justify-content:center;margin-top:28px;display:flex}.landing-pricing-note{text-align:center;color:var(--muted);margin-top:24px;font-size:.9rem}.pricing-page{max-width:1180px;margin:0 auto;padding:clamp(32px,6vw,72px) clamp(16px,4vw,32px) 64px}.pricing-header{text-align:center;margin-bottom:clamp(28px,5vw,48px)}.pricing-back{color:var(--muted);margin-bottom:16px;font-size:.9rem;text-decoration:none;display:inline-block}.pricing-back:hover{color:var(--ink)}.pricing-title{margin:0 0 12px;font-size:clamp(1.8rem,4vw,2.6rem)}.pricing-subtitle{max-width:62ch;color:var(--muted);margin:0 auto;line-height:1.6}.pricing-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:14px;position:relative;overflow-x:auto}.pricing-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.94rem}.pricing-table th,.pricing-table td{text-align:center;vertical-align:middle;border-bottom:1px solid var(--border);padding:12px 14px}.pricing-th-label,.pricing-row-label{z-index:2;text-align:left;background:var(--bg-surface);min-width:240px;font-weight:500;position:sticky;left:0}.pricing-row-hint{color:var(--muted);margin-top:3px;font-size:.8rem;font-weight:400;line-height:1.45;display:block}.pricing-th{z-index:1;background:var(--bg-surface);vertical-align:top;min-width:150px;position:sticky;top:0}.pricing-th.is-featured,.pricing-table td.is-featured{background:color-mix(in srgb, var(--accent) 7%, transparent)}.pricing-col-name{font-size:1.05rem;font-weight:600;display:block}.pricing-col-price{margin-top:4px;font-size:1.25rem;font-weight:700;display:block}.pricing-col-suffix{color:var(--muted);font-size:.8rem;font-weight:400;display:block}.pricing-col-cta{text-align:center;justify-content:center;align-items:center;margin-top:10px;padding:6px 14px;font-size:.85rem;display:inline-flex}.pricing-section-row th{text-align:left;background:var(--bg-secondary);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.82rem}.pricing-cell--yes{color:var(--accent);font-weight:700}.pricing-cell--no{color:var(--muted);opacity:.6}.pricing-cell--text{font-size:.86rem;line-height:1.4}.pricing-note{text-align:center;color:var(--muted);margin-top:20px;font-size:.88rem}.pricing-note--vat{margin-top:4px;font-size:.82rem}.pricing-cta{border:1px solid var(--border);text-align:center;border-radius:14px;margin-top:clamp(36px,6vw,64px);padding:clamp(24px,4vw,40px)}.pricing-cta h2{margin:0 0 10px;font-size:clamp(1.25rem,2.4vw,1.6rem)}.pricing-cta p{max-width:58ch;color:var(--muted);margin:0 auto 20px;line-height:1.6}.pricing-footer{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:40px;font-size:.85rem;display:flex}.pricing-footer a{color:var(--muted);text-decoration:none}.pricing-footer a:hover{color:var(--ink)}.pricing-mobile-hint{display:none}@media (max-width:768px){.pricing-mobile-hint{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}.pricing-mobile-hint-arrow{opacity:.5}.pricing-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-padding-left:max(130px,35vw)}.pricing-table{min-width:unset}.pricing-th-label,.pricing-row-label{width:35vw;min-width:130px;padding:12px 10px;font-size:.88rem;box-shadow:3px 0 8px #0000000f}.pricing-th-label{z-index:3}.pricing-th,.pricing-table td:not(.pricing-row-label){scroll-snap-align:start;scroll-snap-stop:always;min-width:55vw;padding:12px 10px}.pricing-section-row th{scroll-snap-align:none}.pricing-section-title-sticky{display:inline-block;position:sticky;left:10px}.pricing-row-hint{font-size:.75rem}}.landing-faq{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:0 clamp(28px,5vw,56px);display:grid}.landing-faq details{border-bottom:1px solid var(--border)}.landing-faq summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:14px;padding:18px 0;font-size:1.02rem;font-weight:600;list-style:none;display:flex}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq details[open] summary{color:var(--accent)}.landing-faq-sign{color:var(--muted);transition:transform var(--transition);flex:none;font-size:1.35rem;font-weight:300;line-height:1}.landing-faq details[open] .landing-faq-sign{color:var(--accent);transform:rotate(45deg)}.landing-faq p{color:var(--ink-secondary);max-width:60ch;margin:0;padding:0 0 20px;font-size:.98rem;line-height:1.6}.landing-footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:clamp(48px,7vw,80px) 0 32px}.landing-footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(28px,5vw,56px);display:grid}.landing-footer-brand{max-width:34ch}.landing-footer-brand p{color:var(--muted);margin:14px 0 0;font-size:.95rem;line-height:1.5}.landing-footer-title{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;font-size:11px;font-weight:600}.landing-footer nav{flex-direction:column;gap:10px;display:flex}.landing-footer nav a{color:var(--ink-secondary);transition:color var(--transition);font-size:.95rem;text-decoration:none}.landing-footer nav a:hover{color:var(--accent)}.landing-footer-rights{border-top:1px solid var(--border);color:var(--muted);margin-top:clamp(32px,5vw,52px);padding-top:20px;font-size:.85rem}.changelog-list{flex-direction:column;gap:clamp(28px,4vw,44px);margin:clamp(32px,5vw,52px) 0 0;padding:0;list-style:none;display:flex}.changelog-entry{border-top:1px solid var(--border);padding-top:20px}.changelog-entry-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.changelog-entry-head h2{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:700}.changelog-entry-head time{color:var(--muted);font-size:.9rem}.changelog-headline{color:var(--ink-secondary);margin:6px 0 0;font-size:1.05rem}.changelog-changes{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.changelog-changes li{color:var(--ink-secondary);max-width:72ch;font-size:.98rem;line-height:1.55}.changelog-kind{border-radius:var(--radius-pill);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.06em;text-transform:uppercase;vertical-align:1px;margin-right:10px;padding:2px 9px;font-size:10px;font-weight:600;display:inline-block}.changelog-kind--new{background:var(--accent-soft);color:var(--accent-text)}.changelog-kind--improved{background:var(--bg-inset);color:var(--muted)}.changelog-kind--fixed{background:var(--success-soft,#34c75924);color:var(--success-text,#1a7034)}.changelog-back{margin-top:clamp(32px,5vw,52px)}@media (max-width:640px){.landing-beta-tag{padding:5px 10px;font-size:10px}.landing-actions .landing-btn{flex:100%}}.legal-doc,.legal-index{max-width:760px;margin:0 auto;padding:clamp(32px,6vw,56px) 0 64px}.legal-back{color:var(--muted);transition:color var(--transition);margin-bottom:20px;font-size:.9rem;text-decoration:none;display:inline-block}.legal-back:hover{color:var(--accent)}.legal-header{margin-bottom:24px}.legal-title{letter-spacing:-.01em;margin:0 0 6px;font-size:2rem;font-weight:700}.legal-updated{color:var(--muted);margin:0;font-size:.85rem}.legal-version{color:var(--muted);margin:6px 0 0;font-size:.85rem}.legal-version code{border-radius:var(--radius-sm);background:var(--surface-2);padding:1px 6px;font-size:.85em}.legal-versions{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:40px;padding-top:16px;font-size:.85rem;display:flex}.legal-versions ul{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.legal-editor-banner{border:1px solid var(--warn-border);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-text);margin:0 0 28px;padding:12px 16px;font-size:.9rem;line-height:1.5}.legal-intro{color:var(--muted);margin:0 0 28px;line-height:1.65}.legal-section{margin-bottom:28px}.legal-heading{margin:0 0 10px;font-size:1.2rem;font-weight:600}.legal-subheading{color:var(--ink);margin:16px 0 6px;font-size:1rem;font-weight:600}.legal-paragraph{margin:0 0 12px;line-height:1.7}.legal-list{margin:0 0 12px;padding-left:20px;line-height:1.7}.legal-list li{margin-bottom:6px}.legal-index-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.legal-index-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);transition:border-color var(--transition), background var(--transition);flex-direction:column;gap:4px;padding:18px 20px;text-decoration:none;display:flex}.legal-index-card:hover{border-color:var(--accent-border);background:var(--bg-hover)}.legal-index-card-title{color:var(--ink);font-size:1.1rem;font-weight:600}.legal-index-card-desc{color:var(--muted);font-size:.9rem;line-height:1.5}#app-splash{z-index:var(--z-max);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:32px;transition:opacity .38s,visibility .38s;display:flex;position:fixed;inset:0}#app-splash.splash-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-logo{color:var(--ink-strong);align-items:center;gap:14px;animation:2s ease-in-out infinite splash-pulse;display:flex}.splash-logo .brand-mark{width:min(76px,19vw);height:min(76px,19vw)}.splash-logo .brand-wordmark{font-size:clamp(26px,7vw,38px)}.splash-bar-wrap{border-radius:var(--radius-pill);background:var(--border-strong);width:min(200px,50vw);height:2px;overflow:hidden}.splash-bar{border-radius:var(--radius-pill);background:var(--accent);width:40%;height:100%;animation:1.4s ease-in-out infinite splash-bar-slide}@keyframes splash-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes splash-bar-slide{0%{transform:translate(-120%)}50%{transform:translate(200%)}to{transform:translate(200%)}}.project-nav-bar{bottom:calc(8px + env(safe-area-inset-bottom,0px));width:calc(100% - 32px);max-width:400px;z-index:var(--z-drawer);background:var(--bg-bar);-webkit-backdrop-filter:saturate(180%) blur(var(--blur-xl));border:1px solid var(--border-strong);border-radius:40px;padding:0;display:flex;position:fixed;left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 8px 32px #0000001f}.project-nav-bar:after{display:none}.project-nav-item{min-height:52px;color:var(--muted);-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color var(--transition);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;text-decoration:none;display:flex}.project-nav-item--active{color:var(--accent)}.project-nav-item-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.project-nav-item-label{letter-spacing:.01em;white-space:nowrap;font-size:.62rem;font-weight:600;line-height:1}.shell.has-project-nav{padding-bottom:calc(84px + env(safe-area-inset-bottom,20px))}@media (pointer:coarse){.button,.icon-btn,.dropdown-item,.dropdown-item-button,.site-menu-trigger-nav{min-height:var(--touch-target)}.icon-btn{min-width:var(--touch-target);padding:8px 10px;font-size:16px}.button{padding-top:10px;padding-bottom:10px}}.icon-btn:active:not(:disabled){background:var(--bg-hover);transform:scale(.94)}.dropdown-item:active,.dropdown-item-button:active,.site-menu-trigger-nav:active{background:var(--accent-soft);transform:scale(.985)}.project-card:active,.project-nav-item:active,.task-list-card:active{opacity:.9;transform:scale(.99)}.button:active:not(:disabled),.icon-btn:active:not(:disabled),.dropdown-item:active,.dropdown-item-button:active,.site-menu-trigger-nav:active,.project-card:active,.project-nav-item:active,.task-list-card:active,.site-drawer-link:active{transition-duration:80ms}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.button:hover,.button:active,.project-card:active,.icon-btn:active,.dropdown-item:active,.site-menu-trigger:active,.viewer-ctrl-btn:active,.bottom-sheet__handle:active{transform:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}@media (prefers-contrast:more){:root{--border:#3c3c4373;--border-strong:#3c3c43b3;--border-focus:#007affd9;--muted:#4d4d50;--muted-faint:#3c3c43a6;--accent-border:#007aff99;--success-border:#34c75999;--warn-border:#ff950099;--danger-border:#ff3b3099}.button,.pill,.status-badge,.card,.project-card,.dropdown-item,.input,.select,.textarea{border-width:1.5px}}.ptr{overscroll-behavior-y:contain;position:relative}.ptr__indicator{background:var(--bg-surface);border:1px solid var(--border-strong);width:36px;height:36px;box-shadow:var(--shadow-md);color:var(--ink-secondary);pointer-events:none;opacity:0;z-index:5;border-radius:50%;justify-content:center;align-items:center;margin-left:-18px;transition:opacity .16s;display:flex;position:absolute;top:0;left:50%;transform:translateY(-56px)rotate(0)}.ptr.is-pulling .ptr__indicator,.ptr.is-refreshing .ptr__indicator{opacity:1}.ptr.is-refreshing .ptr__indicator{animation:.8s linear infinite ptr-spin}.ptr__indicator svg{width:18px;height:18px}@keyframes ptr-spin{to{transform:translateY(8px)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ptr.is-refreshing .ptr__indicator{animation:none}}@media (orientation:landscape){.project-nav-bar{top:50%;bottom:auto;right:auto;left:calc(16px + env(safe-area-inset-left,0px));border:1px solid var(--border-strong);border-radius:40px;flex-direction:column;justify-content:center;gap:14px;width:76px;height:auto;max-height:calc(100vh - 32px);padding:16px 0;overflow-y:auto;transform:translateY(-50%);box-shadow:0 8px 32px #0000001f}.project-nav-bar:after{display:none}.project-nav-item{flex:none;gap:2px;min-height:50px;padding:6px 2px}.project-nav-item-label{letter-spacing:.01em;white-space:nowrap;text-align:center;text-overflow:ellipsis;max-width:100%;font-size:.58rem;font-weight:600;line-height:1.1;display:block;overflow:hidden}}@media (orientation:landscape) and (max-width:1023px){.shell{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.site-bar-inner{min-height:40px;padding-top:4px;padding-bottom:4px}.site-brand .brand-mark{width:30px;height:30px}.shell.has-project-nav{padding-left:calc(16px + 76px + env(safe-area-inset-left,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.hero{margin-bottom:8px;padding:8px 12px}.hero h1{font-size:clamp(.95rem,1.6vw,1.3rem)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.doc-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.task-lists-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stack:has(>.project-card){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.project-label-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.viewer-canvas{min-height:0}.workbench-stage--immersive.is-landscape .workbench-viewer-area--immersive{grid-template-columns:1fr}.workbench-layout .viewer-bottom-toolbar{display:none}}.workbench-stage--immersive.is-landscape .viewer-view-cube{bottom:calc(20px + env(safe-area-inset-bottom,0px));right:calc(12px + env(safe-area-inset-right,0px))}.workbench-stage--immersive.is-landscape .viewer-floating-hint{align-self:center}.workbench-stage--immersive.is-landscape{--landscape-drawer-w:min(475px, 92vw)}.workbench-stage--immersive.is-landscape .workbench-viewer-area--immersive{transition:padding-left .28s cubic-bezier(.32,.72,0,1)}.workbench-stage--immersive.is-landscape .workbench-viewer-area--immersive.is-panel-open{padding-left:var(--landscape-drawer-w)}.landscape-drawer{width:var(--landscape-drawer-w,min(475px, 92vw));z-index:var(--z-dropdown);will-change:transform;pointer-events:none;flex-direction:column;transition:transform .28s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-110%)}.landscape-drawer--open{pointer-events:auto;z-index:calc(var(--z-dropdown) + 50);transform:translate(0)}.landscape-drawer__inner{background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-right:1px solid var(--border);padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));flex-direction:column;flex:1;padding-right:12px;display:flex;overflow-y:auto;box-shadow:4px 0 24px #0000002e}.landscape-drawer__inner .tree-panel--immersive{height:auto;padding:0}.landscape-drawer__header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 8px 4px;display:flex}.landscape-drawer__title{flex-direction:column;gap:2px;min-width:0;padding-top:4px;display:flex}.landscape-drawer__close{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-surface);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:background var(--transition), border-color var(--transition), transform 80ms ease;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.landscape-drawer__close:hover{background:var(--bg-hover);border-color:var(--border-strong)}.landscape-drawer__close:active{transform:scale(.94)}.landscape-drawer__inner .tree-panel--immersive .tree-list,.landscape-drawer__inner .tree-panel--immersive .layer-tree-scroll{flex:0 auto;max-height:40dvh;overflow-y:auto}@media (pointer:fine) and (min-width:1024px){.landscape-drawer__inner .tree-panel--immersive .tree-list,.landscape-drawer__inner .tree-panel--immersive .layer-tree-scroll{max-height:60dvh}}.viewer-landscape-cluster{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));z-index:var(--z-dropdown);pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute}.viewer-landscape-cluster>*{pointer-events:auto}.viewer-landscape-cluster .viewer-landscape-pill{position:static;bottom:auto;left:auto}.viewer-landscape-pill{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));z-index:var(--z-dropdown);background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);pointer-events:auto;white-space:nowrap;text-overflow:ellipsis;max-width:calc(60vw - 24px);color:var(--ink);align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:500;display:flex;position:absolute;overflow:hidden}.viewer-landscape-pill.is-active{background:var(--accent-subtle,rgba(var(--accent-rgb,59 130 246) / .12));border-color:var(--accent);color:var(--accent)}@media (orientation:portrait) and (min-width:680px){.stack:has(>.project-card){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}}@media (min-width:1024px){.shell.has-project-nav{width:100%;max-width:none;margin:0;padding:32px 48px 32px 124px}.shell.has-project-nav>:not(.project-nav){width:100%;max-width:1280px;margin-inline:auto}.shell.has-project-nav .hero{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;padding:4px 4px 8px;display:flex}.shell.has-project-nav .hero h1{flex-shrink:0;margin:0}.shell.has-project-nav .hero-copy{flex:1;justify-content:flex-end;align-items:center;margin:0;display:flex}.shell.has-project-nav .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.shell.has-project-nav .stat-card{padding:18px 20px}.shell.has-project-nav .grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.shell.has-project-nav .grid-project{grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:start;gap:24px}.shell.has-project-nav>.section-card,.shell.has-project-nav>section,.shell.has-project-nav>.stats-grid,.shell.has-project-nav>.grid-two{margin-bottom:24px}.shell.has-project-nav>:last-child{margin-bottom:0}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet){height:calc(100dvh - 320px);min-height:480px}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .workbench-viewer-area{grid-template-columns:minmax(280px,320px) minmax(0,1fr);align-items:stretch;gap:16px;height:100%;display:grid}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .tree-panel.tree-overlay{pointer-events:auto;flex-direction:column;gap:8px;width:100%;height:100%;max-height:none;display:flex;position:relative;top:auto;left:auto;overflow:hidden}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .tree-overlay>*{pointer-events:auto}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .tree-overlay .tree-list,.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .tree-overlay .layer-tree-scroll{flex:auto;min-height:0;max-height:none}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-full,.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-shell{height:100%;min-height:0;position:relative}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-canvas{height:100%;min-height:0}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-toolbar-container{z-index:5;pointer-events:none;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute;top:12px;left:12px;right:12px}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-toolbar{pointer-events:auto}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .viewer-floating-panel{pointer-events:auto;width:320px;max-width:calc(100% - 24px);margin-top:56px}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet)~.section-card{margin-top:16px}.shell.has-project-nav .project-card{padding:16px 20px}.shell.has-project-nav .project-section{gap:12px}.shell.has-project-nav .source-card-header{gap:16px}.shell.has-project-nav .atelier-filters,.shell.has-project-nav .filters-bar{flex-flow:wrap;align-items:flex-end;gap:12px;display:flex}.shell.has-project-nav .section-card{padding:20px 24px}}@media (min-width:1800px){.shell.has-project-nav{padding:32px 72px 32px 148px}.shell.has-project-nav>:not(.project-nav){max-width:1600px}.workbench-stage:not(.workbench-stage--immersive):not(.workbench-stage--mobile-sheet) .workbench-viewer-area{grid-template-columns:320px minmax(0,1fr);gap:20px}}.doc-viewer-shell{padding-bottom:0}.doc-viewer-back{font-size:var(--text-xs);flex-shrink:0;align-items:center;gap:10px;padding:10px 0 4px;display:flex}.doc-viewer{border-radius:var(--radius-lg);min-height:0;box-shadow:var(--shadow-md);border:1px solid var(--border);flex-direction:column;flex:auto;margin-bottom:16px;display:flex;overflow:hidden}.doc-viewer-toolbar{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;min-height:48px;padding:8px 14px;display:flex}.doc-viewer-title{min-width:0;font-size:var(--text-xs);color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:500;overflow:hidden}.doc-viewer-tools{flex-shrink:0;gap:4px;display:flex}.doc-viewer-pager{flex-shrink:0;align-items:center;gap:6px;display:flex}.doc-viewer-page-count{font-size:var(--text-xs);color:var(--muted);text-align:center;min-width:56px}.doc-viewer-canvas-area{background:var(--bg-canvas);flex:auto;justify-content:center;align-items:flex-start;min-height:300px;padding:24px;display:flex;overflow:auto}.doc-viewer-canvas-area--fill{align-items:stretch;min-height:0;padding:0;overflow:hidden}.doc-viewer-canvas-immersive--fill{flex-direction:column;align-items:stretch;padding-bottom:0;display:flex;overflow:hidden}:is(.doc-viewer-canvas-area:has(.doc-viewer-stack),.doc-viewer-canvas-immersive:has(.doc-viewer-stack)){display:block}.doc-viewer-stack{flex-direction:column;flex:none;align-items:center;gap:16px;width:max-content;margin-inline:auto;display:flex}.doc-viewer-page{box-shadow:var(--shadow-lg);background:#fff;flex:none;line-height:0;display:block;position:relative}.doc-viewer-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.doc-viewer-state{color:var(--muted);font-size:var(--text-sm);justify-content:center;align-items:center;padding:64px 32px;display:flex}.doc-viewer-state--error{color:var(--danger)}.icon-btn--active{background:var(--accent-soft)!important;border-color:var(--accent-border)!important;color:var(--accent)!important}.doc-viewer-layout{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex}@media (min-width:900px){.doc-viewer-layout--with-sidebar{flex-direction:row}.doc-viewer-layout--with-sidebar .doc-viewer{flex:auto;min-width:0}}.doc-viewer-sidebar-btn{flex-shrink:0;position:relative}.doc-viewer-immersive{z-index:var(--z-toolbar);background:var(--bg-canvas);position:fixed;inset:0}.doc-viewer-canvas-immersive{padding-top:max(60px, calc(env(safe-area-inset-top,0px) + 56px));padding-bottom:max(16px, env(safe-area-inset-bottom,0px));padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow:auto}.doc-viewer-toolbar-floating{top:max(10px, env(safe-area-inset-top,0px));left:max(10px, env(safe-area-inset-left,0px));right:max(10px, env(safe-area-inset-right,0px));z-index:1;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute}.doc-viewer-toolbar-floating>*{pointer-events:auto}.doc-viewer-title-floating{min-width:0;font-size:var(--text-xs);color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;background:var(--glass-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border:1px solid var(--border);border-radius:var(--radius);height:40px;box-shadow:var(--shadow-sm);flex:auto;align-items:center;padding:0 12px;font-weight:500;display:flex;overflow:hidden}.doc-viewer-tools-floating{flex-shrink:0;align-items:center;gap:4px;display:flex}.doc-viewer-toolbar .doc-viewer-tools-floating{gap:4px}.btn{border-radius:var(--radius-md);height:34px;font-size:var(--text-sm);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--ink-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:500;transition:background .12s,opacity .12s;display:inline-flex}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:#0000}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.45}.btn-full{width:100%}.unread-badge{color:#fff;vertical-align:middle;background:#ff3b30;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.unread-badge--dot{border-radius:50%;width:8px;min-width:8px;height:8px;padding:0}.thread-sidebar{background:var(--bg-surface);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;width:100%;min-height:0;display:flex}@media (min-width:900px){.thread-sidebar{border-top:none;border-left:1px solid var(--border);flex-shrink:0;width:320px;min-width:280px;max-width:360px}}.landscape-drawer .thread-sidebar,.bottom-sheet__content .thread-sidebar{border-left:none;width:100%;max-width:none}.thread-sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;min-height:48px;padding:10px 12px;display:flex}.thread-sidebar-title{font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.thread-sidebar-body{flex-direction:column;flex:auto;gap:8px;padding:12px;display:flex;overflow-y:auto}.thread-sidebar-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.bottom-sheet__content .thread-sidebar-footer{z-index:1;background:var(--bg-surface);padding-bottom:max(10px, env(safe-area-inset-bottom,0px));position:sticky;bottom:0}.bottom-sheet__content>.thread-sidebar{border-top:none;min-height:100%}.thread-sidebar-list{gap:4px}.thread-list-item{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;flex-direction:column;gap:4px;width:100%;padding:12px 14px;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.thread-list-item:hover{background:var(--bg-surface);box-shadow:var(--shadow-md);transform:translateY(-1px)}.thread-list-item:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.thread-list-item--unread{background:#ff3b300a;border-color:#ff3b304d}.thread-list-item-top{align-items:center;gap:6px;display:flex}.thread-list-item-shape{flex-shrink:0;font-size:13px}.thread-list-item-title{font-size:var(--text-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-weight:500;overflow:hidden}.thread-list-item-meta{color:var(--muted);flex-wrap:wrap;gap:4px;font-size:11px;display:flex}.thread-unread-dot{background:#ff3b30;border-radius:50%;flex-shrink:0;width:8px;height:8px}.thread-comments{gap:12px}.thread-comment{flex-direction:column;gap:4px;display:flex}.thread-comment-meta{align-items:baseline;gap:8px;font-size:12px;display:flex}.thread-comment-meta strong{color:var(--ink);font-weight:600}.thread-comment-meta .muted{font-size:11px}.thread-comment-body{font-size:var(--text-sm);color:var(--ink);white-space:pre-wrap;word-break:break-word;background:var(--bg-secondary);box-shadow:inset 0 0 0 1px var(--border);border-radius:0 12px 12px;margin:0;padding:10px 12px;line-height:1.5}.thread-comment-actions{opacity:0;gap:1px;margin-left:auto;transition:opacity .15s;display:flex}.thread-comment:hover .thread-comment-actions{opacity:1}@media (hover:none){.thread-comment-actions{opacity:1}}.thread-comment-action-btn{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:flex}.thread-comment-action-btn:hover{background:var(--bg-hover);color:var(--ink)}.thread-comment-action-btn--delete:hover{color:#ff3b30;background:#ff3b301a}.thread-comment-edit-form{flex-direction:column;gap:6px;margin-top:2px;display:flex}.thread-comment-edit-actions{gap:6px;display:flex}.thread-mention-hint{color:var(--muted);font-size:11px}.thread-loading{font-size:var(--text-sm);padding:12px 0}.thread-new-form{flex-direction:column;gap:10px;display:flex}.thread-new-hint{font-size:var(--text-sm);line-height:1.5}.thread-new-textarea,.thread-reply-textarea{resize:vertical;width:100%}.mention-textarea-wrapper{width:100%;position:relative}.mention-dropdown{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);z-index:120;max-height:220px;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:hidden auto;box-shadow:0 4px 16px #0000001f}.mention-option{cursor:pointer;font-size:var(--text-sm);-webkit-user-select:none;user-select:none;align-items:baseline;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.mention-option--active,.mention-option:hover{background:var(--bg-hover)}.mention-option__name{color:var(--ink);font-weight:500}.mention-option__username{color:var(--muted);font-size:12px}.thread-new-actions{flex-wrap:wrap;gap:8px;display:flex}.thread-error{font-size:var(--text-xs);color:var(--danger)}.thread-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 0;display:flex}.thread-empty p{margin:0;line-height:1.5}.offline-badge{border:1px solid var(--border,#0000001a);width:32px;height:32px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.offline-badge:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.offline-badge:disabled{cursor:progress;opacity:.8}.offline-badge--none{color:var(--text-muted,#6b7280)}.offline-badge--synced{background:var(--success-soft);color:var(--success-text);border-color:var(--success-border)}.offline-badge--degraded{border-color:var(--warn-border);position:relative}.offline-badge-alert{color:var(--warn);filter:drop-shadow(0 0 1.5px var(--bg));pointer-events:none;display:inline-flex;position:absolute;top:-3px;right:-3px}.offline-badge--update-available{color:#c25800;background:#ff950024;border-color:#ff950057;animation:1.8s ease-in-out infinite offline-badge-pulse}.offline-badge--downloading{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border);width:auto;min-width:32px;padding:0 8px}.offline-badge--error,.offline-badge--confirm{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger-border)}.offline-badge-progress{align-items:center;gap:6px;display:inline-flex}.offline-badge-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.8s linear infinite offline-badge-spin;display:inline-block}.import-progress-block{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.import-progress-header{align-items:center;gap:10px;display:flex}.import-progress-spinner{width:16px;height:16px;color:var(--accent);border-width:2px;flex-shrink:0}.import-progress-label{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.import-progress-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.import-progress-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .2s}.offline-badge-pct{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;line-height:1}@keyframes offline-badge-spin{to{transform:rotate(360deg)}}@keyframes offline-badge-pulse{0%,to{opacity:1}50%{opacity:.55}}.pin-overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pin-marker{cursor:pointer;pointer-events:auto;background:#9ca3af;border:2px solid #fff;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .1s,background .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #00000059}.pin-marker--unread{background:#ff3b30}.pin-marker:hover{transform:translate(-50%,-50%)scale(1.2)}.viewer-ctrl-btn--with-badge{position:relative}.viewer-ctrl-badge{color:#fff;text-align:center;pointer-events:none;background:#ff3b30;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:700;line-height:14px;position:absolute;top:4px;right:4px}.model-annotation-group{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding-bottom:8px;display:flex}.model-annotation-group-header{background:var(--bg-muted,#f9fafb);cursor:pointer;text-align:left;width:100%;color:var(--ink);transition:background var(--transition);border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.model-annotation-group-header:hover{background:var(--bg-hover,#f3f4f6)}.model-annotation-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.model-annotation-group-meta{color:var(--muted);flex-shrink:0;align-items:center;gap:4px;margin-left:8px;font-size:.8rem;font-weight:400;display:flex}.workbench-with-annotation-sidebar{flex-direction:row;flex:1;min-height:0;display:flex}.workbench-annotation-sidebar{border-left:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;max-width:360px;display:flex;overflow:hidden}@media (max-width:768px){.workbench-with-annotation-sidebar{flex-direction:column}.workbench-annotation-sidebar{border-left:none;border-top:1px solid var(--border);width:100%;max-width:none;max-height:40vh}}.dxf-canvas-container{background:#fff;flex:1 1 0;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}[data-dark] .dxf-canvas-container{background:#1a1a1a}.dxf-canvas{cursor:crosshair;touch-action:none;flex:1 1 0;width:100%;height:100%;display:block}.dxf-canvas[data-tool=pan]{cursor:grab}.dxf-canvas[data-tool=pan]:active{cursor:grabbing}.dxf-layer-panel{border-right:1px solid var(--border);background:var(--bg-surface);flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.dxf-layer-panel-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px;font-size:.75rem;font-weight:600}.dxf-layer-list{flex:1 1 0;padding:4px 0;overflow-y:auto}.dxf-layer-row{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;padding:4px 12px;font-size:.8rem;display:flex;overflow:hidden}.dxf-layer-row:hover{background:var(--bg-hover)}.dxf-layer-swatch{border:1px solid #00000026;border-radius:2px;flex-shrink:0;width:10px;height:10px}.measure-result-pill{background:var(--bg-surface);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:20px;padding:6px 14px;font-size:.82rem;font-weight:500;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.dxf-measure-hint{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);pointer-events:none;white-space:nowrap;border-radius:8px;padding:4px 12px;font-size:.78rem;position:absolute;top:12px;left:50%;transform:translate(-50%)}.dxf-pin-marker{background:var(--accent,#3b82f6);pointer-events:none;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0000004d}@media (max-width:768px){.dxf-layer-panel{display:none}}.btn-sm{height:28px;font-size:var(--text-xs,.75rem);padding:0 10px}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-hover)}.guide-page{flex-direction:column;gap:0;display:flex}.guide-hero{border:1px solid var(--border);border-radius:var(--radius-lg,18px);background:var(--bg-surface);box-shadow:var(--shadow-sm);margin-bottom:8px;padding:56px 48px 48px}.guide-hero-title{letter-spacing:-.02em;max-width:24ch;margin-top:6px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.2}.guide-hero-body{max-width:66ch;margin-top:14px;font-size:1.05rem;line-height:1.65}.guide-section{border:1px solid var(--border);border-radius:var(--radius-lg,18px);background:var(--bg-surface);box-shadow:var(--shadow-sm);align-items:flex-start;gap:48px;margin-top:12px;padding:48px;display:flex}.guide-section:nth-child(2n){flex-direction:row-reverse}.guide-section-text{flex:1;min-width:0}.guide-section-title{letter-spacing:-.01em;margin-top:6px;font-size:1.35rem;font-weight:700;line-height:1.3}.guide-section-body{max-width:60ch;margin-top:10px;line-height:1.65}.guide-steps{counter-reset:guide-step;flex-direction:column;gap:16px;margin:24px 0 0;padding:0;list-style:none;display:flex}.guide-step{counter-increment:guide-step;gap:14px;display:flex}.guide-step:before{content:counter(guide-step, decimal-leading-zero);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0;min-width:26px;padding-top:2px;font-size:.75rem;font-weight:700}.guide-step-content{flex-direction:column;gap:3px;display:flex}.guide-step-title{font-size:var(--text-sm,.9rem);color:var(--ink-primary);font-weight:600}.guide-step-body{font-size:var(--text-sm,.9rem);margin:0;line-height:1.6}.guide-tip{background:var(--bg-hover);border-left:3px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--text-sm,.9rem);color:var(--ink-secondary);gap:8px;margin-top:20px;padding:12px 14px;line-height:1.55;display:flex}.guide-tip-label{color:var(--accent);flex-shrink:0;font-weight:700}.guide-screenshot{flex:1;min-width:0;margin:0}.guide-screenshot-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);position:relative;overflow:hidden}.guide-screenshot-img{object-fit:cover}.guide-screenshot-placeholder{border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:var(--bg-hover);position:relative;overflow:hidden}.guide-screenshot-placeholder-inner{color:var(--ink-tertiary,#3c3c4359);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.guide-screenshot-placeholder-label{text-align:center;max-width:28ch;font-size:.78rem;line-height:1.4}.guide-screenshot-caption{color:var(--ink-secondary);text-align:center;margin-top:6px;font-size:.78rem}@media (max-width:768px){.guide-hero{padding:36px 24px 32px}.guide-section,.guide-section:nth-child(2n){flex-direction:column;padding:28px 20px}.guide-screenshot{width:100%}}.storage-quota-widget{flex-direction:column;gap:8px;display:flex}.storage-quota-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.storage-quota-text{font-size:var(--text-sm);color:var(--ink-secondary)}.storage-quota-bar{background:var(--bg-hover);border-radius:999px;height:6px;overflow:hidden}.storage-quota-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.storage-quota-fill--high{background:var(--color-danger,#ef4444)}.storage-quota-feedback{font-size:var(--text-xs,.75rem);margin:0}.item-quick-header-row{align-items:center;gap:10px;display:flex}.item-quick-header-name{letter-spacing:-.025em;color:var(--ink-on-bg);flex:1;margin:0;font-size:clamp(1.05rem,2.1vw,1.68rem);font-weight:700;line-height:1.2}.item-qr-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);color:inherit;transition:box-shadow var(--transition), border-color var(--transition);align-items:center;gap:14px;padding:10px 14px;text-decoration:none;display:inline-flex}.item-qr-preview:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.item-qr-preview-img-shell{flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.item-qr-preview-img{object-fit:contain;width:64px;height:64px}.item-qr-preview-code{word-break:break-all;font-size:.8rem}.assembly-context{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);margin-bottom:12px}.assembly-context-summary{cursor:pointer;font-weight:600;font-size:var(--text-sm);color:var(--ink-strong);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 16px;list-style:none;display:flex}.assembly-context-summary::-webkit-details-marker{display:none}.assembly-context-summary:before{content:"";width:14px;height:14px;transition:transform var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;flex-shrink:0;display:inline-block}details[open].assembly-context .assembly-context-summary:before{transform:rotate(90deg)}.assembly-context-summary:hover{color:var(--ink)}.assembly-context-body{border-top:1px solid var(--border);padding:4px 16px 16px}#portrait-gate{z-index:calc(var(--z-max) + 1);background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 32px;display:none;position:fixed;inset:0}@media (orientation:landscape) and (max-height:600px){#portrait-gate{display:flex}}.portrait-gate-icon{width:64px;height:64px;color:var(--ink-2);flex-shrink:0;animation:2.4s ease-in-out infinite portrait-gate-rock}@keyframes portrait-gate-rock{0%,to{transform:rotate(0)}30%{transform:rotate(-18deg)}60%{transform:rotate(90deg)}80%{transform:rotate(90deg)}}.portrait-gate-title{font-size:var(--text-lg);color:var(--ink);margin:8px 0 0;font-weight:600}.portrait-gate-body{font-size:var(--text-sm);color:var(--ink-2);max-width:260px;margin:0;line-height:1.5}.portrait-gate-hint{font-size:var(--text-xs);color:var(--ink-3);max-width:240px;margin:0;line-height:1.4}.hero>.eyebrow{color:#0047b3}.hero>p:not(.eyebrow){color:#3c3c43d9}.hero-actions>.button{color:#fff;background:#0047b3}.options-gear{display:inline-flex;position:relative}.options-gear__btn.is-active{background:var(--bg-hover);border-color:var(--border-strong)}.options-gear-overlay{z-index:var(--z-modal,1000);-webkit-backdrop-filter:blur(6px);background:#0f121873;justify-content:center;align-items:center;padding:20px;animation:.14s ease-out options-gear-fade;display:flex;position:fixed;inset:0}.options-gear-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);flex-direction:column;gap:14px;width:min(360px,100%);max-height:calc(100dvh - 40px);padding:16px 18px;animation:.16s ease-out options-gear-pop;display:flex;overflow-y:auto;box-shadow:0 24px 60px #00000052}.options-gear-modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.options-gear-modal__close{background:var(--bg-hover,#0000000d);width:28px;height:28px;color:var(--muted);cursor:pointer;border:none;border-radius:8px;flex:none;font-size:.85rem;line-height:1}.options-gear-modal__close:hover{color:var(--ink-strong)}@keyframes options-gear-fade{0%{opacity:0}}@keyframes options-gear-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.options-gear-popover__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.7rem}.options-gear-row{flex-direction:column;gap:2px;display:flex}.options-gear-row__main{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.options-gear-row__main input{flex-shrink:0;margin-top:3px}.options-gear-row__main strong{font-size:.9rem;font-weight:600}.options-gear-row__desc{color:var(--muted);margin-top:2px;font-size:.8rem;line-height:1.35;display:block}.options-gear-row__feedback{color:var(--muted);padding-left:26px;font-size:.75rem}.project-color-labels{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:12px;display:flex}.project-color-labels__title{font-size:.9rem;font-weight:600}.project-color-labels__hint{color:var(--muted);margin:0;font-size:.8rem;line-height:1.35}.project-color-labels__rows{flex-direction:column;gap:6px;display:flex}.project-color-labels__rows .input{min-width:0}.project-color-labels__foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-color-labels__feedback{color:var(--muted);font-size:.75rem}.project-hero-head{flex-wrap:nowrap;align-items:flex-start;gap:10px;display:flex}.project-hero-head .inline-edit-title{flex:0 auto;width:auto;min-width:0;max-width:100%}.project-hero-head .options-gear{flex:none}.rhinoqr-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-secondary);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;transition:border-color .15s,background .15s;display:flex}.rhinoqr-dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft)}.rhinoqr-dropzone .rhinoqr-dropzone-icon{color:var(--muted)}.rhinoqr-dropzone.is-dragover .rhinoqr-dropzone-icon{color:var(--accent)}.rhinoqr-dropzone-title{margin:0;font-weight:600}.rhinoqr-dropzone-hint{color:var(--muted);margin:0;font-size:.85rem}.rhinoqr-upload-queue{flex-direction:column;gap:8px;margin-top:12px;display:flex}.rhinoqr-queue-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.rhinoqr-queue-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.rhinoqr-queue-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.rhinoqr-queue-status{color:var(--muted);white-space:nowrap;font-size:.78rem}.rhinoqr-queue-row.is-error{border-color:var(--danger-border);background:var(--danger-soft)}.rhinoqr-queue-row.is-error .rhinoqr-queue-status{color:var(--danger-text)}.rhinoqr-queue-row.is-done{border-color:var(--success-border)}.rhinoqr-diff-summary{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.rhinoqr-diff-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-inset);color:var(--ink-secondary);padding:2px 8px;font-size:.75rem;font-weight:600}.rhinoqr-diff-chip.is-added{background:var(--success-soft);border-color:var(--success-border);color:var(--success-text)}.rhinoqr-diff-chip.is-readopted{background:var(--warn-soft);border-color:var(--warn-border);color:var(--warn-text)}.rhinoqr-diff-chip.is-removed{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-text)}.dropped-unsupported-notice{border:1px solid var(--warn-border);background:var(--warn-soft);border-radius:var(--radius-sm);margin-top:10px;padding:10px 12px}.dropped-unsupported-title{color:var(--warn-text);margin:0 0 6px;font-size:.8125rem;font-weight:600}.dropped-unsupported-chips{flex-wrap:wrap;gap:6px;display:flex}.dropped-unsupported-chip{border-radius:var(--radius-sm);border:1px solid var(--warn-border);background:var(--bg-inset);color:var(--warn-text);padding:2px 8px;font-size:.75rem;font-weight:600}.dropped-unsupported-hint{color:var(--ink-secondary);margin:8px 0 0;font-size:.75rem}.project-card.is-drop-target{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}.plan-preview-backdrop{z-index:1200;-webkit-backdrop-filter:blur(6px);background:#090c128c;justify-content:center;align-items:center;padding:clamp(12px,4vw,48px);animation:.14s plan-preview-fade;display:flex;position:fixed;inset:0}@keyframes plan-preview-fade{0%{opacity:0}to{opacity:1}}.plan-preview{background:var(--bg-surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(1000px,100%);height:min(760px,100%);display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.plan-preview__header{border-bottom:1px solid var(--border);background:var(--bg-inset);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.plan-preview__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.plan-preview__close{color:#fff;cursor:pointer;background:#dc2626;border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s;display:inline-flex}.plan-preview__close:hover{background:#b91c1c}.plan-preview__body{background:var(--bg-inset);flex:auto;min-height:0;position:relative}.plan-preview__body>*{width:100%;height:100%;position:absolute;inset:0}.plan-preview__empty{color:var(--muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}.plan-refs{border-top:1px dashed var(--border);flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;display:flex}.plan-refs__title{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:.72rem;font-weight:700}.plan-refs__state{margin:0;font-size:.82rem}.plan-refs__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-refs__link{border:1px solid var(--border);background:var(--bg-surface);color:var(--ink);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:.85rem;text-decoration:none;transition:border-color .12s,background .12s;display:flex}.plan-refs__link:hover{border-color:var(--accent-border);background:var(--accent-soft)}.plan-refs__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.plan-refs__occ{color:var(--muted);flex:none;font-size:.72rem}.demo-shell{flex-direction:column;gap:16px;padding-top:16px;padding-bottom:32px;display:flex}.demo-banner{border-radius:var(--radius);background:var(--warn-soft);border:1px solid var(--warn-border);color:var(--ink);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;font-size:.9rem;line-height:1.4;display:flex}.demo-banner>span:not(.demo-banner-dot){flex:1;min-width:220px}.demo-banner-dot{border-radius:var(--radius-pill);background:var(--warn);width:10px;height:10px;box-shadow:0 0 0 4px var(--warn-soft);flex:none}.demo-banner-cta{border-radius:var(--radius-pill);background:var(--accent);color:var(--ink-on-dark);flex:none;padding:6px 14px;font-weight:600;text-decoration:none}.demo-banner-cta:hover{background:var(--accent-hover)}.demo-intro{text-align:center;flex-direction:column;gap:16px;max-width:640px;margin:40px auto;display:flex}.demo-intro-title{color:var(--ink-strong);font-size:1.8rem;font-weight:700}.demo-intro-copy{color:var(--ink-secondary);line-height:1.5}.demo-intro-copy code,.demo-dropzone-title code{font-family:var(--font-mono,monospace);background:var(--bg-inset);border-radius:var(--radius-xs);padding:1px 6px;font-size:.9em}.demo-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-surface);cursor:pointer;padding:48px 24px;transition:border-color .15s,background .15s}.demo-dropzone:hover,.demo-dropzone:focus-visible{border-color:var(--accent-border);background:var(--bg-secondary);outline:none}.demo-dropzone.is-drag{border-color:var(--accent);background:var(--accent-soft)}.demo-dropzone-title{color:var(--ink);margin-bottom:6px;font-weight:600}.demo-dropzone-hint{color:var(--muted);font-size:.88rem}.demo-error{color:var(--danger-text,#b3261e);background:var(--danger-soft);border:1px solid var(--danger-border,#ff3b304d);border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem}.demo-sample-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.demo-sample-hint{color:var(--muted);font-size:.88rem}.demo-degraded-note{color:var(--muted);font-size:.82rem;line-height:1.5}.demo-workbench-wrap{flex-direction:column;gap:12px;display:flex}.demo-workbench-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.demo-workbench-title{color:var(--ink-strong);font-size:1.3rem;font-weight:700}.demo-workbench-sub{color:var(--muted);font-size:.85rem}.demo-inline-note{text-align:center;color:var(--muted);font-size:.78rem;font-style:italic}.demo-locked-badge{border:1px solid var(--line);background:var(--surface-2,#7f7f7f17);color:var(--muted);letter-spacing:.01em;white-space:nowrap;cursor:help;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:.68rem;font-weight:600;display:inline-flex}.demo-locked-badge--inline{align-self:center}.button.is-locked,.btn.is-locked{opacity:.62;pointer-events:none;justify-content:center;align-items:center;gap:8px;display:inline-flex}.demo-more{border:1px solid var(--line);background:var(--surface-2,#7f7f7f0d);border-radius:14px;margin-top:8px;padding:18px 20px}.demo-more-title{color:var(--ink-strong);font-size:1.05rem;font-weight:700}.demo-more-copy{color:var(--muted);margin-top:4px;font-size:.85rem;line-height:1.5}.demo-more-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px 20px;margin-top:14px;padding:0;list-style:none;display:grid}.demo-more-list li{flex-direction:column;gap:2px;display:flex}.demo-more-list strong{color:var(--ink-strong);font-size:.88rem}.demo-more-list span{color:var(--muted);font-size:.8rem;line-height:1.45}.terms-gate-backdrop{z-index:2000;-webkit-backdrop-filter:blur(6px);background:#090c12b8;justify-content:center;align-items:center;padding:clamp(12px,4vw,48px);display:flex;position:fixed;inset:0}.terms-gate{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);width:min(520px,100%);max-height:90dvh;padding:clamp(22px,4vw,32px);overflow-y:auto;box-shadow:0 24px 64px #00000059}.terms-gate-eyebrow{font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:600}.terms-gate h2{letter-spacing:-.025em;color:var(--ink);margin:0 0 10px;font-size:1.4rem;font-weight:700;line-height:1.15}.terms-gate p{color:var(--ink-secondary);margin:0 0 10px;line-height:1.5}.terms-gate-version{font-family:var(--font-mono,ui-monospace, monospace);color:var(--muted);font-size:.75rem}.terms-gate-links{flex-wrap:wrap;gap:14px;margin:14px 0 20px;display:flex}.terms-gate-links a{color:var(--accent-text);font-weight:600;text-decoration:none}.terms-gate-links a:hover{text-decoration:underline}.terms-gate-error{color:var(--danger,#c0392b);margin:0 0 12px}.terms-gate-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.terms-gate-actions .btn-primary{border-radius:var(--radius-pill);background:var(--accent-text);font-weight:600}.terms-gate-actions .btn-primary:hover{background:var(--accent-hover)}.terms-gate-actions .btn-ghost{border-radius:var(--radius-pill);color:var(--accent-text);font-weight:600}.share-notice{border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;width:min(520px,100%);margin:48px auto;padding:20px}.share-notice h2{margin:0 0 8px;font-size:1.1rem}.share-notice p{color:var(--muted);margin:0}.auth-shell{justify-content:flex-start;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-4) var(--space-7)}@media (min-width:640px){.auth-shell{padding:var(--space-6) var(--space-5) var(--space-8);justify-content:center}}.auth-card{gap:var(--space-5);width:100%;max-width:560px;padding:var(--space-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-md);flex-direction:column;animation:.4s both fade-in;display:flex}@media (min-width:640px){.auth-card{padding:var(--space-6)}}.auth-card-head{gap:var(--space-2);flex-direction:column;display:flex}.auth-card-title{font-size:var(--text-xl);letter-spacing:-.01em;color:var(--ink-strong);margin:0;font-weight:650}.auth-lead{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.auth-section{gap:var(--space-4);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.auth-section:disabled{opacity:.6}.auth-legend{margin-bottom:var(--space-1);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;font-family:var(--font-mono);padding:0}.auth-field,.auth-card .field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.auth-field>label,.auth-card .field>label{font-size:var(--text-sm);color:var(--ink-secondary);font-weight:550}.auth-optional{color:var(--muted-faint);font-weight:400}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;color:var(--ink);min-height:var(--touch-target);transition:border-color var(--transition), box-shadow var(--transition);padding:10px 14px;font-size:1rem}.auth-card input[type=text]:focus,.auth-card input[type=email]:focus,.auth-card input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-card input[aria-invalid=true]{border-color:var(--danger)}.auth-card input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)}.auth-row{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.auth-row{grid-template-columns:1fr 1fr}}.auth-hint{font-size:var(--text-xs);color:var(--muted);margin:0;line-height:1.45}.auth-hint--warn{color:var(--warn-text)}.auth-hint--error{color:var(--danger-text)}.auth-notice{padding:var(--space-3) var(--space-4);border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);font-size:var(--text-xs);margin:0;line-height:1.45}.auth-error{padding:var(--space-3) var(--space-4);border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger-text);font-size:var(--text-sm);margin:0}.auth-alt{text-align:center;font-size:var(--text-sm);margin:0}.signup-plans{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (min-width:640px){.signup-plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.signup-plan{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);display:flex;position:relative}.signup-plan:hover{border-color:var(--accent-border);background:var(--bg-secondary)}.signup-plan.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.signup-plan>input[type=radio]{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.signup-plan>input[type=radio]:focus-visible+.signup-plan-body{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-xs)}.signup-plan-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.signup-plan-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.signup-plan-name{font-size:var(--text-lg);color:var(--ink-strong);font-weight:650}.signup-plan-price{color:var(--ink-strong);font-size:var(--text-base);white-space:nowrap;align-items:baseline;gap:2px;display:inline-flex}.signup-plan-period{font-size:var(--text-xs);color:var(--muted)}.signup-plan-specs{font-size:var(--text-xs);color:var(--muted);flex-direction:column;gap:2px;display:flex}.signup-plan-check{border:1.5px solid var(--border-strong);background:var(--bg-surface);width:22px;height:22px;transition:border-color var(--transition), background var(--transition);border-radius:50%;flex:none;margin-top:2px}.signup-plan.is-selected .signup-plan-check{border-color:var(--accent);background:radial-gradient(circle, #fff 0 32%, transparent 33%), var(--accent)}.signup-accept{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);font-size:var(--text-xs);color:var(--ink-secondary);cursor:pointer;line-height:1.5;display:flex}.signup-accept>input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none;margin:1px 0 0}.signup-accept a,.auth-alt a,.auth-lead a{color:var(--accent-text);text-underline-offset:2px;font-weight:550;text-decoration:underline}.signup-accept a:hover,.auth-alt a:hover,.auth-lead a:hover{color:var(--accent)}.signup-turnstile,.login-turnstile{gap:var(--space-2);flex-direction:column;display:flex}.login-turnstile{margin-top:var(--space-4)}.turnstile-slot{min-height:65px}.turnstile-slot iframe{max-width:100%}.btn-block{width:100%}.btn-lg{height:var(--touch-target);padding:0 var(--space-5);font-size:var(--text-base);border-radius:var(--radius-md);font-weight:600}a.btn-primary{text-decoration:none}.auth-card--done{text-align:center;align-items:center}.auth-done-mark{background:var(--success-soft);width:56px;height:56px;color:var(--success-text);border-radius:50%;justify-content:center;align-items:center;font-size:1.75rem;font-weight:700;display:flex}:root.dark{--bg:#000;--bg-surface:#1c1c1e;--bg-elevated:#2c2c2e;--bg-secondary:#2c2c2e;--bg-hover:#ffffff14;--bg-pressed:#ffffff1f;--bg-inset:#1c1c1e;--bg-canvas:#121214;--bg-canvas-elevated:#1e1e20;--glass-light:#1c1c1eb8;--glass-strong:#1c1c1eeb;--border:#ffffff26;--border-strong:#ffffff40;--border-focus:#0a84ff80;--grid:#ffffff0a;--ink:#fff;--ink-strong:#fff;--ink-secondary:#ebebf599;--muted:#98989d;--muted-faint:#ebebf54d;--ink-on-bg:#fff;--ink-on-bg-muted:#98989d;--ink-on-dark:#fff;--ink-on-dark-muted:#ffffffb3;--accent:#0a84ff;--accent-hover:#409cff;--accent-soft:#0a84ff33;--accent-border:#0a84ff66;--accent-text:#5eacff;--warn:#ff9f0a;--warn-soft:#ff9f0a33;--warn-border:#ff9f0a66;--warn-text:#ffb340;--success:#32d74b;--success-soft:#32d74b33;--success-border:#32d74b66;--success-text:#59df6e;--danger:#ff453a;--danger-soft:#ff453a33;--danger-border:#ff453a66;--danger-text:#ff6961;--axis-x:var(--danger-text);--axis-x-soft:var(--danger-soft);--axis-x-border:var(--danger-border);--axis-y:var(--success-text);--axis-y-soft:var(--success-soft);--axis-y-border:var(--success-border);--axis-z:var(--accent-text);--axis-z-soft:var(--accent-soft);--axis-z-border:var(--accent-border);--bg-bar:var(--glass-strong)}.action-tile{outline:none}.action-tile:hover,.action-tile:focus-visible{border-color:var(--border-strong)!important;background-color:var(--bg-secondary)!important}.language-toggle-container{display:inline-block;position:relative}.language-toggle-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:pointer;color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:14px;transition:background .2s;display:flex}.language-toggle-btn:hover{background:var(--bg-hover)}.language-toggle-flag{font-size:16px}.language-toggle-chevron{margin-left:4px;font-size:10px}.language-dropdown-menu{background:var(--bg-panel);border:1px solid var(--border-subtle);z-index:100;border-radius:8px;width:max-content;max-height:180px;margin-top:4px;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.language-dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:12px;padding:8px 16px;font-size:14px;transition:background .2s;display:flex}.language-dropdown-item:hover,.language-dropdown-item.active{background:var(--bg-hover)}.language-dropdown-item.active .language-dropdown-name{font-weight:600}.language-dropdown-name{font-weight:400}@media (min-width:900px){.doc-viewer-layout--with-sidepanel{flex-direction:row}.doc-viewer-layout--with-sidepanel .doc-viewer{flex:auto;min-width:0}}.doc-viewer-sidepanel{background:var(--bg-surface);border-bottom:1px solid var(--border);flex-direction:column;flex:none;width:100%;display:flex}@media (min-width:900px){.doc-viewer-sidepanel{border-bottom:0;border-right:1px solid var(--border);width:320px}}.doc-viewer-immersive .doc-viewer-sidepanel{width:var(--landscape-drawer-w,min(475px, 92vw));z-index:calc(var(--z-dropdown) + 50);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border);pointer-events:none;visibility:hidden;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility 0s linear .28s;position:absolute;top:0;bottom:0;left:0;transform:translate(-110%)}.doc-viewer-immersive .doc-viewer-sidepanel.is-open{pointer-events:auto;visibility:visible;transition:transform .28s cubic-bezier(.32,.72,0,1),visibility;transform:translate(0)}.doc-viewer-immersive .doc-viewer-canvas-area{transition:padding-left .28s cubic-bezier(.32,.72,0,1)}.doc-viewer-immersive.has-side-panel-open .doc-viewer-canvas-area{padding-left:var(--landscape-drawer-w,min(475px, 92vw))}.plan-highlight-poly{fill:#2563eb29;stroke:#2563eb;stroke-width:2px;stroke-linejoin:round;pointer-events:none;transition:opacity .12s}.plan-isolate-scrim{fill:#ffffffe0}.item-page-layout{flex-direction:column;gap:12px;margin-top:16px;display:flex}.item-page-col{flex-direction:column;gap:12px;display:flex}@media (min-width:1024px),(max-width:1023px) and (orientation:landscape){.item-page-layout{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}}:root{--search-blocks:#5b6bd6;--search-loose_pieces:#1f8fbf;--search-nested_pieces:#16a394;--search-comments:#d97a1e;--search-documents:#c0435e;--search-tasks:#3f9a43;--search-events:#9a7a12;--search-projects:#7b5cc4}:root.dark{--search-blocks:#8f9bf0;--search-loose_pieces:#5ec0ea;--search-nested_pieces:#52d1c2;--search-comments:#f2a458;--search-documents:#ec7c95;--search-tasks:#74c878;--search-events:#d8b646;--search-projects:#ae95ea}.search-tag--blocks{--tag-color:var(--search-blocks)}.search-tag--loose_pieces{--tag-color:var(--search-loose_pieces)}.search-tag--nested_pieces{--tag-color:var(--search-nested_pieces)}.search-tag--comments{--tag-color:var(--search-comments)}.search-tag--documents{--tag-color:var(--search-documents)}.search-tag--tasks{--tag-color:var(--search-tasks)}.search-tag--events{--tag-color:var(--search-events)}.search-tag--projects{--tag-color:var(--search-projects)}.search-page{flex-direction:column;gap:14px;width:100%;max-width:980px;margin:0 auto;display:flex}.search-bar{position:relative}.search-bar-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-bar-input{border-radius:var(--radius-pill);width:100%;height:52px;padding-left:48px;font-size:1.05rem}.search-scope,.search-tags,.search-criteria{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-scope>.label,.search-tags>.label,.search-criteria>.label{flex-basis:100%}.search-scope-chip,.search-criterion{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-surface);align-items:center;gap:4px;max-width:100%;padding:4px 6px 4px 12px;font-size:.85rem;display:inline-flex}.search-scope-chip:only-of-type{padding-right:12px}.search-scope-chip:not(:has(button)){padding-right:12px}.search-criterion.is-editing{border-color:var(--accent);background:var(--accent-soft)}.search-criterion-label{color:inherit;font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:320px;padding:0;overflow:hidden}.search-criterion-label:disabled{cursor:default}.search-chip-remove{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.search-chip-remove:hover{background:var(--bg-hover);color:var(--ink)}.search-criterion-add{border-radius:var(--radius-pill);width:auto;min-width:190px}.search-tag{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--bg-surface);color:var(--ink-secondary);cursor:pointer;transition:border-color var(--transition), background var(--transition), color var(--transition);align-items:center;gap:8px;padding:6px 14px;font-size:.88rem;display:inline-flex}.search-tag-dot{border:2px solid var(--tag-color,var(--muted));background:0 0;border-radius:50%;flex-shrink:0;width:10px;height:10px}.search-tag.is-active{border-color:var(--tag-color);color:var(--ink);background:color-mix(in srgb, var(--tag-color) 12%, var(--bg-surface))}.search-tag.is-active .search-tag-dot{background:var(--tag-color)}.search-tag.is-excluded{background:var(--bg-surface);color:var(--muted);border-style:dashed}.search-tag.is-excluded .search-tag-dot{background:0 0}.search-tag-count{font-variant-numeric:tabular-nums;color:var(--tag-color);font-size:.75rem;font-weight:700}.search-editor{border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--bg-surface);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.search-editor-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search-editor-options .input{flex:180px;width:auto;min-width:180px}.search-editor-options .search-editor-number{flex:0 140px;min-width:110px}.search-editor-check{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.search-editor-actions{gap:8px;display:flex}.search-notice{border:1px solid var(--warn-border);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn-text);padding:10px 14px;font-size:.85rem}.search-notice p{margin:0}.search-notice p+p{margin-top:4px}.search-status p{margin:0}.search-error{color:var(--danger-text)}.search-results{flex-direction:column;gap:18px;display:flex}.search-group{border-left:3px solid var(--tag-color);flex-direction:column;gap:8px;padding-left:12px;display:flex}.search-group-header{align-items:center;gap:8px;display:flex}.search-group-header .search-tag-dot{background:var(--tag-color)}.search-group-header h2{margin:0;font-size:1rem}.search-group-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.search-hits{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.search-hit{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);padding:10px 12px}.search-hit-main{align-items:flex-start;gap:10px;display:flex}.search-hit-main>svg{flex-shrink:0;margin-top:3px}.search-hit-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.search-hit-title{overflow-wrap:anywhere;align-items:center;gap:8px;font-weight:600;display:flex}.search-hit-path,.search-hit-snippet{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.search-hit-snippet{font-style:italic}.search-hit-badges{flex-wrap:wrap;gap:4px;display:flex}.search-badge{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--ink-secondary);background:var(--bg-secondary);padding:1px 8px;font-size:.75rem}.search-badge--warn{border-color:var(--warn-border);background:var(--warn-soft);color:var(--warn-text)}.search-hit-open{flex-shrink:0;align-self:center}.search-hit-choices{flex-direction:column;gap:8px;margin-top:10px;display:flex}.search-hit-choices p{margin:0;font-size:.85rem}.search-more{align-self:flex-start}.home-advanced-search{justify-content:flex-end;width:100%;max-width:640px;margin:-24px auto 0;padding:0 16px;display:flex}.home-advanced-search-link{color:var(--accent-text);align-items:center;gap:6px;font-size:.85rem;text-decoration:none;display:inline-flex}.home-advanced-search-link:hover{text-decoration:underline}.source-hero-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.source-hero-search{align-items:center;gap:6px;display:inline-flex}@media (max-width:600px){.search-hit-main{flex-wrap:wrap}.search-hit-open{justify-content:center;width:100%}.search-criterion-label{max-width:220px}}.search-empty-domains{margin:0;font-size:.85rem}