/* Luna / Linder — editorial layer. Raw CSS, no runtime dependencies. */
:root { --ritual-ink:#ede3ef; --ritual-muted:#b8aabc; --ritual-line:#403044; --ritual-accent:#f198d4; }
html[data-world="goth"] { --ritual-ink:#eee7ee; --ritual-muted:#b9afc0; --ritual-line:#342b3d; --ritual-accent:#cbb0e1; }
.ritual-site *, .ritual-shell * { box-sizing:border-box; }
[hidden] { display:none!important; }
.ritual-section { max-width:1160px; margin:0 auto; padding:88px 28px; scroll-margin-top:155px; }
.ritual-kicker { font:600 11px/1.8 ui-monospace,monospace; letter-spacing:2.5px; text-transform:uppercase; color:var(--ritual-accent); }
.ritual-section h2, .ritual-heading { font:400 clamp(38px,5.3vw,68px)/1.08 'Cormorant Garamond',Georgia,serif; color:var(--ritual-ink); margin:16px 0 24px; }
.ritual-section h3 { font:400 30px/1.2 'Cormorant Garamond',Georgia,serif; margin:12px 0; color:var(--ritual-ink); }
.ritual-section p, .ritual-section li { font:400 16px/1.8 system-ui,sans-serif; color:var(--ritual-muted); }
.ritual-section .ritual-kicker { font:600 11px/1.8 ui-monospace,monospace; color:var(--ritual-accent); letter-spacing:2.5px; }
.ritual-intro { max-width:670px; }
.ritual-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:32px; }
.ritual-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.ritual-panel { position:relative; border:1px solid var(--ritual-line); padding:30px; background:linear-gradient(140deg,#25132988,#090a13f2); border-radius:4px; }
html[data-world="goth"] .ritual-panel { background:linear-gradient(140deg,#17111b,#050507); }
.ritual-panel.featured { border-color:var(--ritual-accent); }
.ritual-number { font:italic 38px Georgia,serif; color:var(--ritual-accent); }
.ritual-link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 19px; margin-top:14px; border:1px solid var(--ritual-line); color:var(--ritual-ink); background:#130d1bd9; text-decoration:none; font:600 13px/1.5 system-ui,sans-serif; cursor:pointer; border-radius:3px; }
.ritual-link:hover { border-color:var(--ritual-accent); background:#2d1d35; }
.ritual-link.primary { background:var(--ritual-accent); color:#1b1220; border-color:var(--ritual-accent); }
.ritual-link:focus-visible, .ritual-site a:focus-visible, .ritual-shell a:focus-visible, .ritual-shell select:focus-visible, .ritual-shell button:focus-visible { outline:2px solid var(--ritual-accent); outline-offset:5px; }
.ritual-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ritual-note { display:block; font:400 13px/1.7 system-ui,sans-serif; color:var(--ritual-muted); margin-top:18px; }
.ritual-status { display:inline-block; font:600 10px/1.6 ui-monospace,monospace; letter-spacing:1.5px; color:var(--ritual-accent); border:1px solid var(--ritual-line); padding:5px 10px; border-radius:20px; }
.ritual-host { min-height:310px; padding-right:42%; overflow:hidden; }
.ritual-host img { position:absolute; right:0; top:0; width:40%; height:100%; object-fit:cover; object-position:center 20%; mask-image:linear-gradient(90deg,transparent,#000 30%); }
.ritual-host > :not(img) { position:relative; z-index:1; }
.ritual-track { display:flex; gap:18px; align-items:center; padding:22px 0; border-bottom:1px solid var(--ritual-line); text-decoration:none; color:var(--ritual-ink); }
.ritual-track span { flex:1; }
.ritual-track strong { display:block; font:400 26px Georgia,serif; }
.ritual-track small { display:block; margin-top:8px; color:var(--ritual-muted); font:12px/1.6 system-ui,sans-serif; }
.ritual-faq details { border-bottom:1px solid var(--ritual-line); padding:22px 0; }
.ritual-faq summary { cursor:pointer; font:400 22px/1.4 Georgia,serif; color:var(--ritual-ink); }
.ritual-site .hero-subtitle { font-size:clamp(19px,2vw,24px); line-height:1.6; }
.ritual-site .hero-title .line2 { font-size:clamp(12px,1.4vw,18px); }
.ritual-site .header-nav { flex-wrap:wrap; justify-content:flex-end; }
.ritual-site .header-nav a { font-size:11px; letter-spacing:1px; color:var(--ritual-muted); min-height:44px; display:inline-flex; align-items:center; }
.ritual-site .header { position:sticky; }
.ritual-site .content-area { padding-top:0; }
.ritual-site .content-area > .manifesto { padding-bottom:45px; }
.ritual-site .footer-copy { color:var(--ritual-muted); line-height:1.8; }
.ritual-hub { max-width:950px; margin:0 auto 25px; padding:22px 24px; border:1px solid var(--ritual-line); background:#100d18e8; }
.ritual-hub p { font:15px/1.7 system-ui,sans-serif; color:var(--ritual-muted); }
.ritual-hub h2 { font:400 32px/1.2 Georgia,serif; color:var(--ritual-ink); margin:10px 0; }
.ritual-shell { margin:0; color:var(--ritual-ink); background:radial-gradient(ellipse at 80% 10%,#37204670,transparent 50%),#080810; font-family:system-ui,sans-serif; }
html[data-world="goth"] .ritual-shell { background:radial-gradient(ellipse at 80% 10%,#27183245,transparent 50%),#030305; }
.ritual-shell a { color:inherit; }
.ritual-nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding:20px max(24px,5vw); border-bottom:1px solid var(--ritual-line); }
.ritual-brand { font:italic 26px Georgia,serif; text-decoration:none; }
.ritual-shell main { max-width:1050px; padding:55px 26px 75px; margin:auto; }
.ritual-shell .ritual-lead { max-width:700px; font:18px/1.8 system-ui,sans-serif; color:var(--ritual-muted); }
.ritual-shell label { display:block; font-size:15px; margin:25px 0 10px; }
.ritual-shell select { width:100%; max-width:520px; min-height:50px; padding:12px; background:#12101a; color:var(--ritual-ink); border:1px solid var(--ritual-line); font:16px system-ui,sans-serif; border-radius:3px; }
.ritual-shell button { font-family:inherit; }
.ritual-shell button:disabled { cursor:default; opacity:.6; }
.ritual-deck { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:34px 0; }
.ritual-card { min-height:250px; border:1px solid var(--ritual-line); background:repeating-linear-gradient(45deg,transparent,transparent 12px,#cfa1ea08 12px,#cfa1ea08 13px),#0f0c16; border-radius:100px 100px 5px 5px; color:var(--ritual-ink); padding:28px 16px; text-align:center; transition:border-color .3s,transform .3s; }
.ritual-card.revealed { border-color:var(--ritual-accent); transform:translateY(-5px); background:radial-gradient(ellipse at center,#4f305640,transparent 70%),#100c16; }
.ritual-card .symbol { display:block; font:60px/1.4 Georgia,serif; color:var(--ritual-accent); }
.ritual-card strong { display:block; font:400 25px/1.4 Georgia,serif; }
.ritual-card small { display:block; font:11px/1.8 ui-monospace,monospace; letter-spacing:1px; color:var(--ritual-muted); }
.ritual-result { margin-top:35px; padding-top:28px; border-top:1px solid var(--ritual-line); }
.ritual-result h2 { font:400 38px/1.2 Georgia,serif; }
.ritual-result h3 { font:400 26px/1.3 Georgia,serif; color:var(--ritual-accent); margin-bottom:8px; }
.ritual-result p { font:16px/1.9 system-ui,sans-serif; max-width:760px; color:var(--ritual-ink); }
.ritual-result blockquote { margin:28px 0; border-left:2px solid var(--ritual-accent); padding:10px 24px; font:italic 27px/1.5 Georgia,serif; }
.ritual-shell footer { border-top:1px solid var(--ritual-line); padding:24px; text-align:center; font-size:13px; color:var(--ritual-muted); }
.ritual-skip { position:fixed; top:8px; left:8px; z-index:100; transform:translateY(-180%); background:#16101d; padding:12px; color:#fff; }
.ritual-skip:focus { transform:none; }
@media(max-width:850px) { .ritual-grid { grid-template-columns:1fr; } .ritual-duo { grid-template-columns:1fr; } .ritual-section { padding:55px 24px; } }
@media(max-width:700px) { .ritual-site .header-nav { justify-content:flex-start; gap:8px; } .ritual-site .header-nav a { padding:8px 5px; } .ritual-site .header-nav .world-switch { order:1; } .ritual-site .hero-title { font-size:clamp(49px,12vw,76px); } .ritual-deck { gap:8px; } .ritual-card { min-height:195px; padding:24px 8px 15px; } .ritual-card .symbol { font-size:44px; } .ritual-card strong { font-size:19px; } .ritual-card small { font-size:9px; letter-spacing:0; } }
@media(prefers-reduced-motion:reduce) { .ritual-card { transition:none; transform:none!important; } }
