/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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{.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.sepia{--tw-sepia:sepia(100%);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{--ink:#17201f;--muted:#66706e;--line:#dfe5e2;--panel:#f4f6f4;--paper:#fffefa;--accent:#147d78;--accent-dark:#0b5e5a;--accent-pale:#dff1ed;--sidebar:#192523}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);font-family:var(--font-geist-sans), "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;background:#e9edeb;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:2px solid #62bdb1}.app-shell{background:#eef1ef;flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 24px;display:flex;position:relative}.brand-block,.top-actions,.brand{align-items:center;display:flex}.brand-block{gap:20px;min-width:0}.brand{letter-spacing:-.03em;cursor:pointer;white-space:nowrap;background:0 0;border:0;gap:10px;padding:0;font-size:18px;font-weight:720}.brand-mark{color:#fff;background:var(--accent);border-radius:10px 10px 10px 3px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-weight:700;display:grid}.book-name{border-left:1px solid var(--line);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:34vw;padding-left:20px;overflow:hidden}.top-actions{gap:12px}.privacy-note{color:#64706d;white-space:nowrap;font-size:12px}.privacy-note span{color:#48a77d;margin-right:5px;font-size:9px}.page-theme-toggle{color:#53605d;cursor:pointer;background:#f2f5f3;border:1px solid #dce3e0;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 12px;font-size:12px;font-weight:650;display:flex}.page-theme-toggle:hover{color:var(--accent-dark);border-color:#9dc8c1}.page-theme-toggle>span:first-child{font-size:17px;line-height:1}.close-book-button{color:#5f6a67;cursor:pointer;background:0 0;border:1px solid #d6dedb;border-radius:8px;height:38px;padding:0 13px;font-size:12px;font-weight:650}.close-book-button:hover{color:#9a3f38;background:#fff5f3;border-color:#e5b8b3}.primary-button,.secondary-button{cursor:pointer;border:0;font-weight:700;transition:transform .15s,background .15s}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button{color:#fff;background:var(--accent);border-radius:8px;padding:13px 28px;box-shadow:0 7px 20px #147d782e}.primary-button:hover{background:var(--accent-dark)}.secondary-button{color:var(--accent-dark);background:var(--accent-pale);border-radius:7px;padding:10px 18px}.mobile-action-label{display:none}.workspace{flex:1;grid-template-columns:276px minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.workspace:not(.has-book){grid-template-columns:0 minmax(0,1fr)}.workspace:not(.has-book) .sidebar{transform:translate(-100%)}.sidebar{color:#e9efed;background:var(--sidebar);z-index:15;border-right:1px solid #33413e;flex-direction:column;min-width:276px;transition:transform .22s;display:flex;position:relative;overflow:hidden}.sidebar-header{justify-content:space-between;align-items:flex-start;padding:25px 22px 20px;display:flex}.sidebar h2{margin:4px 0 0;font-size:20px}.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:10px;font-weight:800;line-height:1}.sidebar .eyebrow{color:#80c7bd}.close-sidebar,.mobile-menu{display:none}.control-section{border-top:1px solid #33413e;padding:18px 22px}.control-label{color:#aeb9b6;margin-bottom:9px;font-size:12px;font-weight:650;display:block}.control-section select{color:#fff;background:#111a19;border:1px solid #465451;border-radius:6px;outline:0;width:100%;padding:10px 11px}.control-section select:focus{border-color:#70bbb1}.orientation-control{grid-template-columns:1fr 1fr;gap:6px;margin-top:11px;display:grid}.orientation-control button{color:#aeb9b6;cursor:pointer;background:#111a19;border:1px solid #394744;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:9px;display:flex}.orientation-control button.active{color:#dff8f4;background:#1b4f4b;border-color:#4d9e94}.portrait-icon,.landscape-icon{border:1.5px solid;border-radius:2px;display:inline-block}.portrait-icon{width:10px;height:15px}.landscape-icon{width:15px;height:10px}.label-row{justify-content:space-between;align-items:center;display:flex}.label-row .control-label{margin-bottom:0}.label-row output{color:#dce6e3;font-size:12px}.font-size-readout{align-items:center;gap:9px;display:flex}.font-size-readout button{color:#9dd4cc;cursor:pointer;background:0 0;border:1px solid #48625d;border-radius:5px;padding:3px 7px;font-size:10px}.font-size-readout button:hover{color:#e4faf6;border-color:#70b8ae}.font-size-readout button:disabled{color:#71827e;cursor:default;border-color:#384743}.font-range-wrap{margin-top:13px;padding-bottom:22px;position:relative}.range{accent-color:#67b8ad;width:100%;display:block}.font-default-marker{color:#91a19d;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:9px;line-height:1;position:absolute;top:17px;left:29.4118%;transform:translate(-50%)}.font-default-marker:before{content:"";background:#879792;width:1px;height:7px;position:absolute;top:-6px;left:50%}.font-default-marker:hover,.font-default-marker.active{color:#8ed3c9;font-weight:800}.font-default-marker:hover:before,.font-default-marker.active:before{background:#71c1b6;width:2px}.keyboard-hint{color:#778783;letter-spacing:.03em;margin:3px 0 0;font-size:9px}.font-family-control{grid-template-columns:1fr 1fr;gap:6px;display:grid}.font-family-control button{color:#aeb9b6;cursor:pointer;background:#111a19;border:1px solid #394744;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px;font-size:11px;display:flex}.font-family-control button.active{color:#dff8f4;background:#1b4f4b;border-color:#4d9e94}.font-family-control button:hover{border-color:#65948d}.font-mincho-sample,.font-gothic-sample{font-size:18px;line-height:1}.font-mincho-sample{font-family:Hiragino Mincho ProN,Yu Mincho,serif}.font-gothic-sample{font-family:Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;font-weight:700}.theme-options{gap:10px;display:flex}.theme-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 1px #ffffff2e}.theme-swatch.paper{background:#fffdfa}.theme-swatch.sepia{background:#f4ecd8}.theme-swatch.night{background:#171a1f;border-color:#82918d;box-shadow:inset 0 0 0 1px #e2e8e6}.theme-swatch.active{border-color:#76c2b8;box-shadow:0 0 0 2px #192523,0 0 0 4px #76c2b8}.toc-section{border-top:1px solid #33413e;flex-direction:column;min-height:0;display:flex}.section-toggle{color:#e5ecea;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:16px 22px;font-weight:700;display:flex}.section-toggle small{text-align:center;background:#32423f;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 6px}.toc-scroll{max-height:34vh;padding:0 10px 14px;overflow:auto}.toc-list,.toc-children{margin:0;padding:0;list-style:none}.toc-children{padding-left:12px}.toc-list button,.toc-children button{color:#afbbb8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:8px 12px;font-size:12px;line-height:1.45}.toc-list button:hover,.toc-children button:hover{color:#fff;background:#263532}.empty-toc{color:#7e8d89;margin:0;padding:4px 12px 14px;font-size:12px;line-height:1.7}.sidebar-footer{color:#6f817d;letter-spacing:.07em;border-top:1px solid #33413e;margin-top:auto;padding:18px 22px;font-size:11px}.sidebar-footer a{color:inherit;text-decoration:none}.sidebar-footer a:hover{color:#b7e5de;text-underline-offset:3px;text-decoration:underline}.preview-area{background:#eef1ef;min-width:0;overflow:hidden}.welcome-panel{grid-template-rows:1fr auto;grid-template-columns:minmax(280px,430px) minmax(390px,620px);justify-content:center;align-items:center;gap:44px clamp(60px,9vw,150px);min-height:calc(100vh - 68px);padding:clamp(36px,6vh,70px) clamp(24px,7vw,110px);display:grid;position:relative}.welcome-labels{align-items:center;gap:10px;display:flex}.beta-badge{color:#48645f;letter-spacing:.04em;background:#dcefeb;border:1px solid #b9dcd5;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:700}.welcome-copy h1{font-family:var(--font-serif), "Hiragino Mincho ProN", "Yu Mincho", serif;letter-spacing:-.055em;margin:15px 0 20px;font-size:clamp(42px,4.7vw,72px);font-weight:600;line-height:1.18}.welcome-copy p{color:#5f6a67;max-width:390px;margin:0;font-size:15px;line-height:2}.drop-zone{background:#ffffffe0;border:1.5px dashed #9caaa6;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-height:430px;padding:44px 32px;transition:border .2s,background .2s,transform .2s;display:flex;box-shadow:0 24px 70px #2136321a}.drop-zone.is-dragging{border-color:var(--accent);background:#f2fbf8;transform:scale(1.012)}.drop-zone h2{font-family:var(--font-serif), "Yu Mincho", serif;margin:29px 0 5px;font-size:25px}.drop-zone>p{color:#8a9391;margin:7px 0 16px;font-size:12px}.file-hint{color:#919a98;margin-top:16px;font-size:11px}.book-illustration{width:108px;height:100px;position:relative}.book-cover,.book-page{border-radius:5px 9px 9px 5px;width:63px;height:82px;position:absolute}.book-cover{z-index:3;background:var(--accent);top:8px;left:16px;transform:rotate(-6deg);box-shadow:0 11px 22px #147d7840}.book-cover:before{content:"Y";color:#dff5f1;font-family:Georgia,serif;font-size:30px;position:absolute;top:13px;left:12px}.book-cover:after{content:"";background:#8dd1c7;width:34px;height:2px;position:absolute;bottom:16px;left:11px;box-shadow:0 7px #8dd1c7}.book-page{background:#fff;border:1px solid #d3dcd9}.page-one{z-index:2;top:4px;left:28px;transform:rotate(5deg)}.page-two{z-index:1;top:0;left:37px;transform:rotate(11deg)}.error-message{color:#8a302b;background:#fff0ed;border:1px solid #f0c5bf;border-radius:7px;grid-column:2;align-self:start;margin-top:-30px;padding:10px 14px;font-size:13px}.welcome-meta{grid-column:1/-1;justify-self:center;justify-items:center;gap:12px;display:grid}.privacy-card{color:#63706d;align-items:flex-start;gap:12px;display:flex}.privacy-card strong{color:#394440;font-size:12px;display:block}.privacy-card p{margin:3px 0 0;font-size:11px}.limitations-card{color:#63706d;text-align:left;width:min(620px,86vw);font-size:11px;line-height:1.65}.limitations-card summary{cursor:pointer;border-radius:5px;width:fit-content;margin:0 auto;padding:5px 8px;font-size:11px;font-weight:700}.limitations-card summary:hover{color:var(--accent-dark);background:#147d7814}.limitations-card ul{border:1px solid var(--line);background:#fff9;border-radius:9px;margin:8px 0 0;padding:12px 16px 12px 31px}.limitations-card li+li{margin-top:4px}.lock-shape{border:2px solid #7c8c88;border-radius:3px;width:18px;height:14px;margin-top:5px;display:inline-block;position:relative}.lock-shape:before{content:"";border:2px solid #7c8c88;border-bottom:0;border-radius:8px 8px 0 0;width:9px;height:8px;position:absolute;top:-9px;left:2.5px}.reader-stage{flex-direction:column;min-height:calc(100vh - 68px);padding:26px 36px 20px;display:flex}.reader-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.reader-title{min-width:0}.reader-heading h1{font-family:var(--font-serif), "Yu Mincho", serif;margin:6px 0 0;font-size:25px;line-height:1.3}.reader-heading p{color:var(--muted);margin:4px 0 0;font-size:12px}.reader-heading-actions{align-items:flex-end;gap:10px;display:flex}.reader-search{z-index:12;width:min(330px,32vw);position:relative}.reader-search form{background:#fff;border:1px solid #d7dfdc;border-radius:8px;align-items:center;height:38px;display:flex;overflow:hidden;box-shadow:0 4px 14px #1a2a260d}.search-icon{color:#75817e;margin-left:10px;font-size:19px;line-height:1;transform:rotate(-18deg)}.reader-search input{color:#26302e;background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0 7px;font-size:12px}.reader-search input::-webkit-search-cancel-button{display:none}.reader-search input::placeholder{color:#909a97}.search-clear{color:#7a8582;cursor:pointer;background:0 0;border:0;flex:none;width:27px;height:100%}.search-submit{color:#fff;background:var(--accent);cursor:pointer;border:0;flex:none;height:100%;padding:0 13px;font-size:11px;font-weight:700}.search-submit:disabled{color:#b8c2bf;cursor:default;background:#e7ecea}.search-results{color:#28322f;background:#fff;border:1px solid #d4ddda;border-radius:10px;width:min(430px,78vw);max-height:min(390px,54vh);position:absolute;top:calc(100% + 7px);right:0;overflow:hidden;box-shadow:0 18px 50px #14231f33}.search-results-header{color:#596561;background:#f3f6f4;border-bottom:1px solid #e1e7e4;justify-content:space-between;align-items:center;height:38px;padding:0 12px;font-size:11px;font-weight:700;display:flex}.search-results-header button{color:#6e7976;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:17px}.search-results ul{max-height:calc(min(390px,54vh) - 38px);margin:0;padding:5px;list-style:none;overflow-y:auto}.search-results li+li{border-top:1px solid #edf1ef}.search-results li>button{color:#3b4643;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;width:100%;padding:10px 11px;display:block}.search-results li>button:hover{background:#edf7f4}.search-results small{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:9px;font-weight:800;display:block;overflow:hidden}.search-results li span{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.search-message{color:#74807c;text-align:center;margin:0;padding:24px 16px;font-size:11px}.file-pill{color:#64716e;text-overflow:ellipsis;white-space:nowrap;background:#e1e7e4;border-radius:20px;max-width:40%;padding:7px 11px;font-size:11px;overflow:hidden}.device-wrap{flex:1;justify-content:center;align-items:center;gap:25px;min-width:0;min-height:0;display:flex;overflow:hidden}.device-frame{aspect-ratio:9/16;contain:layout paint;background:#1c2423;border:1px solid #0a0f0e;border-radius:25px;flex-direction:column;flex:0 auto;min-width:0;max-width:calc(100% - 142px);height:min(66vh,720px);padding:15px 10px 11px;transition:width .25s,height .25s,aspect-ratio .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 55px #1a282540}.device-frame.landscape{aspect-ratio:16/9;height:min(50vh,520px)}.device-frame.device-tablet{aspect-ratio:3/4}.device-frame.device-tablet.landscape{aspect-ratio:4/3}.device-frame.device-reader{aspect-ratio:4/5.8;background:#d2d4cf;border-color:#aaada7;border-radius:11px;padding:22px 16px 27px}.device-frame.device-reader.landscape{aspect-ratio:5.8/4}.device-speaker{background:#56605e;border-radius:3px;flex:none;width:30px;height:3px;margin:-7px auto 8px}.device-reader .device-speaker{display:none}.epub-viewer{background:var(--paper);border-radius:14px;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;overflow:hidden}.device-reader .epub-viewer{border-radius:2px}.viewer-loading{color:#fff;background:#0e1715cc;border-radius:20px;padding:9px 14px;font-size:12px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.page-arrow{color:#4f5c58;cursor:pointer;background:#ffffffc7;border:1px solid #d5ddda;border-radius:50%;place-items:center;width:46px;height:46px;font-size:32px;line-height:1;display:grid;box-shadow:0 7px 20px #1c2a2714}.page-arrow:hover{color:var(--accent);border-color:#8ec6bd}.progress-bar{color:#697572;grid-template-columns:auto 1fr 38px 105px auto;align-items:center;gap:10px;width:min(820px,90%);margin:17px auto 0;font-size:11px;display:grid}.progress-bar input{width:100%;accent-color:var(--accent)}.progress-bar button{cursor:pointer;color:#5b6865;background:0 0;border:0}.location-label{text-align:right;border-left:1px solid #cfd7d4;padding-left:10px}.external-link-backdrop{z-index:100;background:#090f0e9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.external-link-dialog{color:#26302e;background:#fff;border:1px solid #d7dfdc;border-radius:14px;width:min(440px,100%);padding:25px;box-shadow:0 24px 70px #00000047}.external-link-dialog h2{margin:0 0 8px;font-size:19px}.external-link-dialog>p{color:#66716e;margin:0;font-size:13px;line-height:1.6}.external-link-url{overflow-wrap:anywhere;background:#eef7f5;border-radius:7px;padding:10px 12px;color:#335b56!important;margin-top:14px!important}.external-link-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.external-link-actions button,.external-link-actions a{cursor:pointer;border-radius:7px;min-width:92px;min-height:44px;padding:9px 16px;font-weight:700}.external-link-cancel{color:#4d5956;background:#fff;border:1px solid #cfd8d5}.external-link-open{color:#fff;background:var(--accent);border:1px solid var(--accent);place-items:center;text-decoration:none;display:grid}.external-link-open:hover{background:var(--accent-dark)}.mobile-menu{color:#45514e;cursor:pointer;background:#f0f3f1;border:0;border-radius:7px;place-items:center;width:34px;height:34px;padding:0}.sidebar-backdrop{display:none}.app-shell.dark{--ink:#e8eeec;--muted:#9aa8a4;--line:#35403d;--panel:#171e1c;--paper:#fffefa;--accent:#56b7aa;--accent-dark:#9ad8d0;--accent-pale:#203f3b;color:var(--ink);background:#101513}.app-shell.dark .topbar{border-bottom-color:var(--line);background:#151b19}.app-shell.dark .brand{color:#eef4f2}.app-shell.dark .book-name{color:#9faaa7}.app-shell.dark .privacy-note{color:#97a4a0}.app-shell.dark .page-theme-toggle{color:#d8e2df;background:#202825;border-color:#3c4844}.app-shell.dark .page-theme-toggle:hover{color:#a8ded7;border-color:#608d87}.app-shell.dark .close-book-button{color:#aab6b2;border-color:#3c4844}.app-shell.dark .close-book-button:hover{color:#ffc0b8;background:#382321;border-color:#71413c}.app-shell.dark .secondary-button{color:#b7e5de;background:#20423d}.app-shell.dark .preview-area{background:#101513}.app-shell.dark .welcome-copy p{color:#a2aeaa}.app-shell.dark .beta-badge{color:#b7e5de;background:#20332f;border-color:#3d5f58}.app-shell.dark .drop-zone{color:#edf3f1;background:#181f1df5;border-color:#58645f;box-shadow:0 24px 70px #00000042}.app-shell.dark .drop-zone.is-dragging{background:#18302c;border-color:#63c1b5}.app-shell.dark .drop-zone>p,.app-shell.dark .file-hint{color:#8f9b97}.app-shell.dark .book-page{background:#d8dfdc;border-color:#7b8984}.app-shell.dark .privacy-card{color:#8e9c98}.app-shell.dark .privacy-card strong{color:#cad4d1}.app-shell.dark .limitations-card{color:#9ba8a4}.app-shell.dark .limitations-card summary:hover{color:#b7e5de;background:#56b7aa1a}.app-shell.dark .limitations-card ul{background:#181f1db8;border-color:#35403d}.app-shell.dark .lock-shape,.app-shell.dark .lock-shape:before{border-color:#84938f}.app-shell.dark .reader-stage{background:#101513}.app-shell.dark .reader-heading h1{color:#edf3f1}.app-shell.dark .reader-search form{background:#171e1c;border-color:#394541;box-shadow:0 4px 14px #00000024}.app-shell.dark .reader-search input{color:#e6eeeb}.app-shell.dark .reader-search input::placeholder{color:#75817d}.app-shell.dark .search-icon,.app-shell.dark .search-clear{color:#9aa6a2}.app-shell.dark .search-submit:disabled{color:#75817d;background:#28312e}.app-shell.dark .search-results{color:#e2eae7;background:#171e1c;border-color:#3a4642;box-shadow:0 18px 50px #0006}.app-shell.dark .search-results-header{color:#abb7b3;background:#202825;border-bottom-color:#35403d}.app-shell.dark .search-results-header button{color:#a8b4b0}.app-shell.dark .search-results li+li{border-top-color:#2d3734}.app-shell.dark .search-results li>button{color:#ced8d4}.app-shell.dark .search-results li>button:hover{background:#21312e}.app-shell.dark .search-message{color:#94a09c}.app-shell.dark .file-pill{color:#a6b2ae;background:#202825}.app-shell.dark .page-arrow{color:#bdc8c5;background:#202825;border-color:#3b4743;box-shadow:0 7px 20px #0003}.app-shell.dark .page-arrow:hover{color:#7dd0c5;border-color:#528d85}.app-shell.dark .progress-bar{color:#9ba8a4}.app-shell.dark .progress-bar button{color:#b4c0bc}.app-shell.dark .location-label{border-left-color:#3c4744}.app-shell.dark .external-link-dialog{color:#edf3f1;background:#19211f;border-color:#3d4945}.app-shell.dark .external-link-dialog>p{color:#b1bcb8}.app-shell.dark .external-link-url{background:#20332f;color:#b7e5de!important}.app-shell.dark .external-link-cancel{color:#d5dedb;background:#252e2b;border-color:#46524e}.app-shell.dark .mobile-menu{color:#d6dfdc;background:#202825}.app-shell.dark .error-message{color:#ffc5be;background:#3d211f;border-color:#71413c}@media (width<=980px){.topbar{padding:0 16px}.privacy-note{display:none}.welcome-panel{grid-template-rows:auto auto auto;grid-template-columns:minmax(280px,620px);gap:35px;padding:50px 24px}.welcome-copy{text-align:center}.welcome-copy p{margin-inline:auto}.drop-zone{min-height:370px}.welcome-meta{grid-column:1}.error-message{grid-column:1;margin-top:-20px}}@media (width<=760px){.workspace,.workspace.has-book{display:block}.workspace .sidebar,.workspace:not(.has-book) .sidebar{overscroll-behavior:contain;width:min(330px,92vw);min-width:0;position:fixed;inset:68px auto 0 0;overflow:hidden auto;transform:translate(-105%);box-shadow:18px 0 50px #00000038}.workspace .sidebar.is-open{transform:translate(0)}.mobile-menu,.close-sidebar{display:grid}.mobile-menu{place-items:center;width:44px;height:44px;padding:0;font-size:18px}.close-sidebar{color:#c6d0cd;cursor:pointer;background:#2b3936;border:0;border-radius:7px;place-items:center;width:44px;height:44px;font-size:22px}.sidebar-backdrop{z-index:14;background:#090f0e61;border:0;display:block;position:fixed;inset:68px 0 0}.toc-section{flex:none}.toc-scroll{max-height:none;overflow:visible}.book-name{display:none}.brand-block{flex:1;gap:10px}.top-actions{gap:8px}.theme-toggle-label{display:none}.page-theme-toggle{justify-content:center;width:44px;height:44px;padding:0}.secondary-button{min-height:44px;padding:9px 11px;font-size:12px}.close-book-button{height:44px;padding:0 9px}.reader-search form{height:44px}.search-clear{width:40px}.search-results-header{height:44px}.search-results-header button{width:40px;height:40px}.search-results ul{max-height:calc(min(390px,54vh) - 44px)}.reader-stage{min-height:calc(100vh - 68px);padding:20px 12px 15px}.reader-heading{flex-direction:column;align-items:stretch;gap:10px;margin:0 7px 14px}.reader-heading h1{font-size:19px}.reader-heading-actions,.reader-search{width:100%}.search-results{width:100%;left:0;right:auto}.file-pill{display:none}.device-wrap{gap:7px}.device-frame{width:min(72vw,390px);height:auto;max-height:66vh}.device-frame.landscape{width:min(72vw,610px);height:auto}.page-arrow{flex:none;width:44px;height:44px;font-size:25px}.progress-bar{grid-template-columns:auto 1fr 34px auto;width:96%}.progress-bar button{min-width:44px;min-height:44px}.location-label{display:none}}@media (width<=520px){.topbar{height:60px;position:sticky;top:0}.workspace .sidebar,.workspace:not(.has-book) .sidebar,.sidebar-backdrop{top:60px}.brand{display:none}.topbar{padding-inline:10px}.top-actions{gap:6px}.close-book-button{width:52px;padding:0;font-size:11px}.secondary-button{width:48px;padding:0;font-size:11px}.desktop-action-label{display:none}.mobile-action-label{display:inline}.welcome-panel{gap:28px;min-height:calc(100vh - 60px);padding:34px 18px}.welcome-copy h1{margin-top:11px;font-size:38px}.welcome-copy p{font-size:13px;line-height:1.8}.drop-zone{border-radius:16px;min-height:315px;padding:30px 18px}.drop-zone h2{font-size:21px}.privacy-card{align-items:center}.privacy-card p{display:none}.limitations-card{width:min(100%,360px)}.device-wrap{gap:0;overflow:visible}.device-wrap>.page-arrow{display:none}.device-frame,.device-frame.landscape{flex-basis:auto;width:min(94vw,500px);max-width:94vw;max-height:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@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}
