.stella20-launcher{margin:18px 0;padding:20px;border:1px solid rgba(90,75,126,.18);border-radius:24px;background:linear-gradient(145deg,#101832,#1c2442 60%,#302a4b);color:#fff;box-shadow:0 18px 45px rgba(25,31,60,.16)}
.stella20-launcher .stella20-kicker,.stella20-kicker{display:block;color:#e8c982;font-size:10px;font-weight:900;letter-spacing:.17em}
.stella20-launcher h3{margin:7px 0 6px;font-size:22px}.stella20-launcher p{margin:0 0 14px;color:#cbd2e6;font-size:13px;line-height:1.6}
.stella20-launcher button,.stella20-generate{width:100%;border:0;border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,#8b79ff,#b08fff);color:#fff;font-weight:900}
body.stella20-open{overflow:hidden}.stella20-overlay{position:fixed;inset:0;z-index:2147483000;background:#070914;color:#eef2ff;overflow:auto}
.stella20-overlay[hidden]{display:none!important}.stella20-shell{min-height:100%;max-width:850px;margin:auto;background:radial-gradient(700px 480px at 90% 0%,rgba(129,101,255,.17),transparent 70%),#070914}
.stella20-shell>header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:9px;padding:14px 16px;background:rgba(7,9,20,.88);backdrop-filter:blur(12px);border-bottom:1px solid #242e49}
.stella20-shell>header span{color:#e8c982;font-size:10px;font-weight:900;letter-spacing:.15em}.stella20-shell>header b{font-size:13px}.stella20-close{margin-left:auto;order:3;width:36px;height:36px;border-radius:50%;border:1px solid #35415f;background:#11182a;color:#fff;font-size:24px}
.stella20-form,.stella20-loading,.stella20-error{padding:28px 17px 55px}.stella20-form h2{font-size:27px;margin:9px 0 7px}.stella20-form>p{color:#aeb8d3;line-height:1.65;font-size:13px}
.stella20-form label{display:block;margin:15px 0;color:#dbe2f5;font-size:12px;font-weight:800}.stella20-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #303a58;border-radius:14px;background:#090e1a;color:#fff;font:inherit;line-height:1.55;resize:vertical}
.stella20-form small{display:block;text-align:center;color:#7f8aa8;margin-top:10px;font-size:10px}.stella20-loading{text-align:center;padding-top:22vh}.stella20-loading i{display:block;width:45px;height:45px;margin:0 auto 18px;border:3px solid #303a58;border-top-color:#a18dff;border-radius:50%;animation:st20spin 1s linear infinite}.stella20-loading h2{font-size:22px}.stella20-loading p{color:#aeb8d3}@keyframes st20spin{to{transform:rotate(360deg)}}
.stella20-book{padding:13px 14px 55px}.stella20-bookbar{display:flex;align-items:center;justify-content:space-between;padding:7px 2px 11px;color:#aeb8d3;font-size:11px}.stella20-bookbar button{border:1px solid #35415f;border-radius:999px;padding:8px 11px;background:#11182a;color:#e6eafd;font-weight:800}
.stella20-page{position:relative;isolation:isolate;overflow:hidden;min-height:74vh;padding:34px 24px 30px;border:1px solid #2b3653;border-radius:24px;background:radial-gradient(550px 420px at 85% 15%,rgba(117,87,255,.14),transparent 68%),linear-gradient(165deg,#111a32,#080d19 66%);box-shadow:0 20px 55px rgba(0,0,0,.25)}
.stella20-character{position:absolute;inset:0;z-index:-2;overflow:hidden}.stella20-character img{position:absolute;width:var(--char-share);height:115%;right:-4%;top:-4%;object-fit:cover;object-position:var(--char-pos);opacity:var(--char-opacity);filter:saturate(.88) contrast(1.05)}
.stella20-page.character-full .stella20-character img{width:max(68%,var(--char-share));right:-3%}.stella20-page.character-medium .stella20-character img{width:max(52%,var(--char-share));right:-8%}
.stella20-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,11,22,.93) 0%,rgba(7,11,22,.78) 46%,rgba(7,11,22,.25) 74%,rgba(7,11,22,.32) 100%)}
.stella20-page.has-character:nth-child(even) .stella20-shade{background:linear-gradient(90deg,rgba(7,11,22,.84),rgba(7,11,22,.68) 58%,rgba(7,11,22,.25))}
.stella20-copy{position:relative;z-index:2}.stella20-pageno{color:#e8c982;font-size:10px;font-weight:900;letter-spacing:.14em}.stella20-page h1{max-width:720px;margin:11px 0 18px;font-size:clamp(27px,7vw,45px);line-height:1.16;letter-spacing:-.035em;text-wrap:balance}
.stella20-body{max-width:680px;color:#dfe5f7;font-size:15px;line-height:1.84;text-shadow:0 1px 4px #060912}.stella20-page.has-character .stella20-body{max-width:66%}.stella20-page blockquote{max-width:690px;margin:23px 0 0;padding:14px 0 2px;border:0;border-top:1px solid rgba(232,201,130,.38);color:#fff0c6;font-size:18px;font-weight:900;line-height:1.58;text-shadow:0 2px 6px #060912}.stella20-page.has-character blockquote{max-width:70%}
.stella20-book nav{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:12px}.stella20-book nav button{border:1px solid #35415f;border-radius:15px;padding:14px;background:#11182a;color:#e7ebfb;font-weight:900}.stella20-book nav button:last-child{background:linear-gradient(135deg,#8775ff,#a88cff);border:0;color:#fff}.stella20-book nav button:disabled{opacity:.35}
.stella20-locknote{padding:12px 4px;color:#7783a3;font-size:9px;line-height:1.5}.stella20-error{text-align:center;padding-top:22vh}.stella20-error p{color:#b9c2dc;line-height:1.6}.stella20-error button{border:1px solid #35415f;border-radius:14px;padding:12px 16px;background:#11182a;color:#fff}
#stella20PrintPages{display:none}
@media(max-width:600px){.stella20-page{min-height:78vh;padding:28px 20px}.stella20-page.has-character .stella20-body{max-width:79%}.stella20-page.has-character blockquote{max-width:85%}.stella20-character img{width:max(72%,var(--char-share));right:-11%}}
@media print{
 body>*:not(#stella20PrintPages){display:none!important}#stella20PrintPages{display:block!important;background:#070914}
 #stella20PrintPages .print-page{display:block!important;box-sizing:border-box;width:100%;height:100vh;min-height:100vh;border:0;border-radius:0;page-break-after:always;break-after:page;padding:12mm 11mm}
 #stella20PrintPages .print-page:last-child{page-break-after:auto}.stella20-character img{-webkit-print-color-adjust:exact;print-color-adjust:exact}.stella20-page{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}