:root{--ink:#2b2420;--ink-soft:#5a4f45;--paper:#f4ecdc;--paper-edge:#e6dabf;--gold:#9c7a3c;--gold-soft:#c7a866;--line:#d8c9a3;--nav-bg:hsla(40,52%,91%,.82);--cover-sky-top:#2c3a4f;--cover-sky-bottom:#5b6f85;--cover-sea-top:#26445a;--cover-sea-bottom:#142631;--cover-moon:#f4ecd8;--cover-tower:#efe4cd;--cover-band:#2b2420;--cover-rock:#2b2420;color-scheme:light}[data-theme=dark]{--ink:#ece2d2;--ink-soft:#c8baa6;--paper:#2a241d;--paper-edge:#3b3329;--gold:#d8b36a;--gold-soft:#e6c98b;--line:#5a4d3c;--nav-bg:rgba(42,36,29,.88);--cover-sky-top:#1c2432;--cover-sky-bottom:#314055;--cover-sea-top:#23455b;--cover-sea-bottom:#122533;--cover-moon:#f7eed8;--cover-tower:#eadfc8;--cover-band:#181410;--cover-rock:#181410;color-scheme:dark}*{box-sizing:border-box}body,html{padding:0;margin:0}html{transition:background-color .2s ease}body{font-family:var(--font-body),Georgia,serif;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 20% 20%,rgba(156,122,60,.06),transparent 40%),radial-gradient(circle at 80% 60%,rgba(156,122,60,.05),transparent 45%),repeating-linear-gradient(0deg,rgba(0,0,0,.015),rgba(0,0,0,.015) 1px,transparent 0,transparent 3px);min-height:100vh;transition:background-color .2s ease,color .2s ease}.page{max-width:680px;margin:0 auto;padding:3rem 1.5rem 6rem}.page-wide{max-width:960px}.site-nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--nav-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-nav-inner{max-width:720px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none}.logo-mark{color:var(--gold);flex-shrink:0}.logo-mark .logo-quill{color:var(--gold-soft)}.brand-word{font-family:var(--font-display),serif;font-weight:900;letter-spacing:.04em;text-transform:uppercase;font-size:1.05rem;color:var(--gold);white-space:nowrap}.nav-links{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.nav-link{font-size:.92rem;letter-spacing:.03em;color:var(--ink-soft);text-decoration:none;padding-bottom:.15rem;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--gold);border-bottom-color:var(--gold)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;flex-shrink:0;transition:border-color .15s ease,color .15s ease,transform .15s ease}.theme-toggle:hover{border-color:var(--gold);color:var(--gold);transform:rotate(12deg)}@media (max-width:480px){.site-nav-inner{gap:.85rem}.brand-word{display:none}.nav-links{gap:.85rem}}.cover-frame{border-radius:6px;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.18);margin:0 0 2rem}.cover-art{display:block;width:100%;height:auto}.book-card .cover-frame{margin:0 0 .45rem;box-shadow:0 4px 14px rgba(0,0,0,.14);aspect-ratio:2/3}.book-card .cover-art{width:100%;height:100%;object-fit:cover}.cover-art-image{aspect-ratio:2/3;object-fit:cover}.hero-actions{display:flex;justify-content:center;gap:.85rem;margin:0 0 2.5rem;flex-wrap:wrap}.hero-button{display:inline-block;padding:.75rem 1.5rem;border-radius:3px;font-family:var(--font-display),serif;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.hero-button-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.hero-button-primary:hover{background:var(--gold);border-color:var(--gold)}.hero-button-secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero-button-secondary:hover{border-color:var(--gold);color:var(--gold)}.how-it-works{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:0 0 1rem}.how-step{display:flex;gap:1rem;align-items:flex-start}.how-step-num{font-weight:700;color:var(--gold);font-size:1.3rem;line-height:1;min-width:1.6rem}.how-step h3,.how-step-num{font-family:var(--font-display),serif}.how-step h3{font-size:1.05rem;margin:0 0 .3rem}.how-step p{color:var(--ink-soft);font-size:.98rem;line-height:1.6;margin:0}.about-body p{font-size:1.05rem;line-height:1.8;color:var(--ink-soft);margin:0 0 1.25rem}.about-body strong{color:var(--ink)}.rule{border:none;border-top:1px solid var(--line);margin:2.25rem 0;position:relative}.rule:after{content:"❧";position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);background:var(--paper);padding:0 .75rem;color:var(--gold);font-size:1.1rem}.site-title{font-weight:900;letter-spacing:.04em;font-size:1.05rem;color:var(--gold);margin:0 0 .25rem}.chapter-number,.site-title{text-align:center;font-family:var(--font-display),serif;text-transform:uppercase}.chapter-number{letter-spacing:.25em;font-size:.85rem;color:var(--ink-soft);margin:0 0 .5rem}.chapter-title{text-align:center;font-family:var(--font-display),serif;font-weight:700;font-size:2rem;line-height:1.2;margin:0 0 2.5rem}.book-description{text-align:center;color:var(--ink-soft);font-size:1rem;line-height:1.6;max-width:42rem;margin:0 auto 2.5rem}.chapter-body p{font-size:1.15rem;line-height:1.85;margin:0 0 1.4rem;text-align:justify}.chapter-body p:first-of-type:first-letter{font-family:var(--font-display),serif;font-size:3.6rem;font-weight:700;float:left;line-height:.8;margin:.1rem .15rem 0 0;color:var(--gold)}.closed-badge{text-align:center;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.5rem}.vote-panel{border:1px solid var(--line);border-radius:4px;padding:1.75rem}.vote-heading{font-family:var(--font-display),serif;font-weight:700;font-size:1.15rem;margin:0 0 .25rem;text-align:center}.vote-sub{text-align:center;color:var(--ink-soft);font-size:.95rem;margin:0 0 1.5rem}.choice-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.5rem}.choice-option{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);cursor:pointer;transition:border-color .15s ease,background .15s ease;font-size:1.02rem}.choice-option.selected,.choice-option:hover{border-color:var(--gold)}.choice-option input{accent-color:var(--gold)}.vote-button{display:block;width:100%;padding:.85rem;background:var(--ink);color:var(--paper);border:none;border-radius:3px;font-family:var(--font-display),serif;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;cursor:pointer;transition:background .15s ease}.vote-button:disabled{opacity:.5;cursor:not-allowed}.vote-button:not(:disabled):hover{background:var(--gold)}.comments-panel{border:1px solid var(--line);border-radius:4px;padding:1.75rem}.comments-heading{font-family:var(--font-display),serif;font-weight:700;font-size:1.15rem;margin:0 0 .25rem}.comments-sub{color:var(--ink-soft);font-size:.9rem;margin:0 0 1.5rem}.comment-form{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.75rem}.comment-body-input,.comment-name-input{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:.95rem}.comment-body-input{resize:vertical;min-height:4.5rem}.comment-body-input:focus,.comment-name-input:focus{outline:none;border-color:var(--gold)}.comment-submit{align-self:flex-end;padding:.7rem 1.4rem;background:var(--ink);color:var(--paper);border:none;border-radius:3px;font-family:var(--font-display),serif;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;cursor:pointer;transition:background .15s ease}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.comment-submit:not(:disabled):hover{color:var(--paper)}.comment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.comment-item{padding-top:1.1rem;border-top:1px solid var(--line)}.comment-item:first-child{padding-top:0;border-top:none}.comment-meta{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.35rem;flex-wrap:wrap}.comment-author{font-family:var(--font-display),serif;font-weight:700;font-size:.92rem}.comment-date{color:var(--ink-soft);font-size:.78rem}.comment-body{margin:0;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.admin-comment-list .comment-item .admin-note-actions{margin-top:.6rem}.countdown{text-align:center;font-size:.85rem;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:1.25rem}.countdown strong{color:var(--ink)}.results-list{display:flex;flex-direction:column;gap:.85rem}.result-row-label{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:.3rem}.result-row-label .pct{color:var(--gold);font-weight:600}.result-bar-track{height:8px;background:var(--paper-edge);border-radius:4px;overflow:hidden}.result-bar-fill{height:100%;background:var(--gold-soft)}.your-pick{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.results-note{margin:1rem 0 0;font-style:italic}.the-end-badge{font-family:var(--font-display),serif;letter-spacing:.2em}.footer-note{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:3rem}.footer-note a{color:var(--gold)}.intro-text{font-size:1.05rem;line-height:1.8;color:var(--ink-soft);text-align:center;max-width:560px;margin:0 auto 2.5rem}.book-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem .75rem;margin-bottom:2rem}.book-card{flex-grow:0;flex-shrink:1;flex-basis:calc((100% - 2 * 0.75rem) / 3);max-width:calc((100% - 2 * .75rem) / 3)}@media (max-width:560px){.book-card{flex-basis:calc((100% - 0.75rem) / 2);max-width:calc((100% - .75rem) / 2)}}@media (max-width:380px){.book-card{flex-basis:100%;max-width:100%}}.book-card{display:block;text-decoration:none;color:inherit}.book-card:hover .cover-frame{box-shadow:0 6px 20px rgba(0,0,0,.22);transform:translateY(-2px)}.book-card .cover-frame{transition:box-shadow .15s ease,transform .15s ease}.book-card-disabled{opacity:.55;cursor:default}.book-meta{margin:0 0 .25rem;font-family:var(--font-display),serif;font-size:.68rem;letter-spacing:.02em;color:var(--ink-soft)}.book-chapter-num{color:var(--gold)}.book-chapter-num-soon{text-transform:uppercase;letter-spacing:.08em}.book-title{font-family:var(--font-display),serif;font-weight:700;font-size:.9rem;line-height:1.25;margin:0}.book-card:hover .book-title{color:var(--gold)}.archive-list{list-style:none;padding:0;margin:0}.archive-list li{border-bottom:1px solid var(--line)}.archive-list a{display:block;padding:1rem 0;color:var(--ink);text-decoration:none;font-size:1.05rem}.archive-list a:hover{color:var(--gold)}.archive-list .num{color:var(--ink-soft);font-family:var(--font-display),serif;letter-spacing:.1em;font-size:.75rem;text-transform:uppercase;display:block;margin-bottom:.2rem}.chapter-status-open{color:var(--gold)}.chapter-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:1rem;gap:1rem;margin-top:2.5rem}.chapter-nav-link{padding:.7rem 1.4rem;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;font-family:var(--font-display),serif;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;text-decoration:none;transition:background .15s ease,border-color .15s ease}.chapter-nav-link:hover{background:var(--gold);border-color:var(--gold)}.chapter-nav>:first-child{justify-self:start}.chapter-nav-all{justify-self:center}.chapter-nav>:last-child{justify-self:end}.chapter-nav{margin-bottom:2rem}.error-banner{background:#f6dede;border:1px solid #d99;color:#7a1f1f;padding:.75rem 1rem;border-radius:3px;font-size:.9rem;margin-bottom:1rem;text-align:center}.site-footer{border-top:1px solid var(--line);margin-top:4rem}.site-footer-inner{max-width:680px;margin:0 auto;padding:2.5rem 1.5rem 3rem;text-align:center}.site-footer-brand{font-family:var(--font-display),serif;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem;color:var(--gold);margin:0 0 .4rem}.site-footer-tagline{color:var(--ink-soft);font-size:.9rem;margin:0 0 1.25rem}.site-footer-links{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.site-footer-links a{color:var(--ink-soft);font-size:.85rem;letter-spacing:.03em;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.site-footer-links a:hover{color:var(--gold);border-bottom-color:var(--gold)}.site-footer-copy{color:var(--ink-soft);font-size:.78rem;letter-spacing:.05em;margin:0;opacity:.75}.admin-panel{margin-bottom:2rem}.admin-topbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.admin-logout{padding:.45rem .9rem;background:transparent;color:var(--ink-soft);border:1px solid var(--line);border-radius:3px;font-size:.8rem;cursor:pointer}.admin-logout:hover{color:var(--ink);border-color:var(--gold)}.admin-inline-fields{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin:.25rem 0 .5rem}.admin-inline-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft)}.admin-number-input{width:3.5rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-family:inherit}.admin-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ink-soft)}.admin-story-list{display:flex;flex-direction:column;gap:1.25rem}.admin-story-card{border:1px solid var(--line);border-radius:4px;padding:1.5rem}.admin-story-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.admin-story-title{font-family:var(--font-display),serif;font-weight:700;font-size:1.05rem;margin-left:.6rem}.admin-story-slug{color:var(--ink-soft);font-size:.8rem;margin-left:.5rem}.admin-story-tagline{color:var(--ink-soft);font-size:.9rem;margin:.5rem 0 0}.admin-story-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-story-actions button{padding:.4rem .75rem;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px;font-size:.78rem;cursor:pointer;white-space:nowrap}.admin-story-actions button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.admin-story-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-story-actions .admin-danger{color:#a4453a;border-color:#a4453a}.admin-story-actions .admin-danger:hover:not(:disabled){background:#a4453a;color:var(--paper)}.admin-status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;font-family:var(--font-display),serif}.admin-status-live{background:rgba(120,160,90,.18);color:#4c7a35}.admin-status-coming-soon{background:rgba(156,122,60,.18);color:var(--gold)}.admin-status-hidden{background:hsla(0,0%,47%,.18);color:var(--ink-soft)}.admin-cover-row{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.admin-cover-preview{width:64px;height:88px;object-fit:cover;border-radius:3px;border:1px solid var(--line);flex-shrink:0}.admin-cover-preview-empty{display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:.68rem;text-align:center;background:var(--paper-soft,hsla(0,0%,47%,.08))}.admin-cover-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-cover-actions button{padding:.4rem .75rem;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px;font-size:.78rem;cursor:pointer;white-space:nowrap}.admin-cover-actions button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.admin-cover-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-cover-actions .admin-danger{color:#a4453a;border-color:#a4453a}.admin-cover-actions .admin-danger:hover:not(:disabled){background:#a4453a;color:var(--paper)}.admin-cover-file-input{display:none}.admin-edit-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px dashed var(--line)}.admin-field-label{letter-spacing:.03em;margin-bottom:-.35rem}.admin-edit-note,.admin-field-label{font-size:.78rem;color:var(--ink-soft)}.admin-edit-note{margin:.5rem 0 0}.admin-note-row{display:flex;flex-direction:column;gap:.4rem;margin-top:.9rem;padding:.9rem;border:1px dashed var(--line);border-radius:4px}.admin-note-hint{color:var(--ink-soft);font-weight:400;letter-spacing:0}.admin-note-actions{display:flex;gap:.5rem}.admin-note-actions button{padding:.4rem .75rem;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:3px;font-size:.78rem;cursor:pointer}.admin-note-actions button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.admin-note-actions .comment-submit:disabled,.admin-note-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-note-pending{color:var(--gold);font-size:.78rem;margin:0}.admin-chapter-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.admin-chapter-row{border:1px solid var(--line);border-radius:3px}.admin-chapter-row-header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .8rem;background:transparent;border:none;color:var(--ink);font-family:inherit;font-size:.85rem;text-align:left;cursor:pointer}.admin-chapter-row-header:hover{color:var(--gold)}.admin-chapter-row-title{flex:1 1}.admin-chapter-body{padding:0 .9rem .9rem;border-top:1px dashed var(--line);font-size:.9rem;line-height:1.6}.admin-chapter-body p{margin:.7rem 0 0}.admin-chapter-choices{margin-top:.9rem;display:flex;flex-direction:column;gap:.35rem}.admin-chapter-choices ul{margin:0;padding-left:1.2rem;font-size:.85rem;color:var(--ink-soft)}.admin-chapter-choice-winner{color:var(--gold);font-weight:600}