:root{--sans:system-ui, "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text:#e5e7eb;--text-h:#f9fafb;--text-muted:#a8b0c0;--text-secondary:#b4bcc9;--text-subtle:#7c8798;--text-prose:#cbd5e1;--text-elevated:#e2e8f0;--border:#1f2937;--code-bg:#020617;--accent:#4f46e5;--accent-bg:#4f46e514;--accent-border:#818cf8cc;--link-sky:#7dd3fc;--focus-ring:#38bdf8;--success-fg:#bbf7d0;--error-fg:#fca5a5;--danger-fg:#fecaca;--app-bg:radial-gradient(circle at top left, #111827 0, #020617 40%, #000 100%);--header-bg:#0f172adb;--header-border:#94a3b82e;--surface-0:#020617;--surface-1:#0f172a8c;--surface-2:#1e293b99;--surface-3:#1e293b59;--surface-inset:#020617a6;--surface-toolbar:#374151d9;--surface-toolbar-hover:#4b5563f2;--surface-card:radial-gradient(circle at top left, #020617, #020617 40%, #030712);--surface-album-card:#1f2937;--surface-collage:#0f172a;--border-default:#94a3b859;--border-subtle:#94a3b82e;--border-muted:#94a3b840;--border-strong:#94a3b880;--border-hairline:#94a3b81f;--border-teal:#5eead426;--shadow-modal:0 24px 60px #0f172af2, 0 0 0 1px #0f172ae6;--shadow-dropdown:0 18px 45px #0f172ad9, 0 0 0 1px #0f172acc;--shadow-card:0 14px 35px #0f172ab3;--modal-backdrop:#0f172acc;--mobile-backdrop:#00000080;--nav-link-hover-bg:#94a3b824;--dropdown-item-hover-bg:#374151e6;--nav-active-gradient:radial-gradient(circle at top left, #4f46e5, #06b6d4);--logo-color:#e5e7eb;--footer-text:#6b7280;--weather-badge-bg:#0f766e29;--weather-badge-fg:#a5f3fc;--weather-badge-muted-bg:#4b55634d;--weather-badge-muted-fg:#d1d5db;--weather-panel-bg:linear-gradient(165deg, #0f172a 0%, #020617 55%, #0c1222 100%);--weather-panel-border:#38bdf840;--weather-panel-shadow:0 20px 50px #0000008c, 0 0 0 1px #0f172acc;--weather-title:#f1f5f9;--weather-temp-high:#fef3c7;--weather-hourly-temp:#fde68a;--weather-wind-dir:#bae6fd;--weather-row-border:#33415580;--hp-line:#94a3b82e;--home-hp-accent:#5eead4;--home-hp-accent-dim:#5eead41f;--home-hp-line:#94a3b82e;--hp-ghost-bg:#0f172a80;--hp-ghost-border:#94a3b859;--hp-ghost-hover-bg:#1e293ba6;--hp-ghost-hover-border:#5eead473;--hp-primary-shadow:0 8px 28px #0f172a73;--hp-frame-bg:#0f172a73;--hp-card-bg:#0f172a8c;--hp-work-bg:#020617a6;--pp-msi-bg:linear-gradient(165deg, #5eead40f 0%, #0f172aa6 45%, #020617e6 100%);--pp-msi-border:#5eead424;--pp-msi-shadow:0 16px 48px #00000040;--pp-msi-block-bg:#02061773;--portfolio-line:#94a3b829;--portfolio-accent:#5eead48c;--portfolio-accent-border:#5eead433;--burger-line:#e5e7eb;--btn-ghost-border:#94a3b899;--hero-lottie-bg:linear-gradient(165deg, #f4f5f8 0%, #e8eaef 45%, #dfe2e8 100%);--hero-lottie-border:#ffffff59;--hero-lottie-shadow:0 0 0 1px #0f172a0f, 0 10px 28px #0f172a47, 0 4px 12px #0f172a1f;--orb-ring-border:#94a3b859;--mobile-panel-bg:linear-gradient(180deg, #020617 0%, #0f172a 100%);--scrollbar-thumb:#64748b73;--fb-primary-btn:#2563eb;--fb-primary-btn-hover:#1d4ed8;--fb-upload-bg:#22c55e1f;--fb-upload-border:#4ade8040;--album-badge-bg:#6366f140;--album-badge-fg:#c7d2fe;--dashboard-link:#93c5fd;--dashboard-link-hover:#bfdbfe;--dashboard-desc:#60a5fa;--dashboard-meta:#d1d5db;--btn-on-primary:#fff;--fb-lightbox-bg:#111827;--mosaic-cell-bg:#111827;--surface-drop:#0f172a80;--surface-mobile-details:#0f172a80;--card-hover-bg:#1e293b59;--badge-subtle-bg:#374151cc;--tag-bg:#1f2937d9;--dashboard-logo-bg:#0f172ae6;--rss-card-bg:#1e293b80;--rss-card-border:#94a3b838;--rss-summary-fg:#cbd5e1;--field-border:#94a3b861;--fb-lightbox-fg:#fff;--fb-lightbox-muted:#ffffffbf;--focus-outline-blue:#3b82f6;font:16px/150% var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light] .fb-cover-mode-hint{color:var(--dashboard-desc);background:#2563eb1a;border-color:#2563eb40}[data-theme=light]{--text:#1e293b;--text-h:#0f172a;--text-muted:#64748b;--text-secondary:#475569;--text-subtle:#64748b;--text-prose:#334155;--text-elevated:#0f172a;--border:#e2e8f0;--code-bg:#f1f5f9;--accent-bg:#4f46e51f;--accent-border:#4f46e573;--link-sky:#0369a1;--focus-ring:#0284c7;--success-fg:#166534;--error-fg:#b91c1c;--danger-fg:#b91c1c;--app-bg:radial-gradient(circle at top left, #f8fafc 0%, #e2e8f0 45%, #f1f5f9 100%);--header-bg:#ffffffeb;--header-border:#0f172a14;--surface-0:#fff;--surface-1:#f1f5f9fa;--surface-2:#e2e8f0f2;--surface-3:#f1f5f9e6;--surface-inset:#f8fafcf2;--surface-toolbar:#e2e8f0f2;--surface-toolbar-hover:#cbd5e1f2;--surface-card:linear-gradient(165deg, #fff 0%, #f8fafc 100%);--surface-album-card:#f1f5f9;--surface-collage:#e2e8f0;--border-default:#0f172a1f;--border-subtle:#0f172a14;--border-muted:#0f172a1a;--border-strong:#0f172a2e;--border-hairline:#0f172a14;--border-teal:#0d948833;--shadow-modal:0 24px 60px #0f172a1f, 0 0 0 1px #0f172a0f;--shadow-dropdown:0 18px 45px #0f172a1f, 0 0 0 1px #0f172a0f;--shadow-card:0 14px 35px #0f172a14;--modal-backdrop:#0f172a73;--mobile-backdrop:#0f172a59;--nav-link-hover-bg:#0f172a0f;--dropdown-item-hover-bg:#0f172a0f;--logo-color:#0f172a;--footer-text:#64748b;--weather-badge-bg:#0d948826;--weather-badge-fg:#0f766e;--weather-badge-muted-bg:#94a3b840;--weather-badge-muted-fg:#475569;--weather-panel-bg:linear-gradient(165deg, #fff 0%, #f1f5f9 55%, #e2e8f0 100%);--weather-panel-border:#0ea5e940;--weather-panel-shadow:0 20px 50px #0f172a1a, 0 0 0 1px #0f172a0f;--weather-title:#0f172a;--weather-temp-high:#b45309;--weather-hourly-temp:#a16207;--weather-wind-dir:#0369a1;--weather-row-border:#0f172a14;--hp-line:#0f172a1a;--home-hp-accent:#0d9488;--home-hp-accent-dim:#0d94881f;--home-hp-line:#0f172a1a;--hp-ghost-bg:#ffffffd9;--hp-ghost-border:#0f172a26;--hp-ghost-hover-bg:#f1f5f9fa;--hp-ghost-hover-border:#0d948859;--hp-primary-shadow:0 8px 28px #0f172a1a;--hp-frame-bg:#ffffffeb;--hp-card-bg:#ffffffe6;--hp-work-bg:#f8fafcfa;--pp-msi-bg:linear-gradient(165deg, #0d948814 0%, #f1f5f9f2 55%, #e2e8f0f2 100%);--pp-msi-border:#0d94882e;--pp-msi-shadow:0 16px 48px #0f172a14;--pp-msi-block-bg:#ffffffd9;--portfolio-line:#0f172a1a;--portfolio-accent:#0d948873;--portfolio-accent-border:#0d948840;--burger-line:#1e293b;--btn-ghost-border:#0f172a33;--hero-lottie-bg:linear-gradient(165deg, #fff 0%, #f1f5f9 45%, #e2e8f0 100%);--hero-lottie-border:#0f172a1a;--hero-lottie-shadow:0 0 0 1px #0f172a0f, 0 10px 28px #0f172a1a, 0 4px 12px #0f172a0f;--orb-ring-border:#0f172a26;--mobile-panel-bg:linear-gradient(180deg, #fff 0%, #f1f5f9 100%);--scrollbar-thumb:#64748b59;--fb-primary-btn:#2563eb;--fb-primary-btn-hover:#1d4ed8;--fb-upload-bg:#22c55e26;--fb-upload-border:#16a34a59;--album-badge-bg:#6366f12e;--album-badge-fg:#4338ca;--dashboard-link:#1d4ed8;--dashboard-link-hover:#1e40af;--dashboard-desc:#2563eb;--dashboard-meta:#64748b;--btn-on-primary:#fff;--fb-lightbox-bg:#e2e8f0;--mosaic-cell-bg:#e2e8f0;--surface-drop:#f1f5f9f2;--surface-mobile-details:#ffffffe6;--card-hover-bg:#0f172a0a;--badge-subtle-bg:#94a3b840;--tag-bg:#e2e8f0f2;--dashboard-logo-bg:#fffffff2;--rss-card-bg:#fff;--rss-card-border:#0f172a1f;--rss-summary-fg:#334155;--field-border:#0f172a29;--fb-lightbox-fg:#fff;--fb-lightbox-muted:#ffffffbf;--focus-outline-blue:#2563eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-.04em;margin:0 0 8px;font-size:32px}h2{letter-spacing:-.02em;margin:0 0 8px;font-size:20px;line-height:1.2}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.theme-toggle{background:var(--nav-link-hover-bg);width:36px;height:36px;color:var(--text);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:background .18s ease-out,color .18s ease-out;display:inline-flex}.theme-toggle:hover{background:var(--surface-toolbar-hover);color:var(--text-h)}.theme-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}body{background:var(--app-bg);color:var(--text);margin:0}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--header-border);flex-direction:column;align-items:stretch;min-height:64px;padding:0;display:flex;position:sticky;top:0}.app-header-row{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:64px;padding:0 32px;display:flex}.app-header-row .logo{flex-shrink:0}.nav-desktop{flex:1;justify-content:center}.nav-right-desktop{flex-shrink:0}.nav-mobile-bar,.nav-mobile-backdrop,.nav-mobile-panel{display:none}.logo a{color:var(--logo-color);letter-spacing:.08em;text-transform:uppercase;font-size:14px;font-weight:600;text-decoration:none}.nav,.nav-right{align-items:center;gap:16px;display:flex}.nav-notes-btn{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .18s ease-out,background-color .18s ease-out;display:inline-flex}.nav-notes-btn:hover{color:var(--text);background-color:var(--nav-link-hover-bg)}.nav-notes-btn--open{color:var(--text);background:var(--nav-active-gradient)}.notes-modal-backdrop{z-index:55;padding:max(10px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));justify-content:center;align-items:center}.notes-modal{flex-direction:column;width:min(94vw,1280px);max-width:100%;height:min(88dvh,820px);min-height:0;max-height:min(92dvh,100dvh - 24px);padding:0;display:flex;overflow:hidden}.notes-modal--resizable{resize:both;box-sizing:border-box;min-width:min(560px,94vw);min-height:min(420px,70dvh);overflow:auto;max-width:min(96vw,1680px)!important;max-height:min(94dvh,980px)!important}.notes-modal__header{border-bottom:1px solid var(--border-strong);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px 12px;display:flex}.notes-modal__header h2{margin:0;font-size:1.15rem}.notes-widget--modal{flex-direction:column;flex:auto;min-height:0;padding:clamp(10px,2vw,16px) clamp(14px,2.5vw,22px) clamp(12px,2vw,20px);display:flex;overflow:hidden}.notes-panel{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.notes-panel__toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notes-panel__save{color:var(--text-secondary);margin-left:auto;font-size:12px}.notes-panel__error{margin:0}.notes-panel__empty{color:var(--text-secondary);margin:0;font-size:14px}.notes-widget--modal .notes-panel__main{flex:auto;min-height:min(200px,36dvh);max-height:min(75dvh,880px)}.notes-panel__main{border:1px solid var(--border-strong);background:var(--surface-1,var(--surface-0));border-radius:12px;gap:0;min-height:200px;display:flex;overflow:hidden}.notes-panel__list{border-right:1px solid var(--border-strong);-webkit-overflow-scrolling:touch;flex-shrink:0;width:min(220px,38%);overflow:auto}.notes-panel__list ul{margin:0;padding:6px;list-style:none}.notes-panel__list li{margin:0}.notes-panel__list-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-size:13px;transition:background-color .15s ease-out;display:flex}.notes-panel__list-item:hover{background:var(--nav-link-hover-bg)}.notes-panel__list-item--active{background:var(--nav-active-gradient)}.notes-panel__list-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.notes-panel__list-date{color:var(--text-secondary);font-size:11px}.notes-panel__editor{flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;padding:12px;display:flex}.notes-panel__editor-head{flex-direction:column;align-items:stretch;gap:10px;display:flex}.notes-panel__title-label{width:100%;min-width:0}.notes-panel__title-input{border:1px solid var(--border-strong);background:var(--surface-0);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:600}.notes-panel__editor-actions{flex-shrink:0;justify-content:flex-end;display:flex}.notes-panel__delete{flex-shrink:0}.notes-panel__body{resize:none;border:1px solid var(--border-strong);background:var(--surface-0);min-height:120px;color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.45}@media (width<=560px){.notes-modal-backdrop{padding-top:max(8px, env(safe-area-inset-top,0px));align-items:flex-start}.notes-modal{width:100%;height:min(94dvh,100dvh - 16px);max-height:min(94dvh,100dvh - 16px)}.notes-widget--modal .notes-panel__main{max-height:min(68dvh,560px)}.notes-panel__main{flex-direction:column}.notes-panel__list{border-right:none;border-bottom:1px solid var(--border-strong);width:100%;max-height:min(150px,28dvh)}}@media (width>=1200px){.notes-modal{width:min(92vw,1480px);height:min(86dvh,880px);max-height:min(90dvh,960px)}.notes-widget--modal .notes-panel__main{max-height:min(76dvh,900px)}}@media (width>=1600px){.notes-modal{width:min(90vw,1680px)}}.nav-link{color:var(--text-muted);border-radius:999px;align-items:center;padding:4px 8px;font-size:14px;text-decoration:none;transition:color .18s ease-out,background-color .18s ease-out;display:inline-flex;position:relative}.nav-link:hover{color:var(--text);background-color:var(--nav-link-hover-bg)}.nav-link.active{color:var(--text);background:var(--nav-active-gradient)}.nav-dropdown{position:relative}.nav-dropdown-trigger{cursor:pointer;background:0 0;border:none}.nav-dropdown-caret{margin-left:4px;font-size:10px}.nav-dropdown-menu{background:var(--surface-0);border:1px solid var(--border-strong);min-width:200px;box-shadow:var(--shadow-dropdown);border-radius:12px;padding:8px;position:absolute;top:110%;left:0}.nav-dropdown-item{color:var(--text);border-radius:8px;padding:6px 10px;font-size:14px;text-decoration:none;display:block}.nav-dropdown-item:hover{background:var(--dropdown-item-hover-bg)}.weather-badge{background:var(--weather-badge-bg);color:var(--weather-badge-fg);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.weather-badge--muted{background:var(--weather-badge-muted-bg);color:var(--weather-badge-muted-fg)}.weather-temp{font-weight:600}.weather-day{text-transform:uppercase;letter-spacing:.12em;font-size:11px}.weather-widget{flex-shrink:0;position:relative}.weather-widget:has(.weather-forecast-panel):before{content:"";z-index:79;height:14px;position:absolute;top:100%;left:-6px;right:-6px}.weather-expand-trigger{cursor:pointer;font:inherit;border:none;margin:0}.weather-expand-trigger:hover{filter:brightness(1.08)}.weather-expand-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.weather-forecast-panel{z-index:80;background:var(--weather-panel-bg);border:1px solid var(--weather-panel-border);width:min(400px,100vw - 32px);max-height:min(78vh,560px);box-shadow:var(--weather-panel-shadow);border-radius:14px;padding:16px 16px 12px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.weather-forecast-header{border-bottom:1px solid #94a3b833;margin-bottom:12px;padding-bottom:10px}.weather-forecast-title{color:var(--weather-title);letter-spacing:-.02em;margin:0 0 4px;font-size:1rem;font-weight:700}.weather-forecast-location{color:var(--text-secondary);margin:0;font-size:.75rem}.weather-forecast-subhint{color:var(--text-subtle);margin:8px 0 0;font-size:.6875rem;line-height:1.35}.weather-forecast-muted,.weather-forecast-error{margin:8px 0;font-size:.8125rem}.weather-forecast-muted{color:var(--text-secondary)}.weather-forecast-error{color:var(--error-fg)}.weather-forecast-days{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.weather-forecast-day-wrap{border:1px solid var(--border-hairline);background:#1e293b59;border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.weather-forecast-day{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;grid-template-rows:auto auto;grid-template-columns:18px 72px 56px 1fr;align-items:center;gap:4px 10px;margin:0;padding:10px;transition:background .15s,border-color .15s;display:grid}.weather-forecast-day:hover{background:#33415559}.weather-forecast-day:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.weather-forecast-day--open{background:#1e3a8a33;border-bottom:1px solid #94a3b81f}.weather-forecast-day-chevron{color:var(--text-subtle);grid-area:1/1/span 2;align-self:center;font-size:.65rem}.weather-forecast-day-meta{flex-direction:column;grid-area:1/2/span 2;justify-content:center;gap:2px;display:flex}.weather-forecast-weekday{color:var(--text-elevated);font-size:.9375rem;font-weight:700}.weather-forecast-date{text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);font-size:.6875rem}.weather-forecast-img{object-fit:contain;filter:drop-shadow(0 2px 6px #00000059);grid-area:1/3/span 2;width:56px;height:56px}.weather-forecast-temps{grid-area:1/4;align-items:baseline;gap:8px;display:flex}.weather-forecast-high{color:var(--weather-temp-high);font-size:1.125rem;font-weight:700}.weather-forecast-low{color:var(--text-secondary);font-size:.875rem}.weather-forecast-desc{color:var(--text-prose);text-transform:capitalize;grid-area:2/4;margin:0;font-size:.75rem;line-height:1.35}.weather-hourly-scroll{scrollbar-gutter:stable;border-top:1px solid #94a3b81a;max-height:220px;padding:8px 10px 10px;overflow:hidden auto}.weather-hourly-scroll::-webkit-scrollbar{width:6px}.weather-hourly-scroll::-webkit-scrollbar-thumb{background:#64748b73;border-radius:4px}.weather-hourly-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.weather-hourly-row{color:var(--text-elevated);border-bottom:1px solid #33415580;grid-template-columns:4.25rem 40px 2.5rem minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:6px 8px;padding:8px 4px;font-size:.75rem;display:grid}.weather-hourly-row:last-child{border-bottom:none}.weather-hourly-time{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:.6875rem}.weather-hourly-icon{object-fit:contain;filter:drop-shadow(0 1px 4px #00000059);width:36px;height:36px}.weather-hourly-temp{font-variant-numeric:tabular-nums;color:var(--weather-hourly-temp);font-weight:700}.weather-hourly-wind{align-items:center;gap:6px;min-width:0;display:flex}.weather-hourly-wind-arrow{width:1.25rem;height:1.25rem;color:var(--link-sky);flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.weather-hourly-wind-text{flex-direction:column;gap:1px;min-width:0;display:flex}.weather-hourly-wind-dir{color:var(--weather-wind-dir);font-size:.6875rem;font-weight:600}.weather-hourly-wind-speed{color:var(--text-secondary);font-size:.625rem}.weather-hourly-conditions{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.weather-hourly-desc{color:var(--text-prose);text-transform:capitalize;font-size:.6875rem;line-height:1.3}.weather-hourly-precip{color:var(--link-sky);text-transform:none;font-size:.625rem;font-weight:600;line-height:1.25}.weather-hourly-empty{margin:0;padding:8px 0;font-size:.75rem}.weather-forecast-hint{color:var(--text-subtle);text-align:center;border-top:1px solid #94a3b81f;margin:12px 0 0;padding-top:8px;font-size:.65rem}@media (width<=520px){.weather-forecast-panel{width:min(340px,100vw - 20px);left:50%;right:auto;transform:translate(-50%)}.weather-forecast-day{grid-template-columns:16px 60px 48px 1fr}.weather-forecast-img{width:48px;height:48px}.weather-hourly-row{grid-template-rows:auto auto;grid-template-columns:3.5rem 34px minmax(0,1fr) auto}.weather-hourly-time{grid-area:1/1}.weather-hourly-icon{grid-area:1/2}.weather-hourly-temp{grid-area:1/3;justify-self:start}.weather-hourly-wind{grid-area:1/4}.weather-hourly-conditions{grid-area:2/1/auto/-1;padding-top:2px}}.account-menu{z-index:95;position:relative}.account-menu-trigger{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;line-height:0;display:inline-flex}.account-menu-gear{flex-shrink:0;width:28px;height:28px;display:block}.account-menu-dropdown{min-width:220px;padding:10px 8px;left:auto;right:0}.account-menu-dropdown .account-menu-item{box-sizing:border-box;border-radius:8px;width:100%;margin:3px 0;padding:10px 14px;font-size:14px;line-height:1.35}.account-menu-dropdown .account-menu-item[type=button]{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;font-family:inherit}.account-menu-dropdown .account-menu-item[type=button]:hover:not(:disabled){background:var(--dropdown-item-hover-bg)}.account-menu-dropdown .account-menu-item[type=button]:focus-visible{background:var(--dropdown-item-hover-bg);outline:2px solid var(--focus-ring);outline-offset:2px}.account-menu-link{color:var(--text);text-decoration:none;display:block}.account-menu-user{color:var(--text-secondary);cursor:default;font-size:12px}.account-menu-username{color:var(--text-elevated);font-weight:600}.account-menu-divider{background:#94a3b840;height:1px;margin:6px 0}.modal-backdrop{background:var(--modal-backdrop);z-index:40;padding:max(12px, env(safe-area-inset-top,0px)) 16px max(12px, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{-webkit-overflow-scrolling:touch;background:var(--surface-0);border:1px solid var(--border-strong);width:100%;max-width:420px;min-height:0;max-height:calc(100vh - 28px);box-shadow:var(--shadow-modal);border-radius:16px;flex-shrink:0;padding:18px 18px 16px;overflow:hidden auto}@supports (height:100dvh){.modal{max-height:min(90dvh,100dvh - 28px)}}@media (width<=480px){.modal-backdrop{padding-top:max(10px, env(safe-area-inset-top,0px));align-items:flex-start}.modal{max-height:calc(100vh - 12px);margin-top:4px;padding:14px 14px 12px}.modal h2{font-size:1.1rem}.modal-actions{flex-wrap:wrap;gap:8px}.modal-actions .btn{flex:auto;justify-content:center;min-width:calc(50% - 4px)}}.modal h2{margin-top:0;margin-bottom:12px}.modal .field-hint{color:var(--text-secondary);margin:4px 0 6px;font-size:12px;font-weight:400;line-height:1.35;display:block}.settings-card{flex-direction:column;gap:10px;display:flex}.settings-card label{flex-direction:column;gap:4px;font-size:13px;display:flex}.settings-card input{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);border-radius:8px;padding:6px 8px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.market-edit-drawer-backdrop{z-index:85;background:var(--modal-backdrop);padding:max(12px, env(safe-area-inset-top,0px)) 16px max(12px, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.market-edit-drawer{-webkit-overflow-scrolling:touch;background:var(--surface-0);border:1px solid var(--border-strong);width:min(480px,100vw - 32px);min-height:0;max-height:calc(100vh - 28px);box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;flex-shrink:0;gap:14px;padding:18px 18px 16px;display:flex;overflow:hidden auto}@supports (height:100dvh){.market-edit-drawer{max-height:min(90dvh,100dvh - 28px)}}@media (width<=480px){.market-edit-drawer-backdrop{padding-top:max(10px, env(safe-area-inset-top,0px));align-items:flex-start}.market-edit-drawer{max-height:calc(100vh - 12px);margin-top:4px;padding:14px 14px 12px}}.market-edit-drawer-header{justify-content:space-between;align-items:center;gap:10px;margin:0;font-size:1.05rem;display:flex}.market-edit-drawer-section{flex-direction:column;gap:8px;display:flex}.market-edit-drawer-section h3{letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.8rem;font-weight:600}.market-symbol-search-hits{border:1px solid var(--border-strong);background:var(--surface-1,var(--surface-0));border-radius:10px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.market-symbol-search-hits li{border-bottom:1px solid var(--border-strong)}.market-symbol-search-hits li:last-child{border-bottom:none}.market-symbol-search-hits button{text-align:left;width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;padding:8px 10px}.market-symbol-search-hits button:hover{background:#94a3b81f}.market-edit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.market-widget-hint{border:1px solid var(--border-strong);color:var(--text);background:#fbbf2414;border-radius:12px;padding:10px 12px}.market-widget-code{background:#94a3b826;border-radius:6px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px}.session-expiry-backdrop{z-index:60}.session-expiry-modal{max-width:440px}.session-expiry-intro{color:var(--text-muted);margin:0 0 14px;font-size:.9rem;line-height:1.45}.session-expiry-fieldset{border:1px solid var(--border-muted);border-radius:10px;margin:0 0 12px;padding:12px 14px 14px}.session-expiry-legend{color:var(--text);padding:0 6px;font-size:.8125rem;font-weight:600}.session-expiry-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=400px){.session-expiry-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.session-expiry-option{border:1px solid var(--border-subtle);cursor:pointer;color:var(--text);background:#1e293b99;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;display:flex}.session-expiry-option input{flex-shrink:0;margin:0}.session-expiry-actions{margin-top:14px}.success{color:var(--success-fg);margin-top:4px;font-size:12px}.app-main{flex:1;max-width:1120px;margin:0 auto;padding:32px 24px 40px}.app-main--dashboard{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:min(1760px,100%);min-height:0;margin:0 auto;padding:20px clamp(12px,2vw,28px) 30px;display:flex}.app-footer{text-align:center;color:var(--footer-text);padding:16px 24px 24px;font-size:12px}.page{text-align:left;color:var(--text)}.home-hero{grid-template-columns:minmax(0,2fr) minmax(0,1.5fr);align-items:center;gap:32px;margin-bottom:32px;display:grid}.home-hero-text h1{margin-bottom:12px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:12px}.home-hero-actions{gap:12px;margin-top:18px;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:6px 14px;font-size:14px;text-decoration:none;display:inline-flex}.btn-primary{background:var(--nav-active-gradient);color:#fff}.btn-ghost{color:var(--text);background:0 0;border-color:#94a3b899}.btn-sm{padding:4px 10px;font-size:12px;line-height:1.25}.btn:focus-visible{outline:2px solid var(--focus-ring,#5eead48c);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.dashboard-home-page{flex-direction:column;flex:1;gap:20px;width:100%;min-height:0;display:flex}.dashboard-shell{box-sizing:border-box;align-items:start;gap:clamp(14px,2vw,22px);width:100%;max-width:min(1720px,100%);margin:0 auto;display:grid}@media (width>=1025px){.dashboard-home-page--with-market.dashboard-home-page--dock-left .dashboard-shell{grid-template-columns:minmax(240px,min(420px,28vw)) minmax(0,1fr)}.dashboard-home-page--with-market.dashboard-home-page--dock-right .dashboard-shell{grid-template-columns:minmax(0,1fr) minmax(240px,min(420px,28vw))}.dashboard-home-page:not(.dashboard-home-page--with-market) .dashboard-shell{grid-template-columns:minmax(0,1fr)}.dashboard-home-page--with-market .dashboard-shell{align-items:stretch}}.dashboard-shell-main{flex-direction:column;flex:1;gap:20px;min-width:0;min-height:0;display:flex}@media (width>=1025px){.dashboard-home-page--with-market .dashboard-shell-main{min-height:calc(100dvh - 152px)}.dashboard-home-page--with-market .dash-market-dock{align-self:stretch;min-height:calc(100dvh - 152px);max-height:none}.dashboard-home-page--with-market .dash-grid{flex:auto;min-height:min(520px,100dvh - 280px)}}.dash-market-dock{box-sizing:border-box;width:100%;min-width:0;max-width:none}@media (width>=1025px){.dash-market-dock{top:max(12px, env(safe-area-inset-top,0px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-self:flex-start;max-height:calc(100dvh - 96px);position:sticky;overflow:auto}.dash-market-dock .dash-widget{width:100%;max-width:none}}.dash-market-dock .dash-widget{max-height:none}.dash-market-dock__switch{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.dash-market-dock__switch .btn-sm{padding-left:8px;padding-right:8px;font-size:12px}.dash-market-dock__switch-btn--active{background:var(--nav-active-gradient)!important;color:#fff!important;border-color:#0000!important}.market-widget--dock{font-size:13px}.market-widget__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;min-width:0;display:flex}.market-widget__toolbar-status{flex:140px;min-width:0;margin:0}.market-widget__toolbar-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.market-widget--dock .market-widget-hint p{font-size:12px!important}@media (width<=1024px){.dashboard-shell{grid-template-columns:minmax(0,1fr);max-width:100%}.dashboard-home-page--with-market .dash-market-dock{grid-area:1/1;align-self:stretch;width:100%;max-width:none;max-height:none;position:static;overflow:visible}.dashboard-home-page--with-market .dashboard-shell-main{grid-area:2/1;min-height:0}.dashboard-home-page--with-market .dash-grid{min-height:0}.dash-market-dock .dash-widget{width:100%;max-width:none}.dash-grid .react-grid-layout{width:100%!important}.dash-grid .react-grid-item{width:100%!important;left:0!important}.dash-grid{overflow:visible}.app-main--dashboard:has(.dashboard-home-page){min-height:auto}.dashboard-home-page{flex:0 auto;min-height:auto}}.dash-grid--mobile-stack{flex-direction:column;gap:18px;width:100%;display:flex;overflow:visible}.dash-grid-mobile-item{width:100%;min-width:0}.dash-grid--mobile-stack .dash-widget{height:auto}.dash-grid--mobile-stack .dash-widget-body{flex:0 auto;min-height:0;overflow:visible}.dash-grid--mobile-stack .rss-widget{flex:0 auto;height:auto}.dash-grid--mobile-stack .rss-list{max-height:none;overflow:visible}.dash-grid--mobile-stack .notes-widget{height:auto}.dash-grid--mobile-stack .notes-widget-sidebar{max-height:none;overflow-y:visible}.dash-globalbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.dash-globalbar-left{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.dash-clock{min-width:140px}.dash-time{letter-spacing:.02em;font-weight:700}.dash-date{color:var(--text-muted);font-size:13px}.dash-search{flex:1;min-width:0}.dash-search input{width:100%}.dash-globalbar-right{align-items:center;gap:10px;display:flex}.dash-grid{width:100%}@media (width>=1025px){.dash-grid:not(.dash-grid--mobile-stack){overflow:hidden}}.dash-grid .react-grid-item{box-sizing:border-box;transition:transform .16s ease-out}.dash-grid .react-grid-item>*{height:100%}.dash-grid .react-grid-placeholder{background:#5eead433;border-radius:12px}.dash-widget{box-sizing:border-box;border-radius:14px;flex-direction:column;height:100%;display:flex}.dash-widget-header{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.dash-widget-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.dash-widget-title h2{margin:0;font-size:15px}.dash-drag-handle{border:1px solid var(--border-subtle);width:22px;height:22px;color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.dash-widget-actions{gap:8px;display:inline-flex}.dash-widget-header-right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}@media (width>=1025px){.dash-market-dock .dash-widget-header{flex-wrap:wrap;align-items:flex-start;row-gap:8px}.dash-market-dock .dash-widget-title{flex:120px;min-width:0}.dash-market-dock .dash-widget-header-right{flex-wrap:wrap;flex:160px;justify-content:flex-end;row-gap:6px;margin-left:auto}.dash-market-dock .dash-widget-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}}.dash-widget--compact .dash-widget-body{display:none}.notes-widget{flex-direction:column;flex:1;gap:10px;height:100%;min-height:0;display:flex}.notes-widget-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.notes-widget-main{flex:1;gap:12px;min-height:0;display:flex}.notes-widget-sidebar{border-right:1px solid var(--border-hairline);flex-shrink:0;width:min(38%,200px);min-width:120px;min-height:0;padding-right:10px;overflow-y:auto}.notes-widget-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.notes-widget-list-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.notes-widget-list-item:hover{background:#94a3b81f}.notes-widget-list-item--active{border-color:var(--border-strong);background:#94a3b824}.notes-widget-list-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.notes-widget-list-date{color:var(--text-muted);font-size:11px}.notes-widget-editor{flex-direction:column;flex:1;gap:8px;min-width:0;min-height:0;display:flex}.notes-widget-label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.notes-widget-label--grow{flex:1;min-height:0}.notes-widget-label input{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);font:inherit;border-radius:8px;padding:6px 8px}.notes-widget-textarea{resize:none;border:1px solid var(--border-strong);background:var(--surface-0);width:100%;min-height:120px;color:var(--text);font:inherit;box-sizing:border-box;border-radius:10px;flex:1;padding:8px 10px;line-height:1.45}@media (width<=520px){.notes-widget-main{flex-direction:column}.notes-widget-sidebar{border-right:none;border-bottom:1px solid var(--border-hairline);width:100%;min-width:0;max-height:160px;padding-bottom:10px;padding-right:0}}.dash-widget-body{flex-direction:column;flex:1;min-height:0;padding-top:10px;display:flex;overflow:auto}.dash-tabs{border:1px solid var(--border-subtle);border-radius:999px;gap:6px;padding:4px;display:inline-flex}.dash-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:12px}.dash-tab--active{color:var(--text);background:#94a3b82e}.rss-widget{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.rss-widget-top{flex-shrink:0}.rss-list{flex:1;gap:10px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.rss-card{border:1px solid var(--rss-card-border,var(--border-hairline));background:var(--rss-card-bg,#0f172a29);border-radius:14px;gap:10px;padding:12px 12px 14px;display:grid}.rss-card--with-image{grid-template-columns:96px 1fr}.rss-card--no-image{grid-template-columns:1fr}.rss-thumb{border:1px solid var(--border-hairline);border-radius:10px;width:96px;height:72px;display:block;overflow:hidden}.rss-thumb img{object-fit:cover;width:100%;height:100%;display:block}.rss-main{min-width:0}.rss-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rss-title{font-weight:650;text-decoration:none}.rss-title:hover{text-decoration:underline}.rss-meta{color:var(--text-muted);margin-top:4px;font-size:12px}.rss-summary{width:100%;min-width:0;color:var(--rss-summary-fg,var(--text-secondary));-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.market-widget__quotes{flex-direction:column;gap:6px;min-width:0;margin-top:10px;display:flex}.market-quote-row{font-variant-numeric:tabular-nums;grid-template-columns:minmax(2.5rem,1fr) minmax(5.25rem,max-content) minmax(3.5rem,max-content);align-items:baseline;gap:8px 14px;min-width:0;display:grid}.market-quote-row--head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-hairline);padding-bottom:6px;font-size:11px;font-weight:600}.market-quote-row__sym{font-variant-numeric:normal;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.market-quote-row:not(.market-quote-row--head) .market-quote-row__sym{font-weight:700}.market-quote-row__price,.market-quote-row__pct{text-align:right;justify-self:end;font-size:13px;font-weight:600;line-height:1.25}.market-widget--dock .market-quote-row{grid-template-columns:minmax(2rem,1fr) minmax(4.5rem,max-content) minmax(3.25rem,max-content);gap:6px 10px}.market-widget__commodities{border-top:1px solid var(--border-hairline);min-width:0;margin-top:10px;padding-top:10px}.market-commodity-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.market-commodity-head__link{letter-spacing:.05em;text-transform:uppercase;color:var(--link-sky);font-size:11px;font-weight:700;text-decoration:none}.market-commodity-head__link:hover{text-decoration:underline}.market-commodity-head__meta{white-space:nowrap;font-size:10px}.market-commodity-rows{flex-direction:column;gap:3px;display:flex}.market-commodity-row{font-variant-numeric:tabular-nums;grid-template-columns:minmax(3.25rem,1fr) minmax(4.5rem,max-content) minmax(3.25rem,max-content);align-items:baseline;gap:6px 10px;min-width:0;font-size:11px;line-height:1.35;display:grid}.market-commodity-row__name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.market-commodity-row__price{text-align:right;justify-self:end;font-size:11px;font-weight:600}.market-commodity-row__suffix{color:var(--text-muted);vertical-align:super;margin-left:2px;font-size:8px;font-weight:700}.market-commodity-row__pct{text-align:right;justify-self:end;font-size:11px;font-weight:600}.market-widget__commodities--dock .market-commodity-row{grid-template-columns:minmax(2.75rem,1fr) minmax(4rem,max-content) minmax(3rem,max-content);gap:4px 8px;font-size:10px}.market-widget__commodities--dock .market-commodity-row__price,.market-widget__commodities--dock .market-commodity-row__pct{font-size:10px}.rss-empty{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:12px;margin-top:12px;padding:14px;font-size:14px}@media (width<=520px){.rss-card{grid-template-columns:1fr}.rss-thumb{width:100%;height:140px}}@media (width<=900px){.dash-globalbar{flex-direction:column;align-items:stretch}.dash-globalbar-right{flex-wrap:wrap;justify-content:flex-end}}.home-hero-visual{aspect-ratio:4/3;justify-content:center;align-items:center;display:flex;position:relative}.home-hero-banner{object-fit:cover;border:1px solid var(--border-muted);border-radius:16px;width:100%;height:100%}.home-hero-lottie{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;max-width:360px;margin:0 auto;display:flex}.home-hero-lottie-frame{aspect-ratio:1;background:var(--hero-lottie-bg);border:1px solid var(--hero-lottie-border);width:min(100%,320px);box-shadow:var(--hero-lottie-shadow);border-radius:20px;position:relative;overflow:hidden}.home-hero-lottie-player{display:block;width:100%!important;height:100%!important}.home-hero-lottie-player canvas{width:100%;height:100%;display:block}.orb{filter:blur(2px);background:radial-gradient(circle at 20% 20%,#5eead4f2,#0000 60%),radial-gradient(circle at 80% 80%,#818cf8f2,#0000 55%),radial-gradient(circle at 10% 80%,#f472b6d9,#0000 55%);border-radius:999px;position:absolute;inset:12%}.orb-ring{border:1px solid var(--border-default);border-radius:999px;position:absolute;inset:6%;box-shadow:0 0 40px #38bdf84d,inset 0 0 60px #0f172ae6}.home-highlights{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.page-header{margin-bottom:24px}.page-header h1{margin-bottom:8px}.tagline{color:var(--text-muted);max-width:540px;font-size:18px}.us-commodities-page{flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;display:flex}.home-page{--hp-accent:var(--home-hp-accent);--hp-accent-dim:var(--home-hp-accent-dim);--hp-line:var(--home-hp-line)}.hp-hero{border-bottom:1px solid var(--hp-line);margin-bottom:clamp(40px,6vw,72px);padding-bottom:clamp(32px,5vw,56px)}.hp-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(24px,4vw,48px);display:grid}.hp-hero-copy{min-width:0}.hp-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--text-subtle);margin:0 0 12px;font-size:11px;font-weight:600}.hp-hero-title{letter-spacing:-.03em;color:var(--text-h);max-width:20ch;margin:0 0 16px;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;line-height:1.12}.hp-hero-lede{color:var(--text-secondary);max-width:42ch;margin:0 0 20px;font-size:clamp(1rem,2vw,1.125rem);line-height:1.55}.hp-edit-home{margin-bottom:16px;padding:4px 12px;font-size:13px}.hp-hero-cta{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.hp-cta{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .15s,border-color .15s,background .15s,color .15s;display:inline-flex}.hp-cta:hover{transform:translateY(-1px)}.hp-cta:focus-visible{outline:2px solid var(--hp-accent);outline-offset:2px}.hp-cta--primary{color:var(--btn-on-primary);box-shadow:var(--hp-primary-shadow);background:linear-gradient(135deg,#4f46e5f2,#06b6d4e6);border-color:#0000}.hp-cta--primary:hover{filter:brightness(1.06)}.hp-cta--ghost{color:var(--text-elevated);background:#0f172a80;border-color:#94a3b859}.hp-cta--ghost:hover{color:var(--text-h);background:#1e293ba6;border-color:#5eead473}.hp-hero-visual{justify-content:center;align-items:center;min-height:260px;display:flex;position:relative}.hp-hero-banner{object-fit:cover;width:100%;max-height:380px}.hp-muted{color:var(--text-subtle);margin:12px 0 0;font-size:13px}.hp-main{flex-direction:column;gap:clamp(48px,8vw,88px);display:flex}.hp-section{scroll-margin-top:88px}.hp-section-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text-subtle);margin:0 0 12px;font-size:11px;font-weight:700}.hp-section-title--subtle{color:var(--text-subtle)}.hp-section-intro{color:var(--text-secondary);max-width:52ch;margin:0 0 20px;font-size:15px;line-height:1.5}.hp-section-intro a{color:var(--link-sky);text-decoration:none}.hp-section-intro a:hover{text-decoration:underline}.hp-section--muted{background:var(--hp-frame-bg);border:1px solid var(--border-hairline);border-radius:14px;padding:28px 24px}.hp-section--closing{border-top:1px solid var(--hp-line);padding-top:16px}.hp-prose{max-width:62ch}.hp-prose p{color:var(--text-prose);margin:0 0 16px;font-size:1.0625rem;line-height:1.65}.hp-prose p:last-child{margin-bottom:0}.hp-prose strong{color:var(--text-elevated);font-weight:600}.hp-prose-accent{border-left:3px solid #5eead48c;padding-left:16px;font-size:1.0625rem;color:var(--text-elevated)!important;margin-top:20px!important}.hp-prose--compact p{font-size:1rem}.hp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.hp-card{background:var(--hp-card-bg);border:1px solid var(--border-hairline);border-radius:14px;padding:22px 20px;transition:border-color .18s,box-shadow .18s,transform .18s}.hp-card:hover{border-color:#5eead438;transform:translateY(-2px);box-shadow:0 12px 40px #00000040}.hp-card-title{color:var(--text-h);letter-spacing:-.02em;margin:0 0 10px;font-size:1.05rem;font-weight:600}.hp-card-body{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.55}.hp-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.hp-work-item{background:var(--hp-work-bg);border:1px solid var(--border-hairline);border-radius:12px;padding:20px 20px 18px}.hp-work-title{color:var(--text-elevated);margin:0 0 12px;font-size:.95rem;font-weight:600}.hp-work-list{color:var(--text-secondary);margin:0;padding-left:1.15rem;font-size:.875rem;line-height:1.55}.hp-work-list li{margin-bottom:6px}.hp-work-list li:last-child{margin-bottom:0}.hp-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.hp-skill-heading{text-transform:uppercase;letter-spacing:.1em;color:var(--text-subtle);margin:0 0 12px;font-size:.8125rem;font-weight:600}.hp-chip-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hp-chip-list li{color:var(--text-prose);background:var(--hp-accent-dim);border:1px solid #5eead426;border-radius:999px;padding:6px 12px;font-size:.8125rem;display:inline-block}.hp-closing-line{color:var(--text-prose);max-width:48ch;margin:0 0 20px;font-size:1.125rem;line-height:1.5}.hp-contact-actions{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.hp-contact-note{max-width:40ch;margin:0;font-size:13px}@media (width<=900px){.hp-card-grid,.hp-work-grid,.hp-skills{grid-template-columns:1fr}}@media (width<=768px){.hp-hero-grid{grid-template-columns:1fr}.hp-hero-visual{order:-1;min-height:220px}.hp-hero-title{max-width:none}}.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}.pp-page{--pp-accent:var(--portfolio-accent);--pp-line:var(--portfolio-line);max-width:900px}.pp-admin-bar{border:1px solid var(--portfolio-accent-border);background:#0f172a8c;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;padding:12px 14px;display:flex}.pp-admin-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-subtle);margin-right:auto;font-size:12px;font-weight:600}.pp-intro{border-bottom:1px solid var(--pp-line);grid-template-columns:minmax(0,140px) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,36px);margin-bottom:clamp(40px,6vw,64px);padding-bottom:clamp(32px,5vw,48px);display:grid}.pp-intro-visual{position:relative}.pp-headshot{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-muted);border-radius:14px;width:100%;max-width:140px;box-shadow:0 12px 40px #00000059}.pp-headshot--placeholder{background:linear-gradient(145deg,#1e293be6,#0f172af2);min-height:140px}.pp-name{letter-spacing:-.03em;color:var(--text-h);margin:0 0 14px;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700}.pp-section{margin-bottom:clamp(40px,6vw,56px);scroll-margin-top:88px}.pp-section--last{margin-bottom:24px}.pp-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.pp-section-head h2{letter-spacing:.16em;text-transform:uppercase;color:var(--text-subtle);margin:0;font-size:11px;font-weight:700}.pp-section-edit{padding:4px 10px;font-size:13px}.pp-section-lede{color:var(--text-secondary);max-width:58ch;margin:0 0 16px;font-size:.95rem;line-height:1.55}.pp-prose{color:var(--text-prose);font-size:1.0625rem;line-height:1.65}.pp-prose p{margin:0 0 14px}.pp-prose p:last-child{margin-bottom:0}.pp-prose ul{margin:0 0 14px;padding-left:1.2rem}.pp-prose li{margin-bottom:6px}.pp-prose h3,.pp-prose h4{color:var(--text-elevated);margin:0 0 8px;font-weight:600}.pp-prose h3{font-size:1.1rem}.pp-prose h4{letter-spacing:-.02em;font-size:.95rem}.pp-prose a{color:var(--link-sky);text-decoration:none}.pp-prose a:hover{text-decoration:underline}.pp-positioning{color:var(--text-secondary);font-size:1.125rem}.pp-positioning p{margin:0}.pp-section--timeline .pp-timeline{flex-direction:column;gap:28px;display:flex}.pp-section--timeline .pp-timeline-item{border-left:2px solid #5eead459;padding-left:20px;position:relative}.pp-timeline-meta{color:var(--text-subtle)!important;margin:0 0 10px!important;font-size:.875rem!important}.pp-section--msi{background:var(--pp-msi-bg);border:1px solid var(--pp-msi-border);box-shadow:var(--pp-msi-shadow);border-radius:16px;padding:28px 22px}.pp-section--msi .pp-section-head h2{color:var(--text-secondary);letter-spacing:.12em}.pp-msi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.pp-msi-block{background:var(--pp-msi-block-bg);border:1px solid var(--border-hairline);border-radius:10px;padding:14px 14px 12px}.pp-msi-block h4{margin-top:0}.pp-skills-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.pp-skills-col h4{margin-top:0}.pp-impact-list{margin:0;padding:0;list-style:none}.pp-impact-list li{margin-bottom:10px;padding-left:1.1rem;position:relative}.pp-impact-list li:before{content:"";background:var(--pp-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.pp-edu-block{margin-bottom:20px}.pp-edu-block:last-child{margin-bottom:0}@media (width<=640px){.pp-intro{text-align:center;grid-template-columns:1fr;justify-items:center}.pp-intro-copy{max-width:100%}.pp-headshot,.pp-headshot--placeholder{max-width:160px}.pp-msi-grid,.pp-skills-split{grid-template-columns:1fr}.pp-section-head{flex-direction:column;align-items:stretch}}.portfolio-edit-modal{max-width:min(720px,100%)}.portfolio-header-edit-modal{max-width:min(520px,100%)}.portfolio-modal-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.portfolio-modal-title-row h2{flex:1;margin:0;line-height:1.25}.portfolio-modal-x{flex-shrink:0;padding:2px 10px;font-size:1.25rem;line-height:1}.portfolio-edit-tabs{gap:4px;margin-bottom:12px;display:flex}.portfolio-edit-tab{border:1px solid var(--border-default);color:var(--text-prose);cursor:pointer;background:0 0;border-radius:8px;flex:1;padding:8px 12px;font-size:13px}.portfolio-edit-tab--active{color:var(--text-h);background:#5eead414;border-color:#5eead473}.portfolio-edit-form{flex-direction:column;gap:12px;display:flex}.portfolio-edit-field label,.portfolio-edit-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.portfolio-html-textarea{background:var(--surface-0);width:100%;min-height:200px;color:var(--text);resize:vertical;border:1px solid #94a3b873;border-radius:10px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.45}.portfolio-edit-hint{color:var(--text-subtle);margin:6px 0 0;font-size:12px;line-height:1.45}.portfolio-html-preview-wrap{background:#0f172a66;border:1px dashed #94a3b840;border-radius:10px;min-height:120px;padding:12px}.portfolio-html-preview{max-height:360px;overflow:auto}.portfolio-header-photo-block{margin-bottom:8px}.portfolio-dropzone{background:#0f172a80;border:1px dashed #94a3b866;border-radius:12px;justify-content:center;align-items:center;min-height:140px;display:flex;overflow:hidden}.portfolio-dropzone-placeholder{color:var(--text-subtle);padding:20px;font-size:13px}.portfolio-headshot-preview{object-fit:contain;width:100%;max-height:220px}.portfolio-photo-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.portfolio-file-label{cursor:pointer;margin:0}.portfolio-photo-library{border-top:1px solid #94a3b826;margin-top:14px;padding-top:12px}.portfolio-photo-library-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;max-height:200px;margin-top:8px;display:grid;overflow-y:auto}.portfolio-library-thumb{cursor:pointer;background:var(--surface-0);border:2px solid #0000;border-radius:8px;padding:0;overflow:hidden}.portfolio-library-thumb img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.portfolio-library-thumb--active{border-color:#5eead4b3}.portfolio-text-input{width:100%}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.projects-page .cards-grid,.dashboard-page .cards-grid{grid-template-columns:1fr}@media (width>=520px){.projects-page .cards-grid,.dashboard-page .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=840px){.projects-page .cards-grid,.dashboard-page .cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1100px){.projects-page .cards-grid,.dashboard-page .cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-card);border-radius:16px;padding:18px 18px 16px}.card h2{margin-top:0;margin-bottom:4px}.dashboard-app-card{padding:0;overflow:hidden}.dashboard-app-card-link{height:100%;min-height:100%;color:inherit;border-radius:16px;flex-direction:column;gap:12px;padding:18px 18px 16px;text-decoration:none;transition:background .15s;display:flex}.dashboard-app-card-link:hover{background:var(--card-hover-bg)}.dashboard-app-card-link:hover .dashboard-app-card-title{color:var(--dashboard-link)}.dashboard-app-card-link:hover .dashboard-app-card-cta{color:var(--dashboard-link-hover)}.dashboard-app-card-row{align-items:flex-start;gap:14px;display:flex}.dashboard-app-logo-wrap{background:var(--dashboard-logo-bg);border:1px solid var(--border-default);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;padding:8px;display:flex}.dashboard-app-logo{object-fit:contain;width:36px;height:36px;display:block}.dashboard-app-card-text{flex:1;min-width:0}.dashboard-app-card-title{color:var(--text-h);margin:0 0 6px;font-size:1.0625rem;font-weight:700;transition:color .15s}.dashboard-app-card-desc{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.45}.dashboard-app-card-cta{color:var(--dashboard-desc);margin-top:auto;padding-top:2px;font-size:.8125rem;font-weight:600;transition:color .15s}.project-card header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.badge{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;display:inline-flex}.al-home-page{width:min(1180px,100vw - 32px);margin:0 auto;padding:clamp(28px,5vw,68px) 0 clamp(48px,7vw,88px)}.al-hero{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:stretch;gap:clamp(26px,5vw,58px);min-height:min(680px,100dvh - 150px);display:grid}.al-hero__content{flex-direction:column;justify-content:center;gap:20px;padding:clamp(8px,2vw,24px) 0;display:flex}.al-kicker,.al-section__eyebrow{color:var(--text-subtle);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.al-hero h1{max-width:860px;color:var(--text-h);letter-spacing:-.03em;margin:0;font-size:clamp(2.7rem,6vw,5.75rem);line-height:.96}.al-hero__lede{max-width:760px;color:var(--text-elevated);margin:0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.45}.al-hero__support{max-width:680px;color:var(--text-muted);margin:0;font-size:1rem;line-height:1.65}.al-hero__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.al-hero__panel{align-content:center;gap:14px;display:grid}.al-signal-card,.al-card,.al-capability,.al-lab,.al-photo-feature,.al-close{border:1px solid var(--border-default);background:linear-gradient(145deg, #ffffff0b, #ffffff03), var(--surface-1);box-shadow:var(--shadow-card)}.al-signal-card{border-radius:18px;padding:clamp(22px,3vw,30px)}.al-signal-card__label{color:var(--text-subtle);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-size:.76rem;font-weight:800;display:block}.al-signal-card strong{color:var(--text-h);font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1;display:block}.al-signal-card p{color:var(--text-muted);margin:16px 0 0;line-height:1.6}.al-metric-grid{grid-template-columns:1fr;gap:10px;display:grid}.al-metric-grid div{border:1px solid var(--border-subtle);background:var(--surface-3);border-radius:14px;padding:16px}.al-metric-grid strong{color:var(--text-h);font-size:.95rem;display:block}.al-metric-grid span{color:var(--text-muted);margin-top:5px;font-size:.86rem;line-height:1.45;display:block}.al-section{margin-top:clamp(52px,8vw,96px)}.al-section--intro{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(220px,.65fr) minmax(0,1fr);gap:clamp(22px,5vw,64px);padding-top:clamp(28px,5vw,54px);display:grid}.al-section h2{max-width:760px;color:var(--text-h);letter-spacing:-.025em;margin:8px 0 0;font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.04}.al-section__header{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.al-prose{gap:14px;display:grid}.al-prose p,.al-lab__copy p,.al-card p,.al-project-list p{color:var(--text-muted);margin:0;line-height:1.65}.al-focus-grid,.al-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.al-card,.al-capability{border-radius:16px;padding:20px}.al-card h3,.al-capability h3,.al-project-list h3{color:var(--text-h);margin:0 0 10px;font-size:1.05rem}.al-lab{border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(280px,.78fr);gap:clamp(20px,4vw,42px);padding:clamp(22px,4vw,34px);display:grid}.al-lab__stack{flex-wrap:wrap;align-content:center;gap:10px;display:flex}.al-lab__stack span,.al-capability li{border:1px solid var(--border-subtle);background:var(--surface-3);color:var(--text-secondary);align-items:center;display:inline-flex}.al-lab__stack span{border-radius:999px;min-height:36px;padding:6px 10px;font-size:.83rem;font-weight:700}.al-inline-link{width:fit-content;color:var(--dashboard-link);margin-top:18px;font-weight:800;text-decoration:none;display:inline-flex}.al-inline-link:hover{color:var(--dashboard-link-hover);text-decoration:underline}.al-capability ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.al-capability li{border-radius:999px;padding:5px 9px;font-size:.8rem}.al-proof{grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);align-items:stretch;gap:clamp(22px,5vw,56px);display:grid}.al-project-list{gap:14px;margin-top:22px;display:grid}.al-project-list article{border-bottom:1px solid var(--border-subtle);padding:0 0 14px}.al-photo-feature{border-radius:18px;min-height:440px;position:relative;overflow:hidden}.al-photo-feature img{object-fit:cover;width:100%;height:100%;min-height:440px;display:block}.al-photo-feature__caption{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#020617ad;border:1px solid #ffffff2e;border-radius:12px;justify-content:space-between;gap:14px;padding:12px 14px;display:flex;position:absolute;bottom:52px;left:16px;right:16px}.al-photo-feature__caption span{color:#ffffffc7}.al-photo-feature__dots{gap:7px;display:flex;position:absolute;bottom:18px;left:16px}.al-photo-feature__dots button{cursor:pointer;background:#ffffff6b;border:0;border-radius:999px;width:8px;height:8px;padding:0}.al-photo-feature__dots button.active{background:#fff;width:24px}.al-photo-feature__link{color:#fff;font-size:.82rem;font-weight:800;text-decoration:none;position:absolute;bottom:14px;right:16px}.al-photo-feature__empty{text-align:center;place-content:center;min-height:440px;padding:24px;display:grid}.al-photo-feature__empty strong{color:var(--text-h);font-size:1.25rem}.al-photo-feature__empty span{color:var(--text-muted);margin-top:8px}.al-close{border-radius:18px;padding:clamp(22px,4vw,34px)}.al-close p{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.2}.links-page-header{max-width:820px;margin-bottom:24px}.links-page-header h1{color:var(--text-h);letter-spacing:-.025em;margin:8px 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}.links-page-header p:not(.al-section__eyebrow){max-width:680px;color:var(--text-muted);line-height:1.6}.dashboard-page .dashboard-app-card{background:linear-gradient(145deg, #ffffff0b, #ffffff03), var(--surface-1);border-radius:16px;transition:transform .18s,border-color .18s,background .18s}.dashboard-page .dashboard-app-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.dashboard-page .dashboard-app-logo-wrap{background:var(--surface-inset);border-radius:14px}.fb-photos-page{width:min(1180px,100vw - 32px);margin-inline:auto}.fb-photos-shell{width:100%}.fb-photos-header{border-bottom:1px solid var(--border-subtle);margin-bottom:20px;padding:clamp(22px,4vw,36px) 0 18px}.fb-photos-title{color:var(--text-h);letter-spacing:-.025em}.fb-photos-subtitle{color:var(--text-muted)}.fb-album-card{border-color:var(--border-default);background:linear-gradient(145deg, #ffffff09, #ffffff01), var(--surface-1);transition:transform .18s,border-color .18s}.fb-album-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}@media (width<=900px){.al-hero,.al-section--intro,.al-lab,.al-proof,.al-focus-grid,.al-capability-grid{grid-template-columns:1fr}.al-hero{min-height:auto}.al-photo-feature,.al-photo-feature img,.al-photo-feature__empty{min-height:340px}}@media (width<=560px){.al-home-page,.fb-photos-page{width:min(100% - 22px,1180px)}.al-hero h1{font-size:clamp(2.35rem,14vw,3.4rem)}.al-hero__actions .btn{justify-content:center;width:100%}.al-photo-feature__caption{flex-direction:column;bottom:48px}}.al-home-page--v2{width:min(1220px,100vw - 32px);padding-top:clamp(22px,4vw,48px)}.al-command{grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr);align-items:stretch;gap:clamp(18px,4vw,44px);min-height:min(620px,100dvh - 130px);display:grid}.al-command__identity,.al-command__console,.al-now-panel,.al-photo-panel,.al-system-tile,.al-strengths-strip,.al-private-portal{border:1px solid var(--border-default);background:linear-gradient(145deg, #ffffff0d, #ffffff03), var(--surface-1);box-shadow:var(--shadow-card)}.al-command__identity{border-radius:22px;flex-direction:column;justify-content:flex-end;gap:20px;min-height:520px;padding:clamp(24px,5vw,54px);display:flex}.al-command__identity h1{max-width:820px;color:var(--text-h);letter-spacing:-.055em;margin:0;font-size:clamp(3rem,7vw,6.7rem);line-height:.9}.al-command__summary{max-width:720px;color:var(--text-elevated);margin:0;font-size:clamp(1.02rem,1.7vw,1.28rem);line-height:1.55}.al-command__actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.al-command__console{border-radius:22px;grid-template-rows:auto auto 1fr;gap:14px;min-height:520px;padding:18px;display:grid}.al-console-clock{background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:18px;padding:20px}.al-console-clock strong{color:var(--text-h);letter-spacing:-.06em;font-size:clamp(2.8rem,6vw,5rem);line-height:.9;display:block}.al-console-clock span{color:var(--text-muted);margin-top:12px;font-weight:700;display:block}.al-console-status{background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:16px;align-items:center;gap:12px;padding:16px;display:flex}.al-status-dot{background:var(--success-fg);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 5px #22c55e1f}.al-console-status strong,.al-console-grid strong{color:var(--text-h);display:block}.al-console-status span:not(.al-status-dot),.al-console-grid span{color:var(--text-muted);font-size:.84rem;display:block}.al-console-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.al-console-grid div{background:var(--surface-3);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;justify-content:flex-end;min-height:112px;padding:14px;display:flex}.al-panel-row{grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.al-now-panel{border-radius:20px;padding:clamp(20px,3vw,28px)}.al-panel-heading h2{color:var(--text-h);letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1}.al-now-panel ul,.al-strengths-strip ul{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.al-now-panel li{color:var(--text-secondary);border-top:1px solid var(--border-subtle);padding:12px 0;line-height:1.45}.al-photo-panel{border-radius:20px;min-height:390px;position:relative;overflow:hidden}.al-photo-panel>img{object-fit:cover;width:100%;height:100%;min-height:390px;display:block}.al-photo-panel:after{content:"";pointer-events:none;background:linear-gradient(#0000,#020617d9);height:45%;position:absolute;inset:auto 0 0}.al-photo-panel__meta{z-index:1;color:#fff;justify-content:space-between;gap:14px;display:flex;position:absolute;bottom:82px;left:18px;right:18px}.al-photo-panel__meta strong{font-size:1.05rem}.al-photo-panel__meta span{color:#ffffffbf}.al-photo-panel__thumbs{z-index:1;gap:8px;display:flex;position:absolute;bottom:24px;left:18px;right:18px}.al-photo-panel__thumbs button{opacity:.62;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:10px;width:48px;height:42px;padding:0;overflow:hidden}.al-photo-panel__thumbs button.active{opacity:1;border-color:#fff}.al-photo-panel__thumbs img{object-fit:cover;width:100%;height:100%;display:block}.al-photo-panel>a{z-index:2;color:#fff;background:#020617b3;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800;text-decoration:none;position:absolute;top:18px;right:18px}.al-photo-panel__empty{text-align:center;place-content:center;min-height:390px;padding:28px;display:grid}.al-photo-panel__empty strong{color:var(--text-h);font-size:1.25rem}.al-photo-panel__empty span{color:var(--text-muted);margin-top:8px}.al-split-statement{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);gap:clamp(20px,5vw,58px);padding-top:clamp(24px,5vw,48px);display:grid}.al-split-statement p{color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}.al-section__header--compact{max-width:780px}.al-system-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.al-system-tile{border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:220px;padding:20px;display:flex}.al-system-tile span{color:var(--text-subtle);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:800}.al-system-tile strong{color:var(--text-h);letter-spacing:-.035em;margin-top:10px;font-size:clamp(1.35rem,2.8vw,2.15rem);line-height:1}.al-system-tile p{color:var(--text-muted);margin:14px 0 0;line-height:1.55}.al-strengths-strip,.al-private-portal{border-radius:20px;grid-template-columns:minmax(240px,.5fr) minmax(0,1fr);gap:clamp(18px,4vw,38px);padding:clamp(20px,4vw,32px);display:grid}.al-strengths-strip h2,.al-private-portal h2{color:var(--text-h);letter-spacing:-.035em;margin:8px 0 0;font-size:clamp(1.6rem,3.4vw,2.8rem);line-height:1}.al-strengths-strip ul{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;margin:0}.al-strengths-strip li{border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-3);border-radius:999px;padding:10px 12px;font-size:.88rem;font-weight:700}.al-private-portal{align-items:center}.al-private-portal p{color:var(--text-muted);margin:14px 0 0;line-height:1.65}.al-private-portal .btn{justify-self:end}@media (width<=900px){.al-command,.al-panel-row,.al-split-statement,.al-system-grid,.al-strengths-strip,.al-private-portal{grid-template-columns:1fr}.al-command__identity,.al-command__console{min-height:auto}.al-system-tile{min-height:170px}.al-private-portal .btn{justify-self:start}}@media (width<=560px){.al-home-page--v2{width:min(100% - 22px,1220px)}.al-command__identity{padding:22px}.al-command__identity h1{font-size:clamp(2.45rem,15vw,3.5rem)}.al-command__actions .btn{justify-content:center;width:100%}.al-console-grid,.al-strengths-strip ul{grid-template-columns:1fr}}.badge--subtle{background:var(--badge-subtle-bg);color:var(--dashboard-meta)}.project-card-meta{flex-wrap:wrap;gap:6px;margin:8px 0 4px;display:flex}.project-card-links{flex-wrap:wrap;gap:12px;margin-bottom:6px;display:flex}.project-card-link{color:var(--dashboard-link);font-size:13px;text-decoration:none}.project-card-link:hover{color:var(--dashboard-link-hover);text-decoration:underline}.settings-page h2{margin-top:28px;margin-bottom:10px;font-size:18px}.settings-github-card{max-width:560px}.settings-github-status{margin:8px 0 12px;padding:0;font-size:13px;list-style:none}.settings-github-status li{margin-bottom:4px}.settings-github-hint{margin:-4px 0 4px;font-size:12px}.settings-github-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.settings-user-apps{border:1px solid var(--border);border-radius:8px;gap:8px;margin:4px 0;padding:10px;display:grid}.settings-user-apps legend{color:var(--muted);padding:0 4px;font-size:13px}.settings-totp-qr{justify-content:center;padding:10px 0;display:flex}.settings-totp-qr svg{background:#fff;border-radius:8px;padding:8px}:is(.settings-user-apps label,.settings-card label:has(input[type=checkbox])){flex-direction:row;align-items:center}.settings-users-list{gap:10px;margin-top:14px;display:grid}.settings-user-row{border-top:1px solid var(--border);justify-content:space-between;gap:14px;padding:10px 0;display:flex}.settings-user-row p{margin:4px 0 0}.settings-user-actions{align-items:flex-start;gap:8px;display:flex}.settings-user-activity{margin-top:6px;font-size:13px}.settings-user-activity ul{gap:5px;margin:8px 0 0;padding-left:18px;display:grid}.settings-user-activity li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.settings-card select,.settings-card textarea{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);border-radius:8px;padding:6px 8px;font-family:inherit}.project-modal-github-note{margin-bottom:4px;font-size:13px;line-height:1.45}.checkbox-label{cursor:pointer;color:var(--dashboard-meta);align-items:flex-start;gap:10px;font-size:13px;flex-direction:row!important}.checkbox-label input{flex-shrink:0;margin-top:2px;width:auto!important}.tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{background:var(--tag-bg);color:var(--dashboard-meta);border-radius:999px;padding:2px 8px;font-size:11px}.chip{color:var(--text);cursor:pointer;background:0 0;border:1px solid #94a3b873;border-radius:999px;padding:4px 10px;font-size:12px}.chip--active{background:var(--nav-active-gradient);border-color:#0000}.projects-filters{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:20px;display:flex}.photos-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.photos-controls .chips{flex-wrap:wrap;gap:8px;display:flex}.input{border:1px solid var(--border-strong);min-width:220px;color:var(--text);background:#0f172ae6;border-radius:999px;padding:6px 10px}.input::placeholder{color:var(--footer-text)}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.photo-card{background:var(--surface-0);border:1px solid #94a3b866;border-radius:14px;overflow:hidden}.photo-card img{object-fit:cover;width:100%;height:180px;display:block}.photo-card figcaption{padding:10px 12px 12px}.photo-title{margin-bottom:4px;font-size:14px}.login-page .card{max-width:360px;margin:0 auto}.login-page label{flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.login-page input{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);border-radius:8px;padding:6px 8px}.login-page button{cursor:pointer;background:var(--nav-active-gradient);color:#fff;border:none;border-radius:999px;width:100%;margin-top:8px;padding:8px 10px;font-weight:500}.error{color:var(--danger-fg);margin-top:4px;font-size:12px}body.nav-mobile-open{overflow:hidden}@media (width<=900px){.app-header{z-index:1002}.app-main{z-index:0;position:relative}.app-header-row{gap:8px;min-height:56px;padding:0 12px}.app-header-row .logo{min-width:0;overflow:hidden}.app-header-row .logo a{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.nav-desktop,.nav-right-desktop{display:none!important}.nav-mobile-bar{flex-shrink:0;align-items:center;gap:8px;display:flex!important}.nav-mobile-bar .weather-badge{text-overflow:ellipsis;white-space:nowrap;max-width:140px;padding:4px 8px;font-size:11px;overflow:hidden}.nav-burger{cursor:pointer;background:#94a3b81f;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.nav-burger:hover{background:#94a3b838}.nav-burger-box{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.nav-burger-line{background:var(--burger-line);border-radius:1px;width:20px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-burger[aria-expanded=true] .nav-burger-line:first-child{transform:translateY(7px)rotate(45deg)}.nav-burger[aria-expanded=true] .nav-burger-line:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] .nav-burger-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-mobile-backdrop{z-index:1000;background:var(--mobile-backdrop);cursor:pointer;border:none;width:100%;margin:0;padding:0;position:fixed;inset:56px 0 0;display:block!important}.nav-mobile-panel{box-sizing:border-box;z-index:1001;background:var(--mobile-panel-bg);border-top:1px solid var(--border-subtle);-webkit-overflow-scrolling:touch;visibility:hidden;pointer-events:none;width:100%;max-width:100vw;margin:0;padding:0;transition:transform .24s ease-out,visibility .24s;position:fixed;inset:56px 0 0;overflow-y:auto;transform:translate(100%);display:block!important}.nav-mobile-panel--open{visibility:visible;pointer-events:auto;transform:translate(0)}.nav-mobile-inner{box-sizing:border-box;flex-direction:column;gap:4px;max-width:100%;padding:12px 16px 24px;display:flex}.nav-mobile-inner>.nav-link{box-sizing:border-box;border-radius:12px;align-items:center;width:100%;min-height:48px;padding:10px 14px;display:flex}.nav-mobile-details{border:1px solid var(--border-subtle);background:var(--surface-mobile-details);border-radius:12px;overflow:hidden}.nav-mobile-summary{cursor:pointer;color:var(--text);box-sizing:border-box;justify-content:space-between;align-items:center;min-height:48px;padding:14px 16px;font-size:14px;font-weight:500;list-style:none;display:flex}.nav-mobile-summary::-webkit-details-marker{display:none}.nav-mobile-summary:after{content:"▾";color:var(--text-secondary);font-size:12px;transition:transform .2s}.nav-mobile-details[open] .nav-mobile-summary:after{transform:rotate(180deg)}.nav-mobile-sub{border-top:1px solid #94a3b81f;flex-direction:column;gap:2px;padding:4px 8px 10px;display:flex}.nav-mobile-sublink{min-height:44px;color:var(--text-prose);border-radius:8px;align-items:center;padding:8px 12px;font-size:14px;text-decoration:none;display:flex}.nav-mobile-sublink:hover{color:var(--text-h);background:#37415199}.nav-mobile-divider{background:#94a3b833;height:1px;margin:12px 0}.nav-mobile-account{flex-direction:column;gap:12px;padding-top:4px;display:flex}.nav-mobile-user{color:var(--text-secondary);margin:0;padding:4px 4px 0;font-size:13px}.nav-mobile-user strong{color:var(--text-elevated)}.nav-mobile-action{border:1px solid var(--border-muted);min-height:48px;color:var(--text);cursor:pointer;text-align:left;background:#1e293b99;border-radius:12px;padding:12px 16px;font-size:14px}.nav-mobile-action:hover{background:#334155cc}.nav-mobile-action--danger{color:var(--danger-fg);border-color:#f8717159}.nav-mobile-action:disabled{opacity:.6;cursor:not-allowed}}@media (width<=768px){.home-hero{grid-template-columns:minmax(0,1fr)}.app-main{padding-inline:16px}.nav,.nav-right{gap:10px}}body.fb-lightbox-open{overflow:hidden}.fb-photos-page .fb-photos-shell,.fb-collection-page .fb-photos-shell{max-width:100%;margin:0 auto}@media (width>=640px){.fb-photos-page .fb-photos-shell{max-width:min(1120px,100%)}}.fb-collection-page .fb-photos-shell{max-width:100%}.fb-photos-header{border-bottom:1px solid #94a3b833;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px;padding-bottom:16px;display:flex}.fb-photos-title{letter-spacing:-.02em;color:var(--text-h);margin:0 0 4px;font-size:1.75rem;font-weight:700}.fb-photos-subtitle{color:var(--text-muted);margin:0;font-size:.9375rem}.fb-photos-toolbar{flex-wrap:wrap;gap:8px;display:flex}.fb-toolbar-btn{cursor:pointer;background:var(--surface-toolbar);color:var(--text);border:none;border-radius:8px;padding:8px 14px;font-size:.875rem;font-weight:600;transition:background .15s}.fb-toolbar-btn:hover{background:var(--surface-toolbar-hover)}.fb-toolbar-btn--primary{background:var(--fb-primary-btn);color:var(--btn-on-primary)}.fb-toolbar-btn--primary:hover{background:var(--fb-primary-btn-hover)}.fb-toolbar-btn--compact{padding:6px 12px;font-size:.8125rem;font-weight:600}.fb-photos-muted{color:var(--text-muted);font-size:.9rem}.fb-photos-section{margin-top:28px}.fb-photos-section:first-of-type{margin-top:12px}.fb-photos-section-title{color:var(--text);margin:0 0 12px;font-size:1.0625rem;font-weight:700}.fb-album-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=520px){.fb-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=840px){.fb-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1100px){.fb-album-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.fb-album-card{color:inherit;background:var(--surface-album-card);border:1px solid var(--border-hairline);border-radius:12px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:block;overflow:hidden;box-shadow:0 4px 14px #00000040}.fb-album-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.fb-album-card-footer{padding:12px 14px 14px}.fb-album-card-title{color:var(--text-h);margin-bottom:2px;font-size:1rem;font-weight:700}.fb-album-card-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.8125rem;display:flex}.fb-album-badge{text-transform:uppercase;letter-spacing:.06em;background:var(--album-badge-bg);color:var(--album-badge-fg);border-radius:4px;padding:2px 6px;font-size:.65rem}.fb-photos-drop-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px;display:grid}.fb-drop-panel{border:2px dashed var(--border-default);background:var(--surface-drop);border-radius:12px;padding:16px 14px;transition:border-color .15s,background .15s}.fb-drop-panel strong{color:var(--text);margin-bottom:4px;font-size:.9375rem;display:block}.fb-drop-panel span{color:var(--text-muted);font-size:.8125rem}.fb-drop-panel--active{background:#2563eb1f;border-color:#60a5fad9}.fb-album-drop-wrap{border-radius:12px;transition:box-shadow .15s}.fb-album-drop-wrap--active{box-shadow:0 0 0 3px #60a5faa6}.fb-photos-drop-hint{margin:-4px 0 12px;font-size:.8125rem}.fb-photos-upload-notice{background:var(--fb-upload-bg);border:1px solid var(--fb-upload-border);color:var(--success-fg);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:.875rem}.fb-collection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.fb-collection-drop-host{border-radius:12px;min-height:80px;transition:background .15s,box-shadow .15s}.fb-collection-drop-host--active{background:#2563eb14;box-shadow:inset 0 0 0 2px #60a5fa73}.fb-collection-drop-footer{text-align:center;margin-top:14px;font-size:.8125rem}.fb-photos-empty--droppable{border:2px dashed var(--border-muted);border-radius:12px;margin-bottom:8px;padding:28px 16px}.fb-album-collage{background:var(--surface-collage);overflow:hidden}.fb-album-img{object-fit:cover;width:100%;height:100%;display:block}.fb-album-collage--empty{justify-content:center;align-items:center;min-height:180px;display:flex}.fb-album-placeholder-text{color:var(--text-subtle);font-size:.875rem}.fb-album-collage--1{aspect-ratio:1.35;max-height:240px}.fb-album-collage--1 .fb-album-img{height:100%}.fb-album-collage--2{aspect-ratio:1.35;grid-template-columns:1fr 1fr;gap:2px;max-height:240px;display:grid}.fb-album-collage--3{aspect-ratio:1.35;grid-template-columns:1.2fr 1fr;gap:2px;max-height:240px;display:grid}.fb-album-collage--3 .fb-album-hero{grid-row:span 2;min-height:0}.fb-album-collage--3 .fb-album-stack{grid-template-rows:1fr 1fr;gap:2px;min-height:0;display:grid}.fb-album-collage--4{aspect-ratio:1.35;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2px;max-height:240px;display:grid}.fb-photos-empty{text-align:center;background:#1f293766;border:1px dashed #94a3b840;border-radius:12px;margin-top:16px;padding:48px 20px}.fb-photos-empty-title{color:var(--text);margin:0 0 8px;font-weight:600}.fb-collection-header{border-bottom:1px solid #94a3b833;margin-bottom:12px;padding-bottom:16px}.fb-collection-header-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.fb-collection-back{color:var(--dashboard-desc);align-items:center;gap:4px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.fb-collection-back:hover{text-decoration:underline}.fb-collection-back-icon{margin-top:-2px;font-size:1.5rem;line-height:1}.fb-collection-link-secondary{color:var(--text-muted);font-size:.875rem;text-decoration:none}.fb-collection-link-secondary:hover{color:var(--text)}.fb-collection-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fb-collection-title{letter-spacing:-.02em;color:var(--text-h);margin:0 0 4px;font-size:1.5rem;font-weight:800}.fb-collection-count{color:var(--text-muted);margin:0;font-size:.875rem}.fb-cover-mode-hint{color:var(--dashboard-link-hover);background:#2563eb33;border:1px solid #3b82f659;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:.8125rem}.fb-photo-mosaic{border-radius:8px;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:8px;display:grid;overflow:hidden}@media (width>=480px){.fb-photo-mosaic{grid-template-columns:repeat(4,1fr)}}@media (width>=720px){.fb-photo-mosaic{grid-template-columns:repeat(5,1fr);gap:4px}}@media (width>=1000px){.fb-photo-mosaic{grid-template-columns:repeat(6,1fr)}}.fb-photo-cell{aspect-ratio:1;cursor:pointer;background:var(--mosaic-cell-bg);border:none;margin:0;padding:0;display:block;position:relative;overflow:hidden}.fb-photo-cell img{object-fit:cover;vertical-align:middle;width:100%;height:100%;transition:transform .2s}.fb-photo-cell:hover img{transform:scale(1.04)}.fb-photo-cell--select-mode{cursor:pointer;outline:2px solid #0000}.fb-photo-cell--select-mode.fb-photo-cell--selected{outline-color:var(--focus-outline-blue);outline-offset:-2px}.fb-photo-cell-check{width:26px;height:26px;color:var(--btn-on-primary);pointer-events:none;background:#2563ebf2;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.fb-lightbox{z-index:5000;justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.fb-lightbox-backdrop{cursor:zoom-out;background:#000000eb;border:none;position:absolute;inset:0}.fb-lightbox-content{z-index:1;pointer-events:none;flex-direction:column;width:100%;max-width:100vw;max-height:100vh;display:flex;position:relative}.fb-lightbox-content>*{pointer-events:auto}.fb-lightbox-topbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.fb-lightbox-topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.fb-lightbox-icon-btn{min-width:44px;min-height:44px;color:var(--fb-lightbox-fg);cursor:pointer;background:#ffffff1a;border:none;border-radius:10px;padding:0 12px;font-size:1rem;font-weight:600}.fb-lightbox-icon-btn:hover{background:#ffffff2e}.fb-lightbox-counter{color:var(--fb-lightbox-muted);font-size:.875rem;font-weight:600}.fb-lightbox-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 4px;display:flex;position:relative}.fb-lightbox-img-wrap{flex:1;justify-content:center;align-items:center;min-height:0;max-height:calc(100vh - 200px);display:flex}.fb-lightbox-img{object-fit:contain;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 200px)}.fb-lightbox-nav{width:44px;height:44px;color:var(--fb-lightbox-fg);cursor:pointer;z-index:2;background:#ffffff1f;border:none;border-radius:50%;font-size:1.5rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.fb-lightbox-nav:hover{background:#ffffff38}.fb-lightbox-nav--prev{left:8px}.fb-lightbox-nav--next{right:8px}.fb-lightbox-caption{box-sizing:border-box;flex-shrink:0;width:100%;max-width:560px;margin:0 auto;padding:12px 16px 20px}.fb-lightbox-title{color:var(--fb-lightbox-fg);margin-bottom:6px;font-size:1rem;font-weight:700}.fb-lightbox-desc{color:var(--fb-lightbox-muted);margin:0 0 10px;font-size:.875rem;line-height:1.45}.fb-lightbox-tags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.fb-lightbox-tag{color:var(--fb-lightbox-fg);background:#ffffff1f;border-radius:999px;padding:3px 8px;font-size:.75rem}.fb-lightbox-download{color:var(--link-sky);font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-block}.fb-lightbox-download:hover{text-decoration:underline}.fb-covers-modal-backdrop.modal-backdrop{z-index:1200}.photo-image-edit-modal{max-width:min(920px,100vw - 24px)}.photo-image-edit-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.photo-image-edit-undo{gap:8px;display:flex}.photo-image-edit-tabs{gap:4px;display:flex}.photo-image-crop-wrap{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.photo-image-aspect-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.photo-image-aspect-btn{border:1px solid var(--border-default);background:var(--surface-0);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.photo-image-aspect-btn:hover{border-color:var(--border-strong);color:var(--text)}.photo-image-aspect-btn--active{color:var(--text-h);background:#5eead41a;border-color:#5eead473}[data-theme=light] .photo-image-aspect-btn--active{background:#0d94881a;border-color:#0d948873}.photo-image-custom-aspect{color:var(--text-secondary);flex-wrap:wrap;align-items:flex-end;gap:10px;font-size:13px;display:flex}.photo-image-custom-aspect label{flex-direction:column;gap:4px;display:flex}.photo-image-custom-aspect input[type=number]{border:1px solid var(--border-strong);background:var(--surface-0);width:4.5rem;color:var(--text);border-radius:8px;padding:6px 8px}.photo-image-custom-aspect-colon{color:var(--text-muted);padding-bottom:6px;font-weight:700}.photo-image-custom-aspect-hint{color:var(--text-subtle);flex:100%;margin:0;font-size:11px}.photo-image-crop-stage{background:var(--surface-collage);border:1px solid var(--border-hairline);border-radius:12px;width:100%;height:min(52vh,440px);position:relative;overflow:hidden}.photo-image-zoom-label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.photo-image-apply-crop{align-self:flex-start}.photo-image-text-panel{grid-template-columns:1fr;gap:14px;margin-bottom:14px;display:grid}@media (width>=720px){.photo-image-text-panel{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start}}.photo-image-preview-wrap{border:1px solid var(--border-hairline);background:var(--mosaic-cell-bg);border-radius:10px;position:relative;overflow:hidden}.photo-image-preview-img{vertical-align:middle;width:100%;height:auto;display:block}.photo-image-text-overlay{pointer-events:none;position:absolute;inset:0}.photo-image-text-layer{pointer-events:auto;cursor:pointer;text-align:left;text-shadow:0 1px 2px #000000a6;word-break:break-word;background:#00000040;border:2px solid #0000;border-radius:4px;max-width:90%;margin:0;padding:2px 6px;font-weight:600;line-height:1.2;position:absolute}.photo-image-text-layer--selected{border-color:#60a5faf2}.photo-image-text-controls{flex-direction:column;gap:10px;font-size:13px;display:flex}.photo-image-text-controls label{color:var(--text-secondary);flex-direction:column;gap:4px;display:flex}.photo-image-text-controls input,.photo-image-text-controls select{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);border-radius:8px;padding:6px 8px;font-family:inherit}.photo-image-save-block{border-top:1px solid var(--border-hairline);margin-top:4px;padding-top:14px}.photo-image-dup-title{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.photo-image-dup-title input{border:1px solid var(--border-strong);background:var(--surface-0);color:var(--text);border-radius:8px;padding:8px 10px}.photo-image-save-actions{flex-wrap:wrap}.covers-preview-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;display:grid}.covers-preview-slot{aspect-ratio:1;border:1px solid var(--border-muted);background:#0f172ae6;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.covers-preview-slot-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:6px 8px;font-size:.65rem}.covers-preview-slot img{object-fit:cover;flex:1;width:100%;min-height:0}:root{--pf-bg:#111315;--pf-surface:#171a1e;--pf-surface-raised:#1d2126;--pf-soft:#191d21;--pf-ink:#f3f1eb;--pf-text:#eceae4;--pf-muted:#a3a7ad;--pf-faint:#6f757d;--pf-line:#edebe324;--pf-line-strong:#edebe347;--pf-accent:#6f9dff;--pf-accent-strong:#8bb0ff;--pf-accent-soft:#5282e724;--pf-dark:#0e1012;--pf-white:#f7f5ef;--pf-max:1240px;--pf-gutter:clamp(22px, 5vw, 72px);--pf-section:clamp(88px, 12vw, 168px);--pf-display:clamp(3.7rem, 7.6vw, 8.4rem);--pf-heading:clamp(2.4rem, 5vw, 5.6rem)}[data-theme=light]{--pf-bg:#f3f0e8;--pf-surface:#ebe7dd;--pf-surface-raised:#faf8f2;--pf-soft:#e6e2d8;--pf-ink:#15181b;--pf-text:#171a1d;--pf-muted:#5e646b;--pf-faint:#7b8187;--pf-line:#13171b24;--pf-line-strong:#13171b47;--pf-accent:#285fc5;--pf-accent-strong:#164daf;--pf-accent-soft:#285fc51a;--pf-white:#faf8f2}html{scroll-behavior:smooth}body{background:var(--pf-bg)}::selection{color:var(--pf-white);background:var(--pf-accent)}.app-shell--portfolio{background:var(--pf-bg)}.app-main--public{width:100%;max-width:none;margin:0;padding:0;overflow:clip}.app-header{background:color-mix(in srgb, var(--pf-bg) 88%, transparent);border-bottom-color:var(--pf-line);-webkit-backdrop-filter:blur(20px)saturate(125%);backdrop-filter:blur(20px)saturate(125%);min-height:72px}.app-header-row{min-height:72px;max-width:calc(var(--pf-max) + (var(--pf-gutter) * 2));padding-inline:var(--pf-gutter);margin:0 auto}.logo a{color:var(--pf-text);font-family:var(--mono);letter-spacing:.16em;align-items:center;gap:9px;font-size:11px;font-weight:650;display:inline-flex}.logo a i{background:var(--pf-accent);width:18px;height:1px;display:block}.nav-desktop{gap:clamp(12px,2vw,28px)}.nav-link{color:var(--pf-muted);border-radius:0;padding:10px 2px;font-size:13px;font-weight:520;text-decoration:none;transition:color .16s;position:relative}.nav-link:after{content:"";background:var(--pf-accent);transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--pf-text);background:0 0}.nav-link.active:after,.nav-link:hover:after{transform-origin:0;transform:scaleX(1)}.nav-login-link,.nav-portal-link{border-left:1px solid var(--pf-line-strong);color:var(--pf-text);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;padding-left:18px;font-size:11px;text-decoration:none;display:inline-flex}.nav-login-link:hover,.nav-portal-link:hover{color:var(--pf-accent-strong)}.app-footer{box-sizing:border-box;width:100%;padding:48px max(var(--pf-gutter), calc((100vw - var(--pf-max)) / 2));border-top:1px solid var(--pf-line);background:var(--pf-bg);color:var(--pf-muted);text-align:left;grid-template-columns:1fr auto;gap:28px 48px;display:grid}.app-footer__identity{flex-direction:column;gap:5px;display:flex}.app-footer__identity strong{color:var(--pf-text);font-size:14px}.app-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:18px;display:flex}.app-footer a{color:var(--pf-muted);text-decoration:none}.app-footer a:hover{color:var(--pf-text)}.app-footer>p{font-family:var(--mono);letter-spacing:.05em;grid-column:1/-1;font-size:10px}.pf-page{min-height:70vh;color:var(--pf-text);background:var(--pf-bg)}.pf-page *,.pf-page :before,.pf-page :after{box-sizing:border-box}.pf-page h1,.pf-page h2,.pf-page h3{color:inherit;font-family:var(--sans);text-wrap:balance}.pf-page p{text-wrap:pretty}.pf-shell{width:min(100%, calc(var(--pf-max) + (var(--pf-gutter) * 2)));padding-inline:var(--pf-gutter);margin-inline:auto}.pf-band{padding-block:var(--pf-section);border-top:1px solid var(--pf-line);background:var(--pf-bg)}.pf-band--ink{--pf-text:#eceae4;--pf-muted:#a3a7ad;--pf-faint:#6f757d;--pf-line:#edebe324;--pf-line-strong:#edebe347;color:var(--pf-text);background:var(--pf-dark)}.pf-eyebrow{color:var(--pf-accent-strong);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700;line-height:1.4}.pf-eyebrow--stacked{flex-wrap:wrap;gap:10px 20px;display:flex}.pf-eyebrow--stacked span+span{border-left:1px solid var(--pf-line-strong);color:var(--pf-muted);padding-left:20px}.pf-hero{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);align-items:center;gap:clamp(56px,8vw,120px);min-height:calc(100svh - 72px);padding-block:clamp(80px,10vw,140px);display:grid}.pf-hero h1{max-width:900px;font-size:var(--pf-display);letter-spacing:-.072em;margin:32px 0 36px;font-weight:520;line-height:.91}.pf-hero__intro{max-width:720px;color:var(--pf-text);font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.55}.pf-hero__intro--secondary{color:var(--pf-muted);margin-top:10px}.pf-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:38px;display:flex}.pf-button{border:1px solid var(--pf-line-strong);min-height:48px;color:var(--pf-text);justify-content:center;align-items:center;gap:18px;padding:13px 18px;font-size:13px;font-weight:650;text-decoration:none;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.pf-button:hover{border-color:var(--pf-accent);transform:translateY(-2px)}.pf-button--primary{border-color:var(--pf-accent);background:var(--pf-accent);color:#fff}.pf-button--primary:hover{background:var(--pf-accent-strong)}.pf-button--quiet{color:var(--pf-muted);border-color:#0000}.pf-button--light{color:#fff;border-color:#fff9}.pf-text-link{border-bottom:1px solid var(--pf-line-strong);width:fit-content;color:var(--pf-text);align-items:center;gap:10px;margin-top:22px;padding-bottom:4px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.pf-text-link:hover{color:var(--pf-accent-strong);border-color:var(--pf-accent)}.pf-text-link--light{color:#fff;border-color:#ffffff59}.pf-hero-diagram{border:1px solid var(--pf-line);background:linear-gradient(var(--pf-line) 1px, transparent 1px), linear-gradient(90deg, var(--pf-line) 1px, transparent 1px);isolation:isolate;background-size:48px 48px;min-height:500px;padding:26px;position:relative}.pf-hero-diagram:before,.pf-hero-diagram:after{content:"";z-index:-1;background:var(--pf-bg);position:absolute}.pf-hero-diagram:before{inset:48px 0}.pf-hero-diagram:after{inset:0 48px}.pf-hero-diagram__meta{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.12em;justify-content:space-between;font-size:9px;display:flex;position:relative}.pf-hero-diagram .pf-system-flow{margin:72px 0 60px;position:relative}.pf-hero-diagram__output{border:1px solid var(--pf-line-strong);background:var(--pf-surface-raised);grid-template-columns:50px 1fr;align-items:center;gap:16px;max-width:290px;margin-left:auto;padding:18px;display:grid;position:relative}.pf-hero-diagram__output span{aspect-ratio:1;background:var(--pf-accent);width:42px;box-shadow:0 0 0 8px var(--pf-accent-soft);border-radius:50%}.pf-hero-diagram__output p{color:var(--pf-muted);font-size:12px;line-height:1.45}.pf-system-flow{width:100%;display:flex}.pf-system-flow__step{flex-direction:column;flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex;position:relative}.pf-system-flow__node{z-index:2;border:2px solid var(--pf-faint);background:var(--pf-bg);width:12px;height:12px;animation:6s ease-in-out infinite pf-node;animation-delay:calc(var(--node-index,0) * .55s);border-radius:50%;position:relative}.pf-system-flow__step:nth-child(2) .pf-system-flow__node{--node-index:1}.pf-system-flow__step:nth-child(3) .pf-system-flow__node{--node-index:2}.pf-system-flow__step:nth-child(4) .pf-system-flow__node{--node-index:3}.pf-system-flow__step:nth-child(5) .pf-system-flow__node{--node-index:4}.pf-system-flow__step:nth-child(6) .pf-system-flow__node{--node-index:5}.pf-system-flow__line{background:var(--pf-line-strong);transform-origin:0;width:calc(100% - 12px);height:1px;position:absolute;top:5px;left:12px}.pf-system-flow__label{max-width:90%;color:var(--pf-muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-size:9px;line-height:1.35}@keyframes pf-node{0%,14%,to{border-color:var(--pf-faint);background:var(--pf-bg);box-shadow:none}3%,9%{border-color:var(--pf-accent);background:var(--pf-accent);box-shadow:0 0 0 6px var(--pf-accent-soft)}}.pf-section-intro>.pf-eyebrow{margin-bottom:26px}.pf-section-intro__grid{grid-template-columns:minmax(0,1.12fr) minmax(300px,.62fr);align-items:start;gap:clamp(50px,10vw,160px);display:grid}.pf-section-intro h2{max-width:820px;font-size:var(--pf-heading);letter-spacing:-.06em;margin:0;font-weight:530;line-height:.98}.pf-section-intro__copy{color:var(--pf-muted);gap:18px;padding-top:8px;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65;display:grid}.pf-lead{color:var(--pf-text);font-size:1.35em}.pf-process{grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.pf-process:before,.pf-process:after{content:"";height:1px;position:absolute;top:9px;left:0;right:0}.pf-process:before{background:var(--pf-line-strong)}.pf-process:after{background:var(--pf-accent);transform-origin:0;transform:scaleX(.15)}.pf-process__stage{min-height:240px;padding:40px clamp(12px,2vw,26px) 0 0;position:relative}.pf-process__stage:before{content:"";z-index:2;border:1px solid var(--pf-faint);background:var(--pf-dark);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:0}.pf-process__number{color:var(--pf-accent-strong);font-family:var(--mono);font-size:10px}.pf-process h3{margin:20px 0 12px;font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:560}.pf-process p{color:var(--pf-muted);font-size:13px;line-height:1.6}@supports (animation-timeline:view()){.pf-process:after{animation:linear both pf-process-line;animation-timeline:view();animation-range:entry 10% cover 60%}.pf-process__stage{animation:linear both pf-reveal;animation-timeline:view();animation-range:entry 5% entry 70%}}@keyframes pf-process-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pf-reveal{0%{opacity:.32;transform:translateY(18px)}to{opacity:1;transform:none}}.pf-useful-grid{border-top:1px solid var(--pf-line-strong);border-left:1px solid var(--pf-line-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pf-useful{border-right:1px solid var(--pf-line-strong);border-bottom:1px solid var(--pf-line-strong);min-height:280px;padding:clamp(28px,4vw,52px)}.pf-useful>span{color:var(--pf-accent-strong);font-family:var(--mono);font-size:10px}.pf-useful h3{letter-spacing:-.04em;max-width:360px;margin:56px 0 20px;font-size:clamp(1.45rem,2.3vw,2.25rem);font-weight:530}.pf-useful p{max-width:540px;color:var(--pf-muted);font-size:15px;line-height:1.7}.pf-intersection{grid-template-columns:minmax(480px,1fr) minmax(280px,.6fr);align-items:center;gap:clamp(60px,10vw,150px);display:grid}.pf-intersection__visual{min-height:620px;position:relative}.pf-intersection__circle{aspect-ratio:1;border:1px solid var(--pf-line-strong);background:color-mix(in srgb, var(--pf-bg) 80%, transparent);border-radius:50%;flex-direction:column;justify-content:center;width:350px;padding:66px;transition:transform .7s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute}.pf-intersection__circle--1{top:0;left:50%;transform:translate(-50%)}.pf-intersection__circle--2{bottom:10px;left:4%}.pf-intersection__circle--3{bottom:10px;right:4%}.pf-intersection__circle h3{margin:0 0 10px;font-size:1.5rem;font-weight:550}.pf-intersection__circle p{color:var(--pf-muted);font-family:var(--mono);text-transform:uppercase;font-size:9px;line-height:1.7}.pf-intersection__center{z-index:3;color:var(--pf-accent-strong);font-family:var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:0;font-size:10px;font-weight:700;line-height:1.4;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.pf-intersection__statement{letter-spacing:-.035em;max-width:480px;font-size:clamp(1.5rem,2.7vw,2.7rem);line-height:1.3}.pf-project-list{border-top:1px solid var(--pf-line-strong)}.pf-project-card{border:1px solid var(--pf-line-strong);background:var(--pf-surface-raised);flex-direction:column;min-height:100%;padding:clamp(30px,4vw,52px);transition:border-color .18s,transform .18s;display:flex;position:relative}.pf-project-card:hover{border-color:var(--pf-accent);transform:translateY(-3px)}.pf-project-list .pf-project-card{border:0;border-bottom:1px solid var(--pf-line-strong);background:0 0;grid-template-columns:minmax(180px,.55fr) minmax(250px,.8fr) minmax(240px,1.1fr) auto;align-items:start;gap:40px;min-height:0;padding:38px 0;display:grid}.pf-project-list .pf-project-card:hover{transform:none}.pf-project-card__meta{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;flex-direction:column;gap:8px;font-size:9px;line-height:1.45;display:flex}.pf-project-card h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,2.2vw,2.1rem);font-weight:530}.pf-project-card h3 a{color:inherit;text-decoration:none}.pf-project-card h3 a:after{content:"";position:absolute;inset:0}.pf-project-card__summary{color:var(--pf-muted);line-height:1.65}.pf-project-card .pf-text-link{z-index:2;align-self:end;margin-top:auto;position:relative}.pf-project-card__detail{gap:22px;margin:36px 0;display:grid}.pf-project-card__detail div{border-top:1px solid var(--pf-line);grid-template-columns:70px 1fr;gap:12px;padding-top:14px;display:grid}.pf-project-card__detail dt{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.pf-project-card__detail dd{color:var(--pf-muted);margin:0;font-size:13px;line-height:1.55}.pf-career{border-top:1px solid var(--pf-line-strong);margin:0 0 28px;padding:0;list-style:none}.pf-career li{border-bottom:1px solid var(--pf-line-strong);grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:30px;padding:34px 0;display:grid}.pf-career__period{color:var(--pf-accent-strong);font-family:var(--mono);text-transform:uppercase;font-size:10px}.pf-career h3{margin:0 0 7px;font-size:1.55rem;font-weight:550}.pf-career p{color:var(--pf-muted)}.pf-career__role{margin-bottom:8px;font-weight:620;color:var(--pf-text)!important}.pf-band--lab{--pf-text:#fff;--pf-muted:#ffffffb8;--pf-line:#ffffff2e;--pf-line-strong:#ffffff59;color:#fff;background:#2458ba}.pf-lab-threshold{grid-template-columns:1fr .72fr;gap:clamp(60px,12vw,180px);display:grid}.pf-lab-threshold h2{max-width:700px;font-size:var(--pf-heading);letter-spacing:-.06em;margin:24px 0 0;font-weight:530;line-height:1}.pf-lab-threshold>div:last-child{color:#ffffffc7;flex-direction:column;justify-content:flex-end;font-size:1.1rem;line-height:1.7;display:flex}.pf-page-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr);align-items:end;gap:clamp(50px,10vw,160px);min-height:76svh;padding-block:clamp(100px,14vw,190px) clamp(80px,10vw,140px);display:grid}.pf-page-hero>.pf-eyebrow{grid-column:1/-1;align-self:start}.pf-page-hero h1{letter-spacing:-.07em;margin:0;font-size:clamp(3.7rem,7.5vw,8rem);font-weight:520;line-height:.92}.pf-page-hero>p:not(.pf-eyebrow){color:var(--pf-muted);font-size:clamp(1.12rem,1.8vw,1.45rem);line-height:1.65}.pf-page-hero>.pf-system-flow{grid-column:1/-1;margin-top:36px}.pf-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.pf-case-hero{padding-block:clamp(90px,12vw,160px)}.pf-back-link{color:var(--pf-muted);margin-bottom:70px;font-size:13px;text-decoration:none;display:inline-block}.pf-case-hero>.pf-eyebrow{margin-bottom:24px}.pf-case-hero h1{letter-spacing:-.075em;max-width:950px;margin:0;font-size:clamp(4rem,9vw,9.5rem);font-weight:520;line-height:.9}.pf-case-hero__summary{max-width:760px;color:var(--pf-muted);margin:42px 0 60px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.55}.pf-case-meta{border-block:1px solid var(--pf-line-strong);grid-template-columns:.4fr 1.2fr .6fr;gap:28px;margin:0;padding:26px 0;display:grid}.pf-case-meta dt,.pf-contribution>span{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:9px}.pf-case-meta dd{color:var(--pf-text);margin:0;font-size:13px;line-height:1.5}.pf-contribution{grid-template-columns:.4fr 1.8fr;gap:28px;margin-top:32px;display:grid}.pf-contribution p{max-width:760px;color:var(--pf-muted);line-height:1.65}.pf-case-body{padding-bottom:var(--pf-section)}.pf-case-section{border-top:1px solid var(--pf-line-strong);grid-template-columns:minmax(100px,.3fr) minmax(0,1fr);gap:40px;padding-block:clamp(70px,10vw,120px);display:grid}.pf-case-section__number{color:var(--pf-accent-strong);font-family:var(--mono);font-size:10px}.pf-case-section h2{letter-spacing:-.06em;margin:0 0 44px;font-size:clamp(2.2rem,4.8vw,5rem);font-weight:530}.pf-prose{max-width:850px;color:var(--pf-muted);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}.pf-prose>*+*{margin-top:22px}.pf-prose ul{gap:12px;padding-left:20px;display:grid}.pf-case-section .pf-system-flow{margin-block:20px 52px}.pf-tag-row{flex-wrap:wrap;gap:8px;display:flex}.pf-tag-row span,.pf-outside-list span{border:1px solid var(--pf-line-strong);color:var(--pf-muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:7px 10px;font-size:9px}.pf-requirements{border-top:1px solid var(--pf-line-strong);border-left:1px solid var(--pf-line-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pf-requirements__group{border-right:1px solid var(--pf-line-strong);border-bottom:1px solid var(--pf-line-strong);padding:30px}.pf-requirements__group h3{color:var(--pf-accent-strong);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 22px;font-size:11px}.pf-requirements__group ul{margin:0;padding-left:18px}.pf-requirements__group--cannot h3{color:#d47d73}.pf-outcome{border-left:3px solid var(--pf-accent);background:var(--pf-accent-soft);color:var(--pf-text);padding:clamp(30px,5vw,60px);font-size:1.25em}.pf-confidentiality{border-top:1px solid var(--pf-line-strong);color:var(--pf-muted);grid-template-columns:minmax(100px,.3fr) 1fr;gap:40px;padding:32px 0;display:grid}.pf-confidentiality span{color:var(--pf-accent-strong);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.pf-case-next{border-top:1px solid var(--pf-line-strong);padding-top:60px}.pf-case-next a{color:var(--pf-text);font-size:clamp(1.4rem,3vw,2.4rem);text-decoration:none}.pf-experience-list{border-top:1px solid var(--pf-line-strong)}.pf-experience{border-bottom:1px solid var(--pf-line-strong);grid-template-columns:minmax(170px,.34fr) 1fr;gap:clamp(40px,8vw,120px);padding-block:clamp(70px,9vw,115px);display:grid}.pf-experience__rail span{color:var(--pf-accent-strong);font-family:var(--mono);font-size:10px}.pf-experience__rail p{color:var(--pf-muted);font-family:var(--mono);text-transform:uppercase;margin-top:20px;font-size:10px}.pf-experience__body h2{letter-spacing:-.06em;margin:18px 0 26px;font-size:clamp(2.3rem,5vw,5rem);font-weight:530}.pf-experience__intro{max-width:820px;color:var(--pf-text);font-size:1.25rem;line-height:1.65}.pf-experience__groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:50px;display:grid}.pf-experience__groups section{border:1px solid var(--pf-line-strong);padding:26px}.pf-experience__groups h3{color:var(--pf-accent-strong);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0 0 18px;font-size:10px}.pf-experience__groups ul,.pf-evidence{color:var(--pf-muted);gap:11px;margin:0;padding-left:18px;line-height:1.6;display:grid}.pf-evidence{margin-top:42px}.pf-evidence li{border-bottom:1px solid var(--pf-line);padding-bottom:14px}.pf-note{color:var(--pf-faint);font-family:var(--mono);margin-top:30px;font-size:10px;line-height:1.6}.pf-education{grid-template-columns:.7fr 1fr;gap:clamp(50px,10vw,150px);display:grid}.pf-education h2{letter-spacing:-.06em;margin:22px 0 0;font-size:clamp(2.4rem,4.5vw,4.8rem);font-weight:530;line-height:1}.pf-education ul{border-top:1px solid var(--pf-line-strong);margin:0;padding:0;list-style:none}.pf-education li{border-bottom:1px solid var(--pf-line-strong);flex-direction:column;gap:5px;padding:22px 0;display:flex}.pf-education span{color:var(--pf-muted);font-size:13px}.pf-simple-cta{justify-content:space-between;align-items:center;gap:40px;display:flex}.pf-simple-cta h2{letter-spacing:-.06em;max-width:760px;margin:0;font-size:clamp(2.4rem,5vw,5rem);font-weight:530;line-height:1}.pf-page-hero--personal{grid-template-columns:minmax(0,1fr)}.pf-page-hero--personal h1{max-width:1100px}.pf-about-opening{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:20px;display:grid}.pf-about-opening p{border-top:1px solid var(--pf-line-strong);color:var(--pf-muted);padding-top:20px;font-size:1rem;line-height:1.65}.pf-about-story{grid-template-columns:.8fr 1fr;gap:clamp(60px,10vw,150px);display:grid}.pf-about-story__lead{letter-spacing:-.06em;font-size:clamp(2.5rem,5vw,5.4rem);line-height:1.02}.pf-about-story__body{color:var(--pf-muted);gap:26px;font-size:1.12rem;line-height:1.75;display:grid}.pf-principles{border-top:1px solid var(--pf-line-strong);margin:0;padding:0;list-style:none}.pf-principles li{border-bottom:1px solid var(--pf-line-strong);grid-template-columns:100px 1fr;gap:30px;padding:25px 0;display:grid}.pf-principles span{color:var(--pf-accent-strong);font-family:var(--mono);font-size:10px}.pf-principles p{letter-spacing:-.025em;font-size:clamp(1.25rem,2.4vw,2.2rem)}.pf-outside-list{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.pf-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pf-lab-card{border:1px solid var(--pf-line-strong);background:var(--pf-surface);min-height:520px;padding:clamp(30px,4vw,52px)}.pf-lab-card__top{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;margin-bottom:80px;font-size:9px;display:flex}.pf-lab-card h2{letter-spacing:-.05em;margin:20px 0 48px;font-size:clamp(1.7rem,3vw,3rem);font-weight:530;line-height:1.08}.pf-lab-card dl{gap:20px;margin:0;display:grid}.pf-lab-card dl div{border-top:1px solid var(--pf-line);grid-template-columns:60px 1fr;gap:14px;padding-top:14px;display:grid}.pf-lab-card dt{color:var(--pf-accent-strong);font-family:var(--mono);text-transform:uppercase;font-size:9px}.pf-lab-card dd{color:var(--pf-muted);margin:0;font-size:13px;line-height:1.6}.pf-public-private{grid-template-columns:.85fr 1fr;gap:clamp(50px,10vw,140px);display:grid}.pf-public-private h2{letter-spacing:-.06em;margin:20px 0 0;font-size:clamp(2.4rem,4.5vw,4.7rem);font-weight:530;line-height:1}.pf-public-private>div:last-child{color:var(--pf-muted);font-size:1.1rem;line-height:1.7}.pf-contact{min-height:calc(100svh - 72px);display:flex}.pf-contact__inner{grid-template-columns:1fr .7fr;align-items:center;gap:clamp(60px,12vw,180px);padding-block:clamp(100px,15vw,190px);display:grid}.pf-contact h1{letter-spacing:-.075em;max-width:790px;margin:28px 0 0;font-size:clamp(4rem,9vw,9rem);font-weight:520;line-height:.88}.pf-contact__copy>p:first-child{color:var(--pf-muted);font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.65}.pf-contact__links{border-top:1px solid var(--pf-line-strong);margin:60px 0 0}.pf-contact__links div{border-bottom:1px solid var(--pf-line-strong);grid-template-columns:100px 1fr;gap:20px;padding:20px 0;display:grid}.pf-contact__links dt{color:var(--pf-faint);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.pf-contact__links dd{color:var(--pf-text);margin:0}.pf-button:focus-visible,.pf-text-link:focus-visible,.pf-project-card h3 a:focus-visible,.pf-back-link:focus-visible,.nav-login-link:focus-visible,.nav-portal-link:focus-visible,.app-footer a:focus-visible{outline:2px solid var(--pf-accent-strong);outline-offset:4px}@media (width<=1100px){.pf-hero{grid-template-columns:1fr;min-height:auto}.pf-hero-diagram{min-height:400px}.pf-process{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:30px}.pf-process:before,.pf-process:after{display:none}.pf-process__stage{border-top:1px solid var(--pf-line-strong);min-height:190px}.pf-process__stage:before{display:none}.pf-intersection{grid-template-columns:1fr}.pf-intersection__visual{width:100%;max-width:760px;margin-inline:auto}.pf-project-list .pf-project-card{grid-template-columns:minmax(150px,.4fr) minmax(220px,.7fr) 1fr}.pf-project-list .pf-project-card .pf-text-link{grid-column:2/-1}}@media (width<=900px){:root{--pf-gutter:clamp(18px, 5vw, 42px);--pf-section:clamp(76px, 13vw, 120px)}.app-header,.app-header-row{min-height:60px}.app-header-row{padding-inline:var(--pf-gutter)}.nav-mobile-backdrop,.nav-mobile-panel{top:60px}.nav-mobile-panel{background:var(--pf-bg);border-top-color:var(--pf-line)}.nav-mobile-inner{padding:22px var(--pf-gutter) 40px}.nav-mobile-inner>.nav-link{border-bottom:1px solid var(--pf-line);min-height:54px;color:var(--pf-text);border-radius:0;padding:10px 0;font-size:1.25rem}.nav-mobile-inner>.nav-link:after{display:none}.nav-mobile-login{min-height:52px;color:var(--pf-text);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;text-decoration:none;display:flex}.nav-mobile-action{background:var(--pf-surface);border-color:var(--pf-line-strong);color:var(--pf-text)}.app-footer{padding-inline:var(--pf-gutter);grid-template-columns:1fr}.app-footer nav{justify-content:flex-start}.pf-section-intro__grid,.pf-page-hero,.pf-lab-threshold,.pf-about-story,.pf-public-private,.pf-contact__inner{grid-template-columns:1fr}.pf-page-hero{min-height:auto}.pf-section-intro__grid{gap:30px}.pf-intersection__visual{transform-origin:50%;min-height:560px;transform:scale(.88)}.pf-work-grid,.pf-lab-grid{grid-template-columns:1fr}.pf-project-list .pf-project-card{grid-template-columns:1fr;gap:18px}.pf-project-list .pf-project-card .pf-text-link{grid-column:auto}.pf-case-meta{grid-template-columns:repeat(2,1fr)}.pf-contribution{grid-template-columns:1fr;gap:10px}.pf-case-section,.pf-confidentiality{grid-template-columns:70px 1fr}.pf-experience,.pf-education{grid-template-columns:1fr}.pf-experience__rail{justify-content:space-between;display:flex}.pf-experience__rail p{margin:0}.pf-simple-cta{flex-direction:column;align-items:flex-start}.pf-about-opening{grid-template-columns:1fr}}@media (width<=560px){:root{--pf-display:clamp(3.1rem, 15vw, 5rem);--pf-heading:clamp(2.35rem, 12vw, 4rem)}.app-header-row .logo a{overflow:visible}.pf-hero{gap:60px;padding-block:72px 90px}.pf-hero h1{letter-spacing:-.065em}.pf-eyebrow--stacked{flex-direction:column}.pf-eyebrow--stacked span+span{border:0;padding:0}.pf-actions{flex-direction:column;align-items:stretch}.pf-button{width:100%}.pf-hero-diagram{min-height:390px;padding:18px}.pf-hero-diagram .pf-system-flow{flex-direction:column;gap:17px;margin:42px 0}.pf-hero-diagram .pf-system-flow__step{flex-direction:row;align-items:center}.pf-hero-diagram .pf-system-flow__line{width:1px;height:29px;top:12px;left:5px}.pf-hero-diagram__output{margin:0}.pf-process{grid-template-columns:1fr}.pf-process__stage{min-height:0;padding:24px 0 32px 58px}.pf-process__number{position:absolute;top:28px;left:0}.pf-process h3{margin-top:0}.pf-useful-grid{grid-template-columns:1fr}.pf-useful{min-height:0}.pf-useful h3{margin-top:36px}.pf-intersection__visual{min-height:500px;margin:-40px 0;transform:scale(.72)}.pf-intersection__circle{width:330px}.pf-career li{grid-template-columns:1fr;gap:12px}.pf-system-flow:not(.pf-hero-diagram .pf-system-flow){grid-template-columns:repeat(2,1fr);gap:22px 10px;display:grid}.pf-system-flow:not(.pf-hero-diagram .pf-system-flow) .pf-system-flow__line{display:none}.pf-page-hero{padding-block:80px}.pf-page-hero h1,.pf-case-hero h1,.pf-contact h1{font-size:clamp(3.3rem,16vw,5rem)}.pf-project-card{padding:26px}.pf-case-meta{grid-template-columns:1fr}.pf-case-section,.pf-confidentiality{grid-template-columns:1fr;gap:18px}.pf-case-section h2{margin-bottom:30px}.pf-requirements,.pf-experience__groups{grid-template-columns:1fr}.pf-principles li{grid-template-columns:48px 1fr}.pf-lab-card{min-height:0}.pf-lab-card__top{margin-bottom:54px}.pf-contact{min-height:auto}.pf-contact__links div{grid-template-columns:1fr;gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pf-page *,.pf-page :before,.pf-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pf-process__stage{opacity:1;transform:none}}:root{--pf-bg:#0a0d14;--pf-surface:#111621;--pf-surface-raised:#151b27;--pf-soft:#0e131d;--pf-ink:#f5f7fb;--pf-text:#f1f4fa;--pf-muted:#9ca7b8;--pf-faint:#697586;--pf-line:#a8b8cf1a;--pf-line-strong:#a8b8cf2b;--pf-accent:#5b8cff;--pf-accent-strong:#83a8ff;--pf-accent-soft:#5b8cff1f;--pf-dark:#080b11;--pf-white:#f8faff;--pf-radius:26px;--pf-radius-lg:38px;--pf-shadow:0 24px 80px #0000003d;--pf-display:clamp(3.35rem, 6.4vw, 7rem);--pf-heading:clamp(2.25rem, 4.3vw, 4.8rem)}[data-theme=light]{--pf-bg:#f6f7f9;--pf-surface:#eef1f5;--pf-surface-raised:#fff;--pf-soft:#edf1f6;--pf-ink:#121722;--pf-text:#151a24;--pf-muted:#667080;--pf-faint:#8992a0;--pf-line:#252f3f14;--pf-line-strong:#252f3f21;--pf-accent:#356fe8;--pf-accent-strong:#275fcf;--pf-accent-soft:#356fe817;--pf-white:#fff;--pf-shadow:0 24px 70px #1d2a4114}body,.pf-page,.app-header,.app-footer{font-family:Inter,Aptos,Segoe UI Variable,Segoe UI,system-ui,sans-serif}.pf-page{background:radial-gradient(circle at 12% 5%, var(--pf-accent-soft), transparent 28rem), var(--pf-bg)}.app-header{min-height:88px;padding:12px var(--pf-gutter);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.app-header-row{min-height:62px;width:min(100%, var(--pf-max));border:1px solid var(--pf-line);background:color-mix(in srgb, var(--pf-surface-raised) 82%, transparent);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);border-radius:19px;padding:0 18px 0 22px;box-shadow:0 12px 40px #00000017}.logo a{letter-spacing:.04em;gap:7px;font-family:inherit;font-size:12px;font-weight:760}.logo a i{border-radius:50%;width:5px;height:5px}.nav-link{padding:8px 5px;font-size:12px;font-weight:590}.nav-link:after{border-radius:999px;height:2px;bottom:2px}.nav-login-link,.nav-portal-link{background:var(--pf-text);color:var(--pf-bg);letter-spacing:.02em;text-transform:none;border:0;border-radius:11px;padding:9px 13px;font-family:inherit;font-size:11px;font-weight:720}.nav-login-link:hover,.nav-portal-link:hover{background:var(--pf-accent);color:#fff}.pf-band{border:0}.pf-band--soft,.pf-band--ink,.pf-band--lab{border-radius:var(--pf-radius-lg);width:calc(100% - 32px);margin-inline:auto}.pf-band--soft{background:var(--pf-soft)}.pf-band--ink{background:radial-gradient(circle at 88% 8%,#5b8cff29,#0000 32rem),#080b11}.pf-band--lab{background:radial-gradient(circle at 88% 12%,#ffffff2b,#0000 24rem),#356fe8;margin-bottom:16px}.pf-eyebrow{background:var(--pf-accent-soft);letter-spacing:.08em;border-radius:999px;width:fit-content;padding:7px 10px;font-family:inherit;font-size:10px;font-weight:720}.pf-eyebrow--stacked{background:0 0;align-items:center;padding:0}.pf-eyebrow--stacked span:first-child{background:var(--pf-accent-soft);color:var(--pf-accent-strong);border-radius:999px;padding:7px 10px}.pf-eyebrow--stacked span+span{letter-spacing:.06em;border:0;padding-left:0}.pf-hero{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:clamp(48px,7vw,100px);min-height:calc(100svh - 88px);padding-block:clamp(70px,9vw,125px) clamp(100px,12vw,170px)}.pf-hero h1{letter-spacing:-.065em;margin-block:28px 30px;font-weight:610;line-height:.96}.pf-hero__intro{max-width:650px;font-size:clamp(1.08rem,1.5vw,1.32rem);line-height:1.6}.pf-actions{margin-top:32px}.pf-button{background:var(--pf-surface-raised);border:0;border-radius:14px;min-height:50px;padding:13px 19px;box-shadow:0 8px 28px #00000014}.pf-button--primary{background:var(--pf-accent);box-shadow:0 12px 30px #356fe838}.pf-button--quiet{color:var(--pf-text);box-shadow:none;background:0 0}.pf-button:hover{transform:translateY(-2px);box-shadow:0 14px 34px #00000024}.pf-text-link{color:var(--pf-accent-strong);border:0}.pf-hero-diagram{border:1px solid var(--pf-line);background:radial-gradient(circle at 82% 18%, #5b8cff30, transparent 16rem), var(--pf-surface-raised);min-height:475px;box-shadow:var(--pf-shadow);border-radius:32px;padding:30px;overflow:hidden}.pf-hero-diagram:before,.pf-hero-diagram:after{border:1px solid var(--pf-line-strong);background:0 0;border-radius:50%;width:270px;height:270px;inset:auto -60px -110px auto}.pf-hero-diagram:after{width:170px;height:170px;bottom:-60px;right:-10px}.pf-hero-diagram__output{background:color-mix(in srgb, var(--pf-accent-soft) 58%, var(--pf-surface-raised));border:0;border-radius:17px}.pf-hero-diagram__meta,.pf-system-flow__label,.pf-project-card__meta,.pf-tag-row span,.pf-outside-list span{letter-spacing:.035em;font-family:inherit}.pf-system-flow__node{border-width:1px;width:10px;height:10px}.pf-section-intro{margin-bottom:clamp(44px,6vw,78px)}.pf-section-intro h2{letter-spacing:-.052em;font-weight:620;line-height:1.02}.pf-process{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.pf-process:before,.pf-process:after,.pf-process__stage:before{display:none}.pf-process__stage{background:#ffffff09;border:1px solid #ffffff12;border-radius:20px;min-height:210px;padding:24px}.pf-process__number,.pf-useful>span{background:var(--pf-accent-soft);border-radius:10px;place-items:center;width:34px;height:34px;font-family:inherit;font-weight:720;display:inline-grid}.pf-process h3{margin-top:34px;font-size:1.22rem;font-weight:620}.pf-useful-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pf-useful{border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:var(--pf-surface-raised);min-height:265px;box-shadow:0 12px 42px #0000000e}.pf-useful h3{margin-top:44px;font-weight:620}.pf-intersection__visual{min-height:560px}.pf-intersection__circle{background:color-mix(in srgb, var(--pf-accent-soft) 60%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:#5b8cff33;width:330px;padding:60px}.pf-intersection__circle h3{font-weight:640}.pf-intersection__center{background:color-mix(in srgb, var(--pf-bg) 88%, transparent);border-radius:14px;padding:12px;font-family:inherit;box-shadow:0 8px 28px #0000001a}.pf-intersection__statement{font-weight:560;line-height:1.28}.pf-project-list{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.pf-project-card,.pf-project-list .pf-project-card{border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:var(--pf-surface-raised);min-height:410px;padding:clamp(26px,3vw,38px);display:flex;box-shadow:0 14px 46px #0000000f}.pf-project-card h3{margin-top:34px;font-weight:630}.pf-project-card__summary{margin-top:18px}.pf-project-list .pf-project-card .pf-text-link{grid-column:auto}.pf-project-card:hover{border-color:color-mix(in srgb, var(--pf-accent) 45%, var(--pf-line));transform:translateY(-5px);box-shadow:0 22px 60px #0000001c}.pf-band--career{background:0 0}.pf-career{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pf-career li{border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:var(--pf-surface-raised);flex-direction:column;gap:22px;min-height:280px;padding:30px;display:flex}.pf-career__period{font-family:inherit;font-weight:720}.pf-page-hero{min-height:68svh;padding-block:clamp(90px,12vw,160px) clamp(75px,9vw,120px)}.pf-page-hero h1,.pf-case-hero h1,.pf-contact h1{letter-spacing:-.062em;font-weight:620}.pf-work-grid,.pf-lab-grid{gap:18px}.pf-requirements{border:0;gap:12px}.pf-requirements__group,.pf-experience__groups section,.pf-lab-card{border:1px solid var(--pf-line);border-radius:var(--pf-radius);background:var(--pf-surface-raised)}.pf-outcome{border-radius:var(--pf-radius);border:0}.pf-lab-card{box-shadow:0 14px 46px #0000001a}.pf-contact__links a{color:var(--pf-text);font-weight:620;text-decoration:none}.pf-contact__links a:hover{color:var(--pf-accent-strong)}.pf-tag-row span,.pf-outside-list span{background:var(--pf-surface-raised);border:0;border-radius:999px}.app-footer{background:var(--pf-surface);border:0;margin-top:16px}@media (width<=1100px){.pf-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-header{min-height:76px;padding:8px 12px}.app-header-row{border-radius:17px;min-height:58px;padding-inline:14px}.nav-mobile-backdrop,.nav-mobile-panel{top:76px}.nav-mobile-panel{border:1px solid var(--pf-line);background:color-mix(in srgb, var(--pf-surface-raised) 96%, transparent);width:auto;box-shadow:var(--pf-shadow);border-radius:22px;bottom:12px;left:12px;right:12px}.pf-hero{grid-template-columns:1fr}.pf-process{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-project-list,.pf-career{grid-template-columns:1fr}.pf-project-card,.pf-project-list .pf-project-card{min-height:340px}.pf-career li{min-height:0}}@media (width<=560px){:root{--pf-radius:21px;--pf-radius-lg:28px}.pf-band--soft,.pf-band--ink,.pf-band--lab{width:calc(100% - 16px)}.pf-hero-diagram{border-radius:24px;min-height:405px}.pf-process{grid-template-columns:1fr;gap:10px}.pf-process__stage{min-height:0;padding:22px}.pf-process__number{position:static}.pf-process h3{margin-top:24px}.pf-useful-grid{gap:10px}.pf-useful{padding:24px}.pf-intersection__visual{margin-block:-75px}.pf-project-card,.pf-project-list .pf-project-card{min-height:315px}}.hwt{--hwt-h:clamp(32px, 4.2vw, 50px);width:100%;max-height:50px;height:var(--hwt-h);border-bottom:1px solid var(--border-hairline);background:linear-gradient(180deg, var(--surface-1) 0%, var(--surface-inset) 100%);min-height:32px;color:var(--text);align-items:center;display:flex;overflow:hidden}.hwt--empty{justify-content:center;padding:0 clamp(12px,3vw,20px)}.hwt__empty-text{color:var(--text-muted);text-align:center;font-size:clamp(11px,2.8vw,13px)}.hwt__inner{flex:1;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.hwt__track{width:max-content;animation:55s linear infinite hwt-scroll;display:flex}.hwt:hover .hwt__track{animation-play-state:paused}@keyframes hwt-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.hwt__strip{flex-shrink:0;align-items:center;gap:0;padding:0 16px;display:flex}.hwt__cluster{flex-shrink:0;align-items:center;display:inline-flex}.hwt__item{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:.45em;padding:0 2px;font-size:clamp(11px,2.4vw,13px);display:inline-flex}.hwt__sym{letter-spacing:.04em;color:var(--text-h);font-weight:800;font-family:var(--mono,ui-monospace, monospace)}.hwt__price{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.hwt__chg{font-variant-numeric:tabular-nums;font-size:.92em;font-weight:700}.hwt__chg--up{color:#4ade80}[data-theme=light] .hwt__chg--up{color:#166534}.hwt__chg--down{color:#fca5a5}[data-theme=light] .hwt__chg--down{color:#b91c1c}.hwt__chg--flat{color:var(--text-muted);font-weight:600}.hwt__sep{background:var(--border-default);opacity:.85;vertical-align:middle;width:1px;height:1em;margin:0 clamp(10px,2.5vw,18px);display:inline-block}@media (prefers-reduced-motion:reduce){.hwt__track{flex-wrap:wrap;justify-content:center;width:100%;max-width:100%;padding:4px 8px;animation:none;transform:none}.hwt__strip{flex-wrap:wrap;justify-content:center;width:100%}.hwt__inner{-webkit-mask-image:none;mask-image:none}}.ct-root{width:100%;max-width:100%;min-height:0;color:var(--text);font-family:var(--sans);flex-direction:column;flex:1;display:flex}.ct-watchlist-ticker-bleed{margin-inline:calc(-1*clamp(12px,2vw,28px));margin-top:-4px;margin-bottom:clamp(12px,2vw,20px)}.ct-hero{margin-bottom:clamp(20px,3vw,28px)}.ct-hero__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 24px;margin-bottom:20px;display:flex}.ct-hero__title{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,2.5vw,1.85rem);font-weight:700}.ct-hero__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ct-status-pill{letter-spacing:.06em;color:var(--success-fg);background:#22c55e1f;border:1px solid #22c55e59;border-radius:999px;align-items:center;padding:6px 12px;font-size:11px;font-weight:700;display:inline-flex}[data-theme=light] .ct-status-pill{color:var(--success-fg);background:#1665341a;border-color:#16653447}.ct-status-pill--warn{color:#fbbf24;background:#eab3081f;border-color:#eab30859}[data-theme=light] .ct-status-pill--warn{color:#a16207;border-color:#a1620759}.ct-status-pill--err{color:var(--error-fg);background:#f871711a;border-color:#f8717159}.ct-refresh-btn{cursor:pointer;border:1px solid var(--border-default);background:var(--surface-2);color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.ct-refresh-btn:hover:not(:disabled){background:var(--surface-toolbar);border-color:var(--border-strong)}.ct-refresh-btn:disabled{opacity:.65;cursor:not-allowed}.ct-refresh-btn__icon{width:14px;height:14px;display:inline-flex}.ct-refresh-btn__icon svg{width:14px;height:14px}.ct-cat-tabs{flex-wrap:wrap;gap:8px;display:flex}.ct-cat-tab{cursor:pointer;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-muted);border-radius:999px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.ct-cat-tab:hover{color:var(--text);border-color:var(--border-strong)}.ct-cat-tab--active{color:var(--text-h);background:var(--accent-bg);border-color:#5eead473;box-shadow:0 0 0 1px #4f46e526}[data-theme=light] .ct-cat-tab--active{border-color:#0d948859}.ct-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(14px,2vw,20px);padding-bottom:8px;display:grid}.ct-card{border:1px solid var(--border-default);background:var(--surface-card);box-shadow:var(--shadow-card);border-radius:16px;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.ct-card:hover{border-color:var(--border-strong)}.ct-card__inner{border-top:3px solid var(--ct-accent,var(--accent));padding:16px 16px 12px}.ct-card__header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.ct-card__title-row{align-items:center;gap:12px;min-width:0;display:flex}.ct-card__icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ct-card__icon-svg svg{width:24px;height:24px}.ct-card__names{min-width:0}.ct-card__name{color:var(--text-h);font-size:1.05rem;font-weight:700;line-height:1.25}.ct-card__symbol{color:var(--text-muted);font-size:12px;font-family:var(--mono);margin-top:2px}.ct-cat-badge{letter-spacing:.04em;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:700}.ct-cat-badge--precious{color:#ca8a04;background:#eab3081f;border:1px solid #eab30840}[data-theme=dark] .ct-cat-badge--precious{color:#fbbf24}.ct-cat-badge--industrial{color:#0369a1;background:#38bdf81a;border:1px solid #0ea5e940}[data-theme=dark] .ct-cat-badge--industrial{color:#7dd3fc}.ct-cat-badge--energy{color:#b91c1c;background:#f871711a;border:1px solid #f8717140}[data-theme=dark] .ct-cat-badge--energy{color:#fca5a5}.ct-card__price-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.ct-card__intl-price{letter-spacing:-.02em;color:var(--text-h);font-size:1.5rem;font-weight:800;line-height:1.2}.ct-badge-approx,.ct-badge-lme{vertical-align:super;margin-left:4px;font-size:9px;font-weight:700}.ct-badge-approx{color:#fb923c}.ct-badge-lme{color:#5eead4}[data-theme=light] .ct-badge-lme{color:#0d9488}.ct-card__intl-unit{color:var(--text-muted);margin-top:2px;font-size:12px}.ct-change-pill{font-size:11px;font-weight:700;font-family:var(--mono);border-radius:999px;padding:4px 10px;display:inline-block}.ct-change--up{color:#4ade80;background:#22c55e1f}[data-theme=light] .ct-change--up{color:#166534;background:#1665341f}.ct-change--down{color:#fca5a5;background:#f871711f}[data-theme=light] .ct-change--down{color:#b91c1c;background:#b91c1c1a}.ct-change--neutral{background:var(--surface-3);color:var(--text-muted)}.ct-ref{border:1px solid var(--border-subtle);background:var(--surface-inset);border-radius:12px;overflow:hidden}.ct-ref__head{border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.ct-ref__title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);font-size:11px;font-weight:700}.ct-chart-btn{cursor:pointer;border:1px solid var(--border-default);background:var(--surface-2);color:var(--link-sky);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.ct-chart-btn:hover{background:var(--surface-toolbar);border-color:var(--border-strong)}.ct-chart-btn__svg{width:14px;height:14px;display:inline-flex}.ct-chart-btn__svg svg{width:14px;height:14px}.ct-ref__rows{padding:8px 12px 12px}.ct-price-row{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:flex}.ct-price-row:last-child{border-bottom:none}.ct-price-label{color:var(--text-muted)}.ct-price-value{font-weight:600;font-family:var(--mono);color:var(--text)}.ct-price-value--hl{color:var(--text-h)}.ct-card__source{color:var(--text-subtle);border-top:1px solid var(--border-hairline);background:var(--surface-1);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;font-size:11px;display:flex}.ct-chart-modal{z-index:2000;justify-content:center;align-items:center;padding:clamp(12px,3vw,24px);display:flex;position:fixed;inset:0}.ct-chart-modal__backdrop{cursor:pointer;background:var(--modal-backdrop);border:0;position:absolute;inset:0}.ct-chart-modal__panel{z-index:1;border:1px solid var(--border-default);background:var(--surface-card);width:min(960px,100%);max-height:min(90vh,880px);box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden}.ct-chart-modal__head{border-bottom:1px solid var(--border-hairline);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.ct-chart-modal__title{color:var(--text-h);margin:0;font-size:1.15rem;font-weight:700}.ct-chart-modal__sub{color:var(--text-muted);font-size:13px;font-family:var(--mono);margin:4px 0 0}.ct-chart-modal__hint{color:var(--text-muted);opacity:.92;margin:6px 0 0;font-size:12px}.ct-chart-modal__close{border:1px solid var(--border-default);background:var(--surface-2);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:22px;line-height:1}.ct-chart-modal__close:hover{color:var(--text);border-color:var(--border-strong)}.ct-chart-modal__tf{border-bottom:1px solid var(--border-hairline);background:var(--surface-inset);flex-wrap:wrap;gap:6px;padding:10px 18px;display:flex}.ct-tf-btn{cursor:pointer;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-muted);border-radius:8px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600}.ct-tf-btn:hover{color:var(--text);border-color:var(--border-strong)}.ct-tf-btn--active{color:var(--text-h);background:var(--accent-bg);border-color:#5eead466}.ct-chart-modal__canvas-wrap{flex:1;width:100%;min-height:min(420px,55vh);position:relative}.ct-chart-loading{z-index:2;color:var(--text-muted);background:var(--surface-0);justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.ct-chart-loading--err{color:var(--error-fg)}.ct-chart-container{z-index:1;position:absolute;inset:0}.ct-chart-range-meta{color:var(--text-subtle);font-size:12px;font-family:var(--mono);border-top:1px solid var(--border-hairline);margin:0;padding:10px 18px 14px}@media (width<=520px){.ct-hero__actions{width:100%}.ct-chart-modal__panel{max-height:95vh}.ct-chart-modal__canvas-wrap{min-height:280px}}
