/* Shared space atmosphere. Existing layouts, typography, and controls stay intact. */
html.dark{--green:#6fbf8f;--red:#e2867a;--paper:#050608;--paper-2:#101114;--ink:#eee8df;--muted:#aaa5a0;--line:#ffffff20;--charcoal:#050608;--plum:#24202a;--plum-soft:#2d2535}
body{isolation:isolate}
html.dark body::before{display:none}
.starfield{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.82}
body>main,body>footer{position:relative;z-index:1}
body.is-locked .starfield{visibility:hidden}
html.dark .site-header{background:#050608d9;border-bottom-color:#ffffff0c;box-shadow:0 12px 40px #0002}
html.dark .site-header.scrolled{border-bottom-color:#ffffff18}
html.dark .manifesto{background:radial-gradient(90% 120% at 100% 0%,#c47a3d38,transparent 60%),radial-gradient(70% 90% at 0% 100%,#7a5c9a2e,transparent 65%),#ffffff06;box-shadow:0 0 0 1px #ffffff14 inset}html.dark .access-section{background:radial-gradient(80% 110% at 100% 0%,#d6894c2e,transparent 58%),linear-gradient(140deg,#6b4f8a55,#3a2c4a55);box-shadow:0 0 0 1px #ffffff14 inset}html.dark .ori-section{background:linear-gradient(to bottom,transparent,#7a5c9a1f 24%,#7a5c9a1f 76%,transparent)}
html.dark footer{background:#050608bb;border-top:1px solid #c58c5435}
html.dark main>section{position:relative}
html.dark main>section:not(:first-child)::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#c69b7040 40%,#9381a438 65%,transparent);pointer-events:none}
html.dark .ori-card,html.dark .privacy-card,html.dark .support-form,html.dark .plan-card,html.dark .download-panel,html.dark .feature-tile{background:#101114ee;border-color:#ffffff22;box-shadow:0 24px 65px #0005,0 1px 0 #ffffff08 inset}
html.dark .ori-card{background:#141219f2}html.dark .privacy-card{background:radial-gradient(80% 110% at 0% 0%,#7a5c9a33,transparent 60%),#101114ee}
html.dark .download-card{background:#131117ee;border-color:#ffffff22}
html.dark .access-copy>p,html.dark .download-card>p{color:#b8afb9}
html.dark .release-tag{color:#e6c6a9;background:#c78b4b20}
html.dark .workspace-window{box-shadow:0 45px 95px #0009,0 0 65px #b8874820;border-color:#ffffff28}
.workspace-stage::before{background:radial-gradient(ellipse at 52% 45%,#94714f18,transparent 68%)}
.celestial-stage .workspace-window{translate:0 var(--workspace-lift,0px)}
.star-motion{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font-size:.65rem;font-weight:700;cursor:pointer;white-space:nowrap}
.star-motion:hover{color:var(--ink);border-color:var(--copper)}
.star-motion span{color:var(--copper-dark);font-size:1rem}
.waitlist-form .consent-row input{flex:0 0 16px;width:16px;min-width:16px}
.waitlist-form .consent-row span{min-width:0}
/* Distinct page introductions, within the same type and spacing system. */
body{--page-accent:var(--copper-dark);--page-tint:#c7925820}
body[data-page="pricing"]{--page-accent:#71917c;--page-tint:#8caf9820}
body[data-page="changelog"]{--page-accent:#947aa6;--page-tint:#ac91bd20}
body[data-page="contact"]{--page-accent:#718d9f;--page-tint:#8eafc320}
body[data-page="download"]{--page-accent:#a58758;--page-tint:#c7ab7820}
html.dark body[data-page="pricing"]{--page-accent:#b4c9b4}
html.dark body[data-page="changelog"]{--page-accent:#c4acd6}
html.dark body[data-page="contact"]{--page-accent:#acc6d6}
html.dark body[data-page="download"]{--page-accent:#d6bf98}
.site-nav a[aria-current="page"]{color:var(--page-accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}
.subpage-hero{position:relative;border-bottom-color:transparent}
.subpage-hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--page-accent),var(--line) 36%,transparent);opacity:.6}
.subpage-hero .eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px;padding:9px 13px;border:1px solid var(--line);border-radius:5px;background:var(--page-tint);color:var(--page-accent);font-size:.68rem;letter-spacing:.16em}
.subpage-hero .eyebrow::before{content:"";width:5px;height:5px;background:currentColor;transform:rotate(45deg)}
.subpage-hero h1 em{color:var(--page-accent)}
.subpage-hero-copy{padding:8px 0 8px 28px;border-left:1px solid var(--line)}
html.dark .subpage-hero-copy{background:linear-gradient(90deg,#050608aa,transparent)}
@media(max-width:820px){.subpage-hero-copy{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.subpage-hero .eyebrow{margin-bottom:22px}}
@media(max-width:1100px){.site-nav{gap:15px}.star-motion{font-size:.58rem;padding-inline:7px}}
@media(max-width:820px){.star-motion{min-height:34px;font-size:.6rem}.starfield{opacity:.65}}
@media(max-width:600px){.celestial-stage .workspace-window{translate:none}}
/* Native cross-document transitions progressively enhance ordinary links. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:star-page-out .18s ease both}
::view-transition-new(root){animation:star-page-in .35s ease both}
@keyframes star-page-out{to{opacity:0}}
@keyframes star-page-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  html:not(.stars-enabled) .celestial-stage .workspace-window{translate:none}
}

/* Status text stays legible now that dark is the default theme. */
html.dark .form-message{color:#7fc79c}
html.dark .form-message.error,html.dark .turnstile-load-error{color:#f0958a}
/* On narrow screens the sign-in and request buttons are already hidden, so the
   star control collapses to an icon rather than becoming the only header action. */
@media(max-width:820px){
  .star-motion{gap:0;width:36px;min-width:36px;padding:0;font-size:0}
  .star-motion span{font-size:1.05rem}
}
/* The Ori logo drifts through Ori's colours for as long as the visitor stays.
   Same picture, same filters as the desktop pet's colour choices. orbit.js sets
   --logo-clock so the colour carries on across pages instead of restarting. */
@keyframes ori-colours{
  0%,9.5%{filter:hue-rotate(0deg) saturate(1) brightness(1)}
  12.5%,22%{filter:hue-rotate(10deg) saturate(.85) brightness(1.08)}
  25%,34.5%{filter:hue-rotate(72deg) saturate(.72) brightness(.97)}
  37.5%,47%{filter:hue-rotate(128deg) saturate(.95) brightness(1)}
  50%,59.5%{filter:hue-rotate(170deg) saturate(1) brightness(1)}
  62.5%,72%{filter:hue-rotate(240deg) saturate(.9) brightness(1.05)}
  75%,84.5%{filter:hue-rotate(305deg) saturate(1.1) brightness(1)}
  87.5%,97%{filter:hue-rotate(330deg) saturate(1.35) brightness(1)}
  100%{filter:hue-rotate(360deg) saturate(1) brightness(1)}
}
img[src*="ori-neutral"]{animation:ori-colours 48s linear infinite;animation-delay:calc(var(--logo-clock,0) * -1s)}
@media(prefers-reduced-motion:reduce){img[src*="ori-neutral"]{animation:none}}
/* The preview screen's public links, for visitors who only need the legal pages or support. */
.preview-public{margin:22px 0 0;font-size:.78rem;color:#a99f92}
.preview-public a{color:#e0a36a;text-decoration:none;font-weight:700}
.preview-public a:hover{text-decoration:underline}
/* Real app screenshots (scripts/site-screenshots.mjs). Each image exists in both
   themes; the one matching the site's theme shows, and the other never loads early. */
.workspace-shot img{display:block;width:100%;height:auto}
html.dark .shot-light,html:not(.dark) .shot-dark{display:none}
/* A screenshot needs the wider column: the whole page is shown, never cropped. */
.feature-modal-inner:has(.has-shot){grid-template-columns:minmax(0,.78fr) minmax(0,1.4fr)}
.feature-modal-media.has-shot{padding:clamp(20px,3vw,34px);background:var(--paper)}
.feature-modal-media.has-shot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 60px #0004}
.feature-ori{display:grid;justify-items:center;gap:18px;margin:0;padding:32px;max-width:320px}
.feature-ori img{width:110px;height:110px;object-fit:contain}
.feature-ori figcaption{color:var(--muted);font-size:.92rem;font-weight:700;line-height:1.55;letter-spacing:normal;text-transform:none}
/* Light theme: the window around the home-page screenshot turns light with it. */
html:not(.dark) .workspace-window{background:#efe7da;border-color:#d9cdbb;box-shadow:0 40px 100px rgba(90,70,40,.18)}
html:not(.dark) .window-bar{background:#e6dccb;color:#6f6456}
.maintenance-until{display:inline-block;margin:14px 0 0;padding:6px 14px;border-radius:999px;background:rgba(224,163,106,.14);color:#e0a36a;font-weight:800;font-size:.9rem}
.preview-help{margin:14px 0 0;font-size:.8rem;color:#a99f92}
body[data-page="maintenance"] .preview-card::before{content:none}
