:root{
  color-scheme:light only;
  --header-h:58px;--gutter:24px;--r-card:10px;--r-sm:7px;
  --paper:#f8faf9;--white:#fff;--ink:#131a18;--teal:#0b605a;--dark-teal:#042421;--teal-2:#0f7268;--teal-line:#74c5b3;--teal-soft:#aaddd0;--amber:#e6a93c;--amber-light:#f0bd63;--red:#c84b42;--green:#2bb673;--line:#dbe1de;--line-soft:#e9ecea;--muted:#647069;--muted-2:#8b9692;
  background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}body:not(.reader-body){min-height:100svh;display:flex;flex-direction:column}body:not(.reader-body)>main{flex:1 0 auto}a{color:var(--teal)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}::selection{background:var(--teal-soft);color:var(--dark-teal)}
.site-header{z-index:80;-webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);background:#f8faf9f0;border-bottom:1px solid #131a1814;position:fixed;inset:0 0 auto;min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:calc(20px + env(safe-area-inset-left)) calc(20px + env(safe-area-inset-right));box-shadow:0 1px 0 #fff8}
.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:9px;font-size:.95rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--amber);color:#14201d;font-weight:900;box-shadow:inset 0 0 0 1px #cf9020}.site-header nav{align-self:stretch;align-items:center;gap:1px;display:flex}.site-header nav a{border-radius:var(--r-sm);color:#49544f;white-space:nowrap;align-items:center;gap:5px;margin-block:10px;padding:7px 11px;font-size:.84rem;font-weight:700;text-decoration:none;display:inline-flex}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--teal);background:#eff8f5}.site-header nav .btn,.btn.small{min-height:38px;padding:8px 14px}
main{padding-top:var(--header-h)}.container{width:100%;max-width:1200px;padding-inline:calc(var(--gutter) + env(safe-area-inset-left)) calc(var(--gutter) + env(safe-area-inset-right));margin-inline:auto}.hero{min-height:100svh;text-align:center;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:calc(var(--header-h) + clamp(30px,5vw,62px)) var(--gutter) clamp(48px,8vw,86px);background:radial-gradient(80% 70% at 50% 0,#aaddd03b,#0000 62%),linear-gradient(180deg,#f8faf9,#eef5f2 60%,#f8faf9)}.hero>section{max-width:900px}.hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:19ch;margin:18px auto 0;font-size:clamp(2.1rem,5.7vw,4.2rem);font-weight:800;line-height:1.03}.hero h1:after{content:"";width:72px;height:3px;border-radius:99px;background:var(--amber);display:block;margin:22px auto 0}.hero p{color:#49544f;max-width:62ch;margin:20px auto 0;font-size:clamp(.98rem,1.45vw,1.08rem);line-height:1.68}.actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.hero-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);width:min(760px,100%);margin-top:clamp(28px,5vw,48px);padding:18px;text-align:left;box-shadow:0 34px 60px -46px #04242180}.hero-card strong{display:block;color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.hero-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:14px 0 0;padding:0;list-style:none;background:var(--line);border:1px solid var(--line)}.hero-card li{background:#fcfdfd;padding:13px 14px;color:#3d4845;font-size:.86rem}.hero-card li:before{content:"✓";color:var(--teal);font-weight:900;margin-right:8px}.pill,.tag{letter-spacing:.08em;border-radius:999px;align-items:center;gap:7px;padding:6px 11px;font:700 .64rem/1.2 "JetBrains Mono",ui-monospace,monospace;display:inline-flex}.pill,.pill-t{color:var(--teal);background:#0b605a17}.tag{color:#8a5f0d;background:#e6a93c29;text-transform:uppercase}
.btn{letter-spacing:-.004em;text-align:center;cursor:pointer;border:1.5px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 20px;font:800 .94rem/1.15 "Plus Jakarta Sans",system-ui,sans-serif;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s;display:inline-flex;background:var(--amber);color:#241b08;border-color:#cf9020;box-shadow:0 1px #c2861a,0 8px 18px -10px #a8710fb3}.btn:hover{background:var(--amber-light);border-color:#c2861a}.btn:active{transform:translateY(1px)}.btn.ghost,.btn-secondary{background:var(--white);color:var(--teal);border-color:#0b605a52;box-shadow:none}.btn.ghost:hover,.btn-secondary:hover{border-color:var(--teal);background:#0b605a12}.btn.small{border-radius:var(--r-card);font-size:.82rem}
.card,.panel{border:1px solid var(--line);border-radius:var(--r-card);background:var(--white);padding:20px;box-shadow:0 16px 40px -30px #04242173}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.books{margin-top:24px}.books .card{min-height:210px;display:grid;align-content:start}.books .card h2{letter-spacing:-.02em;margin:14px 0 8px;font-size:1.15rem;line-height:1.25}.books .card p,.muted{color:var(--muted);line-height:1.6}.container>h1{letter-spacing:-.04em;margin:34px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.auth{min-height:calc(100svh - var(--header-h));display:grid;place-items:center;padding:calc(var(--header-h) + 28px) 20px 42px;background:linear-gradient(180deg,#f8faf9,#eef5f2)}.auth .panel{width:min(430px,100%)}.panel h1{letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(1.55rem,4vw,2.1rem)}label{display:grid;gap:7px;margin:12px 0;color:#40504a;font-size:.86rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #cbd8d4;border-radius:var(--r-sm);background:var(--white);color:var(--ink);padding:11px 12px;font:500 .92rem/1.45 "Plus Jakarta Sans",system-ui,sans-serif}input:focus,select:focus,textarea:focus{border-color:#3d9289;box-shadow:0 0 0 3px #3d92891c;outline:0}textarea{min-height:96px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.flash{width:min(920px,calc(100% - 32px));margin:calc(var(--header-h) + 16px) auto -34px;padding:13px 16px;border-radius:var(--r-card);font-weight:700}.flash.ok{background:#2bb67312;border:1px solid #2bb67359;color:#177a4c}.flash.err{background:#c84b420f;border:1px solid #c84b4259;color:#8a322c}.table-wrap{-webkit-overflow-scrolling:touch;overflow:auto;margin-top:20px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--white)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{color:var(--muted-2);letter-spacing:.1em;text-transform:uppercase;background:#edf5f2;font:700 .62rem "JetBrains Mono",ui-monospace,monospace}td{font-size:.86rem;color:#333d39}.site-footer{color:#b6c0bc;background:#0a0f0e;text-align:center;margin-top:auto;padding:34px 20px;font-size:.82rem}
.reader-body{background:#0f172a;color:#e5e7eb;padding-bottom:0;overflow:hidden;display:block;min-height:0}.reader-body .site-header{display:none}.reader-body .site-footer{display:none}.reader{height:100svh;padding-top:0;display:grid;grid-template-rows:auto 1fr;background:#0f172a;position:relative;overflow:hidden}.reader-toolbar{z-index:30;min-height:40px;display:flex;align-items:center;gap:10px;padding:5px 10px 8px;position:relative;background:#0b1220e8;-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid #263244;box-shadow:0 12px 26px -24px #000;transition:transform .22s ease,opacity .18s ease}.reader-toolbar strong{min-width:120px;max-width:36vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;margin-right:auto}.reader-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.reader-toolbar button,.reader-toolbar-peek{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid #334155;background:#172033;color:#e5e7eb;border-radius:7px;padding:5px 9px;font:800 .75rem/1 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}.reader-toolbar button:hover,.reader-toolbar-peek:hover{border-color:#5b718f;background:#1d2a42}.reader-toolbar button:disabled{opacity:.42;cursor:not-allowed}.reader-toolbar input{width:58px;padding:4px 6px;min-height:30px;background:#0b1220;color:#e5e7eb;border-color:#334155;text-align:center}.reader-page-control{color:#cbd5e1;font-size:.78rem;white-space:nowrap}.reader-toolbar-peek{position:absolute;z-index:31;top:8px;right:10px;width:34px;justify-content:center;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.reader.toolbar-hidden .reader-toolbar{transform:translateY(-105%);opacity:0;pointer-events:none}.reader.toolbar-hidden .reader-toolbar-peek{opacity:.82;pointer-events:auto;transform:translateY(0)}.reader[data-toolbar-mode="always"] .reader-toolbar-peek{display:none}.reader-stage{position:relative;overflow:auto;display:grid;place-items:start center;background:#0f172a;padding:18px 16px 28px;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:26px 26px}.reader-stage img{max-width:min(100%,1100px);height:auto;background:white;box-shadow:0 18px 70px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none}.reader-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff12;overflow:hidden}.reader-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--teal-soft));transition:width .18s ease}.reader-progress-floating{position:absolute;left:12px;right:12px;bottom:10px;z-index:24;height:4px;background:#ffffff18;border-radius:99px;overflow:visible;box-shadow:0 0 0 1px #00000024;pointer-events:none}.reader-progress-floating span{position:absolute;right:0;bottom:8px;color:#cbd5e1;background:#0b1220d9;border:1px solid #334155;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:800}.reader-progress-floating i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber),var(--teal-soft));border-radius:999px;transition:width .18s ease}.btn-icon{line-height:1;font-size:.9rem}.btn-text{line-height:1}.reader:fullscreen{width:100vw;height:100vh}.reader:fullscreen .reader-stage{padding:12px;background:#060b15}.reader:fullscreen .reader-progress-floating{bottom:12px;left:14px;right:14px}.reader:fullscreen .reader-stage img{max-width:min(100%,1180px)}
@media (width<=760px){:root{--gutter:16px}.site-header{align-items:flex-start;gap:8px;flex-direction:column;padding-block:8px;min-height:auto}.site-header nav{width:100%;overflow:auto;gap:4px}.site-header nav a{margin-block:0;min-height:38px}.hero{padding-top:112px}.hero-card ul{grid-template-columns:1fr}.actions .btn{width:100%}.container{padding-inline:16px}.reader{padding-top:0}.reader-toolbar{align-items:flex-start;gap:6px;padding:6px 8px}.reader-toolbar strong{max-width:100%;width:100%;font-size:.8rem}.reader-controls{width:100%;justify-content:flex-start;gap:5px}.reader-toolbar button,.reader-toolbar-peek{min-height:28px;padding:5px 7px;font-size:.68rem}.reader-toolbar .btn-text,.reader-toolbar .page-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.reader-page-control{font-size:.72rem}.reader-toolbar input{width:48px;min-height:28px}.reader-stage{padding:8px}.btn{width:100%;min-height:50px}.table-wrap>table{min-width:620px}}
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}
body[data-theme="light"].reader-body .reader-stage{background:#eef5f2;background-image:linear-gradient(#0b605a0d 1px,#0000 1px),linear-gradient(90deg,#0b605a0d 1px,#0000 1px)}body[data-theme="light"].reader-body .reader-toolbar{background:#f8faf9e8;color:#131a18;border-bottom-color:#dbe1de}body[data-theme="light"].reader-body .reader-page-control{color:#47524d}body[data-theme="light"].reader-body .reader-progress-floating span{background:#ffffffe8;color:#131a18;border-color:#dbe1de}body[data-theme="light"].reader-body .reader-toolbar button,body[data-theme="light"].reader-body .reader-toolbar-peek{background:#fff;color:#131a18;border-color:#dbe1de}body[data-theme="sepia"].reader-body .reader-stage{background:#efe5cf;background-image:linear-gradient(#8a5f0d12 1px,#0000 1px),linear-gradient(90deg,#8a5f0d12 1px,#0000 1px)}body[data-theme="sepia"].reader-body .reader-toolbar{background:#f7eedce8;color:#241b08;border-bottom-color:#e0cda8}body[data-theme="sepia"].reader-body .reader-page-control{color:#6d4c13}body[data-theme="sepia"].reader-body .reader-progress-floating span{background:#fff8e9e8;color:#241b08;border-color:#e0cda8}body[data-theme="sepia"].reader-body .reader-toolbar button,body[data-theme="sepia"].reader-body .reader-toolbar-peek{background:#fff8e9;color:#241b08;border-color:#e0cda8}

/* reader polish + admin access */
.reader-back{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid #334155;background:#172033;color:#e5e7eb;border-radius:7px;padding:5px 9px;font:800 .75rem/1 "Plus Jakarta Sans",system-ui,sans-serif;text-decoration:none;white-space:nowrap}.reader-back:hover{border-color:#5b718f;background:#1d2a42;color:#fff}.reader-toolbar button.is-saved{border-color:#e6a93c;background:#3a2b0d;color:#ffe2a3}.reader-stage img{transition:max-width .16s ease,width .16s ease,transform .16s ease}.reader[data-fit="width"] .reader-stage{place-items:start center}.reader[data-fit="custom"] .reader-stage{place-items:start center}.reader-drawer{position:absolute;z-index:29;top:42px;left:10px;bottom:18px;width:min(280px,calc(100% - 20px));transform:translateX(calc(-100% - 18px));transition:transform .18s ease;background:#0b1220ee;border:1px solid #334155;border-radius:10px;box-shadow:0 24px 60px -32px #000;color:#e5e7eb;padding:12px;overflow:auto}.reader.toc-open .reader-drawer{transform:translateX(0)}.reader-drawer>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reader-drawer strong{display:block;margin:10px 0 8px;color:#cbd5e1;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.reader-drawer button{width:100%;border:1px solid #334155;background:#111a2c;color:#e5e7eb;border-radius:7px;padding:8px 10px;text-align:left;margin:4px 0;cursor:pointer;font-weight:700}.reader-drawer button:hover,.reader-drawer button.active{border-color:#e6a93c;background:#2b250f;color:#ffe2a3}.reader-drawer [data-toc-close]{width:auto;margin:0;padding:4px 8px;text-align:center}.toc-empty{color:#94a3b8;font-size:.82rem;margin:6px 0 12px}.admin-grid{align-items:start}.inline-form{display:inline;margin:0}.link-button{border:0;background:none;color:var(--red);font:800 .82rem "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;padding:0;text-decoration:underline}.link-button:hover{color:#8a322c}code{background:#0b605a12;color:var(--teal);border:1px solid #0b605a25;border-radius:6px;padding:2px 5px;font-size:.85em}
body[data-theme="light"].reader-body .reader-back,body[data-theme="light"].reader-body .reader-drawer,body[data-theme="light"].reader-body .reader-drawer button{background:#fff;color:#131a18;border-color:#dbe1de}body[data-theme="light"].reader-body .reader-drawer strong{color:#47524d}body[data-theme="light"].reader-body .reader-drawer button:hover,body[data-theme="light"].reader-body .reader-drawer button.active{background:#f6efe0;border-color:#e6a93c;color:#241b08}body[data-theme="light"].reader-body .reader-back:hover{background:#eef5f2;color:#131a18}body[data-theme="sepia"].reader-body .reader-back,body[data-theme="sepia"].reader-body .reader-drawer,body[data-theme="sepia"].reader-body .reader-drawer button{background:#fff8e9;color:#241b08;border-color:#e0cda8}body[data-theme="sepia"].reader-body .reader-drawer strong{color:#6d4c13}body[data-theme="sepia"].reader-body .reader-drawer button:hover,body[data-theme="sepia"].reader-body .reader-drawer button.active{background:#f1dfbb;border-color:#d19a30;color:#241b08}body[data-theme="sepia"].reader-body .reader-back:hover{background:#f1dfbb;color:#241b08}
@media (width<=760px){.reader-back .btn-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.reader-back{min-height:28px;padding:5px 7px;font-size:.68rem}.reader-drawer{top:76px;left:8px;bottom:16px;width:calc(100% - 16px)}}
.reader-drawer button small{float:right;color:inherit;opacity:.68;font-size:.72rem}.reader-drawer button span{display:inline-block;max-width:78%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-heading h1{margin-bottom:6px}@media(width<=760px){.page-heading{display:block}.page-heading .btn{margin-top:12px}}
.bulk-chapter-panel textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55}.checkline{display:flex;align-items:center;gap:9px;margin:10px 0;color:var(--muted);font-weight:700}.checkline input{width:auto;min-height:auto}

.action-links{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center}.action-links a{font-weight:800;text-decoration:none}.action-links a:not(:last-child)::after{content:""}.watermark-form{max-width:900px}.watermark-form input[type="checkbox"]{width:auto;min-height:auto}.site-footer{box-shadow:inset 0 1px 0 #ffffff12}
.switchline{display:flex;align-items:center;gap:11px;margin:12px 0;color:#40504a;font-weight:800}.switchline input{position:absolute;opacity:0;pointer-events:none}.switch-ui{width:48px;height:28px;border-radius:999px;background:#cbd8d4;border:1px solid #b9c8c3;position:relative;display:inline-block;flex:0 0 auto;transition:background .16s,border-color .16s,box-shadow .16s}.switch-ui:before{content:"";position:absolute;width:22px;height:22px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0424212b;transition:transform .16s}.switchline input:checked+.switch-ui{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 3px #0b605a18}.switchline input:checked+.switch-ui:before{transform:translateX(20px)}.switchline input:focus-visible+.switch-ui{outline:2px solid var(--ink);outline-offset:2px}.storage-form{max-width:980px}.storage-form .actions,.page-heading .actions{display:flex;flex-wrap:wrap;gap:10px}.watermark-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}


/* Blocking progress overlay for long-running admin actions */
.process-overlay{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:24px;background:rgba(4,36,33,.58);-webkit-backdrop-filter:blur(7px) saturate(130%);backdrop-filter:blur(7px) saturate(130%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.process-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto}.is-processing body,.is-processing{cursor:progress}.is-processing body>*:not(.process-overlay){pointer-events:none;user-select:none}.process-card{width:min(420px,100%);border:1px solid #ffffff30;border-radius:16px;background:#f8faf9;color:var(--ink);box-shadow:0 34px 90px -38px #000;padding:26px;text-align:center}.process-icon{width:58px;height:58px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#0b605a12;border:1px solid #0b605a28}.process-icon span{width:32px;height:32px;border-radius:50%;border:4px solid #aaddd0;border-top-color:var(--teal);animation:process-spin .85s linear infinite}.process-card strong{display:block;font-size:1.1rem;letter-spacing:-.02em}.process-card p{max-width:34ch;margin:10px auto 0;color:var(--muted);line-height:1.55}.process-card small{display:block;margin-top:12px;color:var(--muted-2);font-size:.76rem;line-height:1.45}.process-bar{height:8px;border-radius:999px;background:#dbe1de;overflow:hidden;margin-top:18px}.process-bar i{display:block;height:100%;width:42%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--amber),var(--teal-soft));animation:process-bar 1.2s ease-in-out infinite}@keyframes process-spin{to{transform:rotate(360deg)}}@keyframes process-bar{0%{transform:translateX(-115%)}100%{transform:translateX(255%)}}@media (prefers-reduced-motion:reduce){.process-icon span,.process-bar i{animation:none}.process-bar i{width:100%;transform:none}}


/* Password visibility, admin user management, and safer flash layout */
.password-field{position:relative;display:block;width:100%}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:1px solid #cbd8d4;border-radius:8px;background:#f8faf9;color:var(--teal);display:grid;place-items:center;cursor:pointer;font-weight:900;line-height:1}.password-toggle:hover{background:#eef5f2;border-color:#74c5b3}.password-toggle .eye-open{display:none}.password-toggle[aria-pressed="true"] .eye-open{display:inline}.password-toggle[aria-pressed="true"] .eye-closed{display:none}.flash{position:relative;z-index:70;margin:calc(var(--header-h) + 18px) auto 18px;max-width:min(920px,calc(100% - 32px));white-space:normal;overflow-wrap:anywhere;line-height:1.55;box-shadow:0 14px 34px -26px #04242180}.auth .flash{margin-bottom:0}.status-pill,.pill-mini{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font:800 .68rem/1 "Plus Jakarta Sans",system-ui,sans-serif;white-space:nowrap}.status-pill.ok{background:#2bb67318;color:#177a4c;border:1px solid #2bb67355}.status-pill.bad{background:#c84b4214;color:#8a322c;border:1px solid #c84b4255}.pill-mini{margin-left:6px;background:#0b605a12;color:var(--teal);border:1px solid #0b605a25}.user-form{margin-bottom:22px}.link-button.danger{color:var(--red)}.link-button.danger:hover{color:#8a322c}@media(width<=760px){.flash{margin-top:calc(var(--header-h) + 70px);max-width:calc(100% - 24px)}}


/* Dashboard infographic polish + per-book reader print */
.dashboard-page{padding-bottom:46px}.dashboard-hero{margin-top:28px;border:1px solid var(--line);border-radius:24px;background:radial-gradient(circle at 82% 12%,#e6a93c40,#0000 28%),linear-gradient(135deg,#063b36,#0b605a 52%,#0f7268);color:#fff;padding:clamp(22px,4vw,38px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;overflow:hidden;position:relative;box-shadow:0 30px 70px -50px #042421}.dashboard-hero:before{content:"";position:absolute;inset:auto -40px -80px auto;width:260px;height:260px;border-radius:50%;background:#fff1;filter:blur(1px)}.dashboard-hero>*{position:relative}.dashboard-hero h1{letter-spacing:-.045em;font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:14px 0 10px}.dashboard-hero p{color:#d7f4ec;max-width:62ch;line-height:1.65}.dashboard-hero .pill{background:#ffffff20;color:#fff;border:1px solid #ffffff26}.dashboard-hero .btn.ghost{background:#ffffff12;color:#fff;border-color:#ffffff55}.dash-ring{--pct:0;width:178px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--amber) calc(var(--pct)*1%),#ffffff24 0);box-shadow:inset 0 0 0 14px #ffffff14,0 24px 60px -34px #000;animation:dashPop .5s ease both}.dash-ring:before{content:"";position:absolute;width:122px;aspect-ratio:1;border-radius:50%;background:#063b36}.dash-ring span,.dash-ring small{position:relative;display:block;text-align:center}.dash-ring span{font-size:2.1rem;font-weight:900}.dash-ring small{margin-top:44px;color:#cdeee6;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.dash-stat{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 18px 42px -34px #042421;overflow:hidden}.dash-stat span{color:var(--muted);font-weight:800;font-size:.78rem}.dash-stat strong{display:block;margin:6px 0 13px;font-size:2rem;letter-spacing:-.04em}.dash-stat i,.reading-item i{display:block;height:7px;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--amber));width:var(--w);max-width:100%;transition:width .45s ease}.dash-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;align-items:start}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0;font-size:1.12rem}.section-head a{font-weight:900;text-decoration:none}.reading-list,.mini-books{display:grid;gap:10px}.reading-item,.mini-books a{position:relative;display:grid;gap:8px;padding:14px;border:1px solid var(--line-soft);border-radius:13px;background:#fbfdfc;text-decoration:none;color:var(--ink);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.reading-item{grid-template-columns:1fr auto}.reading-item:hover,.mini-books a:hover{transform:translateY(-1px);border-color:#74c5b3;box-shadow:0 16px 34px -30px #042421}.reading-item strong,.mini-books strong{display:block;color:var(--ink)}.reading-item small,.mini-books small{color:var(--muted);font-size:.78rem}.reading-item i{grid-column:1/-1;height:6px}.reading-item b{color:var(--teal)}.mini-books .tag{width:max-content}.print-pill{border:1px solid #cbd8d4;border-radius:999px;padding:6px 10px;font:900 .72rem/1 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;background:#f4f7f6;color:#647069}.print-pill.on{background:#2bb67314;color:#177a4c;border-color:#2bb67355}.print-pill.off{background:#c84b420f;color:#8a322c;border-color:#c84b4255}@keyframes dashPop{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(width<=860px){.dashboard-hero{grid-template-columns:1fr}.dash-ring{width:150px}.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}}@media(width<=560px){.dash-stats{grid-template-columns:1fr}.dashboard-hero .actions .btn{width:100%}}
@media print{body:not(.print-enabled){display:none!important}body.print-enabled.reader-body{background:#fff!important;color:#000!important;overflow:visible!important}.print-enabled .reader-toolbar,.print-enabled .reader-toolbar-peek,.print-enabled .reader-drawer,.print-enabled .reader-progress-floating,.print-enabled .reader-progress{display:none!important}.print-enabled .reader{display:block!important;height:auto!important;background:#fff!important}.print-enabled .reader-stage{display:block!important;overflow:visible!important;padding:0!important;background:#fff!important}.print-enabled .reader-stage img{display:block!important;max-width:100%!important;width:100%!important;height:auto!important;box-shadow:none!important;transform:none!important;margin:0 auto!important}html,body{print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{margin:10mm}}
