@import url('https://fonts.googleapis.com/css2?family=Lacquer&family=Rock+Salt&display=swap');
:root{color-scheme:dark;--bg:#111015;--panel:#19171f;--panel2:#211e27;--line:#39323f;--line2:#51445b;--ink:#f3eff2;--dim:#aaa3af;--muted:#807788;--pink:#fc5a9c;--lime:#c0eb6b;--violet:#a797f9;--orange:#f7af6f;--focus:#f4e7a2;--display:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;--body:'Segoe UI',Inter,system-ui,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.65;font-size:15px}::selection{background:var(--pink);color:#111015}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button{color:inherit}.site-wrap{max-width:1600px;margin:auto;min-height:100vh}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,4vw,54px);background:#141218;border-bottom:1px solid var(--line);gap:24px}.wordmark{display:flex;align-items:center;gap:13px;min-width:0}.mark{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:46px;height:46px;background:var(--pink);color:#111015;transform:rotate(-4deg);font-family:var(--display);font-size:24px;letter-spacing:-2px;box-shadow:5px 5px 0 #654255}.mark span{color:#faf3f6}.wordmark-text{display:flex;flex-direction:column;line-height:1.1;letter-spacing:.07em}.wordmark-text strong{font-size:16px}.wordmark-text small{font-size:10px;color:var(--dim);letter-spacing:.18em;margin-top:7px}.top-right{display:flex;align-items:center;gap:12px;max-width:440px;width:100%}.search-wrapper{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);padding:10px 13px;flex:1;background:#211e27;border-radius:2px;transition:border .2s}.search-wrapper:focus-within{border-color:var(--pink)}.search-wrapper input{background:transparent;color:var(--ink);border:none;outline:none;width:100%;min-width:0;font-size:13px}.search-wrapper input::-webkit-search-cancel-button{cursor:pointer}.search-wrapper input::placeholder{color:var(--muted)}.search-ico{font-size:26px;line-height:15px;color:var(--pink)}kbd{font-size:10px;border:1px solid var(--line2);border-radius:3px;color:var(--dim);padding:0px 6px}.icon-button{background:#292330;border:1px solid var(--line2);height:42px;width:44px;border-radius:2px;font-weight:750;letter-spacing:-1px}.icon-button[aria-pressed="true"]{background:var(--lime);color:#151515;border-color:var(--lime)}.ticker{height:26px;border-bottom:1px solid #524451;background:#a797f9;color:#1a1225;overflow:hidden;white-space:nowrap;display:flex;align-items:center;font-family:var(--display);font-size:12px;letter-spacing:.25em}.ticker span{margin-left:25px}.body-shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 160px)}.sidebar{background:#16131a;border-right:1px solid var(--line);padding:32px 16px;display:flex;flex-direction:column;gap:22px}.sidebar-label,.eyebrow,.mini-label{font-size:10px;letter-spacing:.23em;text-transform:uppercase;font-weight:800;color:var(--pink)}.sidebar-label{padding-left:12px}.book-nav{display:flex;flex-direction:column;gap:7px}.nav-link{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid transparent;padding:10px 12px;border-radius:3px;font-size:13px;line-height:1.3;color:var(--dim)}.nav-link:hover{background:var(--panel2);color:var(--ink)}.nav-link.active{background:#2b2233;color:var(--ink);border-color:#564359}.nav-link .count{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.nav-heading{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.17em;padding:17px 12px 6px;text-transform:uppercase}.side-stamp{font:32px/.82 var(--display);letter-spacing:.015em;transform:rotate(-7deg);color:#c0eb6b;margin:5px 0 24px}.side-stamp span{color:var(--pink);font-size:24px}.sidebar-bottom{margin-top:auto;padding:10px 12px}.sidebar-bottom small{font-size:9px;letter-spacing:.16em;line-height:1.7;color:var(--muted)}#app{padding:clamp(24px,5vw,64px);max-width:1250px;width:100%;min-width:0;margin:0 auto}.loading-panel{padding:80px;text-align:center;color:var(--dim)}.hero{position:relative;overflow:hidden;min-height:270px;border:1px solid var(--line2);background:radial-gradient(circle at 83% 22%,#854269 0,transparent 26%),linear-gradient(125deg,#24202d,#14121a 70%);padding:37px clamp(24px,4vw,54px);margin-bottom:26px}.hero:after{content:'ARCHIVE';position:absolute;font:clamp(100px,16vw,250px)/1 var(--display);color:#ffffff08;right:-35px;bottom:-45px;transform:rotate(-7deg);pointer-events:none}.hero h1{font:clamp(48px,6vw,98px)/.9 var(--display);letter-spacing:.008em;max-width:700px;margin:19px 0}.hero h1 em{font-style:normal;color:var(--pink)}.hero .subtitle{max-width:520px;color:#c6bcc8;font-size:14px;line-height:1.7;position:relative;z-index:1}.hero .slash{color:var(--lime)}.hero-book{min-height:220px}.hero-book h1{font-size:clamp(42px,5vw,76px)}.hero-book.violet{background:radial-gradient(circle at 85% 15%,#5c4586,transparent 35%),linear-gradient(125deg,#292333,#15131b)}.hero-book.orange{background:radial-gradient(circle at 85% 15%,#6a4334,transparent 35%),linear-gradient(125deg,#29212a,#15131b)}.hero-book.pink{background:radial-gradient(circle at 85% 15%,#6d3655,transparent 35%),linear-gradient(125deg,#29212a,#15131b)}.hero-book.lime{background:radial-gradient(circle at 85% 15%,#435035,transparent 35%),linear-gradient(125deg,#222a28,#15131b)}.notice{display:flex;align-items:start;gap:10px;color:#c5b5cf;border-left:3px solid var(--violet);background:#24202b;padding:12px 15px;font-size:12px;margin:20px 0}.notice b{color:#e3c8fc}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:36px 0 18px}.section-heading h2{font:clamp(27px,3vw,38px)/1 var(--display);margin:0;text-transform:uppercase;letter-spacing:.025em}.section-heading small{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.book-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:245px;padding:26px;border:1px solid var(--line2);background:linear-gradient(142deg,#24202b,#19171f);transition:transform .18s,border .18s}.book-card:before{content:'×';font:170px/.8 var(--display);position:absolute;right:0;top:10px;opacity:.045;transform:rotate(8deg)}.book-card:hover,.entry-card:hover{transform:translateY(-2px);border-color:#ab75a1}.book-card h3{font:clamp(33px,3vw,43px)/1 var(--display);margin:14px 0 10px}.book-card p{font-size:13px;color:var(--dim);margin:0 0 16px;max-width:380px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.tag{font-size:10px;border:1px solid #5b4d62;background:#2c2532;color:#dacde2;text-transform:uppercase;letter-spacing:.09em;padding:4px 8px;border-radius:2px}.card-bottom span:last-child{color:var(--pink);font-size:21px}.book-card.orange .eyebrow{color:var(--orange)}.book-card.lime .eyebrow{color:var(--lime)}.book-card.violet .eyebrow{color:var(--violet)}.book-card.pink .eyebrow{color:var(--pink)}.crumbs{font-size:11px;letter-spacing:.07em;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 19px}.crumbs a:hover{color:var(--pink)}.crumbs .chevron{color:#675e6a}.book-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}.filter{border:1px solid #54495b;background:transparent;border-radius:2px;padding:7px 10px;font-size:12px;color:var(--dim)}.filter.active{background:var(--lime);color:#181b12;border-color:var(--lime);font-weight:800}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.entry-card{padding:20px;border:1px solid var(--line);background:var(--panel);min-height:164px;transition:transform .18s,border .18s}.entry-card h3{font-size:18px;line-height:1.27;margin:9px 0 8px}.entry-card p{font-size:12px;line-height:1.6;color:var(--dim);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.entry-card .entry-end{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.entry-card .entry-end span{font-size:11px;color:var(--muted)}.entry-card .entry-end b{color:var(--pink)}.count-line{font-size:12px;color:var(--dim)}.empty{border:1px dashed var(--line2);padding:46px 20px;text-align:center;color:var(--dim)}.entry-header{border-bottom:1px solid var(--line2);padding-bottom:24px;margin-bottom:30px}.entry-header h1{font:clamp(48px,6vw,85px)/.95 var(--display);letter-spacing:.005em;margin:14px 0 15px;overflow-wrap:anywhere}.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.meta-line .tag{color:var(--lime);border-color:#6c7d44}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:32px}.entry-content{min-width:0}.article-copy{color:#ded9e0;font-size:15px;line-height:1.9;overflow-wrap:anywhere}.article-copy p{margin:0 0 1.2em;white-space:pre-wrap}.article-copy h2,.article-copy h3{color:var(--ink);font-size:23px;line-height:1.3;margin:1.5em 0 .65em}.article-copy h3{font-size:19px}.article-copy ul{margin:.6em 0 1.4em;padding-left:23px}.article-copy li{margin:.4em 0}.article-copy pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#100e13;border:1px solid var(--line);padding:16px;font-size:12px}.article-copy hr{border:0;border-top:1px solid var(--line);margin:26px 0}.entry-intro{font-size:16px;color:#c9bdce;margin:0 0 28px;line-height:1.7;border-left:3px solid var(--pink);padding-left:16px}.entry-aside{align-self:start;position:sticky;top:20px}.aside-panel{border:1px solid var(--line);padding:16px;background:var(--panel);margin-bottom:14px}.aside-panel h3{margin:0 0 12px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--pink)}.detail-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--dim);padding:7px 0;border-bottom:1px solid #342f38}.detail-row:last-child{border:0}.detail-row strong{color:#f0dff1;font-weight:600;text-align:right;overflow-wrap:anywhere}.aside-button,.copy-button{background:var(--lime);color:#10120b;border:none;padding:11px 13px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;width:100%}.aside-button:hover,.copy-button:hover{filter:brightness(1.08)}.tech-panel{margin-top:30px;border:1px solid var(--line2);background:var(--panel);padding:18px}.tech-panel summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#ded4e0;font-weight:700;font-size:13px;list-style:none}.tech-panel summary::-webkit-details-marker{display:none}.tech-panel summary:after{content:'+';font-size:24px;color:var(--lime)}.tech-panel[open] summary:after{content:'−'}.tech-description{color:var(--dim);font-size:12px}.tech-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin-top:17px}.tech-item{min-width:0;border-bottom:1px solid var(--line);padding:7px 0}.tech-item dt{font-size:11px;color:var(--muted);margin-bottom:3px}.tech-item dd{margin:0;font-size:12px;color:#f0e6f0;overflow-wrap:anywhere}.related-list{display:flex;flex-direction:column;gap:9px}.related-list a{border:1px solid var(--line);padding:10px 12px;color:#e4daed;background:var(--panel2);font-size:13px}.related-list a:hover{border-color:var(--pink)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.gallery figure{margin:0;background:var(--panel);border:1px solid var(--line)}.gallery img{width:100%;display:block;object-fit:cover;max-height:340px}.gallery figcaption{font-size:11px;color:var(--dim);padding:9px 11px}.featured-image{margin:0 0 25px}.featured-image img{width:100%;display:block;max-height:430px;object-fit:cover;border:1px solid var(--line2)}.featured-image figcaption{font-size:11px;color:var(--dim);margin-top:7px}.no-results{margin-top:20px}.footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px clamp(20px,4vw,54px);border-top:1px solid var(--line);font-size:10px;letter-spacing:.13em;color:var(--muted)}.footer a{color:var(--pink)}.error{border:1px solid #bd6376;background:#2d1d28;padding:20px;color:#f6d4db}.error code{font-family:monospace}.demo-flag{display:inline-block;background:var(--orange);color:#1b1114;font-size:10px;padding:3px 8px;font-weight:900;letter-spacing:.1em}@media(max-width:1070px){.body-shell{grid-template-columns:185px minmax(0,1fr)}.entry-layout{grid-template-columns:minmax(0,1fr)}.entry-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aside-panel{margin:0}.entry-aside .copy-button{align-self:start}}@media(max-width:790px){.topbar{height:auto;min-height:92px;flex-wrap:wrap;padding:16px 20px}.top-right{max-width:none}.body-shell{display:block}.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line);gap:3px}.sidebar-label,.sidebar-bottom,.nav-heading{display:none}.book-nav{display:flex;flex-direction:row;overflow:auto;gap:6px;white-space:nowrap}.nav-link{padding:8px 10px}.book-nav .count{display:none}#app{padding:20px}.hero{min-height:240px;padding:27px}.hero h1{font-size:clamp(49px,10vw,72px)}.grid{gap:11px}.book-card{min-height:216px;padding:19px}.entry-grid{gap:10px}.footer{flex-wrap:wrap;justify-content:start}}@media(max-width:520px){.grid,.entry-grid,.gallery{grid-template-columns:minmax(0,1fr)}.search-wrapper kbd{display:none}.book-card{min-height:190px}.book-card h3{font-size:36px}.entry-aside{display:block}.entry-aside .aside-panel{margin-bottom:12px}.hero{min-height:230px}.section-heading{margin-top:27px}.section-heading h2{font-size:29px}.tech-list{grid-template-columns:1fr}.footer{font-size:9px}}

/* Elysium Station reader edition overrides */
:root{--bg:#0b0c15;--panel:#161829;--panel2:#20243a;--line:#343852;--line2:#5a6084;--ink:#f1f3ff;--dim:#b4b7d3;--muted:#9496b5;--pink:#f86db6;--violet:#aba0ff;--lime:#85eddf;--orange:#ffc07a;--focus:#85eddf}
body{background:radial-gradient(ellipse at 50% -350px,#242149 0,transparent 60%),#0b0c15}
.topbar{background:#10101e}.ticker{background:linear-gradient(90deg,#67dadc,#b8a2ff,#f86db6);color:#110e22}
.sidebar{background:linear-gradient(180deg,#131326,#0d0d19)}.nav-link.active{background:#282446;border-color:#675ca6}
.hero{background:radial-gradient(circle at 75% 47%,#a9b5fa36 0 5%,transparent 5.2% 7%,#9193f332 7.2% 7.8%,transparent 8% 16%,#6e5ca930 16.1% 16.5%,transparent 17%),radial-gradient(circle at 79% 47%,#645d95aa,transparent 37%),linear-gradient(120deg,#19172a,#0c1020)}
.hero-book.violet{background:radial-gradient(circle at 77% 50%,#a4eaf323 0 6%,transparent 6.1% 10%,#96a4ee33 10.1% 10.6%,transparent 10.7% 19%,#8982e52e 19.2% 19.8%,transparent 20%),radial-gradient(circle at 81% 34%,#5e4cba88,transparent 36%),linear-gradient(125deg,#262044,#111426)}
.hero:after{content:'E L Y / 0 1';font-size:clamp(55px,9vw,160px);letter-spacing:.02em;opacity:.8;bottom:-15px;right:-12px;transform:none}
.book-card.violet{border-color:#5a5080}
.book-settings{margin:18px 0 28px}
.source-json{border-top:1px solid var(--line);margin:20px 0 0;padding-top:14px;color:var(--dim)}
.source-json summary{cursor:pointer;font-weight:650;font-size:12px;letter-spacing:.04em}
.source-json pre{overflow-x:auto;max-height:440px;border:1px solid var(--line);padding:14px;background:#10111c;font-size:11px;line-height:1.6;color:var(--dim);white-space:pre-wrap;overflow-wrap:anywhere}
.article-copy{overflow-wrap:anywhere}
@media(max-width:600px){.hero:after{font-size:60px;bottom:0}.hero-book.violet{background:linear-gradient(130deg,#262044,#111426)}}


/* Combined archive customizations */
.home-hero{background:radial-gradient(circle at 79% 18%,#c16da433 0,transparent 24%),linear-gradient(125deg,#24202d,#14121a 70%)}
.home-hero:after{content:'ARCHIVE';font-size:clamp(100px,16vw,250px);opacity:.16;right:-35px;bottom:-45px;transform:rotate(-7deg)}
.book-card.has-cover{background-color:#171722;background-repeat:no-repeat;background-position:center;background-size:cover}
.book-card.has-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,11,18,.2),rgba(10,11,18,.76) 55%,rgba(10,11,18,.95));z-index:0}
.book-card.has-cover>*{position:relative;z-index:1}
.book-card.has-cover p{color:#e6e4f1;max-width:440px}
.book-card.has-cover .tag{background:#171922d6;border-color:#70759b}
.hero-book.has-cover{background-color:#10131e;background-repeat:no-repeat;background-position:center;background-size:cover}
.hero-book.has-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,17,.25),rgba(8,10,17,.72) 56%,rgba(8,10,17,.92));z-index:0}
.hero-book.has-cover>*{position:relative;z-index:1}
.hero-book.has-cover .subtitle{color:#e4e8ff;max-width:650px}

/* Omegaverse reader edition accents / mature-content advisory */
.book-card.crimson .eyebrow,.hero-book.crimson .eyebrow{color:#ff8b97}
.book-card.crimson{border-color:#815564}
.content-notice{border-left-color:#ef7b8e;background:#2a1c2c;color:#f3d8e2}


/* Chionthar / warm map-ink reader banner; purely decorative, no extra imagery required. */
.book-card.gilded{border-color:#8b6b45;background:radial-gradient(ellipse at 79% 20%,#dcb76b38 0,transparent 42%),repeating-linear-gradient(25deg,transparent 0 23px,#a98b5e09 24px 25px),linear-gradient(145deg,#2e281e,#17131b 74%)}
.book-card.gilded:before{content:'✧';color:#eed4a8;font:190px/.9 Georgia,serif;right:20px;top:4px;opacity:.10}
.book-card.gilded .eyebrow,.hero-book.gilded .eyebrow{color:#e5b980}
.book-card.gilded h3{color:#fff1d7}
.hero-book.gilded{background:radial-gradient(ellipse at 78% 34%,#a7894b70 0,transparent 38%),repeating-linear-gradient(20deg,transparent 0 38px,#cfad6b0c 39px 40px),linear-gradient(125deg,#3a3025,#151520 74%);border-color:#806947}
.hero-book.gilded:after{content:'✧';font:clamp(120px,19vw,320px)/1 Georgia,serif;color:#e4b974;opacity:.11;right:6%;bottom:-18%;transform:none}


/* The Waking Dread, The Slow Winter, The Hunger: image-free atmosphere / reader covers. */
.book-card.sleepless{border-color:#724759;background:radial-gradient(circle at 82% 26%,#ff737f2c 0 5%,transparent 5.3% 10%,#ff9a9f19 10.2% 10.6%,transparent 11% 19%),repeating-linear-gradient(0deg,transparent 0 24px,#f1c8ca0d 25px 26px),linear-gradient(130deg,#3b1c2d,#161625 70%)}
.book-card.sleepless:before{content:'03:17';font:100px/1 monospace;position:absolute;right:0;top:5px;letter-spacing:-.13em;opacity:.09;color:#ffb5bd;transform:rotate(-7deg)}
.hero-book.sleepless{background:radial-gradient(circle at 82% 33%,#ef8a9b44,transparent 36%),repeating-linear-gradient(0deg,transparent 0 40px,#d1a3b50e 41px 42px),linear-gradient(120deg,#391b29,#111722 85%);border-color:#724759}
.hero-book.sleepless:after{content:'DO NOT SLEEP';font-size:clamp(58px,9vw,140px);letter-spacing:.02em;color:#eba7b2;opacity:.065;bottom:-12px;right:-2%;transform:none}
.book-card.sleepless .eyebrow,.hero-book.sleepless .eyebrow{color:#ffa3ac}
.book-card.frost{border-color:#647e8d;background:radial-gradient(circle at 83% 25%,#c5e8ff4d 0,transparent 25%),repeating-linear-gradient(145deg,transparent 0 22px,#d5e9ff0c 24px 25px),linear-gradient(125deg,#2a3c51,#111827 78%)}
.book-card.frost:before{content:'❄';font:180px/1 Georgia,serif;position:absolute;right:8px;top:-12px;opacity:.11;color:#c8eeff}
.hero-book.frost{background:radial-gradient(circle at 81% 26%,#cae7f962,transparent 32%),repeating-linear-gradient(120deg,transparent 0 24px,#dff5ff14 25px 26px),linear-gradient(125deg,#2d4358,#10141d 76%);border-color:#6c8c99}
.hero-book.frost:after{content:'−40°';font-size:clamp(80px,12vw,200px);color:#cbeafa;opacity:.09;bottom:-22px;right:3%;transform:none}
.book-card.frost .eyebrow,.hero-book.frost .eyebrow{color:#b4ebff}
.book-card.starved{border-color:#79634a;background:radial-gradient(ellipse at 78% 29%,#c595562f,transparent 39%),repeating-linear-gradient(-28deg,transparent 0 13px,#c89e6c0e 14px 15px),linear-gradient(130deg,#3a291e,#16181b 79%)}
.book-card.starved:before{content:'// 0';font:140px/1 var(--display);position:absolute;right:11px;top:10px;opacity:.085;color:#e9c49c;transform:rotate(-9deg)}
.hero-book.starved{background:radial-gradient(ellipse at 80% 37%,#ae67445c,transparent 35%),repeating-linear-gradient(12deg,transparent 0 23px,#cd9f7612 24px 25px),linear-gradient(120deg,#3e251d,#141619 80%);border-color:#846247}
.hero-book.starved:after{content:'NEVER FULL';font-size:clamp(55px,9vw,145px);letter-spacing:.025em;bottom:-6px;right:-2%;opacity:.07;color:#e3b99a;transform:none}
.book-card.starved .eyebrow,.hero-book.starved .eyebrow{color:#eabb86}
.book-card.sleepless,.book-card.frost,.book-card.starved{isolation:isolate}


/* Three new reader-only collection covers. CSS artwork: no remote assets or licensing dependencies. */
.book-card.rogue{isolation:isolate;border-color:#895058;background:radial-gradient(circle at 79% 22%,#ff525542,transparent 30%),repeating-linear-gradient(0deg,transparent 0 20px,#f7a6b111 21px 22px),linear-gradient(120deg,#361b28,#161823 78%)}
.book-card.rogue:before{content:'TARGET';font:clamp(75px,10vw,140px)/1 var(--display);color:#ff7474;opacity:.075;right:-17px;top:23px;transform:rotate(-7deg)}
.hero-book.rogue{background:radial-gradient(circle at 79% 43%,transparent 0 5%,#c9636547 5.1% 5.6%,transparent 5.7% 12%,#b0516050 12.1% 12.6%,transparent 12.7%),repeating-linear-gradient(0deg,transparent 0 28px,#fd979214 29px 30px),linear-gradient(120deg,#472332,#151823 75%);border-color:#8d5566}
.hero-book.rogue:after{content:'ROGUE FILE';color:#ff8993;font-size:clamp(68px,10vw,145px);opacity:.07;right:1%;bottom:-12px;transform:none}
.book-card.rogue .eyebrow,.hero-book.rogue .eyebrow{color:#ff909a}
.book-card.valley{isolation:isolate;border-color:#598e76;background:radial-gradient(circle at 84% 16%,#daefb14f 0 6%,transparent 7%),repeating-linear-gradient(-15deg,transparent 0 25px,#8fdc9b17 26px 27px),linear-gradient(140deg,#25483b,#172b35 78%)}
.book-card.valley:before{content:'✿';font:210px/1 Georgia,serif;color:#b4e79a;opacity:.16;right:5px;top:7px;transform:rotate(18deg)}
.hero-book.valley{background:radial-gradient(circle at 77% 35%,#cdeca767 0 9%,transparent 9.5%),repeating-linear-gradient(-24deg,transparent 0 28px,#afdaa716 29px 30px),linear-gradient(124deg,#274c41,#171f34 82%);border-color:#629e86}
.hero-book.valley:after{content:'✿';font:clamp(150px,20vw,300px)/1 Georgia,serif;color:#baf4b1;opacity:.11;right:4%;bottom:-23%;transform:none}
.book-card.valley .eyebrow,.hero-book.valley .eyebrow{color:#acffb3}
.book-card.thrones{isolation:isolate;border-color:#92745d;background:radial-gradient(ellipse at 80% 12%,#e9a95c44,transparent 36%),repeating-linear-gradient(23deg,transparent 0 30px,#d6b07e0f 31px 32px),linear-gradient(138deg,#4b3234,#181a29 79%)}
.book-card.thrones:before{content:'♜';font:205px/1 Georgia,serif;color:#ffdda7;opacity:.12;right:16px;top:-14px;transform:rotate(-5deg)}
.hero-book.thrones{background:radial-gradient(ellipse at 80% 32%,#b87e4c7a,transparent 36%),repeating-linear-gradient(24deg,transparent 0 22px,#e6bc8110 23px 24px),linear-gradient(115deg,#482c36,#151827 81%);border-color:#96705f}
.hero-book.thrones:after{content:'♜';font:clamp(175px,22vw,360px)/1 Georgia,serif;color:#efbd87;opacity:.1;right:2%;bottom:-22%;transform:none}
.book-card.thrones .eyebrow,.hero-book.thrones .eyebrow{color:#ffd097}

/* Creator HQ — additional public, read-only pages. */
.hub-hero{min-height:335px;background:radial-gradient(ellipse at 83% 30%,#693a7470 0,transparent 46%),repeating-linear-gradient(-16deg,transparent 0 22px,#fd6ca209 23px 24px),linear-gradient(120deg,#2a182f,#121625 78%);border-color:#705277}
.hub-hero:after{content:'S1M // HQ';font-size:clamp(68px,12vw,180px);opacity:.08;right:-25px;bottom:-12px;transform:rotate(-8deg)}
.hub-stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:23px;position:relative;z-index:1}
.hub-stats span{font-size:10px;letter-spacing:.12em;color:#cfc0dd;font-weight:800;border-top:1px solid #746285;padding-top:9px}
.hub-stats b{color:var(--lime);font:26px/1 var(--display);margin-right:7px}
.hub-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:23px 0 24px}
.hub-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:162px;padding:17px;background:var(--panel);border:1px solid var(--line2);overflow:hidden}
.hub-tile:after{position:absolute;content:'';width:100px;height:100px;border:1px solid currentColor;opacity:.10;border-radius:100%;right:-38px;top:-40px}
.hub-tile:hover{transform:translateY(-2px);border-color:var(--pink)}
.hub-tile .tile-icon{font-size:26px;line-height:1;color:var(--violet)}
.hub-tile.pink-tile .tile-icon{color:var(--pink)}.hub-tile.lime-tile .tile-icon{color:var(--lime)}.hub-tile.orange-tile .tile-icon{color:var(--orange)}
.hub-tile strong{font:26px/1.04 var(--display);letter-spacing:.02em;text-transform:uppercase}
.hub-tile small{font-size:11px;color:var(--dim);line-height:1.4;max-width:180px}
.hub-tile .tile-arrow{position:absolute;bottom:11px;right:13px;color:var(--lime);font-size:17px}
.inline-link,.simple-link{font-size:11px;color:var(--lime);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.inline-link:hover,.simple-link:hover{color:var(--pink)}
.hub-note{border-left:3px solid var(--lime);background:var(--panel);padding:16px 19px;margin-top:27px;color:var(--dim);font-size:12px}
.hub-note strong{color:var(--ink)}
.hub-page-head{padding:34px clamp(23px,4vw,46px);border:1px solid var(--line2);margin-bottom:32px;background:linear-gradient(140deg,#2d2034,#151725 78%);position:relative;overflow:hidden}
.hub-page-head:after{content:'//';position:absolute;right:-7px;top:-70px;color:#bc7fbf;opacity:.08;font:280px/1 var(--display)}
.hub-page-head h1{font:clamp(54px,8vw,112px)/.93 var(--display);letter-spacing:.01em;margin:17px 0 19px;position:relative;z-index:1}
.hub-page-head h1 em{font-style:normal;color:var(--pink)}
.hub-page-head p{max-width:680px;color:var(--dim);font-size:14px;position:relative;z-index:1}
.card-head{background:linear-gradient(135deg,#283444,#271b36 74%)}.card-head h1 em{color:var(--lime)}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.news-feed{display:flex;flex-direction:column;gap:14px}
.news-item{padding:25px 28px;border:1px solid var(--line2);background:var(--panel);min-width:0}
.news-item h3{font:clamp(24px,3vw,38px)/1.05 var(--display);margin:13px 0 18px;letter-spacing:.015em}
.news-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.news-top time{font:11px/1.2 ui-monospace,monospace;color:var(--muted)}
.news-body{font-size:13px;color:var(--dim);line-height:1.75}
.news-body p{margin:.6em 0}.news-body p:first-child{margin-top:0}
.news-body a{color:var(--lime)}
.news-item.compact-news{padding:20px;min-height:170px}.compact-news h3{font-size:25px;margin-bottom:10px}.compact-news .news-body{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.change-feed{max-width:930px;margin:0 0 25px 12px;border-left:2px solid #5b4966}
.change-item{display:grid;grid-template-columns:55px minmax(0,1fr);position:relative;margin-left:-15px;margin-bottom:18px}
.change-mark{height:31px;width:31px;display:flex;align-items:center;justify-content:center;color:#14131e;background:var(--lime);font-size:16px;border:4px solid var(--bg);border-radius:50%;z-index:1}
.change-body{border:1px solid var(--line2);background:var(--panel);padding:23px 26px;margin-left:0}
.change-body h2{font:clamp(24px,4vw,36px)/1.12 var(--display);margin:13px 0;color:var(--ink)}
.change-body p,.change-body li{color:var(--dim);font-size:13px;line-height:1.8}
.change-body ul{padding-left:22px}
.vault-empty{border:1px dashed #80618a;background:radial-gradient(ellipse at 90% 20%,#512d573b,transparent 60%),var(--panel);padding:50px clamp(20px,7vw,73px);margin:16px 0 25px;max-width:980px}
.vault-glyph{font:95px/1 var(--display);color:#cc9bc7;opacity:.5;margin-bottom:8px}
.vault-empty h2{font:clamp(46px,7vw,83px)/.97 var(--display);margin:12px 0}
.vault-empty p{max-width:570px;color:var(--dim);line-height:1.8;font-size:14px}
.st-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.st-controls label{display:flex;flex-direction:column;gap:7px;min-width:min(100%,300px)}
.st-controls label span{font-size:10px;color:var(--pink);font-weight:800;letter-spacing:.16em}
.st-controls input{width:100%;color:var(--ink);background:#1e1d2c;border:1px solid var(--line2);padding:9px 12px;min-height:42px}
.st-controls .filter-row{margin:0}
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.st-card{background:var(--panel);border:1px solid var(--line2);overflow:hidden}
.st-card:hover{border-color:var(--lime);transform:translateY(-2px)}
.st-card-img{aspect-ratio:3/2;background:linear-gradient(130deg,#503459,#151725);display:flex;align-items:center;justify-content:center;position:relative}
.st-card-img img{height:100%;width:100%;object-fit:cover}.st-card-img>span:first-child{font:86px/1 var(--display);color:#6f6486}
.card-filetype{position:absolute;bottom:10px;left:10px;background:#15121ccf;color:var(--lime);font-size:9px;letter-spacing:.1em;font-weight:850;padding:4px 8px;text-transform:uppercase}
.st-card-copy{padding:17px}.st-card h3{font:26px/1.1 var(--display);margin:10px 0}.st-card p{font-size:12px;color:var(--dim);line-height:1.6}
.mini-tags{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.mini-tags .tag{font-size:10px}
.card-detail{display:grid;grid-template-columns:minmax(180px,350px) minmax(0,1fr);gap:30px;align-items:start;margin-top:20px}
.card-portrait{background:var(--panel);border:1px solid var(--line2);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.card-portrait img{width:100%;height:100%;object-fit:contain}.card-portrait span{font:110px/1 var(--display);color:var(--line2)}
.card-facts h1{font:clamp(40px,6vw,76px)/1 var(--display);overflow-wrap:anywhere}.card-facts p{color:var(--dim)}
.card-facts dl{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:11px 0}
.card-facts dl div{display:flex;gap:20px;justify-content:space-between;margin:8px 0;font-size:12px}
.card-facts dt{color:var(--muted)}.card-facts dd{margin:0;font-weight:700;text-align:right}
.download-stack{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.download-link{background:var(--lime);color:#181823;font-size:12px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;padding:12px 16px}.download-link:hover{background:var(--pink)}
.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:21px}
.link-tile{border:1px solid var(--line2);background:var(--panel);padding:17px;display:flex;gap:14px;align-items:center;min-width:0}
.link-tile:hover{border-color:var(--lime);background:var(--panel2)}
.link-tile>span{font-size:31px;color:var(--pink)}.link-tile div{flex:1;min-width:0}.link-tile strong{font-size:15px;display:block;line-height:1.3}.link-tile small{font-size:11px;color:var(--dim);display:block;margin-top:4px}.link-tile b{font-size:17px;color:var(--lime)}
.link-group-title{margin:28px 0 15px;text-transform:uppercase;font:23px/1 var(--display);letter-spacing:.06em}
@media(max-width:1050px){.hub-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.st-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.news-grid,.link-grid{grid-template-columns:1fr}.card-detail{grid-template-columns:1fr}.card-portrait{max-width:310px}.hub-page-head h1{font-size:clamp(50px,12vw,76px)}}
@media(max-width:480px){.hub-tiles,.st-grid{grid-template-columns:1fr}.hub-tile{min-height:130px}.news-item{padding:18px}.change-body{padding:17px}.change-item{grid-template-columns:37px minmax(0,1fr)}.hub-stats{gap:12px}}

/* Creator hub Card Vault v0.3: scalable, text-based preview treatment */
.st-controls select{background:#1e1d2c;color:var(--ink);border:1px solid var(--line2);padding:9px 12px;min-height:42px;max-width:100%;width:100%}
.st-card-img,.card-portrait{overflow:hidden;isolation:isolate}
.st-card-img:before,.card-portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(148deg,transparent 20%,rgba(12,13,22,.4) 55%,rgba(12,13,22,.95) 100%),repeating-linear-gradient(130deg,transparent 0 38px,rgba(255,255,255,.035) 39px 40px);pointer-events:none}
.st-card-img .vault-monogram,.card-portrait .vault-monogram{position:relative;color:#fff;opacity:.88;transform:rotate(-7deg);font:clamp(80px,11vw,125px)/1 var(--display);text-shadow:9px 9px 0 rgba(0,0,0,.3)}
.st-card-img .vault-deco,.card-portrait .vault-deco{position:absolute;top:12px;left:14px;color:#fff;font-size:10px;font-weight:900;letter-spacing:.16em;text-shadow:0 2px 5px rgba(0,0,0,.6)}
.card-portrait{position:relative}.card-portrait .vault-monogram{font-size:clamp(120px,16vw,220px)}
.vault-cod{background:radial-gradient(circle at 20% 20%,#715665,#25202b 40%,#10151e 95%)}
.vault-fantasy{background:radial-gradient(circle at 60% 20%,#a8813a,#302a28 50%,#161519 100%)}
.vault-scifi{background:radial-gradient(circle at 30% 20%,#3c8eaa,#21233d 60%,#12151c 100%)}
.vault-westeros{background:radial-gradient(circle at 30% 20%,#9e7e65,#3b2129 55%,#13131a 100%)}
.vault-stardew{background:radial-gradient(circle at 30% 20%,#769279,#24392f 60%,#151924 100%)}
.vault-oc{background:radial-gradient(circle at 30% 20%,#9b4988,#352243 50%,#10151e 100%)}
.vault-pagination{display:flex;align-items:center;justify-content:center;gap:20px;padding:28px 0 14px;flex-wrap:wrap}
.vault-pagination button{background:#292339;color:var(--ink);border:1px solid var(--line2);padding:11px 17px;font-weight:800;cursor:pointer}
.vault-pagination button:hover:not(:disabled){border-color:var(--pink);background:#3c2f4b}
.vault-pagination button:disabled{opacity:.35;cursor:not-allowed}
.vault-pagination span{font-size:12px;font-weight:700;color:var(--dim);min-width:90px;text-align:center}
.vault-disclaimer{font-size:12px!important;color:var(--muted)!important;line-height:1.6}
.source-link{color:var(--pink);text-transform:uppercase;font-size:12px;font-weight:850;border:1px solid var(--line2);padding:12px 16px;letter-spacing:.04em}
.source-link:hover{border-color:var(--pink)}
@media(max-width:700px){.st-controls label{width:100%;max-width:none}.st-controls{align-items:stretch}.st-controls .filter-row{margin-top:7px}}

/* v0.4 Some1smom graffiti & underground-zine visual layer */

:root{--spray:#ff65b5}
body{background-image:radial-gradient(ellipse at 98% 4%,#e047b411 0,transparent 30%),radial-gradient(circle at 7% 70%,#6144a50b,transparent 37%),repeating-linear-gradient(112deg,#ffffff04 0px,#ffffff04 1px,transparent 1px,transparent 21px)}
.site-wrap:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:40;opacity:.085;background-image:repeating-linear-gradient(6deg,transparent 0 33px,#ffffff0c 34px 34.6px),radial-gradient(circle at 15% 33%,#ffffff45 .6px,transparent 1.9px),radial-gradient(circle at 78% 80%,#ff65b5a0 .7px,transparent 2.9px);background-size:auto,72px 78px,109px 117px;mix-blend-mode:screen}
.mark{position:relative;box-shadow:5px 5px 0 #6c3a84;border:2px solid #0c0b13;transform:rotate(-6deg)}
.mark:after{content:'✳';position:absolute;color:#fff4a5;font:16px Arial,sans-serif;right:-14px;bottom:-10px;text-shadow:1px 1px #251721}
.wordmark-text strong{font-weight:1000;letter-spacing:.1em}
.creator-tag{font:clamp(10px,1vw,13px)/1.2 'Rock Salt',cursive;color:#ffb3dc;transform:rotate(-6deg);white-space:nowrap;padding:8px 4px;text-shadow:1px 1px 0 #613071,2px 2px 0 #371529}
.creator-tag span{color:var(--lime);padding-left:5px;font-size:19px}
.creator-tag:hover{color:#fff;transform:rotate(-3deg)}
.topbar{border-bottom:3px solid #ff6cae;box-shadow:0 5px 0 #10101c}
.ticker{position:relative;background:linear-gradient(105deg,#6ce4df,#f46cb9);border-top:2px solid #171523;border-bottom:2px solid #171523;transform:skewY(-.12deg)}
.ticker:after{content:'✕ ✕';position:absolute;right:8%;color:#14131b;background:#ddf94c;padding:0 6px;transform:rotate(-9deg);font-size:18px}
.nav-heading,.sidebar-label,.eyebrow{letter-spacing:.20em}
.sidebar-label{font-family:'Lacquer',Impact,system-ui,sans-serif;font-size:19px;color:var(--pink)}
.nav-link.active{box-shadow:inset 3px 0 #eafc69}
.hero,.hub-page-head{isolation:isolate}
.hero:before,.hub-page-head:before{content:'';position:absolute;pointer-events:none;z-index:0;top:-80px;right:-30px;width:300px;height:260px;background-image:radial-gradient(circle,#fb57aa66 0 2px,transparent 3px),radial-gradient(circle,#dfdbfb77 0 1px,transparent 2px),radial-gradient(ellipse,#bc3b7d33,transparent 70%);background-size:33px 38px,22px 29px,100% 100%;mask-image:radial-gradient(ellipse,black,transparent 78%);transform:rotate(-16deg);opacity:.65}
.hero h1,.hub-page-head h1{filter:drop-shadow(3px 4px 0 #3b2847)}
.hub-hero em,.hub-page-head em{position:relative}
.hub-hero em:after{content:'✸  NO RULES / JUST STORIES';font:clamp(10px,1.4vw,14px)/1.8 'Rock Salt',cursive;color:#d9f66f;display:block;transform:rotate(-3deg);letter-spacing:0;text-shadow:1px 1px #171120}
.hub-tile:nth-child(even),.news-item:nth-child(odd){transform:rotate(.4deg)}
.hub-tile:nth-child(odd),.news-item:nth-child(even){transform:rotate(-.3deg)}
.hub-tile:hover{transform:translateY(-3px) rotate(-1deg)}
.hub-tile{box-shadow:6px 6px 0 #090b14;border-bottom:3px solid #e456ad}
.hub-tile strong,.section-heading h2,.link-group-title{font-family:'Lacquer',Impact,'Arial Black',sans-serif;font-weight:400;letter-spacing:.015em}
.section-heading h2{font-size:clamp(27px,3vw,41px)}
.hub-tile strong{font-size:clamp(25px,3vw,34px)}
.resource-section{margin:28px 0 34px}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.resource-tile{display:flex;gap:18px;min-width:0;align-items:center;background:#231c2b;border:1px solid #6c5077;border-left:4px solid var(--pink);padding:21px;box-shadow:6px 5px 0 #0c0e15;transition:transform .2s,border-color .2s}
.resource-tile:nth-child(even){border-left-color:var(--lime)}
.resource-tile:hover{transform:translate(-3px,-3px);border-color:#ffa8d9}
.resource-tile .resource-symbol{font:46px/1 'Lacquer',Impact,sans-serif;color:#fc8fcb;flex-shrink:0}
.resource-body{flex:1;min-width:0}.resource-body strong{font:clamp(22px,2vw,29px)/1.1 'Lacquer',Impact,sans-serif;display:block;color:var(--ink)}
.resource-body small{display:block;font-size:12px;line-height:1.55;color:var(--dim);margin-top:9px}
.resource-tile>b{font-size:20px;color:var(--lime)}
.resources-head{background:radial-gradient(ellipse at 78% 25%,#db349c69,transparent 48%),linear-gradient(125deg,#2e1432,#141420 75%)}
.scribble-label{display:inline-block;transform:rotate(-3deg);color:var(--lime);font:12px/2 'Rock Salt',cursive;margin-top:16px;position:relative;z-index:1}
.resource-empty{border:1px dashed #786680;background:#1c1a2a;padding:22px;box-shadow:inset 0 0 45px #0004}
.resource-empty strong{font:27px/1 'Lacquer',Impact,sans-serif;color:#e8dbf5}.resource-empty p{color:var(--dim);font-size:12px}
.st-card{box-shadow:4px 5px 0 #080a11;position:relative}
.st-card:nth-child(5n+1){border-top:3px solid #f566ae}.st-card:nth-child(5n+2){border-top:3px solid #a997ff}.st-card:nth-child(5n+3){border-top:3px solid #bcf54e}.st-card:nth-child(5n+4){border-top:3px solid #7dd9e2}.st-card:nth-child(5n){border-top:3px solid #fba46b}
.st-card:hover{box-shadow:7px 7px 0 #371b45;transform:translate(-2px,-2px)}
.st-card h3{font:clamp(24px,2.5vw,32px)/1.08 'Lacquer',Impact,'Arial Black',sans-serif;font-weight:400}
.card-facts h1{font-family:'Lacquer',Impact,sans-serif}
.st-card-img>img,.card-portrait>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:1;display:block}
.card-portrait>img{object-fit:contain;background:#12121c}
.st-card-img:before,.card-portrait:before{z-index:2}
.card-filetype,.vault-deco{z-index:3}
.vault-monogram{z-index:0}
.card-portrait .vault-monogram{position:relative;z-index:0}
.card-portrait .vault-deco{z-index:3}
.card-detail{position:relative}
.card-portrait{background:linear-gradient(130deg,#614470,#201729)}
@media(max-width:1080px){.creator-tag{display:none}}
@media(max-width:800px){.resource-grid{grid-template-columns:1fr}}
@media(max-width:700px){.hub-tile strong{font-size:27px}.hub-hero em:after{font-size:9px}.resource-tile{padding:16px}}
@media(prefers-reduced-motion:reduce){.creator-tag,.ticker,.hub-tile,.news-item{transform:none!important}}

@media(min-width:1051px){.hub-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.4.3: accessible type-size options. Type only; decorative graphics remain stable. */
:root { --site-text-scale: 1; }
:root[data-text-size="small"] { --site-text-scale: .9; }
:root[data-text-size="large"] { --site-text-scale: 1.15; }
.text-size-control {
  flex: 0 0 auto; display: inline-flex; gap: 3px; padding: 3px;
  background: #252030; border: 1px solid var(--line2); border-radius: 3px;
}
.text-size-button {
  flex: 0 0 auto; border: 1px solid transparent; border-radius: 2px;
  background: transparent; color: var(--dim); cursor: pointer;
  min-height: 35px; min-width: 33px; padding: 2px 6px;
  line-height: 1; font: 700 13px/1 var(--body); letter-spacing: -.025em;
  transition: background .15s, color .15s, border-color .15s;
}
.text-size-button:nth-child(1) { font-size: 12px; }
.text-size-button:nth-child(3) { font-size: 15px; }
.text-size-button:hover { background: #3f3348; color: var(--ink); }
.text-size-button.is-current,
.text-size-button[aria-pressed="true"] { color: #13161e; background: var(--lime); border-color: var(--lime); }
.text-size-button:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
/* Primary body and compact text across the hub, card vault, library, changelog and resources. */
body { font-size: calc(15px * var(--site-text-scale)); }
.nav-link,.search-wrapper input,.book-card p,.news-body,.change-body p,.change-body li,
.hub-tile small,.resource-body small,.link-tile small,.card-facts dl div,.resource-empty p {
  font-size: calc(13px * var(--site-text-scale));
}
.article-copy { font-size: calc(15px * var(--site-text-scale)); }
.entry-intro,.wordmark-text strong { font-size: calc(16px * var(--site-text-scale)); }
.entry-card h3 { font-size: calc(18px * var(--site-text-scale)); }
.article-copy h2 { font-size: calc(23px * var(--site-text-scale)); }
.article-copy h3 { font-size: calc(19px * var(--site-text-scale)); }
.hero .subtitle,.vault-empty p { font-size: calc(14px * var(--site-text-scale)); }
.entry-card p,.st-card p,.notice,.filter,.detail-row,.download-link,.source-link,
.section-heading small,.count-line,.vault-pagination span,.vault-disclaimer,
.aside-button,.copy-button,.resource-tile small,.news-date,.news-intro {
  font-size: calc(12px * var(--site-text-scale));
}
.aside-panel h3,.eyebrow,.mini-label,.st-controls label span,
.tag,.card-filetype,.nav-heading,.wordmark-text small {
  font-size: calc(10px * var(--site-text-scale));
}
/* Preserve the intentionally stylized graffiti sidebar label rather than shrinking it. */
.sidebar-label { font-size: calc(19px * var(--site-text-scale)); }
.crumbs,.nav-link .count,.link-tile small,.card-facts dt,.st-controls label,
.entry-card .entry-end span,.link-tile b { font-size: calc(11px * var(--site-text-scale)); }
.link-tile strong { font-size: calc(15px * var(--site-text-scale)); }
.card-facts p { font-size: calc(15px * var(--site-text-scale)); }
.footer { font-size: calc(11px * var(--site-text-scale)); }
/* Heading sizes scale gently, preserving the display hierarchy and avoiding overflow. */
.st-card h3 { font-size: clamp(23px, calc(28px * var(--site-text-scale)), 36px); }
.change-body h2 { font-size: clamp(24px, calc(33px * var(--site-text-scale)), 41px); }
.entry-header h1,.card-facts h1,.hero h1,.hub-page-head h1 { overflow-wrap: anywhere; }
/* Allow the search field to shrink before controls on small screens. */
.top-right { max-width: 510px; min-width: 0; }
.search-wrapper { min-width: 0; }
@media (max-width: 790px) { .top-right { max-width: none; } }
@media (max-width: 420px) {
  .top-right { gap: 7px; }
  .search-wrapper { padding: 9px 8px; gap: 4px; }
  .text-size-control { gap: 1px; padding: 2px; }
  .text-size-button { min-width: 30px; padding: 2px 4px; }
}

/* Creator resources, credits, and quick sharing — 0.4.4 */
.resource-head-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 18px}
.share-resources-button{font:700 .86rem 'DM Sans',sans-serif;letter-spacing:.07em;color:#0e111b;background:#78e8dd;border:2px solid #e3ffff;padding:10px 16px;cursor:pointer;box-shadow:4px 4px 0 #f36fb6;transition:transform .15s}
.share-resources-button:hover,.share-resources-button:focus-visible{transform:translate(-2px,-2px)}
#resource-share-feedback{font-size:.86rem;color:#86f4df;font-weight:700}
.resource-item{background:#211b2b;border:1px solid #68516e;display:flex;flex-direction:column;min-width:0;border-left:3px solid #f36fb6}
.resource-item:nth-child(even){border-left-color:#73f6e2}
.resource-item .resource-tile{border:0;border-left:0;flex:1;min-width:0;background:transparent;align-items:flex-start;box-shadow:none;transition:background .15s}
.resource-item .resource-tile:hover{background:#30263b;transform:none}
.resource-body{min-width:0}
.resource-where,.resource-credit,.resource-note{display:block;font:normal .73rem 'DM Sans',sans-serif;line-height:1.55;letter-spacing:.01em;color:#bbc3d3;margin-top:5px}
.resource-credit{color:#ffc1db}.resource-where b,.resource-credit b{color:#79e5dc;font-size:.67rem;letter-spacing:.08em}
.resource-note{color:#e9c784;font-style:italic}
.resource-item-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 16px 12px;padding-top:9px;border-top:1px dashed #575066;color:#b6b7c4;font:.67rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.copy-resource-link{cursor:pointer;border:1px solid #665773;color:#eec1d4;padding:6px 9px;font-size:.71rem;background:#171521;white-space:nowrap}
.copy-resource-link:hover,.copy-resource-link:focus-visible{background:#37233b;color:white}
.source-credit{margin-top:15px;font-size:.92rem}.source-credit a{color:#88f4e6;text-decoration:underline;text-underline-offset:3px}
.reference-search-wrap{margin:8px 0 18px;display:flex;flex-direction:column;gap:8px}
.reference-search-wrap label{font:.75rem 'DM Sans',sans-serif;letter-spacing:.08em;color:#e2c8d9;font-weight:700}
.reference-search-wrap input{width:100%;max-width:500px;padding:13px 15px;background:#171523;color:white;border:1px solid #8a6588;font:1rem 'DM Sans',sans-serif}
.reference-search-wrap input:focus{outline:2px solid #77ebe0}
.reference-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:10px 0 25px}
.reference-chip{min-width:0;display:flex;gap:6px;justify-content:space-between;align-items:center;text-align:left;border:1px solid #56465f;background:#211b2c;color:#ffecf8;padding:11px 10px;cursor:pointer;font:.85rem 'DM Sans',sans-serif;word-break:break-word}
.reference-chip:hover,.reference-chip:focus-visible{border-color:#e678bb;background:#39253b}
.reference-chip code{white-space:normal;overflow-wrap:anywhere;color:#a8f4e8;font-size:.77rem}
.reference-chip span:last-child{color:#fb90d2;flex-shrink:0}
@media(max-width:700px){.resource-item-foot{margin-left:12px;margin-right:12px}.resource-list{grid-template-columns:1fr}.reference-list{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-chip{padding:9px 7px}}
@media(max-width:410px){.reference-list{grid-template-columns:1fr}.resource-head-actions{align-items:flex-start;flex-direction:column}}

/* v0.4.5 - Some1s Index, release spotlight, and clearer internal/external navigation */
.kofi-top-link{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;background:#2b172b;border:1px solid #b85992;padding:8px 10px;color:#ffd6e8;font:900 11px/1.1 var(--body);letter-spacing:.02em;white-space:nowrap;box-shadow:2px 2px 0 #090813}
.kofi-top-link:hover{background:#4e2547;color:white;border-color:#ff99cc}
.nav-shelf{border:1px solid transparent;min-width:0}
.nav-shelf.active{border-color:#564359;background:#181525}
.nav-shelf>summary{cursor:pointer;color:var(--dim);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid transparent;border-radius:3px;font-size:calc(13px * var(--site-text-scale));line-height:1.3;list-style:none;user-select:none}
.nav-shelf>summary::-webkit-details-marker{display:none}
.nav-shelf>summary:hover{color:var(--ink);background:var(--panel2)}
.nav-shelf.active>summary{color:white}
.nav-shelf[open]>summary{background:#2b2233;box-shadow:inset 3px 0 #eafc69}
.nav-shelf .shelf-arrow{font:800 16px/1 system-ui;color:var(--lime)}
.shelf-children{display:flex;flex-direction:column;padding:6px 0 10px 13px;border-left:2px solid #6b476e;margin:4px 0 0 13px;gap:2px}
.shelf-link{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:2px;padding:7px 9px;color:#c8bccc;font-size:calc(11px * var(--site-text-scale));line-height:1.35;min-width:0}
.shelf-link span:first-child{overflow-wrap:anywhere}
.shelf-link:hover{color:white;background:#332b3d}
.shelf-link.active{background:#322846;color:#fff;border-left:2px solid var(--lime);font-weight:700}
.shelf-link.shelf-all{color:var(--lime);font-weight:850}
.shelf-count{color:var(--muted);font-size:10px;flex:none}
.latest-work-section{margin:24px 0 28px}
.latest-work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:14px}
.latest-work-card{display:flex;flex-direction:column;min-width:0;background:#211a29;border:1px solid #7c5774;border-bottom:3px solid #e77bae;box-shadow:5px 6px 0 #0d0c14;transition:transform .17s}
.latest-work-card:hover{transform:translateY(-2px);border-color:#ff99c7}
.latest-work-art{height:185px;background:radial-gradient(circle at 60% 40%,#ad679a,transparent 56%),#20182a;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.latest-work-art img{width:100%;height:100%;object-fit:cover;display:block}
.latest-placeholder{font:85px/1 'Lacquer',Impact,sans-serif;color:#ffb8df55}
.latest-work-copy{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.latest-work-copy h3{font:clamp(23px,2.5vw,34px)/1.1 'Lacquer',Impact,sans-serif}
.latest-work-copy p{color:var(--dim);font-size:calc(12px * var(--site-text-scale));line-height:1.5;flex:1}
.latest-cta{color:var(--lime);font-size:12px;font-weight:800}
.latest-work-empty{border:1px dashed #815778;display:flex;gap:22px;align-items:center;background:linear-gradient(115deg,#261c2f,#161622);padding:22px}
.latest-work-empty strong{font:27px 'Lacquer',Impact,sans-serif;color:#fff}
.latest-work-empty p{color:var(--dim);font-size:13px;max-width:620px;line-height:1.55;margin:8px 0}
.latest-stamp{font:clamp(29px,3vw,38px) 'Lacquer',Impact,sans-serif;color:#ff8bc5;transform:rotate(-5deg);border:2px solid #ec72b0;white-space:nowrap;padding:11px}
.support-ribbon{margin:36px 0 18px;border:1px solid #6c4b69;border-left:5px solid #ec6eaf;background:radial-gradient(circle at 85% 0%,#a044795c,transparent 38%),linear-gradient(130deg,#2f1833,#1b1824);padding:26px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.support-ribbon h2{font:clamp(27px,3vw,39px)/1.2 'Lacquer',Impact,sans-serif;color:white;margin:9px 0}
.support-ribbon h2 em{color:#f67cba;font-style:normal}
.support-ribbon p{color:var(--dim);font-size:calc(12px * var(--site-text-scale));max-width:550px;line-height:1.6}
.support-ribbon-link{display:inline-flex;flex:0 0 auto;background:#fc91c2;color:#1c1522;border:2px solid #ffc2e1;padding:15px 18px;font-weight:950;font-size:13px;box-shadow:4px 5px 0 #0d0a12}
.support-ribbon-link:hover{background:#ffd4e9;color:#1a101a}
@media(max-width:790px){.book-nav{overflow-x:auto;overflow-y:visible;flex-wrap:wrap;white-space:normal}.nav-shelf{width:100%;order:2}.nav-shelf[open] .shelf-children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.nav-shelf>summary{padding:8px 10px}.nav-shelf .shelf-arrow{font-size:13px}.shelf-link{white-space:normal}.sidebar-label{display:block;font-size:16px;padding:0 6px 4px}.latest-work-art{height:160px}}
@media(max-width:540px){.nav-shelf[open] .shelf-children{grid-template-columns:1fr}.kofi-top-link span{display:none}.kofi-top-link{padding:7px 10px}.support-ribbon{display:block}.support-ribbon-link{margin-top:18px}.latest-work-empty{display:block}.latest-stamp{display:inline-block;margin-bottom:14px}.latest-work-grid{grid-template-columns:1fr}.latest-work-art{height:200px}}

/* v0.4.6 — attributed visual galleries; source-first presentation */
.reference-source-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;padding:21px 22px;border:2px solid #da74b5;background:linear-gradient(135deg,#302136,#1e2131 65%,#182c2d);box-shadow:7px 8px 0 #090b13;position:relative;margin:12px 0 35px}
.reference-source-mark{font-size:34px;background:#ed7dbd;color:#120e1d;padding:8px 15px;align-self:start;font-weight:900}
.reference-source-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#85f4dd}
.reference-source-content h2{font:clamp(21px,3vw,34px)/1.14 'Lacquer',Impact,sans-serif;color:#fff;margin:6px 0 8px}
.reference-source-content p{color:#ddd2df;line-height:1.55;font-size:14px;max-width:76ch}
.reference-source-meta{display:block;margin-top:10px;color:#d49ebd;font-size:11px;letter-spacing:.07em;font-weight:700}
.reference-source-button{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f078bb;color:#140b1b;border:2px solid #ffd7eb;padding:14px 18px;font-size:clamp(13px,1.65vw,18px);line-height:1.35;font-weight:950;letter-spacing:.035em;text-decoration:none;min-width:0;overflow-wrap:anywhere}
.reference-source-button:hover,.reference-source-button:focus-visible{background:#84f8e1;color:#0a191c;border-color:#dcfff7}
.reference-source-button b{font-size:25px;flex:none}
.reference-source-bottom{border:1px solid #759b9c;background:#20232b;padding:23px;margin:18px 0 30px;display:grid;gap:8px}
.reference-source-bottom strong{font:26px/1 'Lacquer',Impact,sans-serif;color:#f6c3df}.reference-source-bottom p{color:#b7b8c9;line-height:1.6}
.reference-source-bottom a{display:block;padding:13px 17px;background:#80ebd9;color:#10151c;text-align:center;font-weight:900;letter-spacing:.05em}.reference-source-bottom a:hover{background:#ff92cc}
.reference-tools{background:#1c1927;padding:15px 17px;margin:12px 0;border:1px solid #5c526c;display:flex;flex-direction:column;gap:8px}
.reference-edit-label{font-size:12px;color:#f7aad0;font-weight:900;letter-spacing:.07em}
.reference-tools input{font:16px 'DM Sans',sans-serif;color:white;background:#121321;border:1px solid #74587a;padding:12px 14px;width:100%}
.reference-tools p{font-size:12px;line-height:1.5;color:#ada8b9}
.reference-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:13px;margin:18px 0 28px;align-items:start}
.font-specimen{min-width:0;background:#201b29;border:1px solid #644e70;border-left:4px solid #f87ec2;color:#f9e9f2;box-shadow:3px 4px #0e1017}
.font-specimen:nth-child(even){border-left-color:#75e3d9}
.font-specimen summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;cursor:pointer;padding:17px;min-height:108px}
.font-specimen summary::-webkit-details-marker{display:none}
.font-specimen summary:hover,.font-specimen[open] summary{background:#30253a}
.font-specimen-title{font-size:clamp(22px,2vw,32px);overflow-wrap:anywhere;line-height:1.3;color:white;grid-column:1 / -1}
.font-specimen-letters{font-size:22px;overflow-wrap:anywhere;color:#bdfbe9}
.font-specimen-expand{font:800 11px 'DM Sans',sans-serif;white-space:nowrap;color:#ff9ed1;justify-self:end;align-self:end}
.font-specimen[open] .font-specimen-expand{color:#8cf8e6}
.font-specimen-detail{padding:16px;border-top:1px dashed #785c74}
.font-style-grid{display:grid;gap:9px}
.font-sample-row{display:flex;gap:11px;flex-direction:column;padding:10px 12px;background:#151624;border:1px solid #473948;min-width:0}
.sample-label{font:800 10px 'DM Sans',sans-serif;letter-spacing:.1em;color:#faa8d1;text-transform:uppercase}
.font-live-text{font-size:23px;overflow-wrap:anywhere;line-height:1.5;color:white}
.font-specimen-footer{display:flex;flex-direction:column;gap:9px;padding-top:13px}
.font-specimen-footer code{font-size:12px;color:#9ae6de;overflow-wrap:anywhere}
.font-specimen-footer button,.class-specimen-footer button{padding:11px 13px;background:#6b305d;color:white;border:1px solid #cf79b1;font-weight:800;cursor:pointer;letter-spacing:.02em}
.font-specimen-footer button:hover,.class-specimen-footer button:hover{background:#a85289}
.reference-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:6px 0 14px}
.reference-filter-row label{font:800 12px 'DM Sans',sans-serif;color:#ebc9dd;letter-spacing:.06em}
.reference-filter-row select{min-width:min(100%,260px);padding:10px 12px;border:1px solid #916d91;background:#201728;color:white}
.reference-caution{font-size:13px;line-height:1.5;color:#dbc48c;margin:9px 0 14px;border-left:3px solid #d6b976;padding:8px 12px;background:#2b2630}
.class-gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.class-specimen{display:flex;flex-direction:column;min-width:0;border:1px solid #60506a;background:#201b2a;padding:14px;gap:10px;border-top:3px solid #78eada}
.class-specimen:nth-child(even){border-top-color:#e477bb}
.class-specimen-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.class-type{color:#a7f8e8;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.07em}
.class-likelihood{font-size:9px;color:#dcb8d4;letter-spacing:.04em}
.class-mock-area{padding:12px;background:#14141d;min-height:116px;border:1px dashed #584660;display:flex;flex-direction:column;justify-content:center;gap:9px}
.mockup-label{font-size:9px;color:#9a8ca7;letter-spacing:.08em;text-transform:uppercase;font-weight:900}
.mock-button{display:flex;justify-content:space-between;background:#e28abe;color:#1b0c24;padding:12px;max-width:200px;font-size:11px;font-weight:900;letter-spacing:.05em}
.mock-card{border:1px solid #985a86;background:#282033;padding:12px;display:flex;flex-direction:column;gap:3px}
.mock-card strong{font-size:12px;color:#ffbada}.mock-card span{font-size:10px;color:#ddd2e4}.mock-rule{height:2px;background:#81e7d8;margin-top:5px;width:75%}
.mock-modal{box-shadow:4px 4px 0 #090910;border:1px solid #bc7ab5;background:#33243e;padding:14px;display:flex;flex-direction:column;gap:4px}
.mock-modal strong{font-size:12px;color:white}.mock-modal span{font-size:11px;color:#c9bdd0}
.mock-input{color:#9ea4ae;border:1px solid #91748a;padding:10px;font-size:12px;display:flex;align-items:center;justify-content:space-between}
.mock-nav{display:flex;align-items:center;justify-content:space-between;gap:5px;color:#b4edde;font-size:11px}.mock-nav strong{color:#fff}
.mock-badges{display:flex;gap:6px;flex-wrap:wrap}.mock-badges span{padding:7px 9px;background:#674567;color:white;font-size:10px;font-weight:700}
.mock-unknown{color:#a5a1b2;font-size:12px;line-height:1.5}
.class-specimen h3{font-size:15px;font-weight:900;line-height:1.25;color:#fff;overflow-wrap:anywhere}
.class-specimen p{font-size:12px;color:#aaa8b7;line-height:1.5;flex-grow:1}
.class-specimen-footer{border-top:1px dashed #665067;padding-top:11px;display:grid;gap:9px}
.class-specimen-footer code{font-size:11px;color:#97eadd;overflow-wrap:anywhere}
@media(max-width:710px){.reference-gallery{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.class-gallery{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}}
@media(max-width:500px){.reference-source-hero{grid-template-columns:1fr;padding:17px}.reference-source-mark{display:none}.reference-gallery{grid-template-columns:1fr}.reference-source-button{font-size:14px}.font-specimen summary{min-height:100px}}
@media(prefers-reduced-motion:reduce){.font-specimen summary,.reference-source-button{transition:none}}


/* v0.4.7 - credited CSS how-to and community screenshot gallery */
.css-howto,.css-collage{margin:30px 0 38px}
.howto-intro,.css-collage>p{line-height:1.8;color:#d1c9d9;font-size:14px;max-width:900px;margin:8px 0 20px}
.howto-intro b,.css-collage strong{color:#fcb6d9}
.howto-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.howto-steps article{position:relative;border:1px solid #695072;background:linear-gradient(125deg,#21172a,#1a1927);padding:19px 20px 20px;box-shadow:4px 5px 0 #0b0b15}
.howto-num{color:#82eadc;font:900 13px/1.2 'DM Sans',sans-serif;letter-spacing:.16em}
.howto-steps h3{font:clamp(18px,1.9vw,25px)/1.18 'Lacquer',Impact,sans-serif;color:#ff90c5;margin:9px 0 10px}
.howto-steps p{font-size:12px;line-height:1.75;color:#d2cbd8;margin:0}
.howto-steps strong{color:white}
.howto-code{margin:20px 0 0;background:#211b2b;border:1px solid #9a668e}
.howto-code>summary{cursor:pointer;padding:15px 18px;color:#fff;font-weight:900;letter-spacing:.02em;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.howto-code>summary span{color:#80eddf;font-size:11px}
.howto-code-inner{border-top:1px dashed #715970;padding:18px}
.howto-code-inner p,.howto-code-inner small{color:#d0c3d1;font-size:12px;line-height:1.7;display:block;max-width:900px}
.howto-code-inner pre{overflow:auto;padding:20px;background:#100e17;border:1px solid #4f455b;color:#baf8e8;line-height:1.65;font-size:12px}
.howto-code-inner button{margin:10px 0;padding:12px 15px;border:1px solid #ef85bf;background:#68365f;color:white;cursor:pointer;font-weight:850}
.howto-code-inner button:hover{background:#985181}
.css-collage figure{border:1px solid #80567e;background:#171320;padding:10px;margin:0}
.css-collage figure>a{display:block;overflow:hidden;outline-offset:3px}
.css-collage img{width:100%;height:auto;display:block;object-fit:contain;cursor:zoom-in}
.css-collage figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;color:#c9bdcf;font:12px/1.65 'DM Sans',sans-serif;padding:12px 8px 5px}
.css-collage figcaption a{background:#492842;color:#ffbfdf;padding:9px 14px;border:1px solid #c16d9b;font-weight:900;text-decoration:none;white-space:nowrap}
.css-collage figcaption a:hover{background:#753962;color:#fff}
.rocket-source{border-color:#785877}
@media(max-width:920px){.howto-steps{grid-template-columns:1fr}.howto-steps article{padding:17px 18px}.css-collage figcaption{align-items:stretch}.css-collage figcaption a{display:inline-block}}


/* v0.4.8 — Ko-fi support, optional on-demand widget and branded promo art */
.support-ribbon{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(250px,1.45fr);align-items:center;gap:clamp(20px,3vw,42px);padding:clamp(17px,2.8vw,32px);position:relative;overflow:hidden;background:radial-gradient(circle at 6% 90%,#88376944,transparent 43%),linear-gradient(135deg,#2a192d,#181724 78%)}
.support-ribbon::before{content:'✳';position:absolute;right:-16px;top:-42px;transform:rotate(23deg);font-size:158px;line-height:1;color:#f48db912;pointer-events:none}
.support-ribbon-art{position:relative;align-self:center;transform:rotate(-2deg);min-width:0;background:#080913;border:2px solid #ef87bd;box-shadow:7px 8px 0 #100b14}
.support-ribbon-art>a{display:block;line-height:0}
.support-ribbon-art img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.kofi-tape{position:absolute;left:11px;bottom:-11px;background:#f1a9cf;color:#170e1b;padding:6px 10px;font:900 10px/1.2 var(--body);letter-spacing:.085em;transform:rotate(3deg);pointer-events:none;box-shadow:3px 3px 0 #08060b}
.support-ribbon-copy{min-width:0;position:relative;z-index:1}
.kofi-support-title{display:flex;align-items:center;gap:12px;margin:6px 0}
.kofi-support-title h2{margin:6px 0}
.kofi-animated-heart img{display:block;width:clamp(52px,7vw,86px);height:auto;aspect-ratio:1;object-fit:contain}
.kofi-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.support-ribbon-link{white-space:nowrap;transition:transform .18s ease,background .18s ease;text-decoration:none}
.support-ribbon-link:hover{transform:translateY(-2px)}
.kofi-widget-trigger{padding:12px 14px;background:#292337;border:1px solid #9b789d;color:#f9d6ec;font:850 11px/1.3 var(--body);letter-spacing:.05em;cursor:pointer}
.kofi-widget-trigger:hover,.kofi-widget-trigger:focus-visible{background:#4c3454;border-color:#fa9ed0;color:#fff}
.kofi-widget-trigger:disabled{opacity:.65;cursor:wait}
.kofi-privacy-note{display:block;color:#aba1b2;font-size:11px;line-height:1.6;margin-top:14px;max-width:560px}
.kofi-widget-message:not(:empty){display:block;color:#a0e9d9;font-size:12px;margin-top:8px}
@media(max-width:870px){.support-ribbon{grid-template-columns:1fr}.support-ribbon-art{max-width:480px;margin:0 auto}.support-ribbon-copy{width:100%}}
@media(max-width:540px){.support-ribbon{display:grid;grid-template-columns:1fr;padding:20px 16px;gap:27px}.support-ribbon-link{margin-top:0}.kofi-actions{align-items:stretch;flex-direction:column}.kofi-actions>*{justify-content:center;text-align:center}.kofi-animated-heart img{width:58px}}
@media(prefers-reduced-motion:reduce){.support-ribbon-link{transition:none}.support-ribbon-link:hover{transform:none}}


/* v0.4.9 — fixed black brick website wall. Background is self-hosted,
   never moves with scrolling, and remains behind readable site panels.
   Fixed pseudo-layer also avoids iOS Safari background-attachment quirks. */
html{background:#060607}
html,body{overflow-x:clip}
body{background:#060607 !important;position:relative;min-height:100vh}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:linear-gradient(180deg,rgba(3,3,7,.10),rgba(3,3,7,.15)),url("assets/backgrounds/black-brick-wall.webp");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
}
.site-wrap{position:relative;z-index:1}
/* Tone down the previous overlaid decorative stripes so the brick remains visible. */
.site-wrap::before{opacity:.025}
/* Glassed side rail to keep wall visible, with strong text contrast. */
.sidebar{background:linear-gradient(180deg,rgba(16,15,29,.94),rgba(11,11,22,.90))}
#app{background:rgba(5,5,11,.12)}
.footer{background:rgba(11,10,20,.88)}
/* Crown SM graffiti mark, self-hosted with transparent background. */
.mark.mark-graffiti{background:transparent;box-shadow:none;transform:none;width:65px;height:64px;overflow:visible}
.mark.mark-graffiti img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 3px 1px rgba(0,0,0,.65))}
@media(max-width:700px){.mark.mark-graffiti{width:55px;height:55px}}
@media(prefers-reduced-motion:reduce){body::before{transition:none}}

/* Creator resources v0.5.0 – in-page class ID preview roadmap */
.class-preview-roadmap{margin:18px 0 26px;padding:22px clamp(18px,3vw,32px);border:1px solid rgba(249,110,184,.63);border-left:6px solid #fc6caf;background:linear-gradient(112deg,rgba(42,23,47,.94),rgba(16,16,27,.91));box-shadow:5px 5px 0 rgba(10,8,15,.28)}
.class-preview-roadmap-kicker{display:block;color:#ffa8d1;font-weight:900;font-size:11px;letter-spacing:.16em}
.class-preview-roadmap h2{font-family:inherit;font-size:clamp(19px,2.5vw,30px);line-height:1.2;color:#fff;margin:12px 0 8px;font-weight:900}
.class-preview-roadmap p{font-size:14px;line-height:1.65;color:#ddd2e5;max-width:82ch;margin:8px 0}
.class-preview-roadmap strong{color:#ffd8ec}
@media(max-width:650px){.class-preview-roadmap{padding:17px;margin:16px 0 22px}.class-preview-roadmap p{font-size:13px}}

/* v0.5.1 community feedback notes */
.creator-feedback-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:20px 0 26px;padding:23px clamp(18px,3vw,31px);background:linear-gradient(115deg,rgba(48,24,49,.97),rgba(21,18,33,.95));border:1px solid rgba(247,118,187,.66);border-left:5px solid #ff75b8;box-shadow:5px 5px 0 #07060b77}
.creator-feedback-label{font-size:11px;font-weight:900;color:#ffb6dc;letter-spacing:.15em;display:block;margin-bottom:7px}
.creator-feedback-callout h2{font-size:clamp(19px,2.5vw,26px);color:#fff;margin:0 0 7px;line-height:1.23}
.creator-feedback-callout p{color:#e7dce9;font-size:14px;line-height:1.65;margin:0;max-width:80ch}
.creator-feedback-callout strong{color:#fff}
.creator-feedback-callout a{display:inline-flex;justify-content:center;align-items:center;padding:12px 15px;background:#fe78ba;color:#160b1b!important;font-weight:900;text-decoration:none;border-radius:3px;flex-shrink:0;line-height:1.4}
.creator-feedback-callout a:hover,.creator-feedback-callout a:focus-visible{background:#fff0f8;text-decoration:underline}
.creator-feedback-mini{margin:15px 0 23px;padding:17px 20px}
.creator-feedback-mini h2{font-size:20px}
@media(max-width:750px){.creator-feedback-callout{flex-direction:column;align-items:stretch}.creator-feedback-callout a{width:100%}}

/* v0.5.2 — The Barracks community shortcut beside Ko-fi */
.top-right { max-width: 680px; }
.discord-top-link { display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:36px;max-width:100%;padding:8px 11px;background:#242142;border:1px solid #8284e8;color:#e4e4ff;font:900 10.5px/1.2 var(--body);letter-spacing:.025em;white-space:nowrap;box-shadow:2px 2px 0 #090813;transition:background-color .15s,border-color .15s; }
.discord-top-link:hover { background:#404080;border-color:#b5b5ff;color:#fff; }
.discord-glyph { width:17px;height:17px;display:block;flex:0 0 auto; }
@media(max-width:1080px) { .top-right { max-width:580px; } .discord-top-link { padding:8px 9px; } }
@media(max-width:790px) { .top-right { max-width:none; } }
@media(max-width:540px) {
  .discord-top-label { display:none; }
  .discord-top-link { min-width:35px;min-height:35px;padding:8px; }
  .kofi-top-link span:first-child { display:inline; }
  .kofi-top-link span:last-child { display:none; }
}

/* v0.5.3 — screenshot-based class ID previews */
.class-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.class-png-stage{display:flex;align-items:center;min-height:112px;padding:12px;border:1px solid #564760;background-color:#271f31;background-image:conic-gradient(#382c43 25%,transparent 0 50%,#382c43 0 75%,transparent 0);background-size:20px 20px;overflow:hidden}
.class-png-stage svg{display:block;width:100%;height:96px}
.class-capture-stage img,.class-original img{display:block;width:100%;height:auto}
.class-no-preview{padding:22px 12px;color:#b9adca;border:1px dashed #6a5379;font-size:13px;line-height:1.5}
.class-original{border:1px solid #54415f;padding:9px;font-size:12px;color:#dfc5ea}
.class-original summary{cursor:pointer;font-weight:800;padding:5px 0}
.class-original img{margin:10px 0}.class-original small{display:block;line-height:1.5;color:#c5b7d1}
.class-copy-actions{display:flex;flex-wrap:wrap;gap:7px}
.class-png-download{display:inline-flex;align-items:center;padding:11px 13px;border:1px solid #6acabc;color:#91f5e4;font-size:12px;font-weight:800;text-decoration:none}
.class-png-download:hover,.class-png-download:focus-visible{background:#244a48}
.class-case-note{border-left:2px solid #e5c16d;padding:6px 9px}.class-case-note code{overflow-wrap:anywhere;color:#f6d789}
@media(max-width:500px){.class-gallery{grid-template-columns:minmax(0,1fr)}.reference-filter-row select{max-width:100%;width:100%}.class-copy-actions>*{flex:1 1 140px;text-align:center;justify-content:center}}
