:root{--bg:#09080f;--bg2:#120f1f;--ink:#efe9dc;--mute:#a9a4c4;--peri:#8d86ff;--peri2:#b9b4ff;--ember:#ff8a3d;--line:rgba(141,134,255,.22);--card:rgba(255,255,255,.035);--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,system-ui,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;min-height:100vh;overflow-x:hidden;padding-bottom:72px}
.bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 40% at 80% 10%,rgba(141,134,255,.16),transparent 70%),radial-gradient(50% 35% at 10% 95%,rgba(255,138,61,.07),transparent 70%),linear-gradient(var(--bg),var(--bg2))}
.bg::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--line),transparent)}
a{color:inherit;text-decoration:none}main{max-width:1080px;margin:0 auto;padding:0 20px}
.title{font-family:var(--serif);font-weight:400;line-height:1.08;margin:.2em 0;font-size:clamp(2rem,9vw,3.6rem);overflow-wrap:break-word;hyphens:manual}
h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:1.5rem;margin:0}h3{font-size:1.2rem;margin:0}
.caps{text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--mute);margin:.3em 0}.tiny{font-size:.6rem}
.lead{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:#d9d4f0;margin:.6em 0}
.rule{width:44px;border:0;border-top:1px solid var(--peri);margin:22px 0;opacity:.7}
.prose p{margin:0 0 1.1em;color:#d8d3e6}.prose{max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:48px;padding:0 26px;border-radius:999px;font-size:.95rem;transition:.2s;border:1px solid var(--peri)}
.btn.primary{background:var(--peri);color:#0d0b18;font-weight:500;box-shadow:0 0 28px rgba(141,134,255,.35)}.btn.primary:hover{background:var(--peri2)}
.btn.ghost{color:var(--ink)}.btn.ghost:hover{background:rgba(141,134,255,.12)}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:rgba(9,8,15,.75);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.05)}
.brand{font-family:var(--serif);font-size:1.35rem}
.menu-btn{background:none;border:0;width:36px;height:36px;display:grid;place-content:center;gap:6px;cursor:pointer}.menu-btn span{display:block;width:22px;height:1px;background:var(--ink)}
.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#0d0b16;border-bottom:1px solid var(--line);padding:8px 20px 16px}
.menu.open{display:flex}.menu a{padding:10px 0;font-family:var(--serif);font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,.05)}
.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:rgba(9,8,15,.9);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.06);font-size:.72rem;color:var(--mute);z-index:9}
.tabbar a.on{color:var(--peri2)}
/* splash */
.splash{padding-bottom:0}.splash-wrap{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 10px;gap:6px}
.motif{color:var(--peri2);width:150px;height:auto}.motif.big{width:min(46vw,190px);margin-bottom:10px}
.motif .nums text{font-family:var(--serif);font-size:22px;text-anchor:middle}
.motif .core{fill:rgba(141,134,255,.25);filter:drop-shadow(0 0 10px var(--peri));animation:pulse 4s ease-in-out infinite}
@keyframes pulse{50%{fill:rgba(141,134,255,.5)}}
.splash .btn{width:min(100%,300px);margin:22px 0 14px}
/* home */
.hero{position:relative;overflow:hidden;margin:0 -20px;padding-left:20px;padding-right:20px;padding:44px 0 10px}.orb{position:absolute;right:-60px;top:20px;width:220px;height:220px;border-radius:50%;box-shadow:inset -14px 6px 30px rgba(141,134,255,.45);border-right:1px solid rgba(185,180,255,.5);opacity:.8;pointer-events:none}
.hero .title{position:relative;max-width:14ch}.hero .prose{position:relative}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0 40px}
.card{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:var(--card);transition:.2s;min-height:130px}
.card:hover{border-color:var(--peri)}.card .ct{font-family:var(--serif);font-size:1.2rem;margin-top:auto}.card .caps{font-size:.56rem}
.card .arr{position:absolute;right:14px;bottom:14px;color:var(--mute)}
.ico{width:34px;height:34px;fill:none;stroke:var(--peri2);stroke-width:1}
.sechead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.sechead .caps{color:var(--peri2)}
.books{display:grid;gap:12px;margin-bottom:40px}
.bookcard{display:flex;gap:16px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:var(--card)}.bookcard:hover{border-color:var(--peri)}
.bookcard .cover{width:78px;flex:none;border-radius:4px}
.cover{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 40px rgba(141,134,255,.15)}
/* text */
.text{padding:36px 0 30px}.crumbs a:hover{color:var(--peri2)}
.todo{color:#c9b9a0;font-style:italic;border-left:2px solid var(--ember);padding-left:12px}
.council{list-style:none;padding:0;display:grid;gap:12px;margin-top:24px}
.council li{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:var(--card)}
.council .seat{float:left;width:30px;height:30px;border-radius:50%;border:1px solid var(--peri);box-shadow:0 0 14px rgba(141,134,255,.4);margin:2px 14px 0 0}
.council .todo{margin:6px 0 0;clear:both}
/* book */
.book{padding:20px 0 40px}.back{display:inline-block;color:var(--mute);margin-bottom:18px;font-size:.85rem}
.bookgrid{display:grid;gap:30px}.coverwrap{max-width:260px;margin:0 auto;width:72%}.book .title{text-align:left}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}.tags span{border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:4px 12px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
blockquote{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:#ddd6f2;margin:30px 0 0;text-align:center}blockquote cite{display:block;font-style:normal;font-size:.7rem;letter-spacing:.2em;color:var(--mute);margin-top:6px}
.hook{color:var(--ink);font-size:.72rem;line-height:2}.ember{color:var(--ember);text-align:center;margin-top:26px;text-shadow:0 0 12px rgba(255,138,61,.5)}
.foot{text-align:center;padding:30px 20px 20px;border-top:1px solid rgba(255,255,255,.05)}.foot .dots{color:var(--peri2);letter-spacing:.6em}.small{font-size:.7rem;color:#6f6a88}
@media (min-width:820px){body{padding-bottom:0;font-size:16px}.tabbar{display:none}
.menu-btn{display:none}.menu{display:flex;position:static;flex-direction:row;gap:22px;background:none;border:0;padding:0}.menu a{font-family:var(--sans);font-size:.8rem;border:0;padding:0;color:var(--mute)}.menu a:hover,.menu a.on{color:var(--ink)}
.top{padding:16px 40px}.hero{padding:90px 20px 20px}.orb{width:420px;height:420px;right:0;top:40px}
.cards{grid-template-columns:repeat(3,1fr);gap:16px}.books{grid-template-columns:repeat(3,1fr)}
.bookcard{flex-direction:column;align-items:flex-start}.bookcard .cover{width:100%}
.bookgrid{grid-template-columns:320px 1fr;gap:60px;align-items:start}.coverwrap{width:100%;position:sticky;top:90px}
.actions{max-width:420px}.council{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
