/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.isolate{isolation:isolate}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}}:root{--color-walnut-900:#241710;--color-oak-800:#332116;--color-mahogany-700:#4b2f20;--color-walnut-600:#68432b;--color-walnut-500:#805736;--color-antique-gold:#c59c60;--color-copper:#b87344;--color-parchment:#f3e6cf;--color-ivory:#fff8eb;--color-brown-text:#30231b;--color-graphite-950:#141518;--color-slate-800:#343840;--color-white:#fff;--color-black:#000;--color-success:#2d7657;--color-warning:#a76418;--color-danger:#b84646;--color-info:#2f4a63;--font-serif:"Noto Serif Thai", "Sarabun", Tahoma, Georgia, serif;--font-ui:"IBM Plex Sans Thai", "Sarabun", "Segoe UI", Tahoma, system-ui, sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #00000040}@supports (color:color-mix(in lab, red, red)){:root{--shadow-sm:0 1px 2px color-mix(in srgb, var(--color-black) 25%, transparent)}}:root{--shadow-md:0 6px 16px #0000004d}@supports (color:color-mix(in lab, red, red)){:root{--shadow-md:0 6px 16px color-mix(in srgb, var(--color-black) 30%, transparent)}}:root{--shadow-panel:0 18px 44px #0006}@supports (color:color-mix(in lab, red, red)){:root{--shadow-panel:0 18px 44px color-mix(in srgb, var(--color-black) 40%, transparent)}}:root{--shadow-book:2px 6px 14px #0000008c, inset -2px 0 3px #0000004d}@supports (color:color-mix(in lab, red, red)){:root{--shadow-book:2px 6px 14px color-mix(in srgb, var(--color-black) 55%, transparent), inset -2px 0 3px color-mix(in srgb, var(--color-black) 30%, transparent)}}:root{--shadow-shelf:0 10px 18px -4px #0009, inset 0 2px 0 var(--color-antique-gold)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-shelf:0 10px 18px -4px color-mix(in srgb, var(--color-black) 60%, transparent), inset 0 2px 0 color-mix(in srgb, var(--color-antique-gold) 35%, transparent)}}:root{--dur-fast:.15s;--dur-normal:.25s;--dur-slow:.45s;--ease:cubic-bezier(.2,.7,.2,1);--z-base:0;--z-decor:1;--z-content:10;--z-book:20;--z-sticky:100;--z-dropdown:200;--z-modal:300;--z-toast:400;--on-status:var(--color-white)}[data-mode=dark]{--bg:var(--color-walnut-900);--bg-2:var(--color-oak-800);--surface:var(--color-oak-800);--surface-2:var(--color-mahogany-700);--text:var(--color-ivory);--text-2:var(--color-parchment);--border:var(--color-antique-gold);--border-subtle:var(--color-walnut-500);--action:var(--color-antique-gold);--action-hover:var(--color-copper);--action-text:var(--color-walnut-900);--focus:var(--color-antique-gold);--accent:var(--color-antique-gold);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-mode=light]{--bg:var(--color-parchment);--bg-2:var(--color-ivory);--surface:var(--color-ivory);--surface-2:var(--color-white);--text:var(--color-brown-text);--text-2:var(--color-walnut-600);--border:var(--color-walnut-500);--border-subtle:var(--color-antique-gold);--action:var(--color-mahogany-700);--action-hover:var(--color-walnut-900);--action-text:var(--color-ivory);--focus:var(--color-walnut-500);--accent:var(--color-copper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:400 16px/1.7 var(--font-ui);-webkit-text-size-adjust:100%;margin:0;overflow-x:hidden}body:before{content:"";z-index:var(--z-base);pointer-events:none;opacity:.5;background:radial-gradient(ellipse 70% 40% at 50% 0%, var(--color-antique-gold), transparent 70%);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){body:before{background:radial-gradient(ellipse 70% 40% at 50% 0%, color-mix(in srgb, var(--color-antique-gold) 20%, transparent), transparent 70%)}}#root{z-index:var(--z-content);flex-direction:column;min-height:100vh;display:flex;position:relative}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}a{color:inherit}h1,h2,h3,h4,p{margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--action);color:var(--action-text);border-radius:var(--radius-md);z-index:var(--z-modal);padding:8px 16px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.wrap{width:min(1240px,100% - 32px);margin-inline:auto}.muted{color:var(--text-2)}.serif{font-family:var(--font-serif)}main{flex:1}.page{padding:28px 0 64px}.page h1{font:700 clamp(26px, 4vw, 38px)/1.5 var(--font-serif)}.lead{color:var(--text-2);max-width:70ch;margin-top:4px}.section{margin-top:48px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px;display:flex}.section-head h2{font:700 clamp(20px, 2.6vw, 26px)/1.5 var(--font-serif)}.section-head p{color:var(--text-2);font-size:14px}.btn{border-radius:var(--radius-md);min-height:44px;font:600 14px/1.2 var(--font-ui);cursor:pointer;color:var(--text);transition:background var(--dur-fast), transform var(--dur-fast);white-space:nowrap;background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--action);color:var(--action-text)}.btn-primary:hover{background:var(--action-hover)}.btn-outline{border-color:var(--border)}.btn-outline:hover{background:var(--surface-2)}.btn-ghost:hover{background:var(--surface)}.btn-icon{width:44px;padding:0}.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.is-on{background:var(--surface-2);border-color:var(--accent)}.chip{font:600 12px/1.6 var(--font-ui);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.chip-gold{background:var(--action);color:var(--action-text)}.chip-success{background:var(--color-success);color:var(--on-status)}.chip-info{background:var(--color-info);color:var(--on-status)}.chip-warning{background:var(--color-warning);color:var(--on-status)}.chip-outline{border:1px solid var(--border);color:var(--text)}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hdr{z-index:var(--z-sticky);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.hdr{background:color-mix(in srgb, var(--bg) 94%, transparent)}}.hdr{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-subtle)}.hdr-in{align-items:center;gap:14px;min-height:64px;display:flex}.logo{font:700 18px/1.2 var(--font-serif);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo i{background:linear-gradient(135deg, var(--color-antique-gold), var(--color-copper));width:28px;height:28px;color:var(--color-walnut-900);border-radius:6px;place-items:center;display:grid}.nav{gap:4px;margin-left:8px;display:flex}.nav a,.nav span{border-radius:var(--radius-md);padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none}.nav a:hover{background:var(--surface)}.nav a[aria-current=page]{background:var(--surface-2);box-shadow:inset 0 -2px 0 var(--accent)}.nav .planned{opacity:.55;cursor:not-allowed;align-items:center;gap:6px;display:inline-flex}.planned small{border:1px solid var(--border-subtle);border-radius:999px;padding:0 6px;font-size:11px}.hdr-search{flex:1;max-width:420px;margin-left:auto;position:relative}.hdr-right{gap:6px;margin-left:auto;display:flex}.hdr-search+.hdr-right{margin-left:0}.input,.select{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface-2);width:100%;min-height:44px;color:var(--text);font:400 15px/1.5 var(--font-ui);padding:8px 12px}.input::placeholder{color:var(--text-2);opacity:1}.search-box{display:flex;position:relative}.search-box .input{padding-left:40px}.search-box svg{pointer-events:none;color:var(--text-2);position:absolute;top:50%;left:12px;translate:0 -50%}.pop{position:relative}.pop-menu{background:var(--surface-2);min-width:240px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);z-index:var(--z-dropdown);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.pop-menu button,.pop-menu a,.pop-menu .planned{text-align:left;width:100%;color:inherit;font:500 14px/1.4 var(--font-ui);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.pop-menu button:hover,.pop-menu a:hover{background:var(--surface)}.pop-menu button[aria-checked=true]{background:var(--surface);box-shadow:inset 3px 0 0 var(--accent)}.pop-menu .planned{opacity:.55;cursor:not-allowed}.pop-menu hr{border:0;border-top:1px solid var(--border-subtle);margin:6px 0}.pop-menu .who{color:var(--text-2);padding:8px 12px;font-size:13px}.mobile-only{display:none}.mnav{border-top:1px solid var(--border-subtle);gap:4px;padding:8px 0 12px;display:grid}.mnav a,.mnav span{border-radius:var(--radius-md);align-items:center;gap:8px;min-height:44px;padding:12px;font-weight:500;text-decoration:none;display:flex}.mnav a:hover{background:var(--surface)}@media (width<=900px){.nav,.hdr-search.desk{display:none}.mobile-only{display:inline-flex}.mnav.mobile-only{display:grid}.msearch.mobile-only{padding-bottom:12px;display:block}.hdr-right{margin-left:auto}.logo span.t{font-size:16px}}@media (width<=420px){.logo span.t{display:none}}.cover{aspect-ratio:2/3;border-radius:3px var(--radius-sm) var(--radius-sm) 3px;background:linear-gradient(160deg, var(--c1), var(--c2));width:100%;box-shadow:var(--shadow-book);color:var(--color-ivory);isolation:isolate;position:relative;overflow:hidden;container-type:inline-size}.cover:before{content:"";background:linear-gradient(90deg,#00000073,#0000000d);width:7%;position:absolute;top:0;bottom:0;left:0}@supports (color:color-mix(in lab, red, red)){.cover:before{background:linear-gradient(90deg, color-mix(in srgb, var(--color-black) 45%, transparent), color-mix(in srgb, var(--color-black) 5%, transparent))}}.cover:before{z-index:var(--z-decor)}.cover:after{content:"";background:linear-gradient(115deg,#ffffff24,#0000 40%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.cover:after{background:linear-gradient(115deg, color-mix(in srgb, var(--color-white) 14%, transparent), transparent 40%)}}.cover:after{z-index:var(--z-decor);pointer-events:none}.cover-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.cover-scrim{z-index:1;background:linear-gradient(#0000008c 0%,#0000 38% 66%,#0009 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.cover-scrim{background:linear-gradient(180deg, color-mix(in srgb, var(--color-black) 55%, transparent) 0%, transparent 38%, transparent 66%, color-mix(in srgb, var(--color-black) 60%, transparent) 100%)}}.cover-title{text-shadow:0 2px 8px #000c}@supports (color:color-mix(in lab, red, red)){.cover-title{text-shadow:0 2px 8px color-mix(in srgb, var(--color-black) 80%, transparent)}}.cover-safe{text-align:center;z-index:var(--z-content);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:10% 10% 10% 14%}.cover-title{font:700 12.5cqw/1.5 var(--font-serif);overflow-wrap:anywhere}.cover-by{font:500 7.5cqw/1.5 var(--font-ui);color:var(--color-antique-gold)}.cover-orn{color:var(--color-antique-gold);font-size:9cqw;line-height:1}.shelf{background:linear-gradient(180deg, var(--color-walnut-900), var(--color-oak-800));border:6px solid var(--color-mahogany-700);border-radius:var(--radius-md);position:relative;box-shadow:inset 0 0 40px #0000008c}@supports (color:color-mix(in lab, red, red)){.shelf{box-shadow:inset 0 0 40px color-mix(in srgb, var(--color-black) 55%, transparent)}}.shelf{color:var(--color-ivory);padding:0 12px}.shelf-row{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-end;gap:18px;padding:36px 16px 0;display:flex;overflow-x:auto}.shelf-row::-webkit-scrollbar{display:none}.book{width:var(--bw,120px);scroll-snap-align:center;transition:transform var(--dur-normal) var(--ease);border-radius:3px;flex:none;text-decoration:none;display:block}.book:hover,.book:focus-visible,.book.is-active{transform:translateY(-12px)scale(1.04)}.plank{background:repeating-linear-gradient(92deg, var(--color-walnut-600) 0 14px, var(--color-walnut-500) 14px 17px, var(--color-mahogany-700) 17px 40px);height:22px;box-shadow:var(--shadow-shelf);border-radius:0 0 4px 4px;margin:0 -12px}.shelf-foot{align-items:center;gap:12px;min-height:64px;padding:12px 4px 14px;display:flex}.shelf-cap{min-width:0;color:var(--color-parchment);flex:1;font-size:14px}.shelf-cap b{font:700 16px/1.5 var(--font-serif);color:var(--color-ivory);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shelf .btn-outline{border-color:var(--color-antique-gold);color:var(--color-ivory)}.shelf .btn-outline:hover{background:var(--color-mahogany-700)}@media (width<=640px){.book{--bw:96px}.shelf-row{gap:14px;padding-inline:10px}}.flow{background:radial-gradient(ellipse at 50% 30%, var(--color-mahogany-700), var(--color-walnut-900) 72%);border:6px solid var(--color-mahogany-700);border-radius:var(--radius-md);color:var(--color-ivory);container-type:inline-size}.flow-stage{--w:clamp(120px, 24cqw, 210px);height:calc(var(--w) * 1.5 + 70px);perspective:1400px;isolation:isolate;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.flow-stage:active{cursor:grabbing}.flow-item{width:var(--w);margin-left:calc(var(--w) / -2);cursor:pointer;transition:transform var(--dur-slow) var(--ease), opacity var(--dur-normal);transform:translateX(calc(var(--o) * 56%)) translateZ(calc(var(--ao) * -80px)) rotateY(calc(var(--s) * -46deg)) scale(var(--sc,1));z-index:calc(10 - var(--ao));filter:brightness(calc(1 - var(--ao) * .14));background:0 0;border:0;border-radius:3px;padding:0;position:absolute;bottom:34px;left:50%}.flow-item[hidden]{display:none}.flow-item.is-sel .cover{box-shadow:var(--shadow-book), 0 0 0 2px var(--color-antique-gold), 0 0 40px var(--color-antique-gold)}@supports (color:color-mix(in lab, red, red)){.flow-item.is-sel .cover{box-shadow:var(--shadow-book), 0 0 0 2px var(--color-antique-gold), 0 0 40px color-mix(in srgb, var(--color-antique-gold) 45%, transparent)}}.flow-floor{background:repeating-linear-gradient(92deg, var(--color-walnut-600) 0 14px, var(--color-walnut-500) 14px 17px, var(--color-mahogany-700) 17px 40px);height:24px;box-shadow:var(--shadow-shelf)}.flow-info{background:var(--color-walnut-900);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px 18px;display:flex}.flow-info .meta{flex:260px;min-width:0}.flow-info b{font:700 clamp(18px, 2.4vw, 24px)/1.5 var(--font-serif);display:block}.flow-info .btn-outline{border-color:var(--color-antique-gold);color:var(--color-ivory)}.flow-info .btn-outline:hover{background:var(--color-mahogany-700)}.flow-info .btn-primary{background:var(--color-antique-gold);color:var(--color-walnut-900)}.flow-ctl{align-items:center;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.flow-item,.book,.btn{transition:none!important}html{scroll-behavior:auto}}.grid-novels{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px 18px;display:grid}.ncard{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-width:0;transition:transform var(--dur-normal) var(--ease), box-shadow var(--dur-normal);flex-direction:column;gap:10px;padding:12px;text-decoration:none;display:flex}.ncard:hover,.ncard:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-4px)}.ncard .cover{max-width:180px;margin-inline:auto}.ncard h3{font:700 16px/1.5 var(--font-serif);overflow-wrap:anywhere}.ncard .by{color:var(--text-2);font-size:13px}.ncard .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.price{font-weight:700}@media (width<=480px){.grid-novels{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.ncard{padding:8px}}.hero{gap:14px;padding:36px 0 8px;display:grid}.hero h1{font:700 clamp(30px, 5vw, 52px)/1.4 var(--font-serif);max-width:24ch}.hero p{color:var(--text-2);max-width:60ch;font-size:17px}.hero .actions{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.toolbar{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px;margin:18px 0 8px;padding:16px;display:grid}.toolbar .wide{grid-column:1/-1}.field label{color:var(--text-2);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.seg{border:1.5px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg button{background:var(--surface-2);min-height:44px;color:var(--text);font:600 14px var(--font-ui);cursor:pointer;border:0;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.seg button+button{border-left:1px solid var(--border)}.seg button[aria-pressed=true]{background:var(--action);color:var(--action-text)}.resultbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 18px;display:flex}.empty{text-align:center;border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface);justify-items:center;gap:10px;padding:48px 16px;display:grid}.empty h2{font:700 22px/1.5 var(--font-serif)}.shelf-stack{gap:28px;display:grid}.genre-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.gcard{background:linear-gradient(150deg, var(--surface-2), var(--surface));border:1px solid var(--border-subtle);border-left:5px solid var(--accent);border-radius:var(--radius-lg);transition:transform var(--dur-normal) var(--ease);gap:6px;padding:18px;text-decoration:none;display:grid}.gcard:hover,.gcard:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-3px)}.gcard h2{font:700 20px/1.5 var(--font-serif)}.gcard p{color:var(--text-2);font-size:14px}.detail{grid-template-columns:minmax(200px,300px) 1fr;align-items:start;gap:32px;display:grid}.detail .cover{max-width:300px}.detail h1{margin:6px 0}.detail .by{color:var(--text-2)}.detail .by a{color:var(--accent)}.facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0;display:grid}.fact{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px}.fact small{color:var(--text-2);font-size:12px;display:block}.fact b{font-size:16px}.syn{font:400 17px/1.9 var(--font-serif);max-width:62ch}.actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.note{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-2);margin-top:12px;padding:10px 14px;font-size:14px}.note b{color:var(--text)}.table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto;container-type:inline-size}.tbl{border-collapse:collapse;width:100%;font-size:15px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:12px 14px}.tbl th{background:var(--surface-2);font-size:13px;font-weight:600}.tbl tr:last-child td{border-bottom:0}@container (width<=520px){.tbl thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tbl tr{border-bottom:1px solid var(--border-subtle);padding:8px 0;display:block}.tbl td{border:0;justify-content:space-between;gap:12px;padding:4px 14px;display:flex}.tbl td:before{content:attr(data-label);color:var(--text-2);font-weight:600}}@media (width<=760px){.detail{grid-template-columns:1fr;gap:20px}.detail .cover{max-width:220px;margin-inline:auto}}.paper{background:var(--color-ivory);max-width:720px;color:var(--color-brown-text);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);font:400 19px/2 var(--font-serif);overflow-wrap:anywhere;margin:20px auto;padding:clamp(20px,5vw,48px)}.paper h1{font:700 26px/1.6 var(--font-serif);text-align:center;margin-bottom:18px}.paper p{text-indent:1.6em;margin-bottom:.4em}.paper .fade{text-align:center;font:500 15px/1.7 var(--font-ui);border-top:2px dashed var(--color-walnut-500);color:var(--color-walnut-600);margin-top:24px;padding:14px}.checkout{grid-template-columns:1.2fr 1fr;align-items:start;gap:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}.panel h2{font:700 20px/1.5 var(--font-serif);margin-bottom:12px}.sumrow{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.sumrow.total{border-bottom:0;font-size:18px;font-weight:700}.bookline{grid-template-columns:110px 1fr;align-items:start;gap:16px;display:grid}.demo-banner{border-radius:var(--radius-md);border:1px solid var(--color-warning);background:var(--color-warning);padding:10px 14px}@supports (color:color-mix(in lab, red, red)){.demo-banner{background:color-mix(in srgb, var(--color-warning) 18%, var(--surface))}}.demo-banner{margin-bottom:16px;font-size:14px}@media (width<=800px){.checkout{grid-template-columns:1fr}.bookline{grid-template-columns:84px 1fr}}.ftr{border-top:1px solid var(--border-subtle);background:var(--bg-2);margin-top:40px;padding:32px 0 24px}.ftr-grid{grid-template-columns:1.4fr 1fr 1fr;gap:24px;display:grid}.ftr h2{font:700 15px/1.5 var(--font-ui);margin-bottom:8px}.ftr ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ftr a{color:var(--text-2);font-size:14px;text-decoration:none}.ftr a:hover{color:var(--text);text-decoration:underline}.ftr small{color:var(--text-2);margin-top:18px;display:block}@media (width<=700px){.ftr-grid{grid-template-columns:1fr 1fr}.ftr-grid>:first-child{grid-column:1/-1}}.breadcrumb{color:var(--text-2);margin-bottom:14px;font-size:14px}.breadcrumb a{color:var(--text-2)}.toast{z-index:var(--z-toast);background:var(--surface-2);border:1px solid var(--border);border-left:5px solid var(--color-success);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);max-width:min(360px,100vw - 32px);padding:12px 16px;position:fixed;bottom:16px;right:16px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}html[data-mode=dark] .portal{--bg:var(--color-oak-800);--bg-2:var(--color-walnut-900);--surface:var(--color-mahogany-700);--surface-2:var(--color-walnut-600);--text:var(--color-ivory);--text-2:var(--color-parchment);--border:var(--color-antique-gold);--border-subtle:var(--color-walnut-500);--action:var(--color-antique-gold);--action-hover:var(--color-copper);--action-text:var(--color-walnut-900);--focus:var(--color-antique-gold);--accent:var(--color-antique-gold)}html[data-mode=light] .portal{--bg:var(--color-ivory);--bg-2:var(--color-parchment);--surface:var(--color-white);--surface-2:var(--color-white);--text:var(--color-brown-text);--text-2:var(--color-walnut-600);--border:var(--color-walnut-500);--border-subtle:var(--color-parchment);--action:var(--color-walnut-600);--action-hover:var(--color-mahogany-700);--action-text:var(--color-ivory);--focus:var(--color-walnut-500);--accent:var(--color-copper)}.portal{background:var(--bg);color:var(--text);min-height:100vh;z-index:var(--z-content);grid-template-columns:264px minmax(0,1fr);display:grid;position:relative}.p-side{background:var(--bg-2);border-right:1px solid var(--border-subtle);flex-direction:column;gap:14px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow:auto}.p-side nav{gap:2px;display:grid}.p-side nav a,.p-side nav .planned{border-radius:var(--radius-md);align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.p-side nav a:hover{background:var(--surface)}.p-side nav a[aria-current=page]{background:var(--action);color:var(--action-text);font-weight:600}.p-side .badge-n{background:var(--color-danger);color:var(--on-status);border-radius:999px;margin-left:auto;padding:0 8px;font-size:12px}.p-main{flex-direction:column;min-width:0;display:flex}.p-top{border-bottom:1px solid var(--border-subtle);background:var(--bg);z-index:var(--z-sticky);align-items:center;gap:8px;padding:10px 24px;display:flex;position:sticky;top:0}.p-top .grow{flex:1}.p-body{width:100%;max-width:1180px;padding:24px 24px 96px}.p-body h1{font:700 clamp(24px, 3.4vw, 32px)/1.5 var(--font-serif)}.p-body .lead{margin-bottom:18px}.p-menu-btn,.p-bottom{display:none}@media (width<=900px){.portal{grid-template-columns:1fr}.p-side{width:min(300px,86vw);z-index:var(--z-dropdown);transition:transform var(--dur-normal) var(--ease);box-shadow:var(--shadow-panel);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.p-side.open{transform:none}.p-menu-btn{display:inline-flex}.p-top{padding:8px 12px}.p-body{padding:16px 14px 100px}.p-bottom{z-index:var(--z-sticky);background:var(--bg-2);border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.p-bottom a{justify-items:center;gap:2px;min-height:56px;padding:8px 2px;font-size:11px;text-decoration:none;display:grid}.p-bottom a[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent);font-weight:700}}.scrim{background:color-mix(in srgb, var(--color-black) 55%, transparent);z-index:calc(var(--z-dropdown) - 1);position:fixed;inset:0}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.stat{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur-normal) var(--ease);gap:2px;padding:16px;text-decoration:none;display:grid}a.stat:hover,a.stat:focus-visible{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat small{color:var(--text-2);font-size:13px}.stat b{font:700 30px/1.3 var(--font-ui)}.stat span{color:var(--text-2);font-size:13px}.two{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (width<=800px){.two{grid-template-columns:1fr}}.list{gap:0;margin:0;padding:0;list-style:none;display:grid}.list li{border-bottom:1px solid var(--border-subtle);align-items:flex-start;gap:10px;padding:10px 0;font-size:14px;display:flex}.list li:last-child{border-bottom:0}.list time{color:var(--text-2);white-space:nowrap;margin-left:auto;font-size:12px}.list a{text-decoration:underline}.dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:9px}.dot.read{background:var(--border-subtle)}.novel-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:100px 1fr;gap:16px;padding:14px;display:grid}.novel-card h2{font:700 18px/1.5 var(--font-serif)}.novel-card .actions{margin-top:10px}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:16px;display:grid}@media (width<=480px){.novel-card{grid-template-columns:76px 1fr;gap:10px}}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid .full{grid-column:1/-1}@media (width<=700px){.form-grid{grid-template-columns:1fr}}.field .err{color:var(--text);gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.field .err:before{content:"!";background:var(--color-danger);width:16px;height:16px;color:var(--on-status);border-radius:50%;flex:none;place-items:center;margin-top:4px;font-size:11px;line-height:1;display:grid}.field .help{color:var(--text-2);margin-top:4px;font-size:13px}.input[aria-invalid=true],.select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}textarea.input{resize:vertical;min-height:110px;line-height:1.7}.checks{flex-wrap:wrap;gap:8px;display:flex}.check{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:15px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--action)}.check:has(input:checked){background:var(--action);color:var(--action-text)}.stepper{counter-reset:s;gap:6px;margin:0 0 20px;padding:0;list-style:none;display:flex;overflow-x:auto}.stepper li{counter-increment:s;border:1.5px solid var(--border-subtle);white-space:nowrap;color:var(--text-2);border-radius:999px;flex:1 0 auto;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.stepper li:before{content:counter(s);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.stepper li[aria-current=step]{border-color:var(--accent);color:var(--text);background:var(--surface)}.stepper li.done:before{content:"✓";background:var(--color-success);color:var(--on-status);border-color:#0000}.timeline{border-left:2px solid var(--border-subtle);gap:14px;margin:0;padding:0 0 0 18px;list-style:none;display:grid}.timeline li{padding-left:14px;font-size:14px;position:relative}.timeline li:before{content:"";background:var(--border-subtle);border:2px solid var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-26px}.timeline li.cur:before{background:var(--accent)}.timeline time{color:var(--text-2);font-size:12px;display:block}.state-bar{flex-wrap:wrap;gap:6px;margin:8px 0 16px;display:flex}.hero-author{gap:14px;padding:32px 0 8px;display:grid}.hero-author h1{font:700 clamp(30px, 5vw, 48px)/1.4 var(--font-serif);max-width:22ch}.steps-grid{counter-reset:h;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.steps-grid .panel{counter-increment:h}.steps-grid .panel:before{content:counter(h);background:var(--action);width:34px;height:34px;color:var(--action-text);border-radius:50%;place-items:center;margin-bottom:8px;font-weight:700;display:grid}details.faq{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface);margin-bottom:8px}details.faq summary{cursor:pointer;min-height:48px;padding:14px 16px;font-weight:600}details.faq p{color:var(--text-2);padding:0 16px 14px}.rules{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rules li{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:10px 14px;font-size:15px;display:flex}.rules code{background:var(--bg-2);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:4px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.editor{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}@media (width<=1000px){.editor{grid-template-columns:1fr}}.editor-title{font:700 22px/1.5 var(--font-serif)!important}.editor-area{border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface-2);width:100%;min-height:56vh;color:var(--text);font:400 18px/2 var(--font-serif);resize:vertical;padding:20px clamp(14px,3vw,32px)}.editor-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.editor-bar .grow{flex:1}.savestate{color:var(--text-2);font-size:13px}.tabs-mini{border:1.5px solid var(--border);border-radius:var(--radius-md);margin-bottom:10px;display:inline-flex;overflow:hidden}.tabs-mini button{background:var(--surface-2);min-height:40px;color:var(--text);font:600 14px var(--font-ui);cursor:pointer;border:0;padding:0 14px}.tabs-mini button+button{border-left:1px solid var(--border)}.tabs-mini button[aria-selected=true]{background:var(--action);color:var(--action-text)}.revs{gap:6px;max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.revs li{background:var(--bg-2);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.banner{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);margin:10px 0;padding:10px 14px;font-size:14px}.banner.warn{border-color:var(--color-warning);background:color-mix(in srgb, var(--color-warning) 16%, var(--surface))}.banner.ok{border-color:var(--color-success);background:color-mix(in srgb, var(--color-success) 16%, var(--surface))}.banner.bad{border-color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 16%, var(--surface))}.sheet-back{z-index:var(--z-modal);background:color-mix(in srgb, var(--color-black) 60%, transparent);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{background:var(--surface-2);width:min(560px,100%);max-height:calc(100dvh - 32px);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);padding:20px;overflow:auto}.sheet h2{font:700 20px/1.5 var(--font-serif);margin-bottom:6px}.finding{border:1px solid var(--border-subtle);border-left:5px solid var(--color-danger);border-radius:var(--radius-md);background:var(--surface);margin-top:10px;padding:12px}.finding.review{border-left-color:var(--color-warning)}.finding code{font-weight:700}.finding blockquote{background:var(--bg-2);border-radius:var(--radius-sm);color:var(--text-2);overflow-wrap:anywhere;margin:6px 0 0;padding:6px 10px;font-size:14px}@media (width<=640px){.sheet-back{align-items:end;padding:0}.sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:86dvh;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.bars{align-items:flex-end;gap:8px;height:140px;padding:8px 0 24px;display:flex}.bars div{background:var(--action);border-radius:4px 4px 0 0;flex:1;min-height:4px;position:relative}.bars span{color:var(--text-2);font-size:11px;position:absolute;bottom:-22px;left:50%;translate:-50%}.chip-danger{background:var(--color-danger);color:var(--on-status)}.chip-muted{background:var(--surface-2);color:var(--text);border:1px solid var(--border-subtle)}.tbl .acts{flex-wrap:wrap;gap:6px;display:flex}.demo-ctl{border:2px dashed var(--color-warning);border-radius:var(--radius-lg);margin-top:18px;padding:14px}.demo-ctl h2{font:700 16px/1.5 var(--font-ui);margin-bottom:4px}.portal .panel{background:var(--surface)}.portal .btn-outline:hover,.portal .tbl th{background:var(--bg-2)}.portal .table-wrap{background:var(--surface)}.rb-root{--fs:18px;--lh:1.9;--ff:var(--font-serif);--rb-w:1;--pg-bg:var(--color-ivory);--pg-ink:var(--color-brown-text);--pg-muted:var(--color-walnut-600);--pg-edge:var(--color-parchment)}.rb-root[data-paper=white]{--pg-bg:var(--color-white);--pg-ink:var(--color-black);--pg-edge:var(--color-parchment)}.rb-root[data-paper=night]{--pg-bg:var(--color-walnut-900);--pg-ink:var(--color-parchment);--pg-muted:var(--color-antique-gold);--pg-edge:var(--color-oak-800)}.rb-room{background:radial-gradient(ellipse 70% 55% at 50% 15%, color-mix(in srgb, var(--color-antique-gold) 22%, transparent), transparent 70%), repeating-linear-gradient(90deg, var(--color-walnut-900) 0 38px, var(--color-oak-800) 38px 41px, var(--color-walnut-900) 41px 90px);background-color:var(--color-walnut-900);color:var(--color-ivory);position:relative}.rb-stage{touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-height:0;padding:44px 12px 36px;display:flex;position:relative;overflow-x:clip}.rb-book{--W:480px;--H:680px;--n:2;--px:36px;--pt:36px;--pb:50px;--open:1;--shL:0;--shR:0;width:calc(var(--W) * var(--n));height:var(--H);perspective:3200px;flex:none;position:relative}.rb-book:before{content:"";background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-black) 70%, transparent), transparent 70%);filter:blur(6px);height:34px;position:absolute;bottom:-26px;left:4%;right:4%}.rb-board{height:calc(var(--H) + 16px);width:calc(var(--W) + 10px);background:linear-gradient(135deg, var(--color-mahogany-700), var(--color-walnut-900));border:1px solid var(--color-black);box-shadow:0 10px 28px color-mix(in srgb, var(--color-black) 60%, transparent);border-radius:4px 8px 8px 4px;position:absolute;top:-8px}.rb-board.l{border-radius:8px 4px 4px 8px;left:-10px}.rb-board.r{left:var(--W)}.rb-single .rb-board.r{left:0}.rb-single .rb-board.l{display:none}.rb-pg{width:var(--W);height:var(--H);background:var(--pg-bg);color:var(--pg-ink);position:relative;overflow:hidden}.rb-pg:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, var(--pg-edge) 25%, transparent) 3px 4px);opacity:.5;position:absolute;inset:0}.rb-pg.st{position:absolute;top:0}#rb-pgL{box-shadow:-1px 0 0 var(--pg-edge), -3px 1px 0 var(--pg-edge), -5px 2px 0 color-mix(in srgb, var(--pg-edge) 60%, transparent);--gd:270deg;left:0}#rb-pgR{left:var(--W);box-shadow:1px 0 0 var(--pg-edge), 3px 1px 0 var(--pg-edge), 5px 2px 0 color-mix(in srgb, var(--pg-edge) 60%, transparent)}.rb-single #rb-pgR{left:0}.rb-single #rb-pgL{display:none}.rb-pg.st:after{content:"";pointer-events:none;background:linear-gradient(var(--gd,90deg), color-mix(in srgb, var(--color-black) 34%, transparent), color-mix(in srgb, var(--color-black) 10%, transparent) 8%, transparent 24%);z-index:3;position:absolute;inset:0}.rb-pg.st>i.cast{pointer-events:none;z-index:4;background:linear-gradient(var(--gd,90deg), color-mix(in srgb, var(--color-black) 60%, transparent), transparent 78%);opacity:var(--c,0);position:absolute;inset:0}#rb-pgL>i.cast{--c:var(--shL)}#rb-pgR>i.cast{--c:var(--shR)}.rb-spine{left:var(--W);width:0;height:calc(var(--H) + 16px);z-index:2;pointer-events:none;position:absolute;top:-8px}.rb-spine:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-black) 55%, transparent) 50%, transparent);width:14px;position:absolute;top:0;bottom:0;left:-7px}.rb-single .rb-spine{left:0}.rb-in{left:var(--px);right:var(--px);top:var(--pt);bottom:var(--pb);font:400 var(--fs)/var(--lh) var(--ff);color:var(--pg-ink);overflow-wrap:anywhere;z-index:1;position:absolute;overflow:hidden}.rb-in h2{font:700 1.3em/1.5 var(--font-serif);text-align:center;margin:.5em 0 1em}.rb-in h2:after{content:"";background:var(--pg-muted);width:3em;height:2px;margin:.5em auto 0;display:block}.rb-in p{text-indent:1.6em;margin:0}.rb-in p.cont{text-indent:0}.rb-no{text-align:center;font:500 13px/1 var(--font-ui);color:var(--pg-muted);z-index:1;position:absolute;bottom:18px;left:0;right:0}.rb-measure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-9999px}.rb-ep{background:repeating-linear-gradient(45deg, var(--color-parchment) 0 10px, color-mix(in srgb, var(--color-antique-gold) 40%, var(--color-parchment)) 10px 12px);position:absolute;inset:0}.rb-ep:after{content:"";background:radial-gradient(ellipse at center, transparent 40%, color-mix(in srgb, var(--color-walnut-500) 35%, transparent));position:absolute;inset:0}.rb-endp{text-align:center;color:var(--pg-muted);font:400 1em/2 var(--font-serif);z-index:1;place-items:center;display:grid;position:absolute;inset:0}.rb-strip{transform-style:preserve-3d;--d:0;--sf:0;--sb:0;position:absolute}.rb-strip .rb-strip{transform:rotateY(calc(var(--d) * 1deg))}.rb-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.rb-face.b{transform:rotateY(180deg)}.rb-fi{position:absolute;top:0}.rb-fs{pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--color-black) 70%, transparent), color-mix(in srgb, var(--color-black) 10%, transparent));position:absolute;inset:0}.rb-face.f .rb-fs{opacity:calc(var(--sf) * (.35 + var(--kk) * .65))}.rb-face.b .rb-fs{opacity:calc(var(--sb) * (.35 + var(--kk) * .65))}.rb-leaf{z-index:10;will-change:transform}.rb-verso{background:var(--pg-bg)}.rb-cv{background:linear-gradient(150deg, var(--c1), var(--c2));color:var(--color-antique-gold);justify-content:center;align-items:center;gap:calc(var(--W) * .035);text-align:center;border-radius:3px 8px 8px 3px;flex-direction:column;padding:0 12%;display:flex;position:absolute;inset:0;overflow:hidden}.rb-cv:before{content:"";background:color-mix(in srgb, var(--color-black) 55%, transparent);width:2px;box-shadow:3px 0 0 color-mix(in srgb, var(--color-antique-gold) 25%, transparent);position:absolute;top:0;bottom:0;left:5%}.rb-cv:after{content:"";border:2px solid var(--color-antique-gold);box-shadow:inset 0 0 0 5px var(--c1), inset 0 0 0 6px color-mix(in srgb, var(--color-antique-gold) 55%, transparent);pointer-events:none;border-radius:3px;position:absolute;inset:4.5% 5% 4.5% 9%}.rb-cv-t{font:700 calc(var(--W) * .095)/1.55 var(--font-serif);color:var(--color-antique-gold);text-shadow:0 2px 3px color-mix(in srgb, var(--color-black) 60%, transparent);overflow-wrap:anywhere}.rb-cv-o{font-size:calc(var(--W) * .07);line-height:1}.rb-cv-a{font:500 calc(var(--W) * .05)/1.6 var(--font-ui);color:var(--color-parchment)}.rb-cvb{background:linear-gradient(135deg, var(--c1), var(--c2));position:absolute;inset:0}.rb-cvb .rb-ep{inset:8px 0 8px 10px}.rb-toc{color:var(--pg-ink);z-index:1;font:400 calc(var(--W) * .045)/1.9 var(--font-serif);padding:12% 10% 10% 12%;position:absolute;inset:0;overflow:hidden}.rb-toc h3{font:700 calc(var(--W) * .07)/1.5 var(--font-serif);text-align:center;margin:0 0 .6em}.rb-toc ol{margin:0;padding:0;list-style:none}.rb-toc li{border-bottom:1px dotted var(--pg-muted);gap:.5em;display:flex}.rb-toc li span:last-child{color:var(--pg-muted);margin-left:auto}.rb-scroll{width:min(var(--rb-sw,720px), 100%);background:var(--pg-bg);color:var(--pg-ink);font:400 var(--fs)/var(--lh) var(--ff);overflow-wrap:anywhere;box-shadow:0 12px 32px color-mix(in srgb, var(--color-black) 55%, transparent);border-radius:8px;margin:0 auto;padding:28px clamp(16px,5vw,48px) 40px}.rb-scroll h2{font:700 1.3em/1.5 var(--font-serif);text-align:center;margin:.4em 0 1em}.rb-scroll p{text-indent:1.6em;margin:0 0 .5em}.rd-wrap{min-height:100dvh;z-index:var(--z-content);flex-direction:column;display:flex;position:relative}.rd-top,.rd-bottom{background:color-mix(in srgb, var(--color-walnut-900) 94%, transparent);color:var(--color-ivory);border-color:var(--color-walnut-500);z-index:var(--z-sticky);align-items:center;gap:8px;padding:8px 14px;display:flex}.rd-top{border-bottom:1px solid var(--color-walnut-500);position:sticky;top:0}.rd-bottom{border-top:1px solid var(--color-walnut-500);padding-bottom:calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap;position:sticky;bottom:0}.rd-top .t{min-width:0;font:700 15px/1.4 var(--font-serif);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rd-top .t small{font:400 12px/1.3 var(--font-ui);color:var(--color-parchment);display:block}.rd-btn{border-radius:var(--radius-md);border:1.5px solid var(--color-antique-gold);background:var(--color-mahogany-700);min-width:44px;min-height:44px;color:var(--color-ivory);font:600 14px/1.2 var(--font-ui);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;text-decoration:none;display:inline-flex}.rd-btn:hover{background:var(--color-walnut-600)}.rd-btn.gold,.rd-btn[aria-pressed=true]{background:var(--color-antique-gold);color:var(--color-walnut-900)}.rd-btn:disabled{opacity:.45;cursor:not-allowed}.rd-mid{text-align:center;min-width:160px;color:var(--color-parchment);flex:1;font-size:13px}.rd-prog{background:var(--color-oak-800);border:1px solid var(--color-walnut-500);border-radius:3px;height:6px;margin-top:4px;overflow:hidden}.rd-prog>span{background:var(--color-antique-gold);width:0;height:100%;display:block}.rd-done{background:var(--color-oak-800);border:1.5px solid var(--color-antique-gold);border-radius:var(--radius-lg);width:min(860px,100% - 24px);color:var(--color-ivory);z-index:var(--z-content);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:0 auto 10px;padding:8px 14px;display:flex;position:relative}.rd-done b{font:700 16px/1.5 var(--font-serif)}.rd-done .row{flex-wrap:wrap;gap:8px;display:flex}.rd-panel{width:min(360px,92vw);z-index:var(--z-modal);background:var(--color-oak-800);color:var(--color-ivory);border-left:2px solid var(--color-antique-gold);box-shadow:-10px 0 30px color-mix(in srgb, var(--color-black) 55%, transparent);padding:16px;position:fixed;top:0;bottom:0;right:0;overflow:auto}.rd-panel h2{font:700 18px/1.5 var(--font-serif);justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.rd-panel .fld{margin:14px 0}.rd-panel .fld>.lb{font:600 13px/1.5 var(--font-ui);color:var(--color-parchment);margin-bottom:6px;display:block}.rd-panel .seg{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:6px;display:grid}.rd-panel .seg button{border:1.5px solid var(--color-walnut-500);background:var(--color-walnut-900);min-height:44px;color:var(--color-ivory);font:600 13px var(--font-ui);cursor:pointer;border-radius:8px}.rd-panel .seg button[aria-pressed=true]{background:var(--color-antique-gold);color:var(--color-walnut-900);border-color:var(--color-antique-gold)}.rd-panel input[type=range]{width:100%;accent-color:var(--color-antique-gold);height:32px}.rd-scrim{z-index:calc(var(--z-modal) - 1);background:color-mix(in srgb, var(--color-black) 55%, transparent);position:fixed;inset:0}.rd-chlist{gap:4px;margin:0;padding:0;list-style:none;display:grid}.rd-chlist a,.rd-chlist .lock{border:1px solid var(--color-walnut-500);border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.rd-chlist a[aria-current=true]{background:var(--color-antique-gold);color:var(--color-walnut-900);font-weight:700}.rd-chlist .lock{opacity:.75}.rd-gate{text-align:center;background:var(--color-oak-800);max-width:560px;color:var(--color-ivory);border:2px solid var(--color-antique-gold);border-radius:var(--radius-xl);justify-items:center;gap:12px;margin:48px auto;padding:28px;display:grid}.rd-gate h1{font:700 24px/1.5 var(--font-serif)}@media (width<=700px){.rd-panel{border-left:0;border-top:2px solid var(--color-antique-gold);width:100%;max-height:82dvh;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;inset:auto 0 0}.rd-top{padding:6px 10px}.rd-btn{padding:0 10px}.rd-btn .lbl{display:none}}.rb-open{z-index:var(--z-modal);background:radial-gradient(ellipse at 50% 40%, var(--color-mahogany-700), var(--color-walnut-900) 70%);color:var(--color-ivory);place-items:center;display:grid;position:fixed;inset:0}.rb-open .skip-hint{text-align:center;color:var(--color-parchment);font-size:13px;position:absolute;bottom:24px;left:0;right:0}@media (prefers-reduced-motion:reduce){.rb-leaf{will-change:auto}}
