:root{color:#eee9e1;background:#0e1013;font-family:Avenir Next,Helvetica Neue,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #f1eee8;--muted: #9ba1a8;--quiet: #757d86;--line: #2a2e33;--surface: #15181c;--surface-raised: #20252b;--accent: #e69a5d;--reader: #090a0c}*{box-sizing:border-box}html{min-width:320px;background:#0e1013;scroll-behavior:smooth}body,#root{min-height:100%;margin:0}body{min-width:320px;background:#0e1013}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;padding:30px 26px 72px;background:#0e1013;color:var(--ink)}.library{position:relative;overflow:hidden}.library:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(15,17,20,.18) 25%)}.library>*{position:relative}.library-header,.library-tools,.chapter-list,.empty-list,.chapter-skeleton{max-width:1120px;margin-left:auto;margin-right:auto}.library-header{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:clamp(40px,10vw,150px);align-items:end;padding:clamp(38px,10vh,116px) 0 76px}.eyebrow,.panel-label,.section-index,.page-counter{color:var(--quiet);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-mark{display:inline-block;width:22px;height:1px;background:var(--accent)}h1{max-width:10ch;margin:22px 0 24px;color:#f1eee8;font-size:clamp(3.1rem,9vw,7.6rem);font-weight:700;letter-spacing:-.075em;line-height:.84;text-wrap:balance}h1 em{color:#858e97;font-style:normal}.muted{color:#a3aab2;line-height:1.65}.intro-copy{max-width:34rem;margin:0;font-size:1rem}.resume-panel{display:grid;gap:10px;min-height:196px;padding:22px;color:var(--ink);background:var(--surface);border:1px solid #30363d;box-shadow:0 24px 50px #13181e1f}.resume-panel:before{content:"";width:28px;height:4px;background:var(--accent)}.resume-panel strong{font-size:1.45rem;letter-spacing:-.03em}.panel-meta{color:var(--muted);font-size:.84rem}.primary-button,.secondary-button,.filter-button,.mode-toggle button,.icon-button,.show-controls{border:0;cursor:pointer;transition:transform .24s cubic-bezier(.16,1,.3,1),background .24s ease,color .24s ease,border-color .24s ease}.primary-button{justify-self:start;margin-top:8px;padding:11px 14px;color:#17191d;background:var(--accent);font-size:.82rem;font-weight:750}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:active,.secondary-button:active,.icon-button:active{transform:scale(.97)}.library-tools{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:20px;padding:18px 0;border-top:1px solid #343a41;border-bottom:1px solid #343a41}.section-index{color:#858d96}.section-index b{margin-left:8px;color:#f1eee8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500}.search-label{justify-self:center;width:min(100%,360px)}.search-label input{width:100%;padding:10px 0;color:#f1eee8;background:transparent;border:0;border-bottom:1px solid #555e68;border-radius:0;outline:none}.search-label input::placeholder{color:#858d96}.search-label input:focus{border-color:var(--accent)}.filter-group{display:flex;gap:4px;padding:3px;background:#20252b}.filter-button{padding:8px 10px;color:#8b939c;background:transparent;font-size:.73rem}.filter-button.active,.filter-button:hover{color:#f1eee8;background:#343a41}.chapter-list{list-style:none;margin-top:0;padding:0;border-bottom:1px solid #343a41}.chapter-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px;padding:12px 4px;border-bottom:1px solid #2b3036}.chapter-row:last-child{border-bottom:0}.chapter-row>div{display:flex;align-items:center;gap:18px;min-width:0}.chapter-number{width:38px;color:#7d8791;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-variant-numeric:tabular-nums}.chapter-title{overflow:hidden;color:#f1eee8;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.read-mark{padding:3px 6px;color:#806044;background:#ead5c1;font-size:.61rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.secondary-button{padding:8px 2px 8px 12px;color:#a8afb6;background:transparent;font-size:.8rem;font-weight:700;white-space:nowrap}.secondary-button:hover{color:#17191d}.empty-list{padding:48px 0;color:#5d6569}.chapter-skeleton{display:grid;gap:0;border-bottom:1px solid #343a41}.chapter-skeleton span{display:block;height:70px;border-bottom:1px solid #2b3036;background:linear-gradient(90deg,#969da514,#ffffff21,#969da514);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.error-state{max-width:620px;padding-top:18vh}.error-state h1{font-size:clamp(3rem,8vw,6rem)}.reader-view{min-height:100dvh;color:var(--ink);background:var(--reader)}.reader-content{min-height:100dvh;padding-top:70px}.reader-controls{position:fixed;z-index:2;inset:0 0 auto;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;color:var(--ink);background:#0e1013eb;border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reader-title{display:grid;gap:2px;min-width:0}.reader-title span{overflow:hidden;color:var(--muted);font-size:.66rem;letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.reader-title strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.mode-toggle{display:flex;gap:3px;padding:3px;background:var(--surface)}.mode-toggle button{padding:7px 9px;color:var(--muted);background:transparent;border:1px solid transparent;font-size:.7rem}.mode-toggle button.active,.mode-toggle button:hover{color:var(--ink);background:var(--surface-raised);border-color:#343a41}.icon-button,.show-controls{display:grid;place-items:center;width:34px;height:34px;color:var(--ink);background:var(--surface-raised);border:1px solid #323840;font-size:1rem}.icon-button:hover,.show-controls:hover{color:var(--accent);border-color:var(--accent)}.page-counter{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;letter-spacing:.03em;text-transform:none;white-space:nowrap}.show-controls{position:fixed;z-index:2;top:16px;right:16px}.vertical-reader{width:min(100%,900px);margin:auto;display:grid}.vertical-reader img{display:block;width:100%;height:auto;background:#101216}.paged-reader{min-height:calc(100dvh - 70px);display:grid;align-content:start;justify-items:center;overflow-y:auto;padding:18px 18px 42px;touch-action:pan-y}.paged-reader img{display:block;width:min(100%,720px);max-width:720px;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;animation:page-in .18s cubic-bezier(.16,1,.3,1) both}.page-previous img{animation-name:page-in-previous}.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}@keyframes page-in{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}@keyframes page-in-previous{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:720px){.app-shell{padding:20px 16px 52px}.library-header{display:block;padding:48px 0}.resume-panel{margin-top:40px}.library-tools{grid-template-columns:1fr;gap:12px}.search-label{justify-self:stretch;width:100%}.filter-group{justify-content:space-between}.filter-button{flex:1}.reader-controls{grid-template-columns:auto 1fr auto;gap:8px}.reader-title{grid-column:2;grid-row:1}.mode-toggle{grid-column:2;grid-row:2;justify-self:start}.page-counter{grid-column:3;grid-row:2}.reader-controls>.icon-button:last-child{grid-column:3;grid-row:1}.reader-content{padding-top:118px}.paged-reader{min-height:calc(100dvh - 118px)}}
