body:has(.sp-app){--sp-bg:#F4EFE4;--sp-surface:#FFFCF5;--sp-surface-2:#E6DFCD;--sp-text:#0B1F1B;--sp-muted:#34463F;--sp-line:#0B1F1B;--sp-shadow:#0B1F1B;--sp-heading:#034F46;--sp-forest:#034F46;--sp-ink-on-accent:#034F46;--sp-mint:#8FD9A8;--sp-mint-soft:#BFE8CC;--sp-sand:#E9D9A6;--sp-peach:#F2B9A1;--sp-sage:#BFD8D2;--sp-lime:#C9DE8E;--sp-ease-out:cubic-bezier(.2,.7,.2,1);--sp-ease-spring:cubic-bezier(.3,1.6,.5,1);--bg:var(--sp-bg);--bg-warm:var(--sp-surface);--bg-card:var(--sp-surface);--card:var(--sp-surface);--surface:var(--sp-surface);--bg-deep:var(--sp-surface-2);--text:var(--sp-text);--text-muted:var(--sp-muted);--text-light:#56675F;--border:var(--sp-line);--border-light:color-mix(in srgb,var(--sp-line) 16%,transparent);--nav-bg:color-mix(in srgb,var(--sp-surface) 92%,transparent);--nav-dropdown-bg:var(--sp-surface);--font-display:var(--sp-font-display),system-ui,sans-serif;--font-body:var(--sp-font-body),system-ui,sans-serif;background:var(--sp-bg);color:var(--sp-text);font-family:var(--font-body)}[data-theme=dark] body:has(.sp-app){--sp-bg:#071512;--sp-surface:#0E241F;--sp-surface-2:#163A33;--sp-text:#EFE9DB;--sp-muted:#A9BDB4;--sp-line:#EFE9DB;--sp-shadow:#8FD9A8;--sp-heading:#8FD9A8;--text-light:#8EA39A;--border-light:color-mix(in srgb,var(--sp-line) 18%,transparent)}.sp-app ::-moz-selection{background:var(--sp-mint);color:#0B1F1B}.sp-app ::selection{background:var(--sp-mint);color:#0B1F1B}[data-theme=dark] .sp-app :is(.text-\[var\(--forest\)\],.hub-stat-value,.nav-wispr-link-active,.nav-wispr-app-pill-active,.hub-canvas-card-cta,.nav-wispr-dropdown-active){color:var(--sp-mint)}.sp-app :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--sp-heading);outline-offset:3px}.sp-app :is(h1,h2,h3){font-family:var(--font-display);letter-spacing:-.02em}.sp-app h1{color:var(--sp-heading)}.sp-app-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;margin-bottom:32px}.sp-app-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-heading)}.sp-app-eyebrow:before{content:"";width:18px;height:3px;border-radius:3px;background:currentColor}.sp-app .sp-app-title{margin:0;font-size:clamp(40px,6vw,64px);line-height:.92;font-weight:800;letter-spacing:-.05em}.sp-app-title em{font-family:var(--sp-font-accent),Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.03em;color:var(--sp-text)}.sp-app-lede{margin:12px 0 0;max-width:34rem;font-size:16px;line-height:1.5;color:var(--sp-muted)}.sp-app .nav-wispr-inner{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,margin .35s ease}.sp-app .nav-wispr-scrolled .nav-wispr-inner{border:2.5px solid var(--sp-line);background:var(--nav-bg);box-shadow:5px 5px 0 var(--sp-shadow)}.sp-app .nav-wispr-logo{color:var(--sp-heading)}.sp-app .nav-wispr-logo .font-display{font-weight:800;letter-spacing:-.05em;font-size:24px}.sp-app .nav-wispr-logo svg{transition:transform .5s var(--sp-ease-spring);transform-origin:20% 80%;color:var(--sp-heading)}.sp-app .nav-wispr-logo:hover{opacity:1}.sp-app .nav-wispr-logo:hover svg{transform:rotate(-14deg) scale(1.08)}.sp-app :is(.nav-wispr-link,.nav-wispr-app-pill){position:relative;color:var(--sp-text);font-weight:500;transition:background-color .25s ease,color .25s ease}.sp-app .nav-wispr-link:after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:var(--sp-heading);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--sp-ease-out)}.sp-app :is(.nav-wispr-link,.nav-wispr-app-pill):hover{background:var(--sp-surface-2);color:var(--sp-text)}.sp-app .nav-wispr-link-active:after,.sp-app .nav-wispr-link:hover:after{transform:scaleX(1)}.sp-app .nav-wispr-link-active{background:transparent;color:var(--sp-heading);font-weight:600}.sp-app .nav-wispr-app-pill-active{background:var(--sp-mint);color:#0B1F1B;box-shadow:inset 0 0 0 2px var(--sp-line)}[data-theme=dark] .sp-app .nav-wispr-app-pill-active{color:#0B1F1B}.sp-app :is(.nav-wispr-menu-btn,.nav-wispr-admin-pill,.nav-account-signin,.nav-account-trigger){border:2.5px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-text);transition:transform .25s var(--sp-ease-spring),box-shadow .25s ease,background-color .25s ease}.sp-app :is(.nav-wispr-menu-btn,.nav-wispr-admin-pill,.nav-account-signin,.nav-account-trigger):hover,.sp-app :is(.nav-wispr-menu-btn-open,.nav-account-trigger-open){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--sp-shadow);background:var(--sp-surface);border-color:var(--sp-line);color:var(--sp-text)}.sp-app :is(.nav-wispr-menu-dropdown,.nav-wispr-dropdown,.nav-account-dropdown){border:3px solid var(--sp-line);border-radius:20px;background:var(--sp-surface);backdrop-filter:none;box-shadow:6px 6px 0 var(--sp-shadow);padding:8px;transform-origin:top right;animation:sp-app-menu-in .3s var(--sp-ease-spring) both}.sp-app :is(.nav-wispr-dropdown-item,.nav-account-dropdown-item){border-radius:12px;transition:background-color .2s ease,padding-left .3s var(--sp-ease-out)}.sp-app :is(.nav-wispr-dropdown-item,.nav-account-dropdown-item):hover{background:var(--sp-surface-2);padding-left:1.4rem}@keyframes sp-app-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}}.sp-app .card{border:2.5px solid var(--sp-line);border-radius:22px;background:var(--sp-surface)}.sp-app .card,.sp-app .card:hover{box-shadow:5px 5px 0 var(--sp-shadow)}.sp-app .card:hover{transform:none;border-color:var(--sp-line)}.sp-app .card :is(.border-b,.border-t){border-color:var(--border-light)}.sp-app :is(.ivy-pro-upgrade-banner,.ivy-welcome-banner,.ivy-version-sync-hint,.ivy-router-offline){border:2.5px solid var(--sp-line);border-radius:18px;box-shadow:4px 4px 0 var(--sp-shadow)}.sp-app .onboarding-checklist{border-color:var(--sp-line)}.sp-app .onboarding-step-icon{border:2px solid var(--sp-line)}.sp-app .onboarding-step-done .onboarding-step-icon{background:var(--sp-mint);color:#0B1F1B;border-color:var(--sp-line)}.sp-app .hub-stat-grid{gap:14px}.sp-app .hub-stat{--tile:var(--sp-sage);position:relative;padding:18px 18px 16px;border:2.5px solid var(--sp-line);border-radius:20px;background:var(--tile);color:#0B1F1B;box-shadow:4px 4px 0 var(--sp-shadow);transition:transform .3s var(--sp-ease-spring),box-shadow .3s ease}.sp-app .hub-stat:nth-child(5n+2){--tile:var(--sp-sand)}.sp-app .hub-stat:nth-child(5n+3){--tile:var(--sp-peach)}.sp-app .hub-stat:nth-child(5n+4){--tile:var(--sp-lime)}.sp-app .hub-stat:nth-child(5n+5){--tile:var(--sp-mint-soft)}.sp-app .hub-stat-grid .hub-stat:hover{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:7px 7px 0 var(--sp-shadow)}.sp-app .hub-stat svg{color:#0B1F1B;opacity:.7}.sp-app .hub-stat .text-\[var\(--text-muted\)\]{color:#34463F}.sp-app .hub-stat-value,[data-theme=dark] .sp-app .hub-stat-value{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,3vw,36px);letter-spacing:-.04em;line-height:1;color:#034F46}.sp-app .hub-stat-label{font-size:13px;font-weight:600;color:#34463F;margin-top:8px}.sp-app .hub-stat:not(.hub-stat-grid>*){--tile:var(--sp-surface);color:var(--sp-text)}.sp-app .hub-stat:not(.hub-stat-grid>*) .text-\[var\(--text-muted\)\]{color:var(--sp-muted)}.sp-app .hub-canvas-card{border:2.5px solid var(--sp-line);border-radius:20px;background:var(--sp-sage);color:#0B1F1B;box-shadow:4px 4px 0 var(--sp-shadow);transition:transform .3s var(--sp-ease-spring),box-shadow .3s ease}.sp-app .hub-canvas-card:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--sp-shadow);border-color:var(--sp-line)}.sp-app .hub-canvas-card-icon{background:var(--sp-surface);color:#034F46;border:2px solid #0b1f1b;border-radius:12px}.sp-app .hub-canvas-card-sub{color:#34463F}.sp-app .hub-canvas-card-cta,[data-theme=dark] .sp-app .hub-canvas-card-cta{color:#034F46;transition:transform .35s var(--sp-ease-spring)}.sp-app .hub-canvas-card:hover .hub-canvas-card-cta{transform:translateX(4px)}.sp-app .hub-chat-history-item{border:2px solid var(--border-light);background:var(--sp-surface)}.sp-app .hub-chat-history-item:hover{border-color:var(--sp-line);background:var(--sp-surface-2)}.sp-app .hub-tab{min-height:40px;padding:0 16px;border:2.5px solid var(--sp-line);background:var(--sp-surface);color:var(--sp-text);font-weight:600;font-size:14px;transition:transform .25s var(--sp-ease-spring),box-shadow .25s ease,background-color .2s ease,color .2s ease}.sp-app .hub-tab:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--sp-shadow);color:var(--sp-text)}.sp-app .hub-tab:active{transform:none;box-shadow:none;transition-duration:.08s}.sp-app .hub-tab-active,.sp-app .hub-tab-active:hover{background:var(--sp-forest);border-color:var(--sp-line);color:#F4EFE4}[data-theme=dark] .sp-app .hub-tab-active,[data-theme=dark] .sp-app .hub-tab-active:hover{background:var(--sp-mint);color:#0B1F1B}.sp-app :is(.btn-primary,.btn-secondary,.btn-outline){border:2.5px solid var(--sp-line);font-weight:600;transition:transform .25s var(--sp-ease-spring),box-shadow .25s ease,background-color .2s ease}.sp-app .btn-primary{background:var(--sp-forest);color:#F4EFE4}[data-theme=dark] .sp-app .btn-primary{background:var(--sp-mint);color:#0B1F1B}.sp-app :is(.btn-secondary,.btn-outline){background:var(--sp-surface);color:var(--sp-text)}.sp-app :is(.btn-primary,.btn-secondary,.btn-outline):hover{opacity:1;transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--sp-shadow)}.sp-app :is(.btn-secondary,.btn-outline):hover{background:var(--sp-surface);color:var(--sp-text)}.sp-app :is(.btn-primary,.btn-secondary,.btn-outline):active{transform:none;box-shadow:none;transition-duration:.08s}.sp-app .settings-toggle{border:2px solid var(--sp-line);background:var(--sp-surface-2)}.sp-app .settings-toggle-on{background:var(--sp-forest)}[data-theme=dark] .sp-app .settings-toggle-on{background:var(--sp-mint)}.sp-app .settings-toggle-knob{top:2px;left:2px;border:2px solid var(--sp-line);box-shadow:none;transition:transform .35s var(--sp-ease-spring)}.sp-app .settings-toggle-on .settings-toggle-knob{transform:translateX(19px)}.sp-app :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=range]){border-color:var(--sp-line)}@media (prefers-reduced-motion:reduce){.sp-app *,.sp-app :after,.sp-app :before{animation:none!important;transition:none!important}.sp-app :is(.hub-tab,.hub-stat,.hub-canvas-card,.btn-primary,.btn-secondary,.btn-outline,.nav-wispr-menu-btn,.nav-account-trigger):hover{transform:none}}