:root{--nh-red:#c8202e;--nh-red-bright:#e02334;--nh-ink:#15161a;--nh-ink-2:#1d1f25;--nh-ink-3:#2a2d35;--nh-line:#ffffff1f;--nh-text:#f4f4f6;--nh-text-dim:#a7abb5;--chrome-h:60px;--toolbar-h:76px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--nh-ink);color:var(--nh-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}button{cursor:pointer;font-family:inherit}.app{background:radial-gradient(1200px 600px at 50% -10%, #c8202e29, transparent 60%), radial-gradient(900px 500px at 50% 110%, #00000080, transparent 60%), var(--nh-ink);flex-direction:column;display:flex;position:fixed;inset:0}.topbar{height:var(--chrome-h);border-bottom:1px solid var(--nh-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;background:#15161a99;flex:none;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{flex:none;place-items:center;width:26px;height:26px;display:grid;position:relative}.brand-mark svg{width:100%;height:100%}.brand-name{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-name b{letter-spacing:.2px;font-size:15px;font-weight:800}.brand-name span{color:var(--nh-text-dim);text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--nh-line);background:var(--nh-ink-2);height:38px;color:var(--nh-text);white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:hover{background:var(--nh-ink-3);border-color:#ffffff38}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--nh-red);border-color:var(--nh-red)}.btn.primary:hover{background:var(--nh-red-bright);border-color:var(--nh-red-bright)}.btn.icon{justify-content:center;width:38px;padding:0}.btn svg{width:16px;height:16px}.stage{flex:auto;place-items:center;min-height:0;padding:14px;display:grid;position:relative}.book-wrap{filter:drop-shadow(0 30px 60px #0000008c);touch-action:pan-y}.page{background:#fff;overflow:hidden}.page img{object-fit:cover;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.page--left img{box-shadow:inset -22px 0 30px -22px #00000059}.page--right img{box-shadow:inset 22px 0 30px -22px #00000059}.nav-arrow{border:1px solid var(--nh-line);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;background:#15161ab8;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .15s,opacity .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover{background:var(--nh-red);border-color:var(--nh-red)}.nav-arrow:disabled{opacity:.3;pointer-events:none}.nav-arrow svg{width:22px;height:22px}.nav-arrow.left{left:16px}.nav-arrow.right{right:16px}.toolbar{height:var(--toolbar-h);border-top:1px solid var(--nh-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;background:#15161ab3;flex:none;align-items:center;gap:14px;padding:0 18px;display:flex}.chapters{scrollbar-width:none;flex:auto;gap:7px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000);mask-image:linear-gradient(90deg,#0000,#000 14px calc(100% - 14px),#0000)}.chapters::-webkit-scrollbar{display:none}.chip{border:1px solid var(--nh-line);height:32px;color:var(--nh-text-dim);background:0 0;border-radius:16px;flex:none;padding:0 13px;font-size:12.5px;font-weight:600;transition:all .15s}.chip:hover{color:#fff;border-color:#ffffff4d}.chip.active{background:var(--nh-red);border-color:var(--nh-red);color:#fff}.counter{flex:none;align-items:center;gap:10px;display:flex}.counter .pager{align-items:center;gap:4px;display:flex}.counter .num{font-variant-numeric:tabular-nums;text-align:center;min-width:64px;color:var(--nh-text);font-size:13px;font-weight:700}.counter .num small{color:var(--nh-text-dim);font-weight:600}.toolbar .btn.icon{width:36px;height:36px}.drawer-backdrop{z-index:40;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .25s;position:fixed;inset:0}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{background:var(--nh-ink-2);border-left:1px solid var(--nh-line);z-index:50;flex-direction:column;width:min(380px,88vw);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.open{transform:translate(0)}.drawer-head{border-bottom:1px solid var(--nh-line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.drawer-head h3{letter-spacing:1px;text-transform:uppercase;color:var(--nh-text-dim);margin:0;font-size:14px}.thumb-grid{flex:auto;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;display:grid;overflow-y:auto}.thumb{aspect-ratio:1;background:#fff;border:2px solid #0000;border-radius:8px;padding:0;transition:border-color .15s,transform .1s;position:relative;overflow:hidden}.thumb:hover{transform:translateY(-2px)}.thumb.active{border-color:var(--nh-red)}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb .badge{color:#fff;background:#15161ad9;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;position:absolute;bottom:6px;left:6px}.loader{z-index:10;place-items:center;display:grid;position:absolute;inset:0}.spinner{border:3px solid #ffffff26;border-top-color:var(--nh-red);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hint{color:var(--nh-text-dim);border:1px solid var(--nh-line);pointer-events:none;z-index:15;background:#15161ab3;border-radius:20px;padding:6px 14px;font-size:12px;transition:opacity .4s;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.label-sm{display:inline}@media (max-width:720px){:root{--toolbar-h:64px}.nav-arrow,.label-sm{display:none}.btn{padding:0 11px}.chapters{display:none}.toolbar{justify-content:space-between;gap:8px}.brand-name span{display:none}}
