@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;500;600;700&display=swap');
:root{--burgundy:#6C0820;--pink:#F2AEBC;--mist:#F2DCDB;--blue:#5A86CB;--lapis:#3D5D91;--ink:#34232C;--paper:#FFFBFC;font-family:Comfortaa,system-ui,sans-serif;color:var(--ink);background:#FBF1F3}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#F2DCDB,#FBF1F3 42%,#F6F8FD)}
header{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100vw - 1100px)/2));background:#FFFAFC;border-bottom:2px solid var(--pink);gap:12px;flex-wrap:wrap}
a{color:var(--lapis)}button{font:inherit;border:0;border-radius:12px;padding:11px 16px;background:var(--mist);color:var(--burgundy);cursor:pointer}button.primary{background:var(--lapis);color:white}button:disabled{opacity:.5;cursor:wait}
main{max-width:1100px;margin:28px auto;padding:0 18px}.hero,.card,.panel{background:#FFFCFD;border:1px solid #EDD3D9;border-radius:20px;padding:22px;box-shadow:0 5px 20px #6C08200D;margin-bottom:18px}
h1,h2,h3{color:var(--burgundy)}.hero{background:linear-gradient(120deg,#6C0820,#A84E68 55%,#F2AEBC);color:white}.hero h1,.hero p{color:white}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.story-card{background:#FFFCFD;border:1px solid #EDD3D9;border-radius:16px;padding:18px}.muted{color:#806c78;font-size:13px;line-height:1.6}
input,textarea,select{font:inherit;width:100%;padding:11px;border:1px solid #DABEC7;border-radius:10px;background:white;margin:5px 0 12px}label{font-size:13px;font-weight:600}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row>*{flex:1}.hidden{display:none!important}.status{padding:10px;border-radius:10px;background:#F8E9ED;margin:10px 0}.content{white-space:pre-wrap;line-height:1.9;margin:14px 0}.bubble{background:var(--mist);border-radius:16px;padding:12px;margin:10px 0;max-width:80%}.bubble.right{margin-left:auto;background:var(--blue);color:white}.chapter{border-top:1px solid #E9C7CF;padding-top:18px;margin-top:18px}
@media(max-width:600px){header{padding:14px}main{margin:16px auto}.hero,.card,.panel{padding:16px}}
