:root{color-scheme:light;--bg:#f5f6f8;--surface:#fff;--soft:#eff2f4;--ink:#243041;--muted:#596a80;--line:#e3e8ed;--brand:#235d52;--mint:#e8f2ec;--danger:#a93645;--gold:#d9bd8b;--nav:#142333}
[data-theme=dark]{color-scheme:dark;--bg:#101923;--surface:#192532;--soft:#22313e;--ink:#edf1f5;--muted:#a8b7c8;--line:#314252;--brand:#a0d8c4;--mint:#263f36;--danger:#ffacb7;--nav:#0c1620}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 'Segoe UI',system-ui,sans-serif}h1,h2,h3,h4,.brand{line-height:1.3}h1{font-size:clamp(28px,3vw,38px);letter-spacing:-1.3px;margin:0 0 9px;font-weight:750}h2{font-size:19px;letter-spacing:-.4px;margin:0 0 6px}h3{font-size:15px;margin:0 0 6px}p{margin:0 0 14px}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid var(--brand);outline-offset:4px}svg.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button svg{pointer-events:none}.muted,.small{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--brand);margin-bottom:12px}.skip{position:fixed;left:16px;top:-100px;background:var(--surface);padding:12px 20px;z-index:100;border:2px solid var(--brand);border-radius:8px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 16px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:600;font-size:12px;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--soft);text-decoration:none}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--surface)}[data-theme=dark] .btn.primary{color:#102820}.btn.small-btn{padding:6px 11px;min-height:34px;font-size:11px}.btn.danger{color:var(--danger)}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:9px;color:var(--muted)}.icon-btn:hover{background:var(--soft)}.flex{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.gap-sm{gap:6px}.stack{display:grid;gap:20px}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 20px #182a3a03}.pad{padding:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-head p{margin:5px 0 0;font-size:12px;color:var(--muted)}.section-head a{font-size:12px;font-weight:600}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-head p{margin:0;color:var(--muted);font-size:13px}.page-head h1{font-size:28px}.page-label{font-size:11px;color:var(--muted);margin-bottom:24px}.page-label span{margin:0 9px;opacity:.5}.sidebar{position:fixed;top:0;bottom:0;left:0;width:238px;background:var(--nav);color:#b2bfcd;padding:32px 18px 20px;z-index:40;display:flex;flex-direction:column;overflow:auto}.brand{display:inline-flex;align-items:center;gap:11px;font-size:27px;font-weight:750;letter-spacing:-1px;color:var(--ink)}.brand:hover{text-decoration:none}.brand-mark{display:flex;width:34px;height:37px;align-items:center;justify-content:center;color:#e5cfaa;border:1px solid #bfa77c80;border-radius:8px;font:700 29px Georgia,serif;background:#ffffff06}.sidebar .brand{color:white;margin:0 14px 38px}.brand-sub{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#9aaebe;margin:0 15px 13px}.side-links{display:grid;gap:6px}.side-links a{display:flex;align-items:center;gap:12px;padding:11px 15px;color:#b6c4d3;border-radius:7px;font-size:12px;font-weight:500}.side-links a:hover{background:#ffffff08;color:white;text-decoration:none}.side-links a.active{color:#fff;background:#ffffff10;box-shadow:inset 3px 0 0 #d6b378}.side-links .icon{width:18px;height:18px}.side-bottom{margin-top:auto;padding-top:24px}.side-note{padding:17px;margin:18px 4px;background:#ffffff07;border:1px solid #ffffff0d;border-radius:9px;font-size:11px}.side-note strong{color:#e1e8ed;display:block;margin-bottom:3px}.side-profile{display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff12;padding:20px 10px 0}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;color:var(--brand);background:var(--mint);flex:none}.side-profile .avatar{background:#d9c9ad;color:#233244}.side-profile strong{font-size:12px;color:#fff;display:block}.side-profile small{font-size:10px}.main-shell{margin-left:238px}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 38px;border-bottom:1px solid var(--line);background:var(--surface)}.topbar-title{font-size:12px;font-weight:600}.topbar .search-link{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.workspace{padding:30px 38px 48px;max-width:1530px;margin:auto;min-height:calc(100vh - 130px)}.mode-pill{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:3px 9px;color:var(--muted)}.mobile-menu{display:none}.app-footer{padding:0 38px 22px;color:var(--muted);display:flex;justify-content:space-between;font-size:10px}.public-header{background:var(--surface);border-bottom:1px solid var(--line)}.public-header .inner{max-width:1250px;margin:auto;padding:19px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-links{display:flex;gap:26px;align-items:center;font-size:12px;font-weight:600}.public-main{max-width:1250px;margin:0 auto;padding:38px 28px 64px;min-height:calc(100vh - 175px)}.public-footer{border-top:1px solid var(--line);padding:26px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;max-width:1250px;margin:auto}.welcome{background:linear-gradient(115deg,#eaf0eb,#f0f0e7);border:1px solid #dee7de;padding:25px 28px;border-radius:12px;position:relative;overflow:hidden;margin-bottom:26px;color:#243b35}.welcome h2{font-size:22px;margin-bottom:7px}.welcome p{color:#596e66;max-width:520px;margin-bottom:14px;font-size:12px}.welcome .eyebrow{font-size:9px;margin-bottom:8px}.welcome-decoration{position:absolute;right:36px;top:4px;font:140px Georgia,serif;opacity:.1;transform:rotate(-15deg)}[data-theme=dark] .welcome{background:#20362f;border-color:#304c42;color:#e1eae5}[data-theme=dark] .welcome p{color:#b0c6bc}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.stat{padding:20px 22px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--mint);color:var(--brand)}.stat strong{font-size:29px;display:block;margin:9px 0 3px;letter-spacing:-1px;line-height:1.4}.stat small{color:var(--muted);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px;margin-bottom:22px}.chart{height:187px;display:flex;gap:14px;align-items:flex-end;padding:15px 0 0;border-bottom:1px solid var(--line);margin:10px 0 12px}.chart-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;font-size:10px;color:var(--muted)}.chart-bar{width:70%;max-width:44px;min-height:3px;background:#8aaea2;border-radius:5px 5px 0 0;position:relative}.chart-bar span{position:absolute;top:-21px;width:100%;text-align:center;font-size:10px;color:var(--muted)}.chart-item:last-child .chart-bar{background:var(--brand)}.chart-caption{text-align:center;font-size:10px;color:var(--muted);margin-top:10px}.category-item{margin:17px 0}.category-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}.progress{height:6px;background:var(--soft);border-radius:6px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);border-radius:6px}.activity-item{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border:0}.activity-dot{width:8px;height:8px;background:#7d9c8d;border-radius:50%;margin-top:7px;flex:none}.activity-item p{font-size:12px;margin:0}.activity-item time{font-size:10px;color:var(--muted)}.table-wrap{overflow:auto;border-radius:10px}.table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}.table th{background:var(--soft);color:var(--muted);font-weight:600;font-size:9px;text-transform:uppercase;letter-spacing:.7px;padding:12px 15px}.table td{padding:14px 15px;border-bottom:1px solid var(--line)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--bg)}.table .title-cell{display:flex;align-items:center;gap:11px;max-width:300px}.title-cell strong{display:block;font-size:12px;white-space:normal}.title-cell small{color:var(--muted);font-size:10px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;background:var(--soft);color:var(--muted)}.badge.ok{color:#286647;background:#eaf4ec}.badge.warn{color:#805516;background:#fbf2df}.badge.danger{color:#a33745;background:#fbecef}[data-theme=dark] .badge.ok{color:#a2dcb5;background:#263e32}[data-theme=dark] .badge.warn{color:#ebcc8e;background:#403723}[data-theme=dark] .badge.danger{color:#ffb0bc;background:#422b34}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px;flex-wrap:wrap}.filters{display:flex;gap:12px;flex:1;flex-wrap:wrap}.search-field{position:relative;max-width:350px;min-width:180px;flex:1}.search-field .icon{position:absolute;left:12px;top:12px;width:17px;color:var(--muted)}.search-field input{padding-left:39px}.input,select,textarea{display:block;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:11px 13px;color:var(--ink);width:100%;min-height:44px;font-size:12px}select{width:auto;min-width:140px}textarea{min-height:110px;resize:vertical}label{display:block;font-weight:600;font-size:12px;margin-bottom:7px}.field{margin-bottom:20px}.field small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.form-grid .full{grid-column:1/-1}.form-width{max-width:780px}.form-actions{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.form-error{color:var(--danger);background:var(--soft);border-radius:8px;padding:12px;margin:12px 0;font-size:12px}.form-error:empty{display:none}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.book-tile{padding:13px 13px 17px}.book-art{height:240px;background:var(--soft);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:15px;position:relative}.book-cover{width:134px;height:186px;background:var(--cover,#284f4b);color:#f6edd7;box-shadow:8px 12px 15px #0002,inset 5px 0 #ffffff14,inset 8px 0 #0001;position:relative;padding:22px 16px 15px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-4deg);border-radius:2px 5px 5px 2px;border:1px solid #ffffff25}.book-cover:before{content:'';position:absolute;inset:10px;border:1px solid #f8ebc53d}.book-cover:after{content:'✦';font-size:49px;position:absolute;top:60px;left:0;right:0;text-align:center;color:#ead8a063}.book-cover b{font:17px/1.2 Georgia,serif;z-index:1;max-height:83px;overflow:hidden}.book-cover span{font-size:8px;text-transform:uppercase;letter-spacing:1.1px;z-index:1}.book-tile h3{font-size:13px;margin-bottom:4px}.book-tile h3 a{color:var(--ink)}.book-tile p{font-size:11px;color:var(--muted);margin-bottom:12px}.book-tile .category{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.mini-cover{width:29px;height:39px;border-radius:2px;background:var(--cover,#284f4b);display:grid;place-items:center;flex:none;color:#f6edd7;font:18px Georgia,serif;box-shadow:inset 3px 0 #ffffff22}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;color:var(--muted);font-size:11px}.empty{text-align:center;padding:54px 22px;grid-column:1/-1}.empty .icon{width:35px;height:35px;color:var(--muted);margin-bottom:12px}.empty p{max-width:420px;margin:6px auto 20px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;padding:45px 0 60px;align-items:center}.hero h1{font-size:clamp(40px,5vw,64px);line-height:1.12;letter-spacing:-2.5px;margin-bottom:23px;max-width:600px}.hero h1 em{font-family:Georgia,serif;color:var(--brand);font-weight:400}.hero p{font-size:15px;max-width:440px;color:var(--muted);line-height:1.8;margin-bottom:25px}.hero-visual{height:370px;border-radius:24px;background:#e8ede5;display:flex;align-items:center;justify-content:center;position:relative}.hero-visual .book-cover{width:155px;height:219px;transform:rotate(-16deg) translateX(18px)}.hero-visual .book-cover:nth-child(2){transform:rotate(12deg) translateX(-15px) translateY(20px);background:#8e533e}.hero-caption{position:absolute;bottom:26px;left:28px;font-size:11px;letter-spacing:1px;color:#526354}.hero-tag{position:absolute;right:18px;top:23px;background:#fffc;border-radius:9px;padding:9px 15px;color:#365b45;font-size:11px}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:27px 0;border-block:1px solid var(--line);margin-bottom:43px}.feature-strip .icon{color:var(--brand);width:27px;height:27px}.feature-strip h3{font-size:13px}.feature-strip p{font-size:12px;color:var(--muted);margin:0}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:960px;margin:25px auto;min-height:590px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}.auth-story{background:#163b35;color:#e5eee8;padding:50px 38px;display:flex;flex-direction:column;justify-content:space-between}.auth-story h2{font-size:34px;font-weight:500;letter-spacing:-1px;line-height:1.3}.auth-story p{color:#afc4ba;font-size:13px}.auth-story .brand{color:#fff}.auth-story .quote{font-family:Georgia,serif;font-style:italic;font-size:22px;line-height:1.6}.auth-form{padding:45px 38px}.auth-form h1{font-size:26px}.auth-form>p{color:var(--muted);font-size:13px;margin-bottom:27px}.demo-accounts{border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.demo-accounts summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:12px}.demo-account{font-size:11px;padding:9px 0}.demo-account code{display:block;font-size:10px;color:var(--muted)}.auth-submit{width:100%}.notice{background:var(--mint);color:var(--brand);border-radius:9px;padding:15px 18px;font-size:12px;margin-bottom:23px}.detail-layout{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start;margin:25px 0}.detail-layout .book-art{height:410px;margin:0}.detail-layout .book-cover{width:208px;height:291px;padding:35px 25px}.detail-layout .book-cover b{font-size:28px;max-height:130px}.detail-layout .book-cover:after{top:100px;font-size:80px}.detail-layout .book-cover span{font-size:12px}.detail-content h1{font-size:36px;margin:8px 0 10px}.detail-content .description{font-size:15px;line-height:1.9;color:var(--muted);margin:25px 0}.metadata{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.metadata dt{font-size:11px;color:var(--muted);margin-bottom:4px}.metadata dd{margin:0;font-size:13px;font-weight:600}.detail-content .btn{margin-top:15px}.account-header{display:flex;align-items:center;gap:18px;margin-bottom:24px}.account-header .avatar{width:64px;height:64px;font-size:22px}.faq{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:14px;font-weight:600;cursor:pointer}.faq p{color:var(--muted);padding-top:12px;font-size:13px;max-width:750px;margin:0}.toast{position:fixed;bottom:25px;right:25px;max-width:calc(100vw - 40px);background:var(--ink);color:var(--surface);padding:14px 22px;border-radius:10px;box-shadow:0 6px 30px #0002;z-index:90;font-size:13px}.toast:empty{display:none}dialog{border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);max-width:450px;width:calc(100% - 40px);padding:28px;box-shadow:0 15px 60px #0003}dialog::backdrop{background:#10203280;backdrop-filter:blur(3px)}dialog p{margin:15px 0 24px;color:var(--muted)}dialog .form-actions{justify-content:flex-end}.skeleton{min-height:110px;background:linear-gradient(100deg,var(--soft) 35%,var(--surface) 50%,var(--soft) 65%);background-size:250% 100%;animation:shimmer 1.5s infinite;border-radius:12px}.loading-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.error-page{max-width:650px;margin:50px auto;text-align:center}.reading-banner{background:#193c36;color:#edf2eb;padding:26px;border-radius:12px;display:flex;justify-content:space-between;gap:20px;margin-bottom:26px}.reading-banner p{color:#bed0c5;margin:7px 0 0;font-size:13px}.reading-banner .btn{align-self:center;background:#e7d7b5;color:#233e34;border:0}.cover-0{--cover:#28564e}.cover-1{--cover:#84513f}.cover-2{--cover:#38516d}.cover-3{--cover:#745d41}.cover-4{--cover:#674b64}.cover-5{--cover:#3e626b}
.auth-story .story-title{font-size:34px;color:#e5eee8;font-weight:500;letter-spacing:-1px;line-height:1.3}.auth-form{min-width:0}.workspace,.dashboard-grid>*,.grid>*{min-width:0}.form-error:focus{outline:2px solid var(--danger)}.book-tile h2{font-size:14px}.book-tile h2 a{color:var(--ink)}.empty p,.side-note,.page-head p{overflow-wrap:anywhere}.pagination{flex-wrap:wrap}.pagination>.flex{flex-wrap:wrap}.table-wrap:focus-visible{outline-offset:2px}
@keyframes shimmer{to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(min-width:1550px){.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1150px){.sidebar{width:210px;padding-inline:13px}.main-shell{margin-left:210px}.workspace{padding:28px 25px}.topbar{padding-inline:25px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{gap:12px}.stat{padding:16px}.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}}@media(max-width:900px){.stats{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.hero{gap:25px}.hero-visual{height:330px}.hero-visual .book-cover{width:120px;height:175px}.detail-layout{grid-template-columns:250px 1fr;gap:28px}.topbar .search-link{display:none}.auth-story{padding:35px 27px}.auth-form{padding:35px 27px}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0007}.main-shell{margin:0}.mobile-menu{display:inline-flex}.topbar{height:68px;padding:0 18px;gap:10px}.topbar-title{font-size:12px}.topbar .mode-pill{display:none}.workspace{padding:24px 18px}.app-footer{padding-inline:18px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:23px}.page-head h1{font-size:25px}.page-head p{font-size:12px}.welcome{padding:23px}.welcome h2{font-size:20px}.welcome-decoration{display:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.book-art{height:205px}.book-cover{width:116px;height:162px;padding:20px 14px 14px}.book-cover b{font-size:15px}.grid.two,.grid.three{grid-template-columns:1fr}.public-header .inner{padding:16px 18px;gap:12px;flex-wrap:wrap}.public-links{gap:16px;font-size:12px}.public-links .optional{display:none}.public-main{padding:26px 18px 40px}.public-header .brand{font-size:24px}.public-header .btn{padding:8px 12px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:16px;gap:30px}.hero h1{font-size:43px}.hero-visual{height:300px}.hero-visual .book-cover{width:140px;height:200px}.feature-strip{gap:18px;grid-template-columns:1fr;padding:25px 0}.auth-layout{grid-template-columns:1fr;margin:0;min-height:auto}.auth-story{display:none}.auth-form{padding:30px 24px}.detail-layout{grid-template-columns:1fr;gap:28px}.detail-layout .book-art{height:310px}.detail-layout .book-cover{width:170px;height:240px}.detail-layout .book-cover b{font-size:23px}.detail-content h1{font-size:29px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.filters{width:100%}.toolbar select{flex:1;min-width:120px}.search-field{max-width:none;width:100%;flex-basis:100%}.pad{padding:19px}.public-footer{flex-direction:column;gap:8px}.reading-banner{flex-direction:column}.reading-banner .btn{align-self:flex-start}.section-head h2{font-size:17px}.app-footer .optional{display:none}}@media(max-width:380px){.catalog-grid{gap:10px}.book-tile{padding:9px}.book-art{height:175px}.book-cover{width:100px;height:143px}.book-cover b{font-size:13px}.stats{gap:10px}.stat{padding:14px}.topbar .avatar{display:none}}
