:root{color-scheme:light;--color-bg: #fffaf5;--color-surface: #ffffff;--color-surface-muted: #f5eee7;--color-text: #2b2521;--color-text-muted: #71645b;--color-border: #e8dbcf;--color-primary: #8f4f36;--color-primary-soft: #f2dfd3;--color-accent: #445d69;--color-danger: #a33b3b;--radius-sm: .55rem;--radius-md: .9rem;--radius-lg: 1.35rem;--shadow-sm: 0 8px 20px rgba(68, 49, 34, .07);--shadow-md: 0 18px 45px rgba(68, 49, 34, .12);--container-width: 1180px;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: Georgia, "Times New Roman", serif}:root[data-theme=dark]{color-scheme:dark;--color-bg: #181411;--color-surface: #221d19;--color-surface-muted: #2b241f;--color-text: #f8efe6;--color-text-muted: #cdbfb3;--color-border: #3b312a;--color-primary: #e0a27e;--color-primary-soft: #39251d;--color-accent: #9eb4bf;--shadow-sm: 0 8px 20px rgba(0, 0, 0, .2);--shadow-md: 0 18px 45px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--color-primary)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary),white 35%);outline-offset:3px}.container{width:min(var(--container-width),calc(100% - 2rem));margin-inline:auto}.page-section{padding:3rem 0}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.muted{color:var(--color-text-muted)}.skip-link{position:absolute;left:1rem;top:-100px;background:var(--color-primary);color:#fff;padding:.75rem 1rem;border-radius:var(--radius-sm);z-index:1000}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg),transparent 8%);border-bottom:1px solid var(--color-border);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:1rem}.brand{display:inline-flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:-.03em}.brand img{width:38px;height:38px;border-radius:10px}.brand small{display:block;font-size:.72rem;color:var(--color-text-muted);letter-spacing:0;font-weight:600}.nav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:center}.nav a{padding:.55rem .75rem;border-radius:999px;color:var(--color-text-muted);font-weight:650;font-size:.94rem}.nav a:hover,.nav a[aria-current=page]{background:var(--color-primary-soft);color:var(--color-text)}.header-actions{display:flex;gap:.5rem;align-items:center}.theme-toggle,.icon-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;min-height:40px;padding:.45rem .8rem;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.72rem 1rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:750;box-shadow:var(--shadow-sm)}.btn.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn.soft{background:var(--color-primary-soft);color:var(--color-text)}.btn.ghost{background:transparent;box-shadow:none}.btn:hover{transform:translateY(-1px)}.hero{padding:4rem 0 2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:2rem;align-items:center}.hero-card{padding:clamp(1.4rem,4vw,3rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) + .6rem);box-shadow:var(--shadow-md)}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,6vw,4.7rem);line-height:.98;letter-spacing:-.07em;margin-bottom:1.2rem}h2{font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.1;letter-spacing:-.04em;margin-bottom:.8rem}h3{line-height:1.22;letter-spacing:-.02em}.lead{font-size:clamp(1.05rem,2.5vw,1.25rem);color:var(--color-text-muted);max-width:68ch}.actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.5rem}.search-bar{display:flex;gap:.6rem;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;box-shadow:var(--shadow-sm);width:min(100%,680px)}.search-bar input{flex:1;border:0;background:transparent;color:var(--color-text);padding:.6rem .85rem;min-width:0}.search-bar button{border:0}.section-header{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.2rem}.section-header p{color:var(--color-text-muted);margin-bottom:0}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.work-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;min-height:100%}.work-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.work-card-cover{aspect-ratio:5 / 7;background:var(--color-surface-muted);overflow:hidden}.work-card-cover img{width:100%;height:100%;object-fit:cover}.work-card-body{padding:1rem;display:flex;flex-direction:column;gap:.45rem;flex:1}.work-card h3{font-size:1rem;margin:0}.card-meta{display:flex;flex-wrap:wrap;gap:.35rem}.chip,.tag{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--color-border);padding:.25rem .55rem;color:var(--color-text-muted);font-size:.78rem;font-weight:700;background:var(--color-surface-muted)}.chip.primary{background:var(--color-primary-soft);color:var(--color-primary);border-color:transparent}.genre-pills{display:flex;flex-wrap:wrap;gap:.55rem}.featured-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.featured-panel{padding:1.3rem}.featured-panel .cover-row{display:flex;gap:1rem;align-items:center}.featured-panel img{width:120px;aspect-ratio:5/7;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}.chapter-list{display:grid;gap:.7rem}.chapter-item{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.chapter-item strong{display:block}.chapter-item small{color:var(--color-text-muted)}.ranking-list{display:grid;gap:.75rem}.ranking-item{display:grid;grid-template-columns:48px 1fr auto;gap:.85rem;align-items:center;padding:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.rank-number{font-weight:900;font-size:1.4rem;color:var(--color-primary)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:1.3rem;align-items:start}.prose{font-size:1.02rem;color:var(--color-text)}.prose p,.prose li{color:var(--color-text-muted)}.prose ul{padding-left:1.1rem}.info-card{padding:1.2rem}.form-card{max-width:620px;margin:2rem auto;padding:1.4rem}.form-grid{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field label{font-weight:750}.field input,.field textarea,.field select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:.8rem .9rem}.field textarea{min-height:140px;resize:vertical}.reader-shell{--reader-font-size: 19px;max-width:820px;margin:0 auto;padding:2rem 1rem 4rem}.reader-topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-bg),transparent 8%);border-bottom:1px solid var(--color-border);backdrop-filter:blur(14px)}.reader-topbar-inner{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.reader-actions{display:flex;gap:.45rem;flex-wrap:wrap}.reader-content{font-family:var(--font-serif);font-size:var(--reader-font-size);line-height:1.9;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(1.2rem,4vw,3rem);box-shadow:var(--shadow-sm)}.reader-content p{margin-bottom:1.4rem}.reader-nav{display:flex;justify-content:space-between;gap:.8rem;margin-top:1.5rem;flex-wrap:wrap}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);padding:1rem}.admin-sidebar a{display:block;padding:.7rem .8rem;border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:700}.admin-sidebar a:hover{background:var(--color-primary-soft);color:var(--color-text)}.admin-main{padding:1.5rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-card strong{font-size:1.6rem;display:block}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--color-border);padding:.8rem}th{color:var(--color-text-muted);font-size:.85rem}.site-footer{margin-top:4rem;padding:2.5rem 0;border-top:1px solid var(--color-border);background:var(--color-surface)}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:1.2rem}.footer-grid a{display:block;margin:.35rem 0;color:var(--color-text-muted)}.empty-state{text-align:center;padding:2rem}.hidden{display:none!important}@media(max-width:900px){.hero-grid,.featured-layout,.two-column{grid-template-columns:1fr}.header-inner{align-items:flex-start;flex-direction:column;padding:.8rem 0}.nav{justify-content:flex-start}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(100% - 1rem,var(--container-width))}.search-bar{border-radius:var(--radius-lg);flex-direction:column;align-items:stretch}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.work-card-body{padding:.75rem}.ranking-item{grid-template-columns:42px 1fr}.ranking-item .chip{grid-column:2;width:max-content}.footer-grid{grid-template-columns:1fr}.reader-topbar-inner{flex-direction:column;align-items:flex-start;padding:.8rem 0}.chapter-item{flex-direction:column}}.auth-status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.auth-card h1{font-size:clamp(2rem,5vw,3.8rem)}.auth-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem;margin:.25rem 0 0;color:var(--color-text-muted)}.auth-links a{color:var(--color-primary);font-weight:750}.notice{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--color-surface-muted);color:var(--color-text);margin:1rem 0}.notice.success{border-color:color-mix(in srgb,#2f855a,var(--color-border) 55%);background:color-mix(in srgb,#2f855a,var(--color-surface) 88%)}.notice.error{border-color:color-mix(in srgb,var(--color-danger),var(--color-border) 45%);background:color-mix(in srgb,var(--color-danger),var(--color-surface) 90%)}.notice.info{border-color:color-mix(in srgb,var(--color-accent),var(--color-border) 45%);background:color-mix(in srgb,var(--color-accent),var(--color-surface) 90%)}button:disabled,.btn[aria-disabled=true]{opacity:.65;cursor:progress;transform:none}.account-panel{padding:clamp(1.4rem,4vw,2.4rem)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}.profile-grid div{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;background:var(--color-surface-muted);min-width:0}.profile-grid strong,.profile-grid span{display:block}.profile-grid strong{color:var(--color-text-muted);font-size:.85rem;margin-bottom:.25rem}.profile-grid span{overflow-wrap:anywhere;font-weight:750}.admin-guard{padding:clamp(1.2rem,4vw,2rem);max-width:820px}.admin-content.hidden+*{display:none}@media(max-width:620px){.auth-status{width:100%}.auth-status .btn{flex:1;min-width:max-content}}
