.dlp-root{z-index:var(--z-modal);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dlp-backdrop{-webkit-backdrop-filter:blur(4px);animation:dlp-fade-in var(--duration-base) var(--ease-standard);background:#191c1d80;position:absolute;inset:0}.dlp-sheet{width:100%;max-width:var(--layout-max-width,480px);background:var(--color-surface);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);border-top:1px solid var(--color-border);max-height:85vh;animation:dlp-slide-up .32s var(--ease-emphasized) forwards;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom,0px));flex-direction:column;display:flex;position:relative;overflow:hidden;transform:translateY(100%);box-shadow:0 -8px 32px #0000001f}@keyframes dlp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dlp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dlp-root.is-closing{pointer-events:none}.dlp-root.is-closing .dlp-backdrop{animation:dlp-fade-out .2s var(--ease-standard) forwards}.dlp-root.is-closing .dlp-sheet{animation:dlp-slide-down .2s var(--ease-standard) forwards}@keyframes dlp-fade-out{0%{opacity:1}to{opacity:0}}@keyframes dlp-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.dlp-handle{border-radius:var(--radius-full);background:var(--color-surface-variant);width:40px;height:6px;margin:var(--space-3) auto var(--space-1)}.dlp-header{padding:var(--space-2) var(--space-5) var(--space-3);border-bottom:1px solid var(--color-border)}.dlp-title{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold,600);color:var(--color-on-surface);line-height:1.3}.dlp-subtitle{font-size:var(--font-size-sm);color:var(--color-on-surface-variant);margin:0;line-height:1.4}.dlp-list{padding:var(--space-2) 0;flex:1;min-height:0;margin:0;list-style:none;overflow-y:auto}.dlp-row-wrap{padding:0 var(--space-3)}.dlp-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);text-align:left;cursor:pointer;color:var(--color-on-surface);font-family:inherit;font-size:var(--font-size-base);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;display:flex}.dlp-row:hover:not(:disabled){background:var(--color-surface-variant)}.dlp-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-md)}.dlp-row:active:not(:disabled){background:var(--color-primary-container);transform:scale(.99)}.dlp-row:disabled{cursor:not-allowed;opacity:.55}.dlp-row.is-busy{background:var(--color-primary-container)}.dlp-row-icon{background:var(--color-secondary-container);width:40px;height:40px;color:var(--color-on-secondary-container);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dlp-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dlp-row-name{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-semibold,600);font-size:var(--font-size-base);color:var(--color-on-surface);white-space:nowrap;text-overflow:ellipsis;display:inline-flex;overflow:hidden}.dlp-current-pill{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-container);color:var(--color-on-primary-container);flex-shrink:0;align-items:center;font-weight:700;display:inline-flex}.dlp-row-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dlp-row-time{font-size:var(--font-size-xs);color:var(--color-on-surface-variant)}.dlp-row-action{margin-left:var(--space-2);text-align:right;flex-shrink:0;justify-content:center;align-items:center;min-width:90px;display:inline-flex}.dlp-row-arrow{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-semibold,600);letter-spacing:.01em}.dlp-row-arrow--current{color:var(--color-on-surface-variant);font-weight:var(--font-weight-medium,500)}.dlp-row.is-current{background:var(--color-surface-container);cursor:default;opacity:.85}.dlp-platform-pill{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;padding:2px var(--space-2);border-radius:var(--radius-xs);background:var(--color-secondary-container);color:var(--color-on-secondary-container);align-items:center;font-weight:700;display:inline-flex}.dlp-platform-pill--android{background:var(--color-success-container);color:var(--color-on-success-container)}.dlp-platform-pill--ios{background:var(--color-primary-container);color:var(--color-on-primary-container)}.dlp-platform-pill--unknown{background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.dlp-spinner{border:2.5px solid var(--color-primary-fixed,#b0c6ff);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite dlp-spin;display:inline-block}@keyframes dlp-spin{to{transform:rotate(360deg)}}.dlp-error{margin:0 var(--space-4) var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-error-container);color:var(--color-on-error-container);border:1px solid var(--color-error);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.45}.dlp-actions{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;display:flex}.dlp-cancel{min-width:140px;height:44px;padding:0 var(--space-6);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold,600);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);background:0 0;border:none;font-family:inherit}.dlp-cancel:hover:not(:disabled),.dlp-cancel:focus-visible{background:var(--color-primary-container);outline:none}.dlp-cancel:focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.dlp-cancel:disabled{opacity:.45;cursor:not-allowed}@media (width>=600px){.dlp-sheet{border-radius:var(--radius-2xl);margin:var(--space-8) auto;border:1px solid var(--color-border);max-width:480px;padding-bottom:0}}.revocation-toast{left:50%;bottom:calc(var(--safe-bottom) + var(--space-6));z-index:99998;max-width:calc(100vw - var(--space-8));padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--color-inverse-surface);color:var(--color-inverse-on-surface);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);text-align:center;box-shadow:var(--shadow-4);pointer-events:none;position:fixed;transform:translate(-50%)}.bottom-nav{z-index:var(--z-nav);padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--color-surface) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--color-border);box-shadow:var(--shadow-1);position:fixed;bottom:0;left:0;right:0}.bottom-nav__inner{padding:var(--space-1) var(--space-2) var(--space-2);max-width:var(--layout-max-width);justify-content:space-around;align-items:stretch;margin:0 auto;display:flex}.nav-item{cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-spring);min-width:64px;color:var(--color-tab-inactive);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.nav-item:hover{color:var(--color-text)}.nav-item__pill{background:var(--color-primary-container);border-radius:var(--radius-md);z-index:0;animation:nav-pill-in .36s var(--ease-emphasized-decelerate);position:absolute;inset:2px 8px}@keyframes nav-pill-in{0%{opacity:0;transform:scaleX(.6)}to{opacity:1;transform:scaleX(1)}}.nav-item>.nav-icon,.nav-item>.nav-label{z-index:1;position:relative}.nav-item:active{transform:scale(.94)}.nav-item.active{color:var(--color-primary)}.nav-icon{width:28px;height:28px;transition:transform var(--duration-base) var(--ease-spring);justify-content:center;align-items:center;display:inline-flex}.nav-item.active .nav-icon{transform:translateY(-1px)}.nav-icon svg{display:block}.nav-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.01em;font-family:var(--font-sans)}.nav-item.active .nav-label{font-weight:var(--font-weight-bold)}body.modal-open .bottom-nav{display:none}.require-subscription{justify-content:center;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-12) var(--space-5);flex-direction:column;max-width:420px;min-height:60vh;margin:0 auto;display:flex}.require-subscription--loading{min-height:60vh}.require-subscription__spinner{border-radius:var(--radius-full);border:3px solid var(--color-surface-container-high);border-top-color:var(--color-primary);width:32px;height:32px;animation:.8s linear infinite require-subscription-spin}@keyframes require-subscription-spin{to{transform:rotate(360deg)}}.require-subscription__icon{background:var(--color-primary-container);width:64px;height:64px;color:var(--color-primary);border-radius:var(--radius-full);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:inline-flex}.require-subscription__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.require-subscription__body{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-3);line-height:var(--line-height-normal)}.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}.animated-loader{z-index:9999;background:var(--color-bg);color:var(--color-text);font-family:var(--font-display,"Inter", -apple-system, sans-serif);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0;overflow:hidden}.animated-loader__halo{background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 10%, transparent) 0%, transparent 65%);pointer-events:none;border-radius:50%;width:320px;height:320px;margin-top:-160px;margin-left:-160px;animation:2.4s ease-in-out infinite al-halo-breathe;position:absolute;top:38%;left:50%}.animated-loader__mark{z-index:1;width:132px;height:132px;filter:drop-shadow(0 14px 32px color-mix(in srgb, var(--color-primary) 22%, transparent));justify-content:center;align-items:center;animation:1.6s ease-in-out infinite al-icon-pulse;display:flex;position:relative}.animated-loader__mark img{object-fit:cover;object-position:center;width:96px;height:96px;display:block}.animated-loader__ecg{z-index:1;color:var(--color-primary);margin-top:4px;position:relative}.animated-loader__ecg path{stroke-dasharray:600;stroke-dashoffset:600px;animation:2.2s linear infinite al-ecg-draw}.animated-loader__wordmark{z-index:1;color:var(--color-text);letter-spacing:-.02em;margin-top:6px;font-size:1.75rem;font-weight:800;line-height:1.1;position:relative}.animated-loader__tagline{z-index:1;color:var(--color-text-secondary);letter-spacing:.01em;font-size:.95rem;font-weight:500;position:relative}.animated-loader__dots{z-index:1;gap:6px;margin-top:8px;display:inline-flex;position:relative}.animated-loader__dots .dot{background:var(--color-primary-light);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite al-dot-pulse}.animated-loader__dots .dot:nth-child(2){animation-delay:.2s}.animated-loader__dots .dot:nth-child(3){animation-delay:.4s}@media (prefers-reduced-motion:reduce){.animated-loader__halo,.animated-loader__mark,.animated-loader__ecg path,.animated-loader__dots .dot{animation:none!important}.animated-loader__ecg path{stroke-dashoffset:0}.animated-loader__dots .dot{background:var(--color-primary)}}@keyframes al-icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes al-halo-breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes al-ecg-draw{0%{stroke-dashoffset:600px}55%{stroke-dashoffset:0}to{stroke-dashoffset:-600px}}@keyframes al-dot-pulse{0%,to{background:var(--color-primary-light);transform:scale(1)}50%{background:var(--color-primary);transform:scale(1.4)}}.subscription-modal{z-index:var(--z-modal);animation:subscription-modal-fade var(--duration-base) var(--ease-standard);background:#00000080;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@keyframes subscription-modal-fade{0%{opacity:0}to{opacity:1}}.subscription-modal.is-closing{animation:subscription-modal-fade-out .2s var(--ease-standard) forwards;pointer-events:none}.subscription-modal.is-closing .subscription-modal__sheet{animation:subscription-modal-slide-down .2s var(--ease-standard) forwards}@keyframes subscription-modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes subscription-modal-slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.subscription-modal__sheet{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-4) var(--space-5) var(--space-5);width:100%;max-width:var(--layout-max-width);max-height:90vh;padding-bottom:calc(var(--space-5) + var(--safe-bottom));animation:subscription-modal-slide-up var(--duration-base) var(--ease-standard);overflow-y:auto}@keyframes subscription-modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.subscription-modal__handle{background:var(--color-surface-dim);border-radius:var(--radius-full);width:40px;height:4px;margin:0 auto var(--space-4)}.subscription-modal__header{margin-bottom:var(--space-4);position:relative}.subscription-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 var(--space-2);line-height:var(--line-height-tight);padding-right:var(--space-12)}.subscription-modal__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);padding-right:var(--space-12);margin:0}.subscription-modal__close{background:var(--color-surface-container);border-radius:var(--radius-full);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:-6px;right:-6px}.subscription-modal__close:hover:not(:disabled){background:var(--color-surface-container-high)}.subscription-modal__close:disabled{opacity:.5;cursor:not-allowed}.subscription-modal__banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4);line-height:var(--line-height-snug)}.subscription-modal__banner strong{font-weight:var(--font-weight-semibold)}.subscription-modal__banner--warning{background:var(--color-warning-container);color:var(--color-on-warning-container);border:1px solid var(--color-warning)}.subscription-modal__banner--neutral{background:var(--color-surface-container);color:var(--color-text);border:1px solid var(--color-border)}.subscription-modal__plans{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.subscription-modal__plan{text-align:left;background:var(--color-surface-container-low);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);width:100%;padding:var(--space-4);cursor:pointer;font-family:var(--font-sans);color:var(--color-text);transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-spring);display:block}.subscription-modal__plan:hover{border-color:var(--color-primary);background:var(--color-surface-container)}.subscription-modal__plan:active{transform:scale(.99)}.subscription-modal__plan.is-selected{background:var(--color-primary-container);border-color:var(--color-primary)}.subscription-modal__plan-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.subscription-modal__plan-label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text)}.subscription-modal__plan-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-success-container);color:var(--color-on-success-container);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.subscription-modal__plan-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-snug);margin:0}.subscription-modal__plan-discount{align-items:baseline;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.subscription-modal__plan-amount{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.subscription-modal__plan-strike{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:line-through}.subscription-modal__plan-pct{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-accent-container);color:var(--color-on-accent-container);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);margin-left:auto}.subscription-modal__info{gap:var(--space-2);background:var(--color-surface-container-low);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);flex-direction:column;display:flex}.subscription-modal__info-row{gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);display:flex}.subscription-modal__info-bullet{color:var(--color-primary);line-height:var(--line-height-normal);flex-shrink:0}.subscription-modal__info-row strong{font-weight:var(--font-weight-semibold);color:var(--color-text)}.subscription-modal__error{background:var(--color-error-container);color:var(--color-on-error-container);border:1px solid var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-4);line-height:var(--line-height-snug)}.subscription-modal__cta{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.subscription-modal__footnote{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;line-height:var(--line-height-normal);margin:0}:root{--color-primary:#0d47a1;--color-primary-hover:#0a3a8a;--color-primary-active:#082d6f;--color-primary-light:#b0c6ff;--color-primary-container:#d6e3ff;--color-on-primary:#fff;--color-on-primary-container:#001a41;--color-primary-fixed:#d6e3ff;--color-primary-fixed-dim:#b0c6ff;--color-on-primary-fixed:#001a41;--color-on-primary-fixed-variant:#00429c;--color-secondary:#5b5f71;--color-secondary-container:#e1e2f0;--color-on-secondary:#fff;--color-on-secondary-container:#181c2c;--color-secondary-fixed:#e1e2f0;--color-secondary-fixed-dim:#c5c7d6;--color-on-secondary-fixed:#181c2c;--color-on-secondary-fixed-variant:#3f4351;--color-tertiary:#715574;--color-tertiary-container:#fbd7fb;--color-on-tertiary:#fff;--color-on-tertiary-container:#29132d;--color-tertiary-fixed:#fbd7fb;--color-tertiary-fixed-dim:#f3daf8;--color-on-tertiary-fixed:#29132d;--color-on-tertiary-fixed-variant:#5b3a5e;--color-error:#ba1a1a;--color-error-container:#ffdad6;--color-on-error:#fff;--color-on-error-container:#410002;--color-success:#2e7d32;--color-success-container:#d7f3d8;--color-on-success:#fff;--color-on-success-container:#0a2e0d;--color-warning:#815700;--color-warning-container:#ffddae;--color-on-warning:#fff;--color-on-warning-container:#291800;--color-bg:#f8f9fa;--color-surface:#fff;--color-surface-variant:#e1e3e4;--color-surface-dim:#d9dbde;--color-surface-bright:#f8f9fa;--color-text:#191c1d;--color-text-secondary:#434652;--color-text-muted:#5f6472;--color-text-disabled:#b1b3b8;--color-on-surface:#191c1d;--color-on-surface-variant:#434652;--color-on-bg:#191c1d;--color-inverse-surface:#2e3132;--color-inverse-on-surface:#f0f1f2;--color-inverse-primary:#b0c6ff;--color-outline:#737783;--color-outline-variant:#c3c6cf;--color-border:#e1e3e4;--color-border-strong:#c3c6cf;--color-divider:#e1e3e4;--color-tab-active:var(--color-primary);--color-tab-inactive:#5b5f71;--color-bookmark:var(--color-accent);--color-link:var(--color-primary);--color-accent:#f59e0b;--color-accent-hover:#d97706;--color-accent-strong:#d97706;--color-accent-container:#fef3c7;--color-on-accent:#fff;--color-on-accent-container:#451a03;--color-surface-container-lowest:#fff;--color-surface-container-low:#f3f4f5;--color-surface-container:#edeeef;--color-surface-container-high:#e7e8e9;--color-surface-container-highest:#e1e3e4;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.75rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-display:3rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.625;--text-display-size:2.5rem;--text-display-weight:800;--text-display-line:1.15;--text-display-tracking:-.025em;--text-headline-lg-size:1.75rem;--text-headline-lg-weight:700;--text-headline-lg-line:1.2;--text-headline-lg-tracking:-.02em;--text-headline-md-size:1.375rem;--text-headline-md-weight:700;--text-headline-md-line:1.25;--text-headline-md-tracking:-.015em;--text-headline-sm-size:1.125rem;--text-headline-sm-weight:700;--text-headline-sm-line:1.3;--text-headline-sm-tracking:-.01em;--text-title-lg-size:1.125rem;--text-title-lg-weight:600;--text-title-lg-line:1.35;--text-title-lg-tracking:-.005em;--text-title-md-size:1rem;--text-title-md-weight:600;--text-title-md-line:1.4;--text-title-md-tracking:0;--text-title-sm-size:.9375rem;--text-title-sm-weight:600;--text-title-sm-line:1.4;--text-title-sm-tracking:0;--text-body-lg-size:1.0625rem;--text-body-lg-weight:400;--text-body-lg-line:1.55;--text-body-lg-tracking:0;--text-body-size:1rem;--text-body-weight:400;--text-body-line:1.55;--text-body-tracking:0;--text-body-sm-size:.9375rem;--text-body-sm-weight:400;--text-body-sm-line:1.5;--text-body-sm-tracking:0;--text-label-size:.75rem;--text-label-weight:600;--text-label-line:1.2;--text-label-tracking:.06em;--text-overline-size:.6875rem;--text-overline-weight:700;--text-overline-line:1.2;--text-overline-tracking:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:28px;--radius-full:9999px;--shadow-1:0 1px 2px #0d47a10a, 0 1px 3px #0d47a10f;--shadow-2:0 2px 4px #0d47a10d, 0 4px 12px #0d47a114;--shadow-3:0 4px 8px #0d47a10f, 0 8px 24px #0d47a11a;--shadow-4:0 8px 16px #0d47a114, 0 16px 40px #0d47a11f;--shadow-5:0 12px 24px #0d47a11a, 0 24px 56px #0d47a124;--shadow-glow-primary:0 8px 24px #0d47a140;--shadow-glow-soft:0 4px 16px #0d47a11f;--gradient-brand:linear-gradient(135deg, #0d47a1 0%, #1565c0 100%);--gradient-brand-soft:linear-gradient(135deg, #d6e3ff 0%, #fff 70%);--gradient-progress:linear-gradient(90deg, var(--color-primary), var(--color-tertiary));--gradient-accent:linear-gradient(135deg, var(--color-accent) 0%, #f97316 100%);--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.05, .7, .1, 1);--ease-emphasized-decelerate:cubic-bezier(.05, .7, .1, 1);--ease-emphasized-accelerate:cubic-bezier(.3, 0, .8, .15);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-spring-soft:cubic-bezier(.5, 1.5, .6, 1);--duration-fast:.12s;--duration-base:.24s;--duration-slow:.5s;--layout-max-width:780px;--bottom-nav-height:74px;--top-bar-height:64px;--safe-bottom:env(safe-area-inset-bottom);--safe-top:env(safe-area-inset-top);--z-base:1;--z-nav:50;--z-overlay:80;--z-modal:100;--z-toast:120;--admin-primary:#003178;--admin-primary-hover:#002560;--admin-primary-container:#0d47a1;--admin-on-primary-container:#a1bbff;--admin-primary-fixed:#d9e2ff;--admin-secondary-container:#c6e4f4;--admin-on-secondary-container:#4a6774;--admin-tertiary:#003f0b;--admin-tertiary-container:#005914;--admin-on-tertiary:#fff;--admin-on-tertiary-container:#7ecf79;--admin-tertiary-fixed:#a3f69c;--admin-on-tertiary-fixed:#002204;--admin-on-tertiary-fixed-variant:#005312;--admin-on-primary-fixed:#001945;--admin-secondary:#466270;--admin-secondary-fixed:#c9e7f7;--admin-on-secondary-fixed:#001f2a;--admin-secondary-fixed-dim:#adcbda;--admin-on-secondary-fixed-variant:#2e4b57;--admin-primary-fixed-dim:#b0c6ff;--admin-on-primary-fixed-variant:#00429c;--admin-surface:#f8f9fa;--admin-surface-container:#edeeef;--admin-surface-container-high:#e7e8e9;--admin-surface-container-highest:#e1e3e4;--admin-surface-container-low:#f3f4f5;--admin-surface-container-lowest:#fff;--admin-surface-dim:#d9dadb;--admin-surface-bright:#f8f9fa;--admin-surface-variant:#e1e3e4;--admin-surface-tint:#2b5bb5;--admin-on-surface:#191c1d;--admin-on-surface-variant:#434652;--admin-outline:#737783;--admin-outline-variant:#c3c6d4;--admin-inverse-surface:#2e3132;--admin-inverse-on-surface:#f0f1f2;--admin-inverse-primary:#b0c6ff;--admin-error-container:#ffdad6;--admin-on-error-container:#93000a;--admin-sidebar-width:256px;--admin-topbar-height:64px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-surface:#0a0a0b;--color-surface-dim:#0a0a0b;--color-surface-bright:#2a2a2f;--color-surface-variant:#2a2a2f;--color-surface-container-lowest:#0a0a0b;--color-surface-container-low:#141416;--color-surface-container:#141416;--color-surface-container-high:#1c1c1f;--color-surface-container-highest:#1c1c1f;--color-on-surface:#fafafa;--color-on-surface-variant:#a1a1aa;--color-on-bg:#fafafa;--color-text:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#8b8b94;--color-text-disabled:#52525b;--color-outline:#2a2a2f;--color-outline-variant:#1f1f23;--color-border:#2a2a2f;--color-border-strong:#3a3a40;--color-divider:#1f1f23;--color-surface-tint:#38bdf8;--color-primary:#38bdf8;--color-primary-hover:#7dd3fc;--color-primary-active:#0ea5e9;--color-primary-light:#7dd3fc;--color-primary-container:#38bdf82e;--color-on-primary:#0a0a0b;--color-on-primary-container:#fafafa;--color-primary-fixed:#38bdf82e;--color-primary-fixed-dim:#38bdf81a;--color-on-primary-fixed:#0a0a0b;--color-on-primary-fixed-variant:#fafafa;--color-secondary:#a1a1aa;--color-secondary-container:#a1a1aa2e;--color-on-secondary:#0a0a0b;--color-on-secondary-container:#fafafa;--color-secondary-fixed:#a1a1aa2e;--color-secondary-fixed-dim:#a1a1aa1a;--color-on-secondary-fixed:#0a0a0b;--color-on-secondary-fixed-variant:#fafafa;--color-tertiary:#a78bfa;--color-tertiary-container:#a78bfa2e;--color-on-tertiary:#0a0a0b;--color-on-tertiary-container:#c4b5fd;--color-tertiary-fixed:#a78bfa2e;--color-tertiary-fixed-dim:#a78bfa1a;--color-on-tertiary-fixed:#0a0a0b;--color-on-tertiary-fixed-variant:#c4b5fd;--color-error:#ef4444;--color-error-container:#ef44441f;--color-on-error:#0a0a0b;--color-on-error-container:#fca5a5;--color-success:#10b981;--color-success-container:#10b9811f;--color-on-success:#0a0a0b;--color-on-success-container:#6ee7b7;--color-warning:#f59e0b;--color-warning-container:#f59e0b1f;--color-on-warning:#0a0a0b;--color-on-warning-container:#fcd34d;--color-info:#a78bfa;--color-info-container:#a78bfa1f;--color-on-info-container:#c4b5fd;--color-brand-blue-accent:#38bdf8;--color-inverse-surface:#fafafa;--color-inverse-on-surface:#0a0a0b;--color-inverse-primary:#0ea5e9;--color-tab-active:var(--color-primary);--color-tab-inactive:#71717a;--color-bookmark:var(--color-accent);--color-link:var(--color-primary);--color-accent:#f59e0b;--color-accent-hover:#fbbf24;--color-accent-strong:#fbbf24;--color-accent-container:#f59e0b1f;--color-on-accent:#0a0a0b;--color-on-accent-container:#fcd34d;--color-streak:#a78bfa;--shadow-1:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-2:0 2px 4px #0006, 0 4px 12px #00000059;--shadow-3:0 4px 8px #00000080, 0 8px 24px #0006;--shadow-4:0 8px 16px #0000008c, 0 16px 40px #00000073;--shadow-5:0 12px 24px #0009, 0 24px 56px #00000080;--shadow-glow-primary:0 8px 24px #38bdf840;--shadow-glow-soft:0 4px 16px #38bdf826;--gradient-brand:linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);--gradient-brand-soft:linear-gradient(135deg, #050506 0%, #141416 70%);--gradient-progress:linear-gradient(90deg, var(--color-primary), var(--color-tertiary));--gradient-accent:linear-gradient(135deg, var(--color-accent) 0%, #f97316 100%);--gradient-brand-start:#0ea5e9;--gradient-brand-end:#38bdf8;--font-display:"Space Grotesk", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#000;--color-surface:#0a0a0b;--color-surface-dim:#0a0a0b;--color-surface-bright:#2a2a2f;--color-surface-variant:#2a2a2f;--color-surface-container-lowest:#0a0a0b;--color-surface-container-low:#141416;--color-surface-container:#141416;--color-surface-container-high:#1c1c1f;--color-surface-container-highest:#1c1c1f;--color-on-surface:#fafafa;--color-on-surface-variant:#a1a1aa;--color-on-bg:#fafafa;--color-text:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#8b8b94;--color-text-disabled:#52525b;--color-outline:#2a2a2f;--color-outline-variant:#1f1f23;--color-border:#2a2a2f;--color-border-strong:#3a3a40;--color-divider:#1f1f23;--color-surface-tint:#38bdf8;--color-primary:#38bdf8;--color-primary-hover:#7dd3fc;--color-primary-active:#0ea5e9;--color-primary-light:#7dd3fc;--color-primary-container:#38bdf82e;--color-on-primary:#0a0a0b;--color-on-primary-container:#fafafa;--color-primary-fixed:#38bdf82e;--color-primary-fixed-dim:#38bdf81a;--color-on-primary-fixed:#0a0a0b;--color-on-primary-fixed-variant:#fafafa;--color-secondary:#a1a1aa;--color-secondary-container:#a1a1aa2e;--color-on-secondary:#0a0a0b;--color-on-secondary-container:#fafafa;--color-secondary-fixed:#a1a1aa2e;--color-secondary-fixed-dim:#a1a1aa1a;--color-on-secondary-fixed:#0a0a0b;--color-on-secondary-fixed-variant:#fafafa;--color-tertiary:#a78bfa;--color-tertiary-container:#a78bfa2e;--color-on-tertiary:#0a0a0b;--color-on-tertiary-container:#c4b5fd;--color-tertiary-fixed:#a78bfa2e;--color-tertiary-fixed-dim:#a78bfa1a;--color-on-tertiary-fixed:#0a0a0b;--color-on-tertiary-fixed-variant:#c4b5fd;--color-error:#ef4444;--color-error-container:#ef44441f;--color-on-error:#0a0a0b;--color-on-error-container:#fca5a5;--color-success:#10b981;--color-success-container:#10b9811f;--color-on-success:#0a0a0b;--color-on-success-container:#6ee7b7;--color-warning:#f59e0b;--color-warning-container:#f59e0b1f;--color-on-warning:#0a0a0b;--color-on-warning-container:#fcd34d;--color-info:#a78bfa;--color-info-container:#a78bfa1f;--color-on-info-container:#c4b5fd;--color-brand-blue-accent:#38bdf8;--color-inverse-surface:#fafafa;--color-inverse-on-surface:#0a0a0b;--color-inverse-primary:#0ea5e9;--color-tab-active:var(--color-primary);--color-tab-inactive:#71717a;--color-bookmark:var(--color-accent);--color-link:var(--color-primary);--color-accent:#f59e0b;--color-accent-hover:#fbbf24;--color-accent-strong:#fbbf24;--color-accent-container:#f59e0b1f;--color-on-accent:#0a0a0b;--color-on-accent-container:#fcd34d;--color-streak:#a78bfa;--shadow-1:0 1px 2px #0006, 0 1px 3px #0000004d;--shadow-2:0 2px 4px #0006, 0 4px 12px #00000059;--shadow-3:0 4px 8px #00000080, 0 8px 24px #0006;--shadow-4:0 8px 16px #0000008c, 0 16px 40px #00000073;--shadow-5:0 12px 24px #0009, 0 24px 56px #00000080;--shadow-glow-primary:0 8px 24px #38bdf840;--shadow-glow-soft:0 4px 16px #38bdf826;--gradient-brand:linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);--gradient-brand-soft:linear-gradient(135deg, #050506 0%, #141416 70%);--gradient-progress:linear-gradient(90deg, var(--color-primary), var(--color-tertiary));--gradient-accent:linear-gradient(135deg, var(--color-accent) 0%, #f97316 100%);--gradient-brand-start:#0ea5e9;--gradient-brand-end:#38bdf8}}:root{--color-primary-dark:var(--color-primary-hover);--color-primary-light:var(--color-primary-light);font-family:var(--font-sans);font-size:16px;line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{margin:0;padding:0}#root{min-height:100vh}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-main{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-4));flex:1}.loading-screen{min-height:60vh;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:.9rem;display:flex}h1,h2{font-family:var(--font-display);font-weight:var(--text-headline-lg-weight);font-size:var(--text-headline-lg-size);line-height:var(--text-headline-lg-line);letter-spacing:var(--text-headline-lg-tracking);color:var(--color-text);margin:0}h3{font-family:var(--font-display);font-weight:var(--text-headline-md-weight);font-size:var(--text-headline-md-size);line-height:var(--text-headline-md-line);letter-spacing:var(--text-headline-md-tracking);color:var(--color-text);margin:0}h4{font-family:var(--font-sans);font-weight:700;font-size:var(--font-size-base);line-height:var(--line-height-snug);letter-spacing:-.005em;color:var(--color-text);margin:0}h5,h6{font-family:var(--font-sans);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}p{margin:0}a{color:var(--color-primary);text-decoration:none}.surface-lift{transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.surface-lift:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.tap{transition:transform var(--duration-fast) var(--ease-spring)}.tap:active{transform:scale(.97)}button{font-family:var(--font-sans);cursor:pointer}button:disabled{cursor:not-allowed}input,textarea,select{font-family:var(--font-sans);color:var(--color-text);font-size:.9rem}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@supports not selector(:focus-visible){:focus{outline:2px solid var(--color-primary);outline-offset:2px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.error-boundary{text-align:center;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.eb-icon{color:var(--color-error);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.error-boundary h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 .5rem}.eb-message{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:480px;margin:0 0 1.5rem}.eb-actions{gap:.75rem;display:flex}.eb-btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;padding:.6rem 1.5rem}.eb-btn-primary:hover{opacity:.9}.eb-btn-ghost{color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;padding:.6rem 1.5rem}.eb-btn-ghost:hover{background:var(--color-surface)}@keyframes dnb-fade-in{0%{opacity:0}to{opacity:1}}.app-main>*{animation:dnb-fade-in .32s var(--ease-emphasized-decelerate) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
