:root{color-scheme:dark;--bg:#0c0910;--panel:#18121f;--line:#392b43;--muted:#b3a9bd;--accent:#c49bff;--lime:#b5dc83}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0%,#2d173a,transparent 55%),var(--bg);color:#eee9f2;font-family:Georgia,serif}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;padding:11px 15px;min-height:44px}button:hover{background:#39264c}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.primary{background:var(--accent);color:#22152d;border-color:var(--accent);font-weight:bold}.primary:hover{background:#dfc8ff}.quiet{color:#dac6ef}.label{font:11px Arial,sans-serif;letter-spacing:.18em;color:var(--accent);font-weight:bold}.pill{display:inline-block;font:11px Arial,sans-serif;letter-spacing:.04em;border:1px solid #634478;border-radius:30px;padding:7px 10px;color:#d6bfeb}header{height:100px;padding:20px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{border:0;padding:0;font-weight:bold;letter-spacing:.14em;font-size:23px;text-align:left}.wordmark span{display:block;color:var(--accent);font:8px Arial;letter-spacing:.3em;margin-top:9px}.header-right{display:flex;gap:20px;align-items:center}.shell{display:grid;grid-template-columns:190px minmax(0,850px) 260px;gap:32px;max-width:1450px;margin:auto;padding:32px}aside nav{display:grid;gap:6px;margin-top:24px}nav button{border-color:transparent;text-align:left;display:flex;gap:14px;align-items:center;color:var(--muted)}nav button.active{background:#32233f;border-color:#674c7f;color:#fff}.side-note{margin-top:80px;border-top:1px solid var(--line);padding-top:24px}.tiny-brand{font:bold 11px Arial;letter-spacing:.1em;background:linear-gradient(90deg,#c49bff,#b5dc83);color:transparent;background-clip:text}.side-note p,.right p{line-height:1.6;color:var(--muted);font-size:14px}.side-note button{font-size:12px;padding:8px}main{min-width:0}.hero{position:relative;overflow:hidden;border:1px solid #604277;border-radius:18px;min-height:350px;padding:38px;background:linear-gradient(120deg,#271735,#15101d);display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.hero-copy{z-index:1}h1{font-weight:500;font-size:clamp(35px,4vw,53px);line-height:1.08;margin:18px 0 22px;letter-spacing:-.04em}em{color:var(--accent);font-weight:400}p{line-height:1.65}.hero-copy>p:not(.label){color:var(--muted);font-size:15px;max-width:420px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.art{position:relative;min-height:240px}.orb{position:absolute;width:180px;height:180px;left:25%;top:10%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ddbcfa,#9d65c4 50%,#442553 75%);box-shadow:0 0 80px #9254bd44}.island{position:absolute;transform:rotate(-15deg) skew(20deg);background:linear-gradient(135deg,#98b972,#54633d);box-shadow:14px 20px 0 #312c39,21px 32px 0 #231c2b;width:125px;height:68px;border:1px solid #cadcab66}.one{top:47%;left:4%}.two{top:69%;left:48%;width:70px;height:38px}.three{top:17%;left:2%;width:42px;height:24px}.art-label{position:absolute;bottom:0;right:0;font:8px Arial;letter-spacing:.18em;color:#bba4cb}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 18px}.section-head h2{margin:8px 0;font-size:25px;font-weight:500}input{background:#130e19;border:1px solid var(--line);color:#eee9f2;border-radius:9px;padding:12px;width:220px;max-width:100%}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{font:12px Arial;min-height:36px;padding:8px 14px;color:var(--muted)}.filters .selected{background:#34233f;color:#fff;border-color:#74538c}.card,.post,.steps article{background:linear-gradient(145deg,#201729,#130f1b);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:18px}.post-header{display:flex;gap:12px;align-items:center}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#3d284c;border:1px solid #765290;border-radius:11px;color:#d7b5f2;font-size:21px}.post-header strong{font-size:14px}.post-header small{display:block;margin-top:4px;color:var(--muted);font:10px Arial}.post h2{font-size:23px;font-weight:500;margin:20px 0 12px}.post p{color:var(--muted);font-size:15px}.post-actions{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:10px}.post-actions button{font:12px Arial;min-height:36px;padding:7px 11px}.right h2{font-size:23px;font-weight:500}.right .card{padding:22px}.right button{width:100%;font-size:13px}.small,.source-note{color:var(--muted);font-size:12px;line-height:1.7}.intro{color:var(--muted);max-width:620px}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.world{position:relative;overflow:hidden;margin:0;min-height:200px}.world .symbol{font-size:35px;color:var(--accent)}.world h2{margin:14px 0 8px}.world p{margin:0;color:var(--muted);font-size:14px}.world small{display:block;margin-top:18px;color:#c9b3db;font:10px Arial;letter-spacing:.08em}.steps article>b{color:var(--accent);font-size:30px}.steps{margin-top:35px}.card p{color:var(--muted)}details{padding:20px 24px;background:#18121f;border:1px solid var(--line);border-radius:12px;margin:12px 0}summary{cursor:pointer;font-size:18px}details p{color:var(--muted);font-size:14px}.join-card{margin-top:30px}.join-card h2{font-size:38px;overflow-wrap:anywhere}.join-card li{padding:8px 0;color:var(--muted);line-height:1.6}.muted{color:var(--muted);font-size:13px}footer{display:flex;justify-content:space-between;gap:15px;padding:32px 0;margin-top:24px;border-top:1px solid var(--line);font:10px Arial;color:#9d8aac}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#352440;border:1px solid #9272ab;border-radius:10px;padding:13px 22px;display:none;z-index:10}@media(max-width:1200px){.shell{grid-template-columns:170px minmax(0,1fr);gap:24px}.right{display:none}}@media(max-width:760px){header{height:auto;padding:20px}.header-right .pill{display:none}.wordmark{font-size:17px}.shell{display:block;padding:20px}aside>.label,.side-note{display:none}aside nav{display:flex;overflow:auto;gap:6px;margin:0 0 24px;padding-bottom:10px}nav button{white-space:nowrap;gap:8px;font-size:12px;padding:9px}.hero{padding:25px;display:block}.art{min-height:200px;max-width:280px;margin:15px auto}.section-head{align-items:flex-start;flex-direction:column;gap:6px}.section-head input{width:100%}.world-grid{grid-template-columns:1fr}.hero h1{font-size:42px}footer span{display:none}.post,.card{padding:20px}.post-actions{flex-wrap:wrap}}

.skip{position:fixed;top:-60px;left:16px;background:var(--accent);color:#22152d;padding:12px;z-index:20}.skip:focus{top:12px}.policy-tools{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0 10px}.policy-tools input{flex:1;min-width:180px}.policy-tools button{font-size:13px}.policy-copy{padding-top:10px;overflow-wrap:anywhere}.policy-copy h3{font-size:20px;color:#dcc4f0;margin:26px 0 12px}.policy-copy p,.policy-copy li{line-height:1.8;color:var(--muted);font-size:15px}.policy-copy li{padding:4px 0}.policy-copy strong{color:#eee9f2}.join-card small{font-size:20px;color:var(--muted)}@media(max-width:400px){header{flex-wrap:wrap}.header-right{width:100%}.header-right button{width:100%}.shell{padding:14px}.hero h1{font-size:36px}.hero{padding:22px}.post-actions button{max-width:100%}h1{font-size:36px}}
@font-face{font-family:LoveCraftFell;src:url("brand-serif.woff2") format("woff2");font-display:swap}body,button,input{font-family:LoveCraftFell,Georgia,serif}
@media(max-width:760px){aside nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}nav button{white-space:normal;min-width:0}}

.art{display:flex;align-items:center;justify-content:center;isolation:isolate}.necronomicon{position:relative;width:100%;max-width:280px;max-height:310px;object-fit:contain;z-index:1;filter:drop-shadow(0 18px 22px #0008);animation:book-hover 5s ease-in-out infinite}.book-glow{position:absolute;inset:15% 0 12%;background:radial-gradient(ellipse,#985cc650,transparent 70%);z-index:-1}.book-shadow{position:absolute;bottom:6%;width:55%;height:18px;background:#0006;filter:blur(12px);border-radius:50%}@keyframes book-hover{0%,100%{transform:translateY(-8px) rotate(-3deg)}50%{transform:translateY(6px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.necronomicon{animation:none;transform:translateY(-6px)}}
.art{overflow:hidden}.necronomicon{width:145%;max-width:400px;max-height:none;flex:none}@media(max-width:760px){.art{height:320px}}
.art{height:310px}.necronomicon{position:absolute}
/* Give the mobile book room for its full silhouette and hover motion. */
@media(max-width:760px){
  .art{height:360px;max-width:260px;margin:24px auto 8px}
  .necronomicon{width:134%;max-width:360px}
}


/* Public announcements share the community board style and wrap on small screens. */
.public-news-latest:empty{display:none}.public-news-latest .post{border-color:#795691;background:linear-gradient(145deg,#31213d,#18111f)}.public-news-label{font:11px Arial,sans-serif;letter-spacing:.13em;color:var(--lime);margin:0 0 12px}.public-news-date{font:12px Arial,sans-serif;color:var(--muted)}.public-news-post{min-width:0;overflow-wrap:anywhere}.public-news-post h2{line-height:1.25}.public-news-post .policy-copy{padding-top:0}.public-news-post .policy-copy p,.public-news-post .policy-copy li{font-size:15px}.public-news-post .policy-copy h3{font-size:20px;margin:18px 0 10px}.public-news-link{display:flex;justify-content:flex-end;margin:-6px 0 22px}.public-news-tools{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:26px 0 16px}.public-news-tools label{flex:1 1 100%;font-size:13px;color:var(--muted)}.public-news-tools input{flex:1 1 240px;width:auto;min-width:0}.public-news-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}.public-news-pagination button{font-size:13px}.public-news-pagination span{font:12px Arial,sans-serif;color:var(--muted)}.public-news-status-button{margin-top:8px}.public-news-tools button,.public-news-pagination button{max-width:100%;white-space:normal}
@media(max-width:400px){.public-news-tools input{flex-basis:100%}.public-news-pagination{justify-content:flex-start}.public-news-post h2{font-size:22px}}
