:root{--ink:#171612;--muted:#6f6b5f;--paper:#f5f0e5;--paper-deep:#e8dfcf;--card:#fffdf7;--line:rgba(42,37,27,.16);--gold:#ba7b2d;--gold-dark:#88531d;--forest:#213d34;--shadow:0 24px 70px rgba(41,34,24,.14);--bg-top:#faf7f0;--nav-bg:rgba(250,247,240,.82);--field:#fffefb;--btn-sec:rgba(255,255,255,.45);--glow:rgba(186,123,45,.12)}
:root[data-bs-theme=dark]{--ink:#ece6d6;--muted:#a9a392;--paper:#15140f;--paper-deep:#201e17;--card:#1c1a14;--line:rgba(236,230,214,.15);--gold:#d39a4e;--gold-dark:#e3ad66;--forest:#2f5a4b;--shadow:0 24px 70px rgba(0,0,0,.45);--bg-top:#100f0b;--nav-bg:rgba(16,15,11,.82);--field:#23211a;--btn-sec:rgba(255,255,255,.06);--glow:rgba(211,154,78,.09);color-scheme:dark}
:root[data-bs-theme=dark] .entry-meta,:root[data-bs-theme=dark] .preview-copy time{color:var(--muted)}:root[data-bs-theme=dark] .settings-danger h2{color:#e8836b}:root[data-bs-theme=dark] .validation-summary-errors,:root[data-bs-theme=dark] .field-validation-error{color:#ff8a7a}:root[data-bs-theme=dark] .form-control{color:var(--ink)}:root[data-bs-theme=dark] .navbar-toggler-icon{filter:invert(1)}:root[data-bs-theme=dark] .brand-mark{background:var(--forest)}
.theme-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:.3rem .8rem;font-size:.85rem;cursor:pointer}.theme-toggle:hover{color:var(--gold-dark)}
html{font-size:16px;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 5%,var(--glow),transparent 32rem),linear-gradient(180deg,var(--bg-top) 0%,var(--paper) 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif}a{color:var(--gold-dark)}.container{width:min(1180px,calc(100% - 2.5rem))}.page-shell{min-height:calc(100vh - 190px)}
.site-nav{padding:1.15rem 0;border-bottom:1px solid var(--line);background:var(--nav-bg);backdrop-filter:blur(18px)}.site-nav-inner{padding:0}.brand{color:var(--ink);font-size:1.35rem;font-weight:700;display:flex;align-items:center;gap:.65rem}.brand:hover{color:var(--ink)}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;color:#fff9e8;background:var(--forest);font-size:1.05rem}.nav-links{gap:.35rem}.nav-link{color:var(--ink);font-size:.93rem}.nav-link:hover{color:var(--gold-dark)}.nav-button{border:0;background:transparent}.navbar-toggler{border-color:var(--line)}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.8rem 1.15rem;font-weight:700;text-decoration:none;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--forest);color:#fffdf7;box-shadow:0 10px 24px rgba(33,61,52,.18)}.button-primary:hover{color:#fff;background:#2b5044}.button-secondary{border-color:var(--line);color:var(--ink);background:var(--btn-sec)}.button-patreon{color:#fff;background:#ff424d;box-shadow:0 8px 18px rgba(255,66,77,.22)}.button-patreon:hover,.button-patreon:focus{color:#fff;background:#e53645}.button-small{padding:.5rem .9rem;font-size:.9rem}
.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2.5rem,7vw,7rem);align-items:center;padding:clamp(4rem,9vw,8.5rem) 0 6rem}.eyebrow{color:var(--gold-dark);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 1rem}.hero h1{font-size:clamp(3.25rem,7vw,6.5rem);line-height:.9;letter-spacing:-.055em;max-width:10ch;margin:0 0 1.5rem}.hero-lead{color:var(--muted);font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.65;max-width:34rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:2rem 0 1rem}.hero-note{color:var(--muted);font-size:.82rem}.hero-preview{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transform:rotate(1.1deg)}.preview-image{position:relative;aspect-ratio:16/10;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover}.visibility-pill{position:absolute;right:1rem;top:1rem;padding:.35rem .65rem;border-radius:999px;color:#fff;background:rgba(21,31,27,.78);backdrop-filter:blur(8px);font-size:.72rem;font-weight:700}.preview-copy{padding:clamp(1.5rem,4vw,2.5rem)}.entry-character{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800}.preview-copy h2{font-size:2rem;margin:.45rem 0 .8rem}.preview-copy p{color:var(--muted);line-height:1.65}.preview-copy time{color:#958f82;font-size:.78rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-grid article{padding:3rem 2.5rem 3rem 0}.feature-grid article+article{border-left:1px solid var(--line);padding-left:2.5rem}.feature-number{color:var(--gold);font:700 .75rem/1 Inter,sans-serif;letter-spacing:.12em}.feature-grid h2{font-size:1.6rem;margin:1rem 0 .7rem}.feature-grid p{color:var(--muted);line-height:1.65}.privacy-callout{margin:7rem 0;padding:clamp(2rem,5vw,4.5rem);background:var(--forest);color:#fffdf7;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}.privacy-callout .eyebrow{color:#e7b96f}.privacy-callout h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:0}.privacy-callout>p{color:#d8ded8;line-height:1.8;margin:0}
.profile-header{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:4rem 0 2.5rem;border-bottom:1px solid var(--line);align-items:end}.profile-header h1{font-size:clamp(2.6rem,6vw,5rem);letter-spacing:-.04em;margin:.25rem 0 .75rem}.profile-header .bio{color:var(--muted);max-width:42rem;font-size:1.1rem;line-height:1.65}.profile-badge{border:1px solid var(--line);padding:.55rem .8rem;border-radius:999px;font-size:.78rem}.character-filter{display:flex;gap:.5rem;overflow-x:auto;padding:1.25rem 0 2rem}.character-filter a{white-space:nowrap;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem;text-decoration:none;font-size:.85rem}.character-filter a.active{color:#fff;background:var(--forest);border-color:var(--forest)}.journal-feed{display:grid;gap:1.5rem;padding-bottom:5rem}.journal-entry{display:grid;grid-template-columns:1fr 1fr;min-height:360px;background:var(--card);border:1px solid var(--line)}.journal-entry:nth-child(even) .entry-image{order:2}.entry-image{min-height:340px;overflow:hidden;background:var(--paper-deep)}.entry-image img{width:100%;height:100%;object-fit:cover}.entry-copy{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center}.entry-copy h2{font-size:clamp(2rem,4vw,3.5rem);margin:.5rem 0 1rem}.entry-copy p{color:var(--muted);line-height:1.75;white-space:pre-line}.entry-meta{display:flex;justify-content:space-between;gap:1rem;color:#8d877a;font-size:.75rem;margin-top:1.5rem}
.empty-state,.auth-card,.message-card{background:var(--card);border:1px solid var(--line);padding:clamp(2rem,6vw,4rem);margin:4rem auto;max-width:650px;box-shadow:var(--shadow)}.auth-card h1,.message-card h1{font-size:2.8rem;margin-bottom:.75rem}.form-field{margin-bottom:1.15rem}.form-field label{display:block;font-size:.8rem;font-weight:800;margin-bottom:.45rem}.form-control{border:1px solid var(--line);background:var(--field);border-radius:.4rem;padding:.75rem .85rem}.form-control:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(186,123,45,.14)}.validation-summary-errors{color:#9e2e24;margin-bottom:1rem}.field-validation-error{color:#9e2e24;font-size:.8rem}
.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:2rem 0;font-size:.82rem}.footer-inner{display:flex;justify-content:space-between}.footer-inner div{display:flex;gap:1rem}.footer-inner a{color:var(--muted)}
@media(max-width:800px){.hero,.privacy-callout,.profile-header{grid-template-columns:1fr}.hero{padding-top:4rem}.hero-preview{transform:none}.feature-grid{grid-template-columns:1fr}.feature-grid article,.feature-grid article+article{border-left:0;border-top:1px solid var(--line);padding:2rem 0}.feature-grid article:first-child{border-top:0}.journal-entry{grid-template-columns:1fr}.journal-entry:nth-child(even) .entry-image{order:0}.entry-image{min-height:240px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.download-card{max-width:860px}.release-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:2rem 0 0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--line)}.release-details div{min-width:0;padding:1rem 1.15rem;background:var(--paper)}.release-details dt{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.release-details dd{margin:.3rem 0 0;overflow-wrap:anywhere}.release-details code{font-size:.72rem}@media(max-width:620px){.release-details{grid-template-columns:1fr}}
.download-heading{font-size:1.5rem;margin:2.5rem 0 .8rem}.setup-guide{max-width:860px;margin:4rem auto 0}.setup-guide>h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:.4rem 0 1.5rem}.setup-steps{counter-reset:step;list-style:none;margin:0;padding:0}.setup-steps li{counter-increment:step;position:relative;padding:0 0 2rem 3.4rem;border-left:1px solid var(--line);margin-left:1rem}.setup-steps li::before{content:counter(step);position:absolute;left:-1rem;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--forest);color:#fffdf7;font:700 .85rem/2rem Inter,sans-serif;text-align:center}.setup-steps h3{font-size:1.2rem;margin:0 0 .4rem}.setup-steps p{color:var(--muted);line-height:1.65;margin:.4rem 0}.setup-steps pre,.setup-notes pre{margin:.6rem 0;padding:.9rem 1.1rem;overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.setup-steps code{overflow-wrap:anywhere}.setup-steps pre code{white-space:pre-wrap}.setup-notes{margin-top:1rem;padding:1.5rem;border:1px solid var(--line);border-radius:14px}.setup-notes h3{margin-top:0}.setup-notes li{margin:.5rem 0;line-height:1.6}@media(max-width:620px){.setup-steps li{padding-left:2.6rem}}
.setup-aside{font-size:.9rem;padding:.7rem .9rem;border-left:3px solid var(--gold);background:var(--paper)}
.form-hint{color:var(--muted);font-size:.9rem;margin:.4rem 0 1rem}
.home-intro{max-width:none;margin:0;padding:clamp(1rem,2.5vw,1.75rem) 0 .25rem}.home-intro .eyebrow{margin:0 0 .4rem}.home-intro .hero-lead{font-size:1rem;line-height:1.5;margin:0}.home-intro .hero-actions{margin:.9rem 0 .5rem}.home-intro h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:.4rem 0 1rem}.home-intro .hero-lead{max-width:none}.order-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0 0 1.5rem;color:var(--muted);font-size:.95rem}.order-toggle a{color:var(--muted);text-decoration:none;padding:.2rem .1rem;border-bottom:2px solid transparent}.order-toggle a.active{color:var(--forest);border-bottom-color:var(--gold);font-weight:600}.order-toggle a:hover{color:var(--forest)}
.settings-page{max-width:760px;margin:3rem auto}.settings-page h1{margin:.3rem 0 2rem}.settings-card{border:1px solid var(--line);border-radius:14px;padding:1.5rem;margin:0 0 1.5rem;background:var(--paper)}.settings-card h2{font-size:1.3rem;margin:0 0 .3rem}.settings-card>p{color:var(--muted);margin:.2rem 0 1rem}.settings-card .form-field{margin:0 0 1rem}.settings-card textarea.form-control{min-height:6rem}.settings-status{padding:.7rem 1rem;border-left:3px solid var(--gold);background:var(--paper);margin:0 0 1.5rem}.settings-characters{width:100%;border-collapse:collapse}.settings-characters td,.settings-characters th{padding:.5rem .4rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.setting-muted{color:var(--muted);font-size:.85rem}
.journal-feed{gap:1rem}.journal-entry{min-height:0;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch}.entry-image{min-height:0;display:flex;align-items:center;justify-content:center;background:var(--paper-deep)}.entry-image img{width:100%;height:auto;max-height:380px;object-fit:contain;display:block}.entry-copy{padding:1.25rem 1.5rem}.entry-copy h2{font-size:1.15rem;margin:.35rem 0 .5rem}.entry-copy p{font-size:.95rem;line-height:1.6;margin:.35rem 0}.entry-copy .entry-text{color:var(--ink,inherit);font-size:1.02rem}.entry-meta{margin-top:.9rem}.entry-character{font-size:.68rem}
@media(max-width:800px){.journal-entry,.journal-entry:nth-child(even){grid-template-columns:1fr}.journal-entry:nth-child(even) .entry-image{order:0}.entry-image img{max-height:320px}}
.settings-danger{border-color:#b4533d}.settings-danger h2{color:#8c2f1a}

/* Likes, reporting and the moderator queue */
.entry-actions { display: flex; align-items: center; gap: 1rem; margin-top: .75rem; font-size: .9rem; }
.like-form { margin: 0; }
.like-button { background: none; border: 1px solid currentColor; border-radius: 999px; padding: .15rem .7rem; color: inherit; cursor: pointer; opacity: .8; }
.like-button:hover, .like-button.liked { opacity: 1; }
.like-count, .report-link { opacity: .7; }
.report-link { margin-left: auto; text-decoration: underline; }
.queue-serious { border-left: 4px solid #c0392b; }
.queue-report { margin: .25rem 0; }
.entry-anchor { display: block; height: 0; overflow: hidden; }
.legal-page{max-width:720px;margin:3rem auto 5rem}.legal-page h1{margin:.3rem 0 1.5rem}.legal-page h2{font-size:1.35rem;margin:2.2rem 0 .6rem}.legal-page p,.legal-page li{line-height:1.7}.legal-page ul{padding-left:1.3rem}.legal-page li{margin:.35rem 0}

.journal-entry{position:relative;align-items:start}
.journal-entry .entry-anchor{position:absolute;top:0;left:0;width:0;height:0}
.entry-image{align-items:flex-start}
.entry-copy{justify-content:flex-start}
.held-text{white-space:pre-line;line-height:1.6}.held-attach{display:grid;gap:.5rem;margin:1rem 0;padding:1rem;border:1px dashed var(--line);border-radius:10px}.held-attach label{color:var(--muted);font-size:.9rem}.held-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.share-form{display:grid;gap:.5rem;margin:0 0 1rem}.share-form label{color:var(--muted);font-size:.9rem}.share-form button{justify-self:start;margin-top:.4rem}
.site-footer .footer-note{margin-top:1rem}.site-footer .footer-note p{margin:0;max-width:none;line-height:1.5}
.heading-link{color:inherit;text-decoration:none}.heading-link:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
.home-intro+.profile-header{padding-top:1.25rem}.home-intro+.profile-header h1{margin-top:0}
.screens{max-width:960px;margin:4rem auto 0}.screens h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:.4rem 0 1.5rem}.screens-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;align-items:start}.screens figure{margin:0}.screens img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper-deep)}.screens figcaption{color:var(--muted);font-size:.92rem;line-height:1.55;margin-top:.7rem}
@media(min-width:801px){.journal-entry:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}}
