:root { --paper-width: 800px; --surface:#18171c; --accent:#a5c7aa; --ink:#eee9ee; --border:rgba(255,255,255,.14); }
*{box-sizing:border-box} html{scroll-behavior:auto;scroll-padding-top:80px} body{margin:0;background:var(--surface);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:14px} button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #c4dfc5;outline-offset:2px}
.topbar{height:64px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(12px,4vw,40px);background:rgba(23,22,27,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.book-title{text-decoration:none;display:flex;gap:12px;align-items:center;color:#fff;min-width:145px}.book-title strong{display:block;letter-spacing:.02em;font-family:Georgia,serif;font-size:19px;font-weight:normal;line-height:1}.book-title small{display:block;color:#aaa6ae;font-size:10px;margin-top:6px;white-space:nowrap}.small-mark{color:var(--accent);font-size:29px;line-height:1}
.controls{display:flex;align-items:center;gap:9px}.page-jump{display:flex;align-items:center;gap:4px;white-space:nowrap}.small-label{font-size:10px;letter-spacing:.11em;color:#9b969f}.page-jump input{color:#eee;background:#242329;border:1px solid #47424a;border-radius:6px;padding:6px 7px;width:66px;text-align:right;font-variant-numeric:tabular-nums}.page-jump input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-total{color:#9d989e;font-variant-numeric:tabular-nums;font-size:12px}.icon-btn,.text-btn,.subtle-btn,.primary-btn{border:1px solid #514b55;background:#27252c;color:#eee;border-radius:7px;min-height:32px;padding:4px 10px}.icon-btn{min-width:31px;font-size:20px;line-height:1}.icon-btn:hover,.text-btn:hover,.subtle-btn:hover{background:#39353e}.text-btn{font-size:12px}.controls input[type=range]{width:95px;accent-color:var(--accent)}
.banner{min-height:40px;display:flex;justify-content:center;align-items:center;gap:11px;padding:8px 14px;background:#25212a;color:#bdb7c1;font-size:12px;border-bottom:1px solid var(--border)}.banner.ready{display:none}.banner.error{background:#4b2525;color:#fff}.loading-dot{width:10px;height:10px;background:#9ec4a1;border-radius:50%;animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.1}}
.pages{padding:30px 12px 65px;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:80vh}.page-shell{position:relative;width:var(--paper-width);flex:0 0 auto;margin-inline:auto;aspect-ratio:612 / 792;background:#f9dff9;box-shadow:0 4px 22px rgba(0,0,0,.35);overflow:hidden;isolation:isolate}.page-shell canvas{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:1}.page-shell .loading-label{color:#564d58;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.06em;z-index:0}.page-shell:has(canvas) .loading-label{display:none}.page-shell .gif-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.gif-overlay{position:absolute;pointer-events:none;user-select:none;}.gif-overlay img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.gif-overlay.selected{outline:2px dashed #21baf6;outline-offset:1px;z-index:6}.gif-overlay .resize-handle{display:none;position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:#21baf6;border:1px solid #fff;border-radius:2px;cursor:nwse-resize}.editor-active .gif-overlay{pointer-events:auto;cursor:move;touch-action:none}.editor-active .gif-overlay.selected .resize-handle{display:block;pointer-events:auto}.editor-active .page-shell{cursor:crosshair}.editor-active .page-shell:has(.gif-overlay:hover){cursor:default}.editor-active .gif-overlay:hover{outline:1px solid rgba(33,186,246,.75)}
/* PDF.js's transparent, selectable text is placed over the original canvas. */
.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;opacity:1;line-height:1;-webkit-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:3}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .highlight{margin:-1px;padding:1px;background-color:rgba(180,0,170,.22);border-radius:4px}.textLayer ::selection{background:rgba(83,116,210,.35)}
.initial-splash{display:flex;flex-direction:column;align-items:center;gap:16px;margin:40px 0;color:#ada8af}.initial-splash img{width:min(220px,60vw);box-shadow:0 10px 30px #090909}
.editor{position:fixed;right:0;top:64px;bottom:0;z-index:30;width:min(360px,100vw);background:#222126;border-left:1px solid #48424d;box-shadow:-10px 0 30px rgba(0,0,0,.27);display:flex;flex-direction:column}.editor[hidden]{display:none}.editor-head{display:flex;justify-content:space-between;align-items:center;padding:16px;gap:10px;border-bottom:1px solid var(--border)}.editor-head strong{font-size:15px}.subtext,.editor-note{color:#aaa1ae;font-size:11px;line-height:1.5;margin-top:5px}.editor-body{padding:12px 14px;min-height:0;overflow:auto;flex:1}.editor-instructions{font-size:12px;line-height:1.75;color:#c5bdc9;margin-bottom:12px}.search-box{display:block;width:100%;padding:10px 11px;color:#fff;background:#18171b;border:1px solid #504b53;border-radius:6px;margin-bottom:12px}.gif-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gif-item{background:#29272d;border:1px solid #4b4650;border-radius:6px;padding:7px;color:#f3eef3;text-align:left;overflow:hidden}.gif-item img{object-fit:contain;display:block;height:90px;width:100%;background:#18171a;border-radius:3px}.gif-item small{display:block;font-size:11px;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gif-item:hover,.gif-item.armed{border-color:var(--accent);background:#334039}.editor-foot{padding:12px 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.selection-label{color:#a5c7aa;font-size:12px}.editor-actions{display:flex;gap:8px}.editor-actions button{flex:1;font-size:12px}.editor-actions button:disabled{opacity:.4;cursor:default}.primary-btn{background:#a5c7aa;color:#17231b;font-weight:600;border-color:#a5c7aa}.primary-btn:hover{background:#c3e5c7}.editor-note{margin-top:0}.toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);padding:10px 15px;border-radius:8px;background:#35333b;color:white;box-shadow:0 5px 30px #0808089c;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;font-size:12px}.toast.shown{opacity:1}
@media(max-width:650px){.topbar{height:62px;gap:7px;padding:0 10px}.book-title{min-width:0;gap:5px}.book-title strong{font-size:15px}.book-title small{font-size:8px}.small-mark{font-size:22px}.controls{gap:4px}.controls input[type=range]{display:none}.small-label,.page-total{display:none}.page-jump input{width:51px;padding:5px 4px}.text-btn{padding:4px 6px;font-size:11px}.pages{padding:14px 6px 30px;gap:8px}.page-shell{width:var(--paper-width)}.editor{top:62px}}

/* Keep the page from selecting text or scrolling while positioning a GIF. */
.dragging-gif, .dragging-gif * { cursor:grabbing !important; user-select:none !important; }
.dragging-gif .gif-overlay .resize-handle { cursor:nwse-resize !important; }

/* Compact spacing, exact percentage zoom, and searchable pages. */
.zoom-exact{display:flex;gap:3px;align-items:center;white-space:nowrap;border:1px solid #514b55;border-radius:6px;background:#27252c;padding:2px 6px}
.zoom-exact input{width:50px;background:transparent;color:#fff;border:0;text-align:right;padding:4px 0;font-variant-numeric:tabular-nums;outline:none}
.zoom-exact span{color:#bbb;font-size:12px}
.zoom-exact input::-webkit-inner-spin-button{-webkit-appearance:none}
.search-panel{position:fixed;z-index:29;top:64px;left:0;bottom:0;width:min(390px,100vw);display:flex;flex-direction:column;background:#222126;border-right:1px solid #48424d;box-shadow:10px 0 30px rgba(0,0,0,.24)}
.search-panel[hidden]{display:none}
.search-head{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.search-head strong{font-size:15px}
.search-input-area{padding:12px 14px;border-bottom:1px solid var(--border)}
#book-search{width:100%;padding:10px 12px;border:1px solid #57525d;border-radius:7px;background:#18171b;color:#fff;font-size:14px}
.search-navigation{display:flex;gap:8px;margin-top:10px}.search-navigation button{flex:1;font-size:12px}
.search-status{font-size:12px;color:#bdb7c1;margin-top:10px;line-height:1.5}
.search-results{min-height:0;overflow-y:auto;flex:1;padding:8px;overscroll-behavior:contain}
.search-result{display:flex;flex-direction:column;text-align:left;gap:6px;padding:11px;border:1px solid transparent;border-radius:7px;background:transparent;color:#eee9ee;width:100%;margin-bottom:5px;line-height:1.45}
.search-result strong{color:#a5c7aa;font-size:12px}
.search-result span{color:#ccc6cc;font-size:12px;overflow-wrap:anywhere}
.search-result:hover,.search-result.chosen{background:#323037;border-color:#655e68}
.search-markers{position:absolute;inset:0;z-index:4;pointer-events:none}
.search-marker{position:absolute;background:rgba(253,210,64,.46);outline:1px solid rgba(255,159,0,.35);border-radius:2px;mix-blend-mode:multiply}
@media (max-width:850px){.book-title small{display:none}.controls{gap:5px}.controls input[type=range]{width:65px}}
@media (max-width:650px){.controls input[type=range]{display:none}.zoom-exact input{width:40px}.zoom-exact{padding:2px 3px}.search-panel{top:62px}.page-jump{gap:0}.small-label{display:none}}

/* Actual PDF hyperlinks, including annotations placed over entire images.
   Do not intercept clicks on the rest of a page; keep text selectable. */
.pdf-link-layer {position:absolute;inset:0;z-index:4;pointer-events:none;}
.pdf-link-layer .pdf-link {position:absolute;display:block;pointer-events:auto;cursor:pointer;background:transparent;outline:0;}
.pdf-link-layer .pdf-link:hover {box-shadow:inset 0 0 0 2px rgba(112,181,235,.36);background:rgba(112,181,235,.055);}
.pdf-link-layer .pdf-link:focus-visible {outline:2px solid #3189e9;outline-offset:1px;background:rgba(112,181,235,.1);}
/* GIF positioning must take priority over the author's link targets in edit mode. */
.editor-active .pdf-link-layer .pdf-link {pointer-events:none;}

/* Reader theme controls — these colors never touch PDF canvas artwork or GIFs. */
:root{
  --reader-bg:#18171c;--reader-bar:#17161b;--reader-panel:#222126;
  --reader-control:#27252c;--reader-ink:#eee9ee;--reader-accent:#a5c7aa;
  --reader-shadow:#09070a;--page-gap:10px;
  --reader-muted:color-mix(in srgb,var(--reader-ink) 67%,transparent);
  --reader-border:color-mix(in srgb,var(--reader-ink) 23%,transparent);
}
body{background:var(--reader-bg);color:var(--reader-ink)}
.topbar{background:var(--reader-bar);border-bottom-color:var(--reader-border)}
.book-title,.book-title strong{color:var(--reader-ink)}
.book-title small,.small-label,.page-total,.zoom-exact span{color:var(--reader-muted)}
.small-mark{color:var(--reader-accent)}
.page-jump input,.zoom-exact,.icon-btn,.text-btn,.subtle-btn{background:var(--reader-control);color:var(--reader-ink);border-color:var(--reader-border)}
.page-jump input:hover,.icon-btn:hover,.text-btn:hover,.subtle-btn:hover{background:color-mix(in srgb,var(--reader-control) 83%,var(--reader-ink) 17%)}
.zoom-exact input{color:var(--reader-ink)}
.controls input[type=range]{accent-color:var(--reader-accent)}
:where(button,input):focus-visible{outline-color:var(--reader-accent)}
.banner{background:var(--reader-panel);color:var(--reader-muted);border-color:var(--reader-border)}
.loading-dot{background:var(--reader-accent)}
.pages{gap:var(--page-gap)}
.page-shell{box-shadow:0 4px 22px color-mix(in srgb,var(--reader-shadow) 52%,transparent)}
.initial-splash{color:var(--reader-muted)}
.initial-splash img{box-shadow:0 10px 30px color-mix(in srgb,var(--reader-shadow) 60%,transparent)}
.search-panel,.editor,.appearance-panel{background:var(--reader-panel);color:var(--reader-ink);border-color:var(--reader-border)}
.search-head,.search-input-area,.editor-head,.editor-foot,.appearance-head{border-color:var(--reader-border)}
.subtext,.editor-note,.editor-instructions,.appearance-hint,.appearance-note,.search-status{color:var(--reader-muted)}
#book-search,.search-box{background:var(--reader-control);color:var(--reader-ink);border-color:var(--reader-border)}
#book-search::placeholder,.search-box::placeholder{color:var(--reader-muted)}
.search-result{color:var(--reader-ink)}
.search-result strong,.selection-label{color:var(--reader-accent)}
.search-result span{color:var(--reader-muted)}
.search-result:hover,.search-result.chosen{background:color-mix(in srgb,var(--reader-control) 85%,var(--reader-accent) 15%);border-color:var(--reader-border)}
.gif-item{background:var(--reader-control);color:var(--reader-ink);border-color:var(--reader-border)}
.gif-item:hover,.gif-item.armed{border-color:var(--reader-accent);background:color-mix(in srgb,var(--reader-control) 83%,var(--reader-accent) 17%)}
.primary-btn{background:var(--reader-accent);border-color:var(--reader-accent);color:var(--reader-bar)}
.primary-btn:hover{background:color-mix(in srgb,var(--reader-accent) 80%,white 20%)}
.toast{background:var(--reader-panel);color:var(--reader-ink)}
.appearance-trigger{white-space:nowrap;display:flex;align-items:center;gap:6px}
.appearance-trigger > span:first-child{font-size:16px;line-height:1}
.appearance-panel{position:fixed;z-index:31;right:0;top:64px;bottom:0;width:min(350px,100vw);display:flex;flex-direction:column;border-left:1px solid var(--reader-border);box-shadow:-10px 0 30px color-mix(in srgb,var(--reader-shadow) 36%,transparent)}
.appearance-panel[hidden]{display:none}
.appearance-head{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--reader-border)}
.appearance-head strong{font-size:15px}
.appearance-body{padding:15px;overflow:auto;min-height:0}
.appearance-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--reader-muted);margin:12px 0 10px}
.appearance-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.appearance-preset{display:flex;align-items:center;gap:9px;text-align:left;padding:9px;border:1px solid var(--reader-border);background:var(--reader-control);color:var(--reader-ink);border-radius:8px;font-size:12px;min-height:43px}
.appearance-preset:hover{border-color:var(--reader-accent)}
.appearance-preset.active{border:2px solid var(--reader-accent);padding:8px}
.appearance-preset-dot{width:21px;height:21px;flex:0 0 21px;border-radius:50%;border:1px solid var(--reader-border)}
.appearance-hint{font-size:12px;line-height:1.45;margin:-4px 0 12px}
.appearance-colors{display:flex;flex-direction:column;gap:8px}
.appearance-color-row{display:flex;align-items:center;gap:9px;min-height:34px}
.appearance-color-label{flex:1;min-width:0;font-size:12px}
.appearance-color-row input[type=color]{flex:none;width:34px;height:31px;padding:2px;border-radius:6px;border:1px solid var(--reader-border);background:var(--reader-control);cursor:pointer}
.appearance-hex{width:86px;flex:none;background:var(--reader-control);color:var(--reader-ink);padding:7px;border:1px solid var(--reader-border);border-radius:6px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}
.appearance-hex.invalid{border-color:#d75656}
.gap-editor{display:flex;align-items:center;gap:12px}
.gap-editor input{min-width:0;flex:1;accent-color:var(--reader-accent)}
.gap-editor output{font-size:12px;min-width:40px;text-align:right;color:var(--reader-muted)}
.appearance-reset{width:100%;margin-top:22px}
.appearance-note{font-size:11px;line-height:1.6;margin:13px 0}
@media(max-width:850px){.appearance-button-label{display:none}}
@media(max-width:650px){.appearance-panel{top:62px}.appearance-trigger{padding:4px 7px}}
/* When the toolbar is wider than a phone, scroll its controls rather than
   clipping the Appearance/Zoom buttons or stretching the document. */
@media(max-width:650px){
  .topbar .book-title{flex-shrink:0}
  .topbar .controls{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .topbar .controls::-webkit-scrollbar{display:none}
  .topbar .controls > *{flex-shrink:0}
}


/* Collapsible, PDF-page-anchored table of contents. Does not restyle the PDF. */
.toc-panel{position:fixed;z-index:29;top:64px;left:0;bottom:0;width:min(410px,100vw);display:flex;flex-direction:column;background:var(--reader-panel,#222126);color:var(--reader-ink,#eee9ee);border-right:1px solid var(--reader-border,rgba(255,255,255,.18));box-shadow:10px 0 30px color-mix(in srgb,var(--reader-shadow,#09070a) 35%,transparent)}
.toc-panel[hidden],.toc-edit-controls[hidden]{display:none}
.toc-head,.toc-helper{flex-shrink:0}
.toc-browser{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.toc-resizer{flex:0 0 28px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:ns-resize;touch-action:none;user-select:none;color:var(--reader-muted);font-size:10px;border-block:1px solid var(--reader-border);background:var(--reader-panel)}
.toc-resizer::before,.toc-resizer::after{content:"";width:26px;height:3px;border-block:1px solid currentColor}
.toc-resizer:hover,.toc-resizer:focus-visible{color:var(--reader-accent);background:var(--reader-control)}
.toc-resizer:focus-visible{outline:2px solid var(--reader-accent);outline-offset:-2px}
.toc-resizer[aria-disabled="true"]{cursor:default}
.resizing-toc,.resizing-toc *{cursor:ns-resize !important;user-select:none !important}
.toc-head{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--reader-border)}
.toc-head strong{font-size:16px;letter-spacing:.005em}
.toc-helper{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px 15px;font-size:11px;color:var(--reader-muted);border-bottom:1px solid var(--reader-border)}
#toc-current-page{color:var(--reader-accent);font-variant-numeric:tabular-nums}
.toc-entries{padding:10px 7px 24px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}
.toc-item{padding:3px 2px 4px var(--toc-indent,0px)}
.toc-item-heading{display:flex;align-items:flex-start;gap:2px}
.toc-fold{flex:0 0 20px;width:20px;margin:4px 0 0;border:none;background:transparent;color:var(--reader-accent);font-size:15px;border-radius:3px;padding:2px;line-height:1.15}
.toc-fold:hover:not(:disabled){background:var(--reader-control)}
.toc-fold:disabled{cursor:default;opacity:.5}
.toc-go{flex:1;min-width:0;text-align:left;display:block;padding:8px 7px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--reader-ink);font-size:12px;line-height:1.48;overflow-wrap:anywhere;position:relative;padding-right:49px}
.toc-go strong{font-weight:650}.toc-go span:not(.toc-page){color:var(--reader-muted)}
.toc-go:hover:not(:disabled),.toc-on-page .toc-go{background:color-mix(in srgb,var(--reader-control) 83%,var(--reader-accent) 17%)}
.toc-go:focus-visible,.toc-fold:focus-visible{outline:2px solid var(--reader-accent)}
.toc-go:disabled{opacity:.6;cursor:default}
.toc-page{position:absolute;right:6px;top:8px;min-width:31px;text-align:right;font-size:11px;color:var(--reader-accent);font-variant-numeric:tabular-nums}
.toc-edit-controls{flex:0 0 auto;max-height:35%;overflow-y:auto;border-top:1px solid var(--reader-border);padding:11px 13px;display:flex;flex-direction:column;gap:8px;background:var(--reader-panel)}
.toc-edit-actions{display:flex;gap:7px}.toc-edit-actions button{flex:1;font-size:12px}
.toc-edit-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:3px 8px 6px 23px}
.toc-edit-row label{display:flex;align-items:center;gap:5px;color:var(--reader-muted);font-size:11px}
.toc-edit-row input{width:67px;border:1px solid var(--reader-border);border-radius:5px;padding:5px 5px;background:var(--reader-control);color:var(--reader-ink);font-size:12px}
.toc-use-here{border:1px solid var(--reader-border);border-radius:5px;padding:6px 8px;background:var(--reader-control);color:var(--reader-ink);font-size:11px}
.toc-use-here:hover{border-color:var(--reader-accent)}
.toc-note{margin:0;color:var(--reader-muted);font-size:11px;line-height:1.45}
.toc-restore{border:0;background:transparent;text-decoration:underline;color:var(--reader-muted);font-size:11px;text-align:left;padding:2px;cursor:pointer}
@media(max-width:650px){.toc-panel{top:62px}}

/* Toolbar arrangement: navigation beside the book title, utilities to the right. */
.header-leading{display:flex;align-items:center;gap:clamp(10px,2vw,24px);flex:0 0 auto;min-width:0}
.primary-navigation{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.topbar .controls{margin-left:auto;min-width:0;flex:0 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.topbar .controls::-webkit-scrollbar{display:none}
.topbar .controls > *{flex-shrink:0}
@media(max-width:850px){
  .topbar{gap:9px}
  .header-leading{gap:9px}
  .primary-navigation{gap:5px}
}
@media(max-width:650px){
  .header-leading{gap:5px}
  .book-title{min-width:0}
  .primary-navigation{gap:4px}
  .primary-navigation .text-btn{padding:4px 5px}
}

/* Six-part circular contents selector; colors inherit the visitor's theme. */
.toc-circle-map{flex:0 0 auto;padding:10px 13px;background:var(--reader-panel);overflow:hidden}
.toc-circle-figure{position:relative;width:var(--toc-circle-size,240px);max-width:100%;aspect-ratio:1;margin:auto;border-radius:12px;container-type:inline-size;background:color-mix(in srgb,var(--reader-panel) 78%,var(--reader-control) 22%)}
.toc-circle-track{position:absolute;inset:17%;border:2px solid color-mix(in srgb,var(--reader-accent) 70%,var(--reader-border) 30%);border-radius:50%;opacity:.8;pointer-events:none}
.toc-circle-node{position:absolute;transform:translate(-50%,-50%);width:27%;min-height:18cqw;padding:1.8cqw 1cqw;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;border:1.5px solid var(--reader-border);border-radius:10px;background:var(--reader-control);color:var(--reader-ink);box-shadow:0 2px 9px color-mix(in srgb,var(--reader-shadow) 27%,transparent);text-align:center;line-height:1.15;cursor:pointer}
.toc-circle-node strong{font-size:clamp(9px,3.75cqw,12px);font-weight:650;white-space:nowrap}
.toc-circle-node .toc-circle-sub{font-size:clamp(8px,3.125cqw,10px);color:var(--reader-muted)}
.toc-circle-node .toc-circle-page{font-size:clamp(8px,3.125cqw,10px);color:var(--reader-accent);font-variant-numeric:tabular-nums}
@container(max-width:199px){.toc-circle-node .toc-circle-page{display:none}}
.toc-circle-node:hover,.toc-circle-node:focus-visible{outline:2px solid var(--reader-accent);outline-offset:2px}
.toc-circle-node[aria-expanded="true"]{border-color:var(--reader-accent);background:color-mix(in srgb,var(--reader-control) 79%,var(--reader-accent) 21%)}
.toc-circle-node.is-current{box-shadow:0 0 0 2px color-mix(in srgb,var(--reader-accent) 42%,transparent),0 3px 12px color-mix(in srgb,var(--reader-shadow) 22%,transparent)}
.toc-circle-node:nth-of-type(1){left:50%;top:16%}
.toc-circle-node:nth-of-type(2){left:79.5%;top:33%}
.toc-circle-node:nth-of-type(3){left:79.5%;top:67%}
.toc-circle-node:nth-of-type(4){left:50%;top:84%}
.toc-circle-node:nth-of-type(5){left:20.5%;top:67%}
.toc-circle-node:nth-of-type(6){left:20.5%;top:33%}
.toc-root-row .toc-go{font-weight:550}
.toc-root-row .toc-fold:not(:disabled){font-weight:700}
.toc-chapter-detail{padding:0 8px 11px 27px}
.toc-chapter-link{display:block;width:100%;padding:9px 10px;text-align:left;border-radius:8px;border:1px solid color-mix(in srgb,var(--reader-border) 75%,var(--reader-accent) 25%);color:var(--reader-ink);background:var(--reader-control);font-size:12px;line-height:1.4}
.toc-chapter-link:hover,.toc-chapter-link:focus-visible{border-color:var(--reader-accent);outline:none}
.toc-chapter-link small{display:block;margin-top:3px;font-size:10px;color:var(--reader-muted)}
.toc-chapter-link:disabled{opacity:.55;cursor:default}
