/* manifestationguide.org - one stylesheet. Cosmic / astronomy theme (plan/cosmic_theme_plan.md, 28 Oct 2026).
   Tokens: void (page), nebula (reading panels), starlight (text), dust (secondary text), corona (the one warm accent), aurora (structure only). */
@font-face{font-family:"Literata";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/literata.woff2) format("woff2")}
@font-face{font-family:"Literata";font-style:italic;font-weight:400 600;font-display:swap;src:url(/fonts/literata-italic.woff2) format("woff2")}
@font-face{font-family:"Atkinson Hyperlegible Next";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/atkinson-next.woff2) format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400.woff2) format("woff2")}

:root{
  --void:#070A14; --deep:#0B1022; --nebula:#141B33; --nebula-hi:#1B2444;
  --starlight:#E9ECF5; --dust:#A3ACC5; --corona:#F2B544; --corona-hi:#FFD27A; --aurora:#8C7CF0; --focus:#A99CFF;
  --hair:rgba(140,124,240,.30); --line:rgba(163,172,197,.20);
  /* older names still used inside page markup */
  --paper:var(--void); --ink:var(--starlight); --accent:var(--corona); --ink-72:var(--dust); --rule:var(--line); --card:var(--nebula-hi);
  --serif:"Literata",Georgia,"Times New Roman",serif;
  --sans:"Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,Consolas,monospace;
  --gutter:20px; --measure:68ch; --radius:6px; --panel:14px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px;background:var(--void)}
body{margin:0;background:var(--void);color:var(--starlight);font:400 18px/1.7 var(--sans);letter-spacing:.01em;overflow-x:hidden}
/* fixed, very quiet star field: two faint nebula glows + one small tiled SVG (no per-page canvas) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 55% 40% at 88% 6%,rgba(140,124,240,.11),transparent 70%),
             radial-gradient(ellipse 45% 35% at 6% 96%,rgba(242,181,68,.05),transparent 70%),
             url(/assets/stars.svg) 0 0/512px 512px repeat}
img,svg{max-width:100%}
a{color:var(--corona);text-decoration-color:rgba(242,181,68,.55);text-decoration-thickness:1.5px;text-underline-offset:.22em}
a:hover{color:var(--corona-hi);text-decoration-color:var(--corona-hi)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
::selection{background:rgba(140,124,240,.45);color:#fff}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;background:var(--corona);color:var(--void);padding:8px 14px;z-index:50;border-radius:var(--radius)}
.skip:focus{top:8px;color:var(--void)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:0;margin:0;color:var(--starlight)}
h1{font-size:clamp(34px,5.4vw,56px);font-optical-sizing:auto}
h2{font-size:clamp(26px,3.2vw,34px);margin:56px 0 14px}
h3{font-size:22px;margin:30px 0 8px}
p,ul,ol{margin:0 0 16px}
li{margin:6px 0}
b,strong{color:#F6F7FB}
.mono{font-family:var(--mono);font-size:14px;letter-spacing:0}
.soft{color:var(--dust)}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--gutter)}
@media (max-width:700px){:root{--gutter:16px}}

/* header */
.top{position:sticky;top:0;z-index:20;background:var(--deep);border-bottom:1px solid var(--hair)}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--starlight);font:600 19px/1 var(--serif);margin-right:auto}
.logo:hover{color:var(--starlight)}
.logo svg{flex:none}
.nav{display:flex;align-items:center;gap:4px}
.nav a,.nav summary{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;font-size:16px;cursor:pointer;border-radius:var(--radius);color:var(--starlight)}
.nav a:hover,.nav summary:hover{color:var(--corona-hi)}
.nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--corona)}
.methods{position:relative}
.methods summary{list-style:none}
.methods summary::-webkit-details-marker{display:none}
.methods summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:9px}
.methods .drop{position:absolute;right:0;top:100%;background:var(--nebula);border:1px solid var(--hair);border-radius:10px;padding:8px;min-width:240px;display:grid}
.methods .drop a{padding:0 12px}
.searchlink svg{width:20px;height:20px}
.menu-btn{display:none}
@media (max-width:820px){
  .nav{display:none}
  .menu-btn{display:block}
  .menu-btn summary{list-style:none;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--dust);border-radius:var(--radius);padding:0 14px;font-size:16px;cursor:pointer;color:var(--starlight)}
  .menu-btn summary::-webkit-details-marker{display:none}
  .menu-btn[open] .sheet{position:fixed;left:0;right:0;bottom:0;background:var(--nebula);border-top:1px solid var(--hair);padding:16px var(--gutter) 28px;display:grid;gap:2px;max-height:80vh;overflow:auto;border-radius:16px 16px 0 0}
  .menu-btn .sheet a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-size:18px;border-bottom:1px solid var(--line);color:var(--starlight)}
  .menu-btn .sheet .close{justify-self:end;margin-bottom:6px}
}
@media (min-width:821px){.menu-btn{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font:600 17px/1.2 var(--sans);text-decoration:none;border:1.5px solid var(--dust);color:var(--starlight);background:transparent;cursor:pointer;letter-spacing:.01em}
.btn:hover{background:var(--nebula-hi);border-color:var(--starlight);color:var(--starlight)}
.btn.primary{background:var(--corona);border-color:var(--corona);color:var(--void)}
.btn.primary:hover{background:var(--corona-hi);border-color:var(--corona-hi);color:var(--void)}
.btn:disabled{opacity:.4;cursor:not-allowed;background:transparent;color:var(--starlight)}
.btn.small{min-height:44px;padding:0 16px;font-size:15px}
.linkbtn{background:none;border:0;padding:0 4px;min-height:44px;font:inherit;font-size:15px;color:var(--starlight);text-decoration:underline;text-decoration-color:var(--corona);text-underline-offset:.22em;cursor:pointer}
.linkbtn:hover{color:var(--corona-hi)}

/* ===== hero: The Signal (light body) =====
   Our own Blender render as a picture behind the text. Default (no JS / reduced motion): one static frame, nothing pinned.
   .live (set by hero.js): pinned for 250vh, a canvas scrubs the 60-frame sequence by scroll progress over the poster. */
.hero{position:relative;overflow:clip;background:var(--void)}
.hero-stick{position:relative;min-height:calc(100vh - 64px);min-height:calc(100svh - 64px)}
.hero-art{position:absolute;inset:0;margin:0}
.hero-art picture,.hero-art img{display:block;width:100%;height:100%}
.hero-art img{object-fit:cover;object-position:50% 50%}
.hero-art .hero-static{position:absolute;inset:0}
.hero-art canvas{display:none}
.hero-grid{position:relative;z-index:1;min-height:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:22px;pointer-events:none}
.hero-copy,.hero-end{pointer-events:auto;max-width:30rem}
.hero h1{max-width:13ch;margin:0 0 14px;text-shadow:0 0 18px var(--void),0 0 4px var(--void)}
.hero-intro{max-width:44ch;color:var(--dust);margin:0;font-size:17px;text-shadow:0 0 12px var(--void),0 0 3px var(--void)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-note{margin:14px 0 0;font-size:15px;color:var(--dust);max-width:46ch;text-shadow:0 0 12px var(--void),0 0 3px var(--void)}
@media (min-width:900px){
  .hero-grid{justify-content:center;gap:30px;max-width:1180px}
  .hero-copy,.hero-end{width:26rem;max-width:36vw}
  .hero h1{font-size:clamp(36px,3.4vw,46px)}
  .hero-intro{max-width:34ch}
}
@media (max-width:899px){
  .hero-end .btn{flex:1 1 100%}
  .hero-note{font-size:14px;margin-top:10px}
  .hero h1{font-size:clamp(28px,8vw,34px);max-width:none;margin-bottom:8px}
  .hero-intro{font-size:15px;line-height:1.45}
  .hero-grid{padding-top:18px;padding-bottom:16px}
}
.hero.live{height:250vh}
.hero.live .hero-stick{position:sticky;top:64px;height:calc(100vh - 64px);height:calc(100svh - 64px);overflow:hidden}
.hero.live .hero-art canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.hero.live .hero-grid{height:100%}
.hero.live .hero-end{opacity:var(--end,0);transform:translateY(calc((1 - var(--end,0)) * 10px))}
.hero.live:not(.ended) .hero-end{pointer-events:none}
.hero.live:focus-within .hero-end{opacity:1;transform:none;pointer-events:auto}
@media (prefers-reduced-motion:reduce){
  .hero.live{height:auto}
}

/* orbital-arc dividers (instead of rules) */
.arc{height:34px;margin:6px auto;max-width:1180px;position:relative;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'%3E%3Cpath d='M0 28 Q600 -10 1200 28' fill='none' stroke='%238C7CF0' stroke-opacity='.45' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.arc::after{content:"";position:absolute;left:62%;top:calc(33.6% - 3px);width:7px;height:7px;border-radius:50%;background:var(--corona);box-shadow:0 0 8px 1px rgba(242,181,68,.6)}

/* reading panels */
.panel,.home-sec,.onerule{background:var(--nebula);border:1px solid var(--hair);border-radius:var(--panel)}

/* home sections */
.home-body{padding-top:8px;padding-bottom:8px}
.home-sec{padding:28px 32px 32px;margin:0}
.home-sec>h2{margin-top:0}
.home-sec .measure{max-width:var(--measure)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.icard{display:block;background:var(--nebula-hi);border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--starlight);overflow:hidden}
.icard .band{height:2px;background:var(--corona);transform:scaleX(.18);transform-origin:left;transition:transform .25s ease}
.icard:hover .band,.icard:focus-visible .band{transform:scaleX(1)}
.icard .in{padding:16px 20px 20px}
.icard h3{margin:0 0 6px;font-size:22px}
.icard p{margin:0;color:var(--dust);font-size:16px}
.icard:hover{color:var(--starlight);border-color:var(--hair)}
.methods-list{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--line)}
.methods-list li{margin:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:16px;padding:14px 0;align-items:baseline}
.methods-list a{font:600 20px/1.3 var(--serif)}
.methods-list .later{font:600 20px/1.3 var(--serif);color:var(--dust)}
.methods-list span{color:var(--dust);font-size:16px}
.picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:12px}
.picker p{margin:0;padding:12px 0;border-bottom:1px solid var(--line);font-size:17px}
.onerule{margin:0 0 8px;padding:24px 28px;max-width:none;border-left:3px solid var(--corona)}
.onerule h2{margin:0 0 8px}
@media (max-width:820px){.cards,.cards.two{grid-template-columns:minmax(0,1fr)}.methods-list li{grid-template-columns:minmax(0,1fr);gap:2px}.picker{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .home-body{padding-left:0;padding-right:0}
  .home-sec,.onerule{border-radius:0;border-left-width:0;border-right-width:0;padding:24px var(--gutter) 28px}
  .onerule{border-left:3px solid var(--corona);padding-left:calc(var(--gutter) - 3px)}
  .home-body>.sources{padding:0 var(--gutter)}
}

/* planets (page markers, our own SVG) */
.planet{float:right;width:112px;height:112px;margin:-4px 0 14px 24px;filter:drop-shadow(0 0 22px rgba(140,124,240,.16))}
@media (max-width:700px){.planet{width:68px;height:68px;margin:0 0 8px 14px}}

/* article */
.page{padding:28px 0 64px}
.page>.wrap{background:var(--nebula);border:1px solid var(--hair);border-radius:var(--panel);padding-top:26px;padding-bottom:40px;padding-left:40px;padding-right:40px;width:calc(100% - 2 * var(--gutter))}
@media (max-width:700px){.page{padding-top:0}.page>.wrap{width:100%;border-radius:0;border-left:0;border-right:0;border-top:0;padding:20px var(--gutter) 32px}}
.crumbs{font-size:15px;color:var(--dust);margin:0 0 18px}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li{margin:0}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--dust)}
.crumbs a{color:var(--dust);text-decoration-color:rgba(163,172,197,.5)}
.page h1{max-width:22ch}
.nopromise{margin:16px 0 22px;padding:2px 0 2px 14px;border-left:2px solid var(--corona);color:var(--dust);font-size:15px;max-width:var(--measure)}
.summary{clear:both;background:var(--nebula-hi);border:1px solid var(--line);border-radius:10px;padding:16px 20px 16px;max-width:var(--measure);margin:0 0 8px;position:relative}
.summary h2{font-size:18px;font-family:var(--sans);font-weight:700;margin:4px 0 6px}
.summary ul{margin:0;padding-left:20px}
.cols{clear:both;display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,300px);gap:48px;align-items:start}
.text{min-width:0}
.text>h2:first-child{margin-top:36px}
.margin{position:sticky;top:88px;margin-top:40px}
.below{clear:both;max-width:var(--measure)}
@media (max-width:959px){.cols{grid-template-columns:minmax(0,1fr);gap:0}.margin{position:static;margin-top:32px;max-width:var(--measure)}}
.research{background:var(--nebula-hi);border:1px solid var(--line);border-radius:10px;padding:18px 20px;font-size:16px}
.research h2{font-size:20px;margin:0 0 10px}
.research ol{padding-left:22px;margin:0}
.research li{margin:0 0 10px}
.research .ref{font-family:var(--mono);font-size:13px;color:var(--dust);white-space:nowrap}
.risks{border:1px solid var(--dust);border-radius:10px;padding:18px 22px;margin:48px 0 0}
.risks h2{margin:0 0 10px;font-size:24px}
.risks ul{margin:0;padding-left:20px}
.example{position:relative;background:var(--nebula-hi);border:1px solid var(--line);border-radius:10px;padding:44px 22px 18px;margin:24px 0;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,rgba(163,172,197,.07) 31px,rgba(163,172,197,.07) 32px);background-position:0 40px}
.example .stamp{position:absolute;top:12px;left:22px;font-family:var(--mono);font-size:12px;font-variant-caps:all-small-caps;letter-spacing:.06em;border:1px solid var(--dust);color:var(--starlight);padding:1px 8px;border-radius:3px}
.example h3{margin:0 0 8px}
.example p,.example li{font-size:17px}
.example dl{margin:0}
.example dt{font-weight:700;margin-top:8px}
.example dd{margin:0 0 4px}
.faq{margin-top:48px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;padding:14px 32px 14px 0;font-weight:700;list-style:none;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:10px;font:400 24px/1 var(--serif);color:var(--corona)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:0 0 16px}
.sources{margin-top:48px;font-size:15px}
.sources h2{font-size:24px}
.sources ol{padding-left:24px}
.sources li{margin:0 0 10px;overflow-wrap:anywhere}
.trust{margin-top:32px;padding:14px 0 0;border-top:1px solid var(--hair);font-size:15px;display:grid;gap:4px;color:var(--dust)}
.trust b{font-weight:700;color:var(--starlight)}
.toc{font-size:15px;margin:0 0 20px}
.toc h2{font-size:16px;font-family:var(--sans);font-weight:700;margin:0 0 6px}
.toc ol{padding-left:20px;margin:0}
.toc li{margin:3px 0}
.steps{padding-left:0;list-style:none;counter-reset:st}
.callout{border-left:2px solid var(--corona);padding:4px 0 4px 16px;margin:20px 0}
.tablewrap{overflow-x:auto;margin:16px 0}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
th{font-weight:700}
.next{margin-top:40px;padding:18px 22px;background:var(--nebula-hi);border:1px solid var(--line);border-radius:10px}
.next p{margin:0 0 12px}
.plist{columns:1;padding-left:22px}
.plist li{break-inside:avoid}
blockquote.own{margin:16px 0;padding:0 0 0 16px;border-left:2px solid var(--aurora);font-family:var(--serif);font-style:italic;font-size:20px}

/* tools shell */
.tool{background:var(--nebula-hi);border:1px solid var(--hair);border-radius:12px;margin:20px 0 8px;max-width:820px}
.tool-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line)}
.tool-head h2{margin:0;font-size:24px}
.local{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:13px;color:var(--dust);text-decoration:none;min-height:44px}
.local:hover{color:var(--starlight)}
.local svg{width:15px;height:15px}
.tool-body{padding:18px 20px}
.tool-foot{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:8px 16px;border-top:1px solid var(--line)}
.field{margin:0 0 16px}
.field label,.field legend{display:block;font-weight:700;margin-bottom:6px}
.field .hint{font-size:15px;color:var(--dust);margin:6px 0 0}
input[type=text],input[type=date],input[type=number],input[type=time],input[type=search],textarea{font:inherit;font-size:18px;color:var(--starlight);background:var(--deep);border:1.5px solid var(--dust);border-radius:var(--radius);padding:10px 12px;min-height:48px;width:100%;max-width:100%}
input::placeholder,textarea::placeholder{color:var(--dust);opacity:1}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
.radios{display:flex;flex-wrap:wrap;gap:8px}
.radios label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid var(--dust);border-radius:999px;font-weight:400;cursor:pointer}
.radios input{accent-color:var(--corona);width:18px;height:18px}
.warn{border-left:2px solid var(--corona);padding:4px 0 4px 12px;font-size:16px;margin:8px 0 0}
.rowset{display:grid;gap:14px}
.trow{border-bottom:1px solid var(--line);padding:0 0 14px}
.trow h3{margin:0 0 8px;font-size:20px;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.trow h3 .mono{font-size:14px;color:var(--dust);font-weight:400}
.boxes{display:flex;flex-wrap:wrap;gap:6px}
/* 369 boxes are star points: dim until ticked, then corona gold */
.tick{width:44px;height:44px;border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer;position:relative}
.tick svg{position:absolute;inset:0;width:44px;height:44px;overflow:visible}
.tick .o{fill:none;stroke:var(--dust);stroke-width:1.2}
.tick .c{fill:var(--dust)}
.tick .s{fill:var(--corona);transform-box:fill-box;transform-origin:center;transform:scale(.2) rotate(-30deg);opacity:0;transition:transform .22s ease-out,opacity .18s ease-out}
.tick[aria-pressed="true"] .o{stroke:var(--corona);stroke-opacity:.55}
.tick[aria-pressed="true"] .c{fill:#FFF6DE}
.tick[aria-pressed="true"] .s{transform:none;opacity:1}
.tick[aria-pressed="true"] svg{filter:drop-shadow(0 0 6px rgba(242,181,68,.65))}
.tick:hover .o{stroke:var(--starlight)}
.typed{display:grid;gap:8px}
.daynav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
/* the 33-day grid is a small star chart */
.grid33{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px;margin:8px 0 6px;padding:8px;border:1px solid var(--hair);border-radius:10px;
  background-color:var(--deep);background-image:linear-gradient(rgba(140,124,240,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(140,124,240,.10) 1px,transparent 1px);background-size:46px 46px;background-position:-1px -1px}
.chart-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.chart-lines line{stroke:var(--aurora);stroke-opacity:.6;stroke-width:1}
.cell{height:54px;border:0;border-radius:8px;background:transparent;font-family:var(--mono);font-size:12px;color:var(--dust);cursor:pointer;padding:0 0 3px;position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center}
.cell::before{content:"";position:absolute;top:13px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;border:1px solid var(--dust)}
.cell.part::before{width:9px;height:9px;margin-left:-4.5px;top:12px;border-color:var(--corona);background:linear-gradient(90deg,var(--corona) 50%,transparent 50%)}
.cell.full{color:var(--starlight)}
.cell.full::before{width:11px;height:11px;margin-left:-5.5px;top:11px;border-color:var(--corona);background:var(--corona);box-shadow:0 0 10px 2px rgba(242,181,68,.55)}
.cell .ring{position:absolute;top:2px;left:50%;width:29px;height:29px;margin-left:-14.5px;overflow:visible}
.cell .ring circle{fill:none;stroke:var(--corona);stroke-opacity:.7;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:0}
.cell.closing .ring circle{animation:ringclose .8s ease-out both}
@keyframes ringclose{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.cell:hover{color:var(--starlight)}
.cell:disabled{cursor:default;opacity:.5}
.cell.today{box-shadow:inset 0 0 0 1.5px var(--aurora)}
.cell[aria-current="date"]{box-shadow:inset 0 0 0 1.5px var(--starlight)}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:14px;color:var(--dust);margin:0 0 8px}
.legend i{display:inline-block;width:11px;height:11px;border:1px solid var(--dust);border-radius:50%;vertical-align:-1px;margin-right:6px;background:transparent}
.legend .lp{border-color:var(--corona);background:linear-gradient(90deg,var(--corona) 50%,transparent 50%)}
.legend .lf{background:var(--corona);border-color:var(--corona);box-shadow:0 0 6px 1px rgba(242,181,68,.5)}
.review{border:1px solid var(--dust);border-radius:10px;padding:14px 16px;margin:16px 0}
.review h3{margin:0 0 8px}
.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin:0 0 8px;scrollbar-width:thin}
.chip{flex:none;min-height:44px;padding:0 14px;border:1.5px solid var(--dust);border-radius:999px;background:transparent;font:inherit;font-size:16px;color:var(--starlight);cursor:pointer;white-space:nowrap}
.chip[aria-pressed="true"]{border-color:var(--starlight);background:var(--starlight);color:var(--void)}
.pcard{margin:12px 0 14px;padding:22px 22px 24px;background:var(--deep);border:1px solid var(--line);border-radius:10px;min-height:150px;display:flex;align-items:center;
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 35px,rgba(163,172,197,.07) 35px,rgba(163,172,197,.07) 36px)}
.pcard p{margin:0;font:400 24px/36px var(--serif)}
.actions{display:flex;flex-wrap:wrap;gap:10px}
.saved{padding-left:20px}
.status{font-size:15px;color:var(--dust);min-height:24px;margin:8px 0 0}
.printonly{display:none}

/* search */
.results a{display:block;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none}
.results b{display:block;font:600 20px/1.3 var(--serif);color:var(--corona)}
.results span{color:var(--dust);font-size:16px}

/* footer */
footer{background:var(--deep);border-top:1px solid var(--hair);margin-top:24px;padding:36px 0 40px;font-size:16px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:28px}
footer h2{font:700 15px/1.3 var(--sans);margin:0 0 8px}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin:0}
footer li a{display:inline-flex;align-items:center;min-height:36px}
.help{margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--dust);font-size:15px;max-width:90ch}
.legal{margin-top:12px;color:var(--dust);font-size:14px}
@media (max-width:820px){.fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fgrid>div:first-child{grid-column:1 / -1}}

/* motion: one fade-up per card on first view (cards only) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
  .js .reveal.seen{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* print: plain black on white */
@media print{
  body{background:#fff;color:#000;font-size:12pt}
  body::before,.arc,.planet{display:none!important}
  h1,h2,h3,b,strong{color:#000}
  .page>.wrap,.panel,.home-sec,.onerule,.tool,.summary,.research,.example{background:#fff!important;border-color:#999!important}
  .top,footer,.noprint,.tool-foot,.margin,.faq,.sources,.trust,.crumbs,.hero-cta{display:none!important}
  .printonly{display:block!important}
  a{text-decoration:none;color:#000}
}
