@font-face{font-family:Fraunces;src:url('/assets/fonts/fraunces-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--purple:#4d3183;--deep:#38215f;--cream:#fff9ef;--ink:#302639;--muted:#746a7e;--line:#e9e0ed;--green:#4d3183;--gold:#f5b93d;--lavender:#f2ecf8;--heading:Fraunces,Georgia,serif;--shadow:0 12px 35px #4d318309}
body{background:var(--cream)}
.header{padding:15px 38px;gap:48px;min-height:127px}
.brand{display:block;flex:0 0 280px;width:280px;line-height:0}
.brand-logo{display:block;width:100%;height:auto;aspect-ratio:8/3;object-fit:contain}
nav{gap:10px}
nav a{padding:10px 15px;border-radius:30px;white-space:nowrap}
nav a.active{background:var(--lavender);color:var(--purple)}
nav a.active:after{display:none}
.header-note{display:flex;align-items:center;gap:10px;color:var(--purple);white-space:nowrap}
.brand-star{display:inline-block;flex-shrink:0;width:16px;height:16px;background:var(--gold);clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%)}
main{padding-top:35px}
h1,h2,.setup h2,.summary-copy h2,.bank-heading h2,.end-panel h2,.library-body h2,.empty h2,dialog h2{font-family:var(--heading);font-weight:600;color:var(--purple)}
h1{font-size:46px;letter-spacing:-1.7px;line-height:1.15}
h2{letter-spacing:-.45px}
.section-title h2{font-family:inherit;font-weight:700;color:var(--ink)}
.setup h2{font-size:25px}
.hero{position:relative;isolation:isolate;margin-bottom:34px;gap:20px}
.hero>div:first-child{position:relative;z-index:1}
.hero h1{margin-bottom:14px}
.eyebrow{color:var(--purple);display:inline-flex;align-items:center;gap:9px}
.eyebrow:before{content:"";width:11px;height:11px;flex-shrink:0;background:var(--gold);clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%)}
.hero-stars{position:absolute;right:310px;top:6px;width:80px;height:90px;pointer-events:none;z-index:-1}
.hero-stars .brand-star{position:absolute;width:21px;height:21px;top:4px;right:9px}
.hero-stars .brand-star:nth-child(2){width:10px;height:10px;top:45px;right:44px;opacity:.65}
.ritual{background:#fff2d5;border-color:#f2dfb8;color:var(--purple);font-size:12px}
.ritual svg{color:var(--purple)}
.free-note{background:#fff2d5;color:var(--purple)}
.free-note svg,.creating-art>svg:last-child{color:var(--gold)}
.primary{background:var(--purple);border-bottom-color:var(--deep);box-shadow:0 4px 12px #4d318310}
.primary:hover{background:var(--deep)}
.theme.selected{box-shadow:0 0 0 3px #4d318312}
.age-label:has(input:checked),.duration:has(input:checked){background:var(--lavender)}
.age-art,.age-label:nth-child(3) .age-art{color:var(--purple)}
.summary-card{background:var(--lavender)}
.summary-copy p{color:var(--muted)}
.info-box,.engine-notice.available{background:var(--lavender);color:var(--purple)}
.ideas-count,.bank-filter.active,.rating button.selected{background:var(--lavender);color:var(--purple)}
.bank-total{background:#fff2d5;color:#735112}
.active-slot .idea-input-wrap{box-shadow:0 0 0 2px #4d318312}
.book-text{font-family:Georgia,serif}
.book-text h1{font-family:var(--heading);line-height:1.25}
.book-text .chapter{color:var(--purple)}
footer{align-items:center;gap:20px;color:var(--muted)}
.footer-signature{display:flex;align-items:center;gap:11px}
.footer-signature .brand-star{width:13px;height:13px}
footer button{color:var(--muted);min-height:36px}
button:focus-visible,a:focus-visible,input:focus-visible,.age-label:has(input:focus-visible),.duration:has(input:focus-visible){outline-color:var(--purple)}
.night{--purple:#d9c6f2;--deep:#d9c6f2;--ink:#eee7f3;--muted:#c1b4cd;--cream:#211a2c;--line:#51415e}
.night .primary{background:#4d3183;border-bottom-color:#38215f;color:#fff}
.night .primary:hover{background:#614098}
.night .book-banner span{color:#4d3183}
.night .book-text .chapter,.night .end-panel .eyebrow{color:#d9c6f2}
.night .rating button.selected{background:#4d3183;color:#fff}
@media(max-width:1100px){.header{gap:24px}.header-note{font-size:11px}.brand{flex-basis:250px;width:250px}.hero-stars{right:270px}}
@media(max-width:900px){.header-note{display:none}.header{justify-content:space-between}.hero-stars{display:none}}
@media(max-width:720px){
 .header{padding:16px 20px 12px;flex-direction:column;gap:10px;min-height:0}
 .brand{flex-basis:auto;width:250px}
 .brand-logo{height:auto;object-fit:contain}
 nav{width:100%;justify-content:center;gap:8px;font-size:12px}
 nav a{padding:10px 14px}
 #library-count{display:inline-flex}
 main{padding-top:27px}
 h1{font-size:36px;letter-spacing:-1.25px}
 .hero{margin-bottom:28px}
 .hero h1{font-size:36px}
 .hero p{font-size:13px;max-width:100%}
 .hero .ritual{display:none}
 .setup h2{font-size:25px}
 .ideas-heading h1{font-size:33px}
 footer{gap:9px}
 .footer-signature{font-size:10px;gap:8px}
}
@media(max-width:380px){.header{padding-inline:14px}.brand{width:230px}.hero h1{font-size:32px}nav{font-size:11px}nav a{padding:10px 11px}}
