:root{--ink:#2a2028;--muted:#766c75;--cream:#f8f4f0;--paper:#fffdfa;--plum:#6d3e59;--plum-dark:#43283d;--rose:#d9a8b7;--line:#e8dfe3;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.topbar{height:78px;padding:0 clamp(22px,7vw,112px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(70,45,60,.08);background:rgba(255,253,250,.95);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:-.5px}.brand-mark{color:var(--plum);font-size:27px}.brand-light{font-weight:400;color:var(--plum)}nav{display:flex;gap:34px;color:#655a64;font-size:14px}nav a:hover,footer a:hover{color:var(--plum)}.account-area{display:flex;align-items:center;gap:13px}.account-label{font-size:13px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:5px;padding:13px 20px;font-weight:600;font-size:13px;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-1px)}.button-outline{background:transparent;border:1px solid #bdaab5;color:var(--plum-dark);padding:9px 17px}.button-primary{background:var(--plum);color:white}.button-primary:hover{background:var(--plum-dark)}.button-light{background:var(--paper);color:var(--plum-dark)}.hero{position:relative;min-height:590px;background:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:74px clamp(22px,10vw,160px) 90px;overflow:hidden}.hero-copy{max-width:520px;z-index:1}.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:700;color:var(--plum);margin:0 0 22px}.eyebrow-line{height:1px;width:28px;background:var(--rose)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.5px}h1{font-size:clamp(45px,5.4vw,72px);line-height:1.11;margin-bottom:20px}h1 em{color:var(--plum);font-weight:500}.hero-lede{max-width:420px;color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:27px}.hero-art{height:400px;position:relative;display:flex;align-items:center;justify-content:center}.moon{position:absolute;width:300px;height:300px;border-radius:50%;background:#ecdee3;right:10%;top:4%}.book{position:relative;width:235px;height:310px;transform:rotate(6deg);background:linear-gradient(120deg,#8c596f,#603850 70%,#492c43);box-shadow:25px 30px 50px #6d3e593d;border-radius:3px 9px 9px 3px;color:#f6e9e5;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid #fff5;outline-offset:-11px}.book:after{content:"";position:absolute;inset:0 auto 0 13px;width:2px;background:#f5dfe533}.book-spine{position:absolute;width:5px;inset:0 auto 0 20px;background:#43283d66}.book-rose{font-size:35px;color:#e7bdc7;margin-bottom:14px}.book-title{text-align:center;font:500 23px/1.35 var(--serif);letter-spacing:.5px}.spark{position:absolute;color:#aa7089;font-size:28px}.spark-one{top:14%;left:17%}.spark-two{bottom:17%;right:9%}.hero-caption{position:absolute;right:2%;bottom:5%;font:italic 13px/1.6 var(--serif);color:var(--muted);text-align:right}.hero-bottom{position:absolute;bottom:0;left:0;right:0;padding:17px clamp(22px,10vw,160px);display:flex;justify-content:space-between;border-top:1px solid #e5dadd;color:#877b83;text-transform:uppercase;letter-spacing:1.4px;font-size:9px}.section{padding:100px clamp(22px,10vw,160px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section h2,.about-section h2,.join-banner h2{font-size:44px;line-height:1.15;margin-bottom:0}.section-note{max-width:430px;color:var(--muted);font-size:13px;margin:0 0 4px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.story-card{background:#fff;border:1px solid var(--line);padding:27px;min-height:250px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;cursor:pointer}.story-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #37243612}.story-icon{width:42px;height:42px;border-radius:50%;background:#f5e9ed;color:var(--plum);display:grid;place-items:center;font-size:19px;margin-bottom:24px}.story-card h3{font:500 24px/1.3 var(--serif);margin-bottom:10px}.story-card p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:18px}.story-meta{margin-top:auto;display:flex;justify-content:space-between;color:#9a8d95;font-size:10px;text-transform:uppercase;letter-spacing:.9px}.story-open{color:var(--plum);font-size:12px;font-weight:700;margin-top:16px}.loading-card,.empty-state{color:var(--muted);padding:25px;border:1px dashed var(--line);text-align:center;grid-column:1/-1}.about-section{background:#f8f4f0;padding:90px clamp(22px,16vw,250px);display:grid;grid-template-columns:140px 1fr;gap:35px;align-items:start}.about-mark{height:112px;width:112px;border-radius:50%;display:grid;place-items:center;background:#eadce2;color:var(--plum);font-size:48px}.about-section h2{font-size:38px;margin-bottom:16px}.about-section p:not(.eyebrow){max-width:640px;color:var(--muted);font-size:14px;line-height:1.9}.about-signature{font:italic 20px var(--serif)!important;color:var(--plum)!important}.join-banner{margin:80px clamp(22px,10vw,160px);background:var(--plum-dark);color:white;padding:37px 48px;display:flex;justify-content:space-between;align-items:center}.join-banner .eyebrow{color:#dfb5c3;margin-bottom:9px}.join-banner h2{font-size:31px}footer{padding:30px clamp(22px,7vw,112px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#867a82;font-size:11px}footer .brand{color:var(--ink);font-size:18px}footer .brand-mark{font-size:22px}footer div{display:flex;gap:22px}.dialog{border:0;border-radius:8px;padding:0;max-width:min(560px,calc(100vw - 26px));width:100%;box-shadow:0 28px 90px #25172444;color:var(--ink);max-height:90vh}.dialog::backdrop{background:#211820a8;backdrop-filter:blur(3px)}.dialog-close{position:sticky;top:0;height:0;z-index:2;text-align:right}.dialog-close button{margin:12px 15px 0 0;border:0;background:#f4edf0;border-radius:50%;width:34px;height:34px;font-size:22px;color:var(--plum);cursor:pointer}.dialog-content{padding:28px 38px 38px;overflow:auto;max-height:88vh}.dialog h2{font-size:31px;margin-bottom:22px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:20px 0}.auth-tabs button{border:0;background:none;padding:10px 18px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}.auth-tabs button.active{color:var(--plum);border-color:var(--plum)}label{display:block;font-size:12px;font-weight:600;margin:14px 0;color:#514650}input,textarea{display:block;width:100%;border:1px solid #ddd0d7;border-radius:4px;background:#fff;padding:11px 12px;margin-top:6px;font-size:14px;color:var(--ink);outline-color:#a76f88}textarea{resize:vertical;line-height:1.65}.form-hint{font-size:11px;color:var(--muted);margin:4px 0 15px}.auth-submit{width:100%}.form-message{min-height:20px;color:var(--plum);font-size:12px;margin:12px 0 0}.story-dialog{max-width:min(850px,calc(100vw - 26px))}.story-detail{padding:30px clamp(22px,7vw,70px) 45px;max-height:88vh;overflow:auto}.story-detail h2{font-size:42px;margin:0 0 8px}.story-date{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.story-body{font:17px/1.95 var(--serif);white-space:pre-wrap;color:#453b43;margin:27px 0 35px}.comments{border-top:1px solid var(--line);padding-top:25px}.comments h3,.admin-dialog h3{font:500 23px var(--serif)}.comment{padding:14px 0;border-bottom:1px solid #eee7ea}.comment strong{font-size:12px;color:var(--plum)}.comment time{font-size:10px;color:#988b93;margin-left:10px}.comment p{white-space:pre-wrap;font-size:13px;margin:6px 0 0}.comment-form{margin-top:20px}.comment-form textarea{min-height:100px}.admin-dialog{max-width:min(1100px,calc(100vw - 26px))}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.admin-columns section+section{border-left:1px solid var(--line);padding-left:30px}.admin-dialog label{font-size:11px}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto;margin:0}.moderation-item{padding:14px 0;border-bottom:1px solid var(--line)}.moderation-item p{font-size:12px;white-space:pre-wrap}.moderation-meta{font-size:10px;color:var(--muted)}.moderation-actions{display:flex;gap:8px}.moderation-actions button{border:1px solid var(--line);background:white;padding:6px 10px;border-radius:4px;font-size:11px;cursor:pointer}.moderation-actions .approve{color:#2c704d}.moderation-actions .reject{color:#9b3949}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#392837;color:white;padding:12px 18px;border-radius:5px;font-size:12px;transition:.2s;z-index:9}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:800px){.topbar{height:68px;padding:0 18px}nav{gap:15px;font-size:12px}.account-label{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding:70px 28px 75px}.hero-art{height:320px;margin-top:15px}.moon{width:240px;height:240px;right:12%}.book{width:180px;height:245px}.book-title{font-size:19px}.hero-bottom{padding:14px 22px}.section{padding:70px 24px}.section-heading{display:block}.section-note{margin-top:18px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-section{padding:65px 28px;grid-template-columns:1fr;gap:20px}.about-mark{height:75px;width:75px;font-size:34px}.join-banner{margin:55px 20px;padding:28px;gap:20px}.join-banner h2{font-size:24px}footer{padding:25px 20px;gap:15px;flex-wrap:wrap}.admin-columns{grid-template-columns:1fr}.admin-columns section+section{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}}@media(max-width:520px){.brand{font-size:19px}.brand-mark{font-size:23px}nav{display:none}.hero h1{font-size:48px}.hero-art{height:280px}.hero-caption{right:0}.section h2,.about-section h2{font-size:36px}.story-grid{grid-template-columns:1fr}.story-card{min-height:210px}.join-banner{display:block}.join-banner .button{margin-top:12px}.dialog-content{padding:22px}.story-detail h2{font-size:33px}footer>span{order:3;width:100%}}


select{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
#admin-page .dialog-content{max-height:none;padding:0;overflow:visible}#admin-page details{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:8px}#admin-page summary{cursor:pointer;font-size:20px;margin-bottom:22px}#content-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero h1,#about-text,.hero-lede{white-space:pre-wrap;overflow-wrap:anywhere}.story-body{overflow-wrap:anywhere}.topbar{height:auto;min-height:78px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}.account-area{flex-wrap:wrap}
[data-theme="dark"]{color-scheme:dark;--ink:#f4e8ef;--muted:#c6b6c2;--cream:#241e26;--paper:#19151c;--plum:#d697b6;--plum-dark:#55324a;--rose:#d9a8b7;--line:#51414d}
[data-theme="dark"] .topbar{background:#19151cf2}[data-theme="dark"] .story-card,[data-theme="dark"] input,[data-theme="dark"] textarea,[data-theme="dark"] .moderation-actions button,[data-theme="dark"] .dialog{background:var(--paper);color:var(--ink)}
[data-theme="dark"] .about-section,[data-theme="dark"] .story-icon,[data-theme="dark"] .dialog-close button{background:var(--cream)}[data-theme="dark"] .story-body,[data-theme="dark"] label,[data-theme="dark"] nav,[data-theme="dark"] .button-outline{color:var(--ink)}[data-theme="dark"] .button-primary{color:#20131c}[data-theme="dark"] .moon,[data-theme="dark"] .about-mark{background:#483442}[data-theme="dark"] .moderation-actions .approve{color:#9edeb4}[data-theme="dark"] .moderation-actions .reject{color:#ffabb7}
@media(max-width:700px){#content-fields{grid-template-columns:1fr}#admin-page{padding:30px 16px}#admin-page details{padding:16px}}


#management:empty{display:none}#management details{padding:24px;border:1px solid var(--line);margin-bottom:20px;border-radius:8px}#management summary{font-size:24px;cursor:pointer}.user-row{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}input[type=checkbox]{width:auto;display:inline;margin-right:10px}#public-page{min-height:60vh}@media(max-width:700px){.user-row{grid-template-columns:1fr}}
