*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--ink:#10192b;--ink-2:#1a2740;--ink-3:#22314d;--paper:#f6f2e7;--paper-card:#fffdf8;--paper-border:#e2dac2;--paper-border-soft:#ece5d2;--garnet:#7c1a26;--garnet-dark:#59131d;--garnet-bright:#93202e;--gold:#b3872f;--gold-bright:#c99c3c;--gold-light:#f3e6c6;--gold-line:#d9bd7e;--ink-text:#1c1a14;--font-serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace}html{background:var(--paper)}body.library-shell{min-height:100vh;background:radial-gradient(rgba(16,25,43,.05) 1px,transparent 1px),var(--paper);background-size:22px 22px;color:var(--ink-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}::-moz-selection{background:var(--garnet);color:#fff}::selection{background:var(--garnet);color:#fff}h1,h2{font-family:var(--font-serif);letter-spacing:-.01em}.grid>*{min-width:0}.site-header{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--ink) 0,var(--ink-2) 100%);border-bottom:1px solid var(--gold-line);box-shadow:0 2px 10px rgba(16,25,43,.18)}.site-footer{margin-top:auto;background:var(--ink);border-top:1px solid var(--gold-line);color:#cbd0dc}.tabbar-icon-btn{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:#cbd0dc}.tabbar-icon-btn:focus-visible,.tabbar-icon-btn:hover{background:hsla(0,0%,100%,.08);color:var(--gold-bright)}.tabbar-icon-btn svg{height:1.25rem;width:1.25rem}.nav-mobile-logout,.tabbar{display:none}.footer-link{font-weight:500;text-decoration-line:underline;text-decoration-color:hsla(0,0%,100%,.2);text-underline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:#cbd0dc}.footer-link:focus-visible,.footer-link:hover{color:var(--gold-bright);decoration-color:var(--gold)}.brand-link{display:inline-flex;align-items:center;gap:.75rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;letter-spacing:-.025em;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:#f5efe0}.brand-link span{font-family:var(--font-serif);letter-spacing:.01em}.brand-link:focus-visible,.brand-link:hover{color:var(--gold-bright)}.brand-logo{height:2.5rem;width:2.5rem;flex-shrink:0;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:linear-gradient(180deg,var(--garnet-bright) 0,var(--garnet) 100%);border:1px solid var(--garnet-dark);box-shadow:0 1px 2px rgba(89,19,29,.25)}.btn-primary:focus-visible,.btn-primary:hover{background:linear-gradient(180deg,var(--garnet) 0,var(--garnet-dark) 100%);box-shadow:0 6px 14px rgba(89,19,29,.3);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--paper-card);color:var(--ink-2);border:1px solid var(--paper-border);box-shadow:0 1px 2px rgba(28,26,20,.04)}.btn-secondary:focus-visible,.btn-secondary:hover{border-color:var(--gold);color:var(--garnet);background:var(--gold-light)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border-radius:.375rem;padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--garnet-dark);border:1px solid #3d0d13}.btn-danger:focus-visible,.btn-danger:hover{background:#3d0d13;box-shadow:0 6px 14px rgba(89,19,29,.3)}.nav-desktop{position:relative}.nav-glow{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:radial-gradient(120% 160% at 30% 0,rgba(201,156,60,.35) 0,rgba(201,156,60,0) 60%),linear-gradient(135deg,rgba(201,156,60,.22),rgba(124,26,38,.22));box-shadow:inset 0 0 0 1px rgba(201,156,60,.4),0 0 22px rgba(201,156,60,.35),0 4px 14px rgba(16,25,43,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:left .38s cubic-bezier(.22,1,.36,1),width .38s cubic-bezier(.22,1,.36,1),opacity .25s ease;z-index:0}.nav-desktop:hover .nav-glow{opacity:1}.nav-link{position:relative;z-index:10;padding:.5rem .75rem;font-weight:500;color:#c7cddb;transition:color .2s ease,text-shadow .2s ease}.nav-link:focus-visible,.nav-link:hover{color:#fbf6e6}.nav-link.is-active{color:var(--gold-bright);text-shadow:0 0 16px rgba(201,156,60,.55)}.flash-message{margin-bottom:1rem;border-radius:.375rem;padding:.75rem 1rem;font-weight:600;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--gold-line)}.field,.flash-message{font-size:.875rem;line-height:1.25rem;color:var(--ink-text)}.field{width:100%;border-radius:.375rem;padding:.625rem .875rem;outline:2px solid transparent;outline-offset:2px;background:linear-gradient(180deg,#fffefb,#fdf9ee);border:1px solid var(--paper-border);box-shadow:0 1px 2px rgba(28,26,20,.04),inset 0 1px 0 hsla(0,0%,100%,.6);transition:border-color .22s ease,box-shadow .22s ease,background .22s ease,transform .12s ease}.field::-moz-placeholder{color:#a49c81}.field::placeholder{color:#a49c81}.field:hover{border-color:var(--gold-line)}.field:focus{border-color:var(--gold);background:var(--paper-card);box-shadow:0 0 0 1px var(--gold),0 0 0 4px rgba(179,135,47,.18),0 0 24px rgba(179,135,47,.28)}select.field{background-image:linear-gradient(45deg,transparent 50%,var(--garnet) 50%),linear-gradient(135deg,var(--garnet) 50%,transparent 50%);background-position:calc(100% - 18px) 54%,calc(100% - 13px) 54%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem}.label{margin-bottom:.375rem;display:flex;align-items:center;gap:.375rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#7d6f43}.label:before{content:"";width:6px;height:6px;border-radius:999px;background:linear-gradient(135deg,var(--gold-bright),var(--garnet));box-shadow:0 0 6px rgba(179,135,47,.55)}.metric{position:relative;overflow:hidden;border-radius:.5rem;padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--paper-card);border:1px solid var(--paper-border)}.metric:hover{box-shadow:0 10px 24px rgba(16,25,43,.08);transform:translateY(-1px)}.metric span{font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#8a8368}.metric span,.metric strong{display:block}.metric strong{margin-top:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;font-family:var(--font-serif);color:var(--ink)}.metric small{margin-top:.25rem;display:block;font-size:.75rem;line-height:1rem;font-weight:500;color:#8a8368}.metric-accent:before{content:"";position:absolute;left:0;right:0;top:0;height:.25rem;background:linear-gradient(90deg,var(--gold) 0,var(--garnet) 100%)}.panel{min-width:0;border-radius:.5rem;padding:1.25rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.section-title{margin-bottom:.75rem;font-size:1rem;line-height:1.5rem;font-weight:600;font-family:var(--font-serif);color:var(--ink)}.section-subtitle{margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;line-height:1rem;color:#8a8368}.table-wrap{overflow:hidden}.stock-form,.stock-panel,.table-wrap{border-radius:.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.stock-form,.stock-panel{padding:1.5rem}.stock-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:.375rem;padding:.75rem;background:var(--paper);border:1px solid var(--paper-border-soft)}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem;line-height:1.25rem}.data-table th{border-bottom-width:1px;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;background:var(--gold-light);color:#5c4a1f;border-color:var(--gold-line)}.data-table td,.data-table th{padding:.75rem 1rem}.data-table td{border-bottom-width:1px;vertical-align:middle;color:#34301f;border-color:var(--paper-border-soft)}.data-table tbody tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.data-table tbody tr:hover{background:#faf5e6}.muted{margin-top:.25rem;font-size:.75rem;line-height:1rem;color:#8a8368}.catalog-grid>*{min-width:0}.catalog-grid{display:grid;gap:1.5rem}@media (min-width:640px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1536px){.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.book-card{position:relative;display:block;overflow:hidden;border-radius:.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--paper-card);border:1px solid var(--paper-border)}.book-card:focus-visible,.book-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(16,25,43,.18);border-color:var(--gold)}.book-cover{display:flex;aspect-ratio:3/4;width:100%;align-items:center;justify-content:center;overflow:hidden;text-align:center;font-size:.75rem;line-height:1rem;font-weight:600;background:#efe9d8;color:#8a8368}.book-cover img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.book-cover img,.book-meta{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter}.book-meta{pointer-events:none;position:absolute;inset:0;display:flex;min-width:0;--tw-translate-y:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));flex-direction:column;justify-content:space-between;padding:1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));opacity:0;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:linear-gradient(180deg,rgba(16,25,43,.12),rgba(16,20,30,.94))}.book-card:focus-visible .book-cover img,.book-card:hover .book-cover img{transform:scale(1.03)}.book-card:focus-visible .book-meta,.book-card:hover .book-meta{opacity:1;transform:translateY(0)}.book-title{-webkit-line-clamp:4;font-size:1rem;font-weight:600;color:rgb(255 255 255/var(--tw-text-opacity,1));font-family:var(--font-serif)}.book-subtitle,.book-title{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-height:1.25rem;--tw-text-opacity:1}.book-subtitle{margin-top:.5rem;-webkit-line-clamp:2;font-size:.875rem;color:rgb(226 232 240/var(--tw-text-opacity,1))}.book-reference{margin-top:.75rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;font-family:var(--font-mono);color:var(--gold-bright)}.book-hover-details{margin-top:1rem}.book-hover-details>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.book-hover-details{font-size:.75rem;line-height:1rem}.book-hover-details div{border-top-width:1px;border-color:hsla(0,0%,100%,.15);padding-top:.5rem}.book-hover-details dt{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.book-hover-details dd{margin-top:.125rem}.book-hover-action,.book-hover-details dd{font-weight:600;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.book-hover-action{margin-top:1rem;border-radius:.375rem;padding:.5rem .75rem;text-align:center;font-size:.75rem;line-height:1rem;background:var(--garnet)}.book-caption{display:none;padding:.5rem;font-size:.75rem;line-height:1rem;font-weight:600;color:var(--ink-text)}.book-caption,.book-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-caption span{display:block;font-weight:400;font-family:var(--font-mono);color:#8a8368}.book-caption .book-snippet{margin-top:.25rem;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;color:#8a8368}.book-meta .book-snippet{margin-top:.5rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.75rem;line-height:1rem;font-style:italic;--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.book-snippet mark{border-radius:.125rem;background-color:transparent;font-weight:600;font-style:normal;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:rgba(179,135,47,.55);padding:0 2px}.book-caption .book-snippet mark{color:var(--garnet);background:var(--gold-light)}.empty-state{grid-column:1/-1;border-radius:.5rem;padding:2.5rem;text-align:center;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px dashed var(--gold-line)}.empty-state h2{font-size:1.125rem;line-height:1.75rem;font-weight:600;font-family:var(--font-serif);color:var(--ink)}.empty-state p{margin-left:auto;margin-right:auto;margin-top:.5rem;max-width:36rem;font-size:.875rem;line-height:1.25rem;color:#6b644c}.document-shell>*{min-width:0}.document-shell{display:grid;gap:2rem}@media (min-width:1024px){.document-shell{grid-template-columns:340px 1fr}.document-aside{position:sticky;top:6rem;align-self:flex-start}}.document-cover{display:flex;aspect-ratio:3/4;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;font-size:.875rem;line-height:1.25rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);color:#8a8368;border:1px solid var(--paper-border)}.document-cover img{height:100%;width:100%;-o-object-fit:contain;object-fit:contain}.document-main{min-width:0;border-radius:.5rem;padding:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.document-shell-reader{gap:1.5rem}@media (min-width:1280px){.document-shell-reader{grid-template-columns:260px 1fr}}@media (min-width:1536px){.document-shell-reader{grid-template-columns:280px 1fr}}.document-reading-main{overflow:hidden;padding:1.25rem}@media (min-width:768px){.document-reading-main{padding:1.5rem}}.document-heading{border-bottom-width:1px;padding-bottom:1.25rem;border-color:var(--paper-border-soft)}.document-heading h1{font-family:var(--font-serif)}.inline-reader{margin-top:1.5rem;overflow:hidden;border-radius:.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.inline-reader-toolbar{position:sticky;top:0;z-index:10;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--paper-card);border-bottom:1px solid var(--paper-border)}.inline-reader-toolbar,.reader-toolbar-actions{display:flex;align-items:center}.reader-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.reader-zoom-controls{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem}.reader-zoom-controls span{min-width:3.5rem;text-align:center;font-size:.75rem;line-height:1rem;font-weight:600;color:#4a4536}.inline-reader-pages{--inline-reader-zoom:1}.inline-reader-pages>*{min-width:0}.inline-reader-pages{display:grid;max-height:78vh;gap:1.25rem;overflow:auto;padding:1.25rem}@media (min-width:768px){.inline-reader-pages{padding:1.5rem}}.inline-reader-pages{background:#ece5d2}.inline-page{width:min(calc(100%*var(--inline-reader-zoom)),calc(1160px*var(--inline-reader-zoom)));margin-left:auto;margin-right:auto;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);border:1px solid #d8cfb4}.inline-page figcaption{border-bottom-width:1px;padding:.5rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;color:#4a4536;border-color:#d8cfb4}.inline-page img{display:block;height:auto;width:100%}.cover-editor>*{min-width:0}.cover-editor{display:grid;gap:2rem}@media (min-width:1024px){.cover-editor{grid-template-columns:340px 1fr}}.cover-editor-panel{border-radius:.5rem;padding:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.admin-thumb{display:flex;height:6rem;width:4rem;align-items:center;justify-content:center;overflow:hidden;border-radius:.375rem;font-size:10px;font-weight:600;background:#efe9d8;color:#8a8368;border:1px solid var(--paper-border)}.admin-thumb img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.action-stack{display:flex;flex-wrap:wrap;gap:.5rem}.management-table td{vertical-align:middle}.mini-reader-frame{height:520px;overflow:hidden;border-radius:.375rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));border:1px solid var(--paper-border)}.cover-preview-box>*{min-width:0}.cover-preview-box{display:grid;gap:1rem}@media (min-width:768px){.cover-preview-box{grid-template-columns:repeat(2,minmax(0,1fr))}}.cover-preview-current{display:flex;min-height:12rem;flex-direction:column;align-items:center;justify-content:center;border-radius:.375rem;padding:.75rem;text-align:center;font-size:.75rem;line-height:1rem;background:var(--paper-card);color:#8a8368;border:1px solid var(--paper-border)}.cover-preview-current span{margin-bottom:.5rem;display:block;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#4a4536}.cover-preview-current img{max-height:16rem;width:auto;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));-o-object-fit:contain;object-fit:contain;border:1px solid var(--paper-border)}.badge{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;line-height:1rem;font-weight:600;font-family:var(--font-mono);background:#efe9d8;color:#4a4536;border:1px solid var(--paper-border)}.info-list>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.info-list{overflow:hidden;border-radius:.5rem;font-size:.875rem;line-height:1.25rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card);border:1px solid var(--paper-border)}.info-list div>*{min-width:0}.info-list div{display:grid;grid-template-columns:110px 1fr;gap:.75rem;padding:.75rem 1rem;border-color:var(--paper-border-soft)}.info-list dt{color:#8a8368}.info-list dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--ink)}.info-list dd,.similar-row>*{min-width:0}.similar-row{display:grid;grid-template-columns:56px 1fr;gap:.75rem;border-radius:.375rem;padding:.5rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--paper-card);border:1px solid var(--paper-border)}.similar-row:hover{border-color:var(--gold)}.similar-row img{height:4rem;width:3.5rem;border-radius:.25rem;-o-object-fit:contain;object-fit:contain;background:#efe9d8}.similar-row small{margin-top:.25rem;display:block;font-size:.75rem;line-height:1rem;color:#8a8368}.reader-modal{height:94vh;width:96vw;max-width:1680px;border-radius:.5rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:0;--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:var(--ink-text);border:1px solid var(--paper-border)}.reader-modal::backdrop{background:rgba(16,25,43,.75)}.reader-modal-panel{margin:0;display:flex;height:100%;flex-direction:column;border-width:0}.reader-modal-toolbar{flex-shrink:0}.reader-modal-pages{max-height:none;flex:1 1 0%}.stat-card{position:relative;overflow:hidden;border-radius:.5rem;padding:1rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--paper-card);border:1px solid var(--paper-border)}.stat-card:hover{box-shadow:0 10px 24px rgba(16,25,43,.08);transform:translateY(-1px)}.stat-card-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#8a8368}.stat-card-value{margin-top:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;font-family:var(--font-serif);color:var(--ink)}.stat-card-sub{margin-top:.25rem;font-size:.75rem;line-height:1rem;font-weight:500;color:#8a8368}.chart-legend{margin-top:1rem}.chart-legend>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.chart-legend{font-size:.875rem;line-height:1.25rem}.chart-legend-row{justify-content:space-between;gap:.75rem}.chart-legend-key,.chart-legend-row{display:flex;align-items:center}.chart-legend-key{min-width:0;gap:.5rem;color:#4a4536}.chart-legend-dot{height:.625rem;width:.625rem;flex-shrink:0;border-radius:9999px}.chart-legend-value{flex-shrink:0;font-weight:600;color:var(--ink)}.bar-row>*{min-width:0}.bar-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.25rem}.bar-row+.bar-row{margin-top:.75rem}.bar-row-label{margin-bottom:.25rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem;line-height:1rem;font-weight:500;color:#6b644c}.bar-track{height:.625rem;width:100%;overflow:hidden;background:#ece5d2}.bar-fill,.bar-track{border-radius:9999px}.bar-fill{height:100%;background:linear-gradient(90deg,var(--garnet) 0,var(--gold) 100%)}.bar-value{text-align:right;font-size:.75rem;line-height:1rem;font-weight:600;color:#4a4536}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem}@media (min-width:640px){.donut-wrap{flex-direction:row;align-items:center}}.donut>*{min-width:0}.donut{position:relative;display:grid;height:10rem;width:10rem;flex-shrink:0;place-items:center;border-radius:9999px}.donut-hole>*{min-width:0}.donut-hole{display:grid;height:6rem;width:6rem;place-items:center;border-radius:9999px;text-align:center;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);background:var(--paper-card)}.donut-hole strong{font-size:1.5rem;line-height:2rem;font-weight:700;font-family:var(--font-serif);color:var(--ink)}.donut-hole span,.donut-hole strong{display:block}.donut-hole span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#8a8368}.activity-chart{display:flex;height:8rem;align-items:flex-end;gap:.375rem}.activity-bar{display:flex;min-width:0;flex:1 1 0%;flex-direction:column;align-items:center;justify-content:flex-end;gap:.375rem}.activity-bar-fill{width:100%;border-top-left-radius:.375rem;border-top-right-radius:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:linear-gradient(180deg,var(--gold) 0,var(--garnet) 100%);min-height:3px}.activity-bar-label{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:#9a927a}.auth-shell{position:relative;margin-left:auto;margin-right:auto;display:flex;min-height:calc(100vh - 140px);align-items:center;justify-content:center;padding-top:2.5rem;padding-bottom:2.5rem}.auth-shell:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(480px 320px at 18% 12%,rgba(179,135,47,.16),transparent 65%),radial-gradient(520px 360px at 88% 82%,rgba(124,26,38,.14),transparent 65%);pointer-events:none}.auth-card{position:relative;width:100%;overflow:hidden;border-radius:1rem;background:var(--paper-card);border:1px solid var(--paper-border);box-shadow:0 30px 70px -20px rgba(16,25,43,.35),0 0 0 1px rgba(179,135,47,.08)}.auth-card:before{content:"";position:absolute;inset-inline:0;top:0;height:4px;background:linear-gradient(90deg,var(--garnet) 0,var(--gold-bright) 50%,var(--garnet) 100%);background-size:200% 100%;animation:auth-sheen 5s linear infinite}@keyframes auth-sheen{to{background-position:-200% 0}}.auth-icon{margin-bottom:1.25rem;display:inline-flex;height:3rem;width:3rem;align-items:center;justify-content:center;border-radius:9999px;background:linear-gradient(135deg,var(--ink) 0,var(--ink-2) 100%);box-shadow:0 0 0 1px var(--gold-line),0 6px 18px rgba(16,25,43,.35),0 0 22px rgba(179,135,47,.3);color:var(--gold-bright)}.auth-icon svg{height:1.25rem;width:1.25rem}.auth-title{font-family:var(--font-serif);font-size:1.5rem;line-height:2rem;color:var(--ink)}.auth-eyebrow,.auth-title{font-weight:600}.auth-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--garnet)}.auth-panel-dark{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:2rem;background:linear-gradient(160deg,var(--ink) 0,var(--ink-2) 60%,var(--ink-3) 100%);color:#dbe0eb}.auth-panel-dark:before{content:"";position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.06) 1px,transparent 0);background-size:18px 18px;opacity:.5}.auth-panel-dark:after{content:"";position:absolute;width:260px;height:260px;border-radius:999px;right:-80px;bottom:-80px;background:radial-gradient(circle,rgba(179,135,47,.35),transparent 70%);filter:blur(4px)}.auth-panel-dark>*{position:relative;z-index:1}.auth-note{margin-top:1.5rem;border-radius:.5rem;padding:1rem;font-size:.875rem;line-height:1.5rem;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);color:#c7cddb}.auth-submit{position:relative;width:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.sticky{position:sticky}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1 0%}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-none{border-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.tracking-\[\.14em\]{letter-spacing:.14em}.tracking-wide{letter-spacing:.025em}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (hover:none){.book-caption{display:block}}@media (max-width:767px){.nav-desktop{display:none}.nav-mobile-logout{display:inline-flex}.app-header{padding:10px 16px}.brand-link span{font-size:15px}.brand-logo{height:34px;width:34px}.site-footer{display:none}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.tabbar{position:fixed;inset:auto 0 0 0;z-index:40;display:flex;align-items:stretch;justify-content:space-around;background:linear-gradient(180deg,var(--ink-2) 0,var(--ink) 100%);border-top:1px solid var(--gold-line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 16px rgba(16,25,43,.25)}.tabbar-item{display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px 7px;font-size:10.5px;font-weight:600;color:#8b93a8;text-decoration:none;transition:color .15s ease}.tabbar-item svg{width:22px;height:22px}.tabbar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-item.is-active{color:var(--gold-bright)}.tabbar-item:active{opacity:.6}}@media (max-width:340px){.brand-link span{display:none}}@media (max-width:767px){main{padding-left:12px!important;padding-right:12px!important}.cover-editor,.document-shell{grid-template-columns:1fr!important}.book-cover,.document-cover{margin-left:auto;margin-right:auto;max-width:220px;width:100%}.cover-editor-panel,.document-main{padding:16px}.viewer-frame{height:72vh}.inline-reader-toolbar{align-items:flex-start;flex-direction:column}.reader-toolbar-actions{align-items:stretch;width:100%}.reader-zoom-controls{width:100%}.reader-zoom-controls .btn-secondary{flex:1}.inline-reader-pages{max-height:74vh;padding:10px}.reader-modal{height:100dvh;width:100vw;border-radius:0}.reader-modal .inline-reader-toolbar{position:sticky;top:0}.reader-modal-pages{max-height:none}.table-wrap{overflow-x:auto}.data-table{min-width:760px}.management-table{min-width:920px}.donut-wrap{justify-content:center}}@media (min-width:768px) and (max-width:1100px){.cover-editor,.document-shell{grid-template-columns:260px 1fr!important}.viewer-frame{height:76vh}}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:w-36{width:9rem}.md\:w-44{width:11rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-\[1fr_220px_180px_180px\]{grid-template-columns:1fr 220px 180px 180px}.md\:flex-row{flex-direction:row}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[0\.85fr_1\.15fr\]{grid-template-columns:.85fr 1.15fr}.lg\:grid-cols-\[1\.3fr_1fr\]{grid-template-columns:1.3fr 1fr}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}}