/* Nivora landing theme: near-black, charcoal surfaces and professional blue. */
:root{--landing-bg:#010203;--landing-surface:#050608;--landing-surface-2:#0B0D10;--landing-text:#F5F7FA;--landing-muted:#8C96A5;--landing-border:#181C22;--landing-accent:#3B82F6;--landing-accent-hover:#60A5FA;--landing-sage:#3B82F6;--landing-shadow:rgba(0,0,0,.85)}
body.landing-page[data-theme="dark"],body.landing-page[data-theme="light"]{--landing-bg:#010203;--landing-surface:#050608;--landing-surface-2:#0B0D10;--landing-text:#F5F7FA;--landing-muted:#8C96A5;--landing-border:#181C22;--landing-accent:#3B82F6;--landing-accent-hover:#60A5FA;--landing-sage:#3B82F6;--landing-shadow:rgba(0,0,0,.85)}
.landing-page{background:var(--landing-bg);color:var(--landing-text)}
.landing-page::before{background:radial-gradient(circle at 72% 42%,rgba(59,130,246,.025),transparent 30%)}
.logo-mark,.preview-brand span,.demo-bar>span,.bubble.user{background:#3B82F6!important;color:#fff!important}
.landing-logo,.landing-actions,.landing-theme,.landing-link,.landing-secondary,.landing-copy,.feature-copy,.landing-final{color:var(--landing-text)}
.landing-theme{border-color:var(--landing-border);background:var(--landing-surface);color:var(--landing-muted)}
.landing-link:hover,.landing-theme:hover,.landing-secondary:hover{background:var(--landing-surface-2)}
.landing-cta{background:#3B82F6;color:#fff}
.landing-hero h1 em,.feature-copy h2 em,.landing-final h2 em{color:#60A5FA}
.landing-start{border-color:#3B82F6;background:#3B82F6;color:#fff}.landing-start:hover{background:#60A5FA}
.landing-secondary{border-color:var(--landing-border);background:var(--landing-surface)}
.landing-kicker,.landing-description,.landing-trust,.preview-welcome small,.preview-welcome>span,.preview-card-head,.preview-topic span,.preview-subject div span,.feature-copy>p:not(.landing-kicker),.feature-copy ul,.landing-final>p:not(.landing-kicker),.landing-note{color:var(--landing-muted)}
.kicker-dot,.preview-card-head b,.preview-bar span,.feature-copy li::before,.flow-arrow,.processing-dot,.path-result>div>b{background:#3B82F6;color:#3B82F6}
.adaptive-loop i{color:#60A5FA}
.preview-window,.preview-card,.demo-window,.upload-box,.ai-processing,.organized-subject,.path-result>div,.material-card,.chat-mini,.adaptive-loop div,.landing-modal-card{background:var(--landing-surface);border-color:var(--landing-border);box-shadow:0 25px 70px var(--landing-shadow)}
.preview-content,.chat-messages,.organizer-flow,.path-demo,.workspace-content{background:var(--landing-bg)}
.preview-bar{background:var(--landing-surface-2)}
.preview-topic button,.landing-form-submit{background:#3B82F6;color:#fff;border-color:#3B82F6}
.preview-shadow{background:rgba(59,130,246,.04)}
.workspace-tabs .active{color:#3B82F6}.workspace-tabs{border-color:var(--landing-border)}
.path-options span.selected{background:rgba(59,130,246,.06);border-color:#3B82F6;color:var(--landing-text)}
.landing-modal-backdrop{background:rgba(0,0,0,.94)}
.landing-modal-close{background:var(--landing-surface-2);color:var(--landing-muted)}
.landing-modal-card input{background:var(--landing-bg);border-color:var(--landing-border);color:var(--landing-text)}

/* Subtle physical wobble for the hero preview card. */
.preview-window{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease;transform-origin:center center;will-change:transform}
.preview-window:hover{animation:heroCardWobble 1.15s ease-in-out infinite;box-shadow:0 34px 85px rgba(0,0,0,.92),0 0 45px rgba(59,130,246,.08)}
@keyframes heroCardWobble{
  0%,100%{transform:rotate(1.2deg) translateY(0) rotateZ(0deg)}
  25%{transform:rotate(.5deg) translateY(-3px) rotateZ(-.45deg)}
  50%{transform:rotate(1.8deg) translateY(-5px) rotateZ(.45deg)}
  75%{transform:rotate(.8deg) translateY(-3px) rotateZ(-.25deg)}
}
@media (prefers-reduced-motion:reduce){.preview-window:hover{animation:none;transform:rotate(1.2deg)}}
