:root{--bg-desk: #171513;--bg-desk-warmth: #24201c;--paper-cream: #faf7ee;--paper-cream-dark: #f0e9d6;--paper-shadow: rgba(22, 16, 9, .45);--leather-spine: #2c1e13;--spine-crease: rgba(30, 16, 8, .4);--edge-stack: #e8decc;--edge-stack-shadow: #b3a48e;--primary-accent: #b45309;--primary-accent-hover: #d97706;--toolbar-bg: rgba(28, 25, 23, .92);--toolbar-border: rgba(245, 245, 244, .12);--text-main: #f5f5f4;--text-muted: #a8a29e;--book-stack-left: 12px;--book-stack-right: 12px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-desk);color:var(--text-main);user-select:none}.desk-viewport{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,rgba(217,119,6,.08) 0%,transparent 65%),radial-gradient(circle at 50% 50%,#28231d,#171412 80%,#0d0b0a)}.desk-viewport:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:28px 28px;opacity:.6;pointer-events:none;z-index:1}.top-nav{position:relative;z-index:50;height:60px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#171513d9;backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand-section{display:flex;align-items:center;gap:12px}.brand-icon{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#d97706,#78350f);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #d977064d;color:#fff}.brand-title{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:#fafaf9;display:flex;align-items:baseline;gap:6px}.brand-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:#d9770633;color:#f59e0b;border:1px solid rgba(217,119,6,.3)}.doc-info{display:flex;align-items:center;gap:8px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--text-muted);padding:6px 12px;border-radius:6px;background:#ffffff0a}.top-actions{display:flex;align-items:center;gap:10px}.btn-secondary{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;font-size:.85rem;font-weight:500;border-radius:8px;background:#ffffff14;color:#f5f5f4;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#ffffff24;border-color:#ffffff38;transform:translateY(-1px)}.btn-primary{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;font-size:.85rem;font-weight:600;border-radius:8px;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;border:1px solid rgba(245,158,11,.4);cursor:pointer;box-shadow:0 4px 14px #b4530959;transition:all .15s ease}.btn-primary:hover{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 6px 18px #b4530980;transform:translateY(-1px)}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff14;color:#f5f5f4;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .15s ease}.btn-icon:hover{background:#ffffff26;border-color:#ffffff40}#file-input{display:none}.reading-stage{position:relative;flex:1;width:100%;display:flex;align-items:center;justify-content:center;z-index:10;padding:20px 40px;overflow:hidden}.welcome-dropzone{position:absolute;max-width:580px;width:90%;padding:40px;border-radius:16px;background:#1c1917e0;backdrop-filter:blur(20px);border:2px dashed rgba(217,119,6,.35);text-align:center;box-shadow:0 20px 50px #00000080;transition:all .25s ease;z-index:30}.welcome-dropzone.dragover{border-color:#f59e0b;background:#28221cf2;transform:scale(1.02);box-shadow:0 25px 60px #d9770640}.welcome-icon-box{width:64px;height:64px;margin:0 auto 20px;border-radius:16px;background:#d9770626;color:#f59e0b;display:flex;align-items:center;justify-content:center;border:1px solid rgba(217,119,6,.3)}.welcome-title{font-size:1.4rem;font-weight:700;margin-bottom:8px;color:#fafaf9}.welcome-desc{font-size:.92rem;color:var(--text-muted);line-height:1.55;margin-bottom:24px}.welcome-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.loading-overlay{position:absolute;inset:0;background:#171513d9;backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:100;transition:opacity .3s ease}.loading-spinner{width:48px;height:48px;border:3px solid rgba(217,119,6,.2);border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.95rem;font-weight:500;color:#f5f5f4}.book-wrapper{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.2,0,0,1);filter:drop-shadow(0 25px 45px rgba(0,0,0,.7))}.book-hardcover-mat{position:absolute;inset:-14px -16px;background:linear-gradient(145deg,#2b1f17,#18110b);border-radius:12px;box-shadow:0 35px 70px -15px #000c,0 15px 30px -10px #0009,inset 0 1px 2px #ffffff1f,inset 0 -2px 4px #000c;pointer-events:none;z-index:2;border:1px solid rgba(139,92,43,.3)}.book-hardcover-mat:after{content:"";position:absolute;inset:4px;border:1px dashed rgba(217,119,6,.25);border-radius:8px;pointer-events:none}.book-stack-left{position:absolute;top:0;bottom:0;left:0;width:var(--book-stack-left, 12px);transform:translate(-100%);border-top-left-radius:6px;border-bottom-left-radius:6px;z-index:3;pointer-events:none;background:repeating-linear-gradient(to right,#dcd2be,#ece4d3 1.5px,#c4b69d 2px,#f6efe0 3.5px);box-shadow:inset 0 10px 15px -5px #0000004d,inset 0 -10px 15px -5px #0000004d,-4px 4px 12px #00000080;border-left:1px solid #b8aa92;transition:width .3s ease}.book-stack-right{position:absolute;top:0;bottom:0;right:0;width:var(--book-stack-right, 12px);transform:translate(100%);border-top-right-radius:6px;border-bottom-right-radius:6px;z-index:3;pointer-events:none;background:repeating-linear-gradient(to right,#f6efe0,#c4b69d 1.5px,#ece4d3 2px,#dcd2be 3.5px);box-shadow:inset 0 10px 15px -5px #0000004d,inset 0 -10px 15px -5px #0000004d,4px 4px 12px #00000080;border-right:1px solid #b8aa92;transition:width .3s ease}.book-stack-top{position:absolute;top:0;left:0;right:0;height:6px;transform:translateY(-100%);background:repeating-linear-gradient(to bottom,#ded4c0,#bfae95,#ebe2d0 2px);opacity:.8;pointer-events:none;z-index:3}.book-stack-bottom{position:absolute;bottom:0;left:0;right:0;height:6px;transform:translateY(100%);background:repeating-linear-gradient(to top,#ded4c0,#bfae95,#ebe2d0 2px);opacity:.8;pointer-events:none;z-index:3}.spine-crease-shadow{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:90px;pointer-events:none;z-index:25;background:linear-gradient(to right,transparent 0%,rgba(32,18,10,.05) 20%,rgba(32,18,10,.22) 46%,rgba(15,8,4,.45) 50%,rgba(32,18,10,.22) 54%,rgba(32,18,10,.05) 80%,transparent 100%);mix-blend-mode:multiply}.spine-crease-shadow:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:#00000059;box-shadow:0 0 4px #0006}#book{position:relative;z-index:5;background:var(--paper-cream);overflow:visible!important}.page{background-color:var(--paper-cream);overflow:hidden;box-shadow:inset 0 0 45px #b89c782e;position:relative}.page.--left{border-right:1px solid rgba(0,0,0,.08)}.page.--left:after{content:"";position:absolute;top:0;bottom:0;right:0;width:45px;background:linear-gradient(to left,rgba(20,10,5,.22) 0%,rgba(20,10,5,.06) 60%,transparent 100%);pointer-events:none;z-index:20}.page.--right{border-left:1px solid rgba(0,0,0,.08)}.page.--right:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45px;background:linear-gradient(to right,rgba(20,10,5,.24) 0%,rgba(20,10,5,.06) 60%,transparent 100%);pointer-events:none;z-index:20}.paper-texture-overlay{position:absolute;inset:0;pointer-events:none;z-index:15;background:radial-gradient(ellipse at 50% 15%,rgba(255,255,255,.3) 0%,transparent 70%),radial-gradient(ellipse at 50% 85%,rgba(0,0,0,.04) 0%,transparent 70%);mix-blend-mode:multiply;opacity:.85}.paper-texture-overlay:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(140,120,90,.02) 0px,rgba(140,120,90,.02) 1px,transparent 1px,transparent 4px);opacity:.7}.page-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.pdf-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.annotation-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:25;cursor:crosshair;touch-action:none;mix-blend-mode:multiply;user-select:none;-webkit-user-select:none}body.mode-draw .book-wrapper{filter:drop-shadow(0 14px 28px rgba(0,0,0,.45))}body.mode-draw #book{cursor:crosshair;user-select:none;-webkit-user-select:none}body.mode-draw .stf__parent,body.mode-draw .stf__wrapper,body.mode-draw .stf__block,body.mode-draw .stf__item,body.mode-draw .page{user-select:none;-webkit-user-select:none;touch-action:none!important}body.mode-draw .stf__outerShadow,body.mode-draw .stf__innerShadow,body.mode-draw .stf__hardShadow,body.mode-draw .stf__hardInnerShadow{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}body.mode-draw .annotation-canvas{pointer-events:auto!important}body.mode-draw[data-active-tool=highlighter] .annotation-canvas,body.mode-draw[data-active-tool=highlighter] #book{cursor:crosshair}body.mode-draw[data-active-tool=eraser] .annotation-canvas,body.mode-draw[data-active-tool=eraser] #book{cursor:cell}body.mode-draw[data-active-tool=pen] .annotation-canvas,body.mode-draw[data-active-tool=pen] #book{cursor:crosshair}body.mode-read .annotation-canvas,body.mode-browse .annotation-canvas{pointer-events:none!important;cursor:default!important}body.mode-read #book,body.mode-browse #book{cursor:grab}body.mode-read #book:active,body.mode-browse #book:active{cursor:grabbing}.mode-indicator-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:9999px;font-size:.73rem;font-weight:500;letter-spacing:.02em;transition:all .2s ease;user-select:none}.mode-indicator-pill.fixed{background:#f59e0b29;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.mode-indicator-pill.browse{background:#38bdf829;color:#7dd3fc;border:1px solid rgba(56,189,248,.35)}.page-footer{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;z-index:18;pointer-events:none}.page-number-pill{font-family:Georgia,Cambria,Times New Roman,Times,serif;font-size:.78rem;color:#786f65;font-style:italic;padding:1px 8px;border-radius:4px}.flip-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;background:#1c1917bf;backdrop-filter:blur(10px);color:#fafaf9;border:1px solid rgba(255,255,255,.12);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;transition:all .2s ease;box-shadow:0 8px 24px #0006}.flip-nav-btn:hover{background:#d97706e6;border-color:#f59e0b80;transform:translateY(-50%) scale(1.05)}.flip-nav-btn:active{transform:translateY(-50%) scale(.96)}.flip-nav-btn.prev{left:16px}.flip-nav-btn.next{right:16px}.bottom-bar{position:relative;z-index:50;height:52px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#171513d9;backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08)}.pagination-controls{display:flex;align-items:center;gap:12px;margin:0 auto}.page-indicator{font-size:.88rem;font-weight:500;color:#e7e5e4;min-width:110px;text-align:center}.page-scrubber{width:180px;accent-color:#d97706;cursor:pointer}.annotation-palette{position:absolute;top:80px;left:24px;z-index:60;display:flex;flex-direction:column;background:var(--toolbar-bg);backdrop-filter:blur(20px);border:1px solid var(--toolbar-border);border-radius:14px;box-shadow:0 16px 36px #00000080,0 4px 12px #0000004d;padding:8px;gap:8px;user-select:none;transition:box-shadow .2s ease}.annotation-palette:active{box-shadow:0 22px 48px #000000a6}.palette-drag-handle{height:22px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:4px}.palette-drag-handle:active{cursor:grabbing}.palette-drag-dots{width:24px;height:4px;background:#fff3;border-radius:2px}.palette-group{display:flex;flex-direction:column;gap:6px}.tool-btn{position:relative;width:40px;height:40px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#d6d3d1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.tool-btn:hover{background:#ffffff1f;color:#fafaf9}.tool-btn.active{background:#d9770640;border-color:#f59e0b;color:#fbbf24;box-shadow:0 0 12px #f59e0b4d}.tool-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1c1917;color:#fafaf9;font-size:.75rem;font-weight:500;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 12px #0006}.tool-btn[data-tooltip]:hover:before{opacity:1}.palette-divider{height:1px;background:#ffffff14;margin:2px 0}.color-picker-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.color-current-badge{width:26px;height:26px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 2px 6px #0000004d;cursor:pointer;transition:transform .15s ease}.color-current-badge:hover{transform:scale(1.1)}#native-color-picker{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.swatches-tray{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding-top:4px}.swatch-dot{width:16px;height:16px;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.25);transition:transform .15s ease}.swatch-dot:hover{transform:scale(1.25)}.swatch-dot.active{box-shadow:0 0 0 2px #f5f5f4}.stroke-size-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:4px}.stroke-preview-circle{width:8px;height:8px;border-radius:50%;background:#f5f5f4;margin:2px 0;transition:width .1s ease,height .1s ease}.stroke-slider{width:36px;height:6px;accent-color:#f59e0b;cursor:pointer}.study-music-player{position:absolute;bottom:64px;left:24px;z-index:55;background:var(--toolbar-bg);backdrop-filter:blur(20px);border:1px solid var(--toolbar-border);border-radius:30px;padding:6px 14px 6px 8px;display:flex;align-items:center;gap:10px;box-shadow:0 12px 28px #00000073;transition:all .2s ease}.study-music-player:hover{border-color:#fff3}.music-play-btn{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 10px #b4530959;transition:all .15s ease}.music-play-btn:hover{transform:scale(1.08);background:linear-gradient(135deg,#f59e0b,#d97706)}.music-info{display:flex;flex-direction:column;gap:2px}.music-title-row{display:flex;align-items:center;gap:6px}.music-track-name{font-size:.78rem;font-weight:600;color:#f5f5f4;white-space:nowrap}.equalizer-bars{display:flex;align-items:flex-end;gap:2px;height:12px}.eq-bar{width:2px;height:3px;background:#f59e0b;border-radius:1px}.study-music-player.playing .eq-bar:nth-child(1){animation:eq-bounce .6s ease infinite alternate}.study-music-player.playing .eq-bar:nth-child(2){animation:eq-bounce .8s ease .15s infinite alternate}.study-music-player.playing .eq-bar:nth-child(3){animation:eq-bounce .7s ease .3s infinite alternate}@keyframes eq-bounce{0%{height:3px}to{height:12px}}.music-selector{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#d6d3d1;font-size:.72rem;padding:2px 6px;border-radius:6px;outline:none;cursor:pointer}.music-selector option{background:#1c1917;color:#f5f5f4}.volume-control-wrap{display:flex;align-items:center;gap:6px;margin-left:4px}.volume-slider{width:55px;height:4px;accent-color:#f59e0b;cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{width:90%;max-width:440px;background:#1c1917;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:28px;text-align:center;box-shadow:0 24px 60px #000000b3;transform:translateY(15px);transition:transform .25s ease}.modal-overlay.active .modal-card{transform:translateY(0)}.export-progress-bar-wrap{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;margin:18px 0 10px}.export-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#d97706,#f59e0b);border-radius:4px;transition:width .2s ease}.toast-notice{position:fixed;top:75px;right:24px;z-index:250;background:#1c1917f2;border:1px solid rgba(245,158,11,.4);backdrop-filter:blur(16px);color:#fafaf9;padding:10px 18px;border-radius:10px;box-shadow:0 10px 30px #00000080;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;transform:translateY(-20px);opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.toast-notice.show{transform:translateY(0);opacity:1}.theme-switch-wrap{display:flex;align-items:center}.theme-switch{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:9999px;cursor:pointer;color:#f5f5f4;font-size:.8rem;font-weight:500;transition:all .2s ease;user-select:none}.theme-switch:hover{background:#ffffff24;border-color:#ffffff38}.theme-switch-track{position:relative;width:44px;height:22px;background:#00000073;border:1px solid rgba(255,255,255,.14);border-radius:9999px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;transition:background .25s ease,border-color .25s ease}.theme-switch-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;transition:opacity .2s ease}.theme-switch-icon.icon-moon{color:#fbbf24;opacity:1}.theme-switch-icon.icon-sun{color:#d97706;opacity:.35}.theme-switch-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 1px 4px #00000073;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s ease}.theme-switch-text{font-size:.78rem;letter-spacing:.01em;font-weight:500;min-width:32px;text-align:left}body.theme-light{--bg-desk: #f3eee4;--bg-desk-warmth: #e8e0cf;--toolbar-bg: rgba(255, 253, 250, .94);--toolbar-border: rgba(0, 0, 0, .09);--text-main: #1c1917;--text-muted: #78716c;background-color:var(--bg-desk);color:var(--text-main)}body.theme-light .desk-viewport{background:radial-gradient(ellipse at 50% 35%,rgba(217,119,6,.05) 0%,transparent 65%),radial-gradient(circle at 50% 50%,#f7f3ea,#ede4d4 72%,#ded4c2)}body.theme-light .desk-viewport:before{background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 1px)}body.theme-light .top-nav{background:#fffdfae0;border-bottom:1px solid rgba(0,0,0,.08)}body.theme-light .brand-title{color:#1c1917}body.theme-light .doc-info{background:#0000000d;color:#57534e}body.theme-light .btn-secondary{background:#0000000d;color:#292524;border-color:#0000001f}body.theme-light .btn-secondary:hover{background:#00000017;border-color:#0003}body.theme-light .btn-icon{background:#0000000d;color:#292524;border-color:#0000001a}body.theme-light .btn-icon:hover{background:#00000017;border-color:#0003}body.theme-light .theme-switch{background:#0000000d;border-color:#0000001f;color:#292524}body.theme-light .theme-switch:hover{background:#00000017;border-color:#0003}body.theme-light .theme-switch-track{background:#fde68a;border-color:#d9770659}body.theme-light .theme-switch-thumb{transform:translate(22px);background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 1px 5px #b4530973}body.theme-light .theme-switch-icon.icon-moon{opacity:.35;color:#78716c}body.theme-light .theme-switch-icon.icon-sun{opacity:1;color:#b45309}body.theme-light .welcome-dropzone{background:#ffffffeb;border-color:#d9770666;box-shadow:0 20px 50px #3c2d1e1f}body.theme-light .welcome-dropzone.dragover{background:#fefcf8fa;border-color:#d97706}body.theme-light .welcome-title{color:#1c1917}body.theme-light .welcome-desc{color:#57534e}body.theme-light .book-hardcover-mat{background:linear-gradient(145deg,#3a281d,#22160e);box-shadow:0 30px 60px -15px #3c281459,0 15px 25px -10px #3c281440,inset 0 1px 2px #ffffff2e,inset 0 -2px 4px #0009;border:1px solid rgba(139,92,43,.35)}body.theme-light .flip-nav-btn{background:#ffffffe6;color:#1c1917;border-color:#0000001f;box-shadow:0 8px 24px #3c281424}body.theme-light .flip-nav-btn:hover{background:#d97706;color:#fff;border-color:#d9770699}body.theme-light .bottom-bar{background:#fffdfae6;border-top:1px solid rgba(0,0,0,.08)}body.theme-light .page-indicator{color:#292524}body.theme-light .annotation-palette{background:#fffffff0;border-color:#0000001a;box-shadow:0 16px 36px #3c281424,0 4px 12px #3c28140f}body.theme-light .palette-drag-handle{color:#78716c;border-bottom-color:#0000000f}body.theme-light .palette-drag-dots{background:#0003}body.theme-light .tool-btn{background:#0000000a;border-color:#00000014;color:#44403c}body.theme-light .tool-btn:hover{background:#00000014;color:#1c1917}body.theme-light .tool-btn.active{background:#d9770629;border-color:#d97706;color:#b45309}body.theme-light .palette-divider{background:#00000014}body.theme-light .stroke-preview-circle{background:#1c1917}body.theme-light .swatch-dot{border-color:#0003}body.theme-light .swatch-dot.active{box-shadow:0 0 0 2px #1c1917}body.theme-light .study-music-player{background:#fffffff0;border-color:#0000001a;box-shadow:0 12px 28px #3c281424}body.theme-light .music-track-name{color:#1c1917}body.theme-light .music-selector{background:#0000000d;border-color:#0000001a;color:#292524}body.theme-light .music-selector option{background:#fff;color:#1c1917}body.theme-light .loading-overlay{background:#f5f2ebe6;color:#1c1917}body.theme-light .loading-text{color:#292524}body.theme-light .modal-card{background:#fff;border-color:#0000001a;box-shadow:0 24px 60px #3c281440;color:#1c1917}body.theme-light #export-modal-title{color:#1c1917!important}body.theme-light .export-progress-bar-wrap{background:#0000000f}body.theme-light .toast-notice{background:#fffffff5;border-color:#d9770659;color:#1c1917;box-shadow:0 10px 30px #3c281426}@media(max-width:768px){.top-nav{padding:0 14px}.doc-info,.theme-switch-text{display:none}.flip-nav-btn{width:38px;height:50px}.flip-nav-btn.prev{left:8px}.flip-nav-btn.next{right:8px}.study-music-player{left:12px;bottom:58px;padding:4px 10px 4px 6px}.volume-control-wrap{display:none}.annotation-palette{left:12px;top:70px;padding:6px}.tool-btn{width:34px;height:34px}}.single-page-wrapper{position:relative;display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;perspective:1200px;user-select:none}.single-page-mat{position:absolute;inset:-12px;background:radial-gradient(circle at center,#221d19e6,#100d0bfa);border-radius:12px;box-shadow:0 25px 55px #000000a6,0 4px 14px #00000073;border:1px solid rgba(255,255,255,.04);z-index:1}body.theme-light .single-page-mat{background:radial-gradient(circle at center,#ebe2d4d9,#d7cab6f2);box-shadow:0 20px 48px #3c281429,0 4px 12px #3c281414;border-color:#0000000d}.single-page-card{position:relative;z-index:2;background:#fdfbf7;border-radius:4px;box-shadow:0 12px 35px #00000073,0 2px 8px #00000040;overflow:hidden;transform-origin:center left;transition:transform .24s cubic-bezier(.16,1,.3,1)}@keyframes singlePageCurl{0%{opacity:.65;transform:rotateY(-12deg) scale(.975)}to{opacity:1;transform:rotateY(0) scale(1)}}.single-page-card.page-turned{animation:singlePageCurl .28s cubic-bezier(.16,1,.3,1)}.single-page-card .page-content{position:relative;width:100%;height:100%}.single-page-card .pdf-canvas{width:100%;height:100%;display:block}.single-page-card .annotation-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;touch-action:none}.palette-orient-mini-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff14;color:var(--text-muted);border-radius:4px;cursor:pointer;transition:all .15s ease;padding:0}.palette-orient-mini-btn:hover{background:#d9770640;color:#f59e0b}body.theme-light .palette-orient-mini-btn{background:#0000000f;color:#78716c}body.theme-light .palette-orient-mini-btn:hover{background:#d977062e;color:#b45309}.palette-drag-handle{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.annotation-palette.horizontal{flex-direction:row;align-items:center;height:52px;padding:0 12px;gap:8px;border-radius:9999px}.annotation-palette.horizontal .palette-drag-handle{width:22px;height:36px;flex-direction:column;justify-content:center;align-items:center;border-bottom:none;border-right:1px solid rgba(255,255,255,.08);padding-bottom:0;padding-right:6px;gap:4px}body.theme-light .annotation-palette.horizontal .palette-drag-handle{border-right-color:#00000014}.annotation-palette.horizontal .palette-drag-dots{width:4px;height:16px}.annotation-palette.horizontal .palette-group{flex-direction:row;gap:6px;align-items:center}.annotation-palette.horizontal .palette-divider{width:1px;height:26px;margin:0 3px}.annotation-palette.horizontal .color-picker-wrapper{flex-direction:row;align-items:center;gap:6px}.annotation-palette.horizontal .swatches-tray{display:flex;flex-direction:row;gap:4px}.annotation-palette.horizontal .stroke-size-box{flex-direction:row;align-items:center;gap:8px;width:auto}.annotation-palette.horizontal .stroke-slider{width:54px}.thumbnails-drawer{position:fixed;top:60px;left:0;bottom:0;width:300px;background:#141210f5;backdrop-filter:blur(22px);border-right:1px solid rgba(255,255,255,.08);z-index:65;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease;box-shadow:none;user-select:none}.thumbnails-drawer.open{transform:translate(0);box-shadow:14px 0 40px #0000008c}body.theme-light .thumbnails-drawer{background:#fcfaf7f5;border-right-color:#00000014}.thumbnails-drawer-header{height:52px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}body.theme-light .thumbnails-drawer-header{border-bottom-color:#00000012}.thumbnails-drawer-title{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:600;color:#fafaf9}body.theme-light .thumbnails-drawer-title{color:#1c1917}.thumbnails-drawer-badge{font-size:.7rem;font-weight:500;padding:2px 7px;border-radius:999px;background:#ffffff14;color:var(--text-muted)}body.theme-light .thumbnails-drawer-badge{background:#0000000f;color:#78716c}.thumbnails-quick-jump{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#00000026}body.theme-light .thumbnails-quick-jump{background:#00000008;border-bottom-color:#0000000f}.jump-input-wrap{flex:1;display:flex;align-items:center;gap:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:4px 8px}body.theme-light .jump-input-wrap{background:#fff;border-color:#0000001f}.jump-input-wrap input{width:100%;background:transparent;border:none;outline:none;color:#fafaf9;font-size:.8rem}body.theme-light .jump-input-wrap input{color:#1c1917}.thumbnails-scroll-container{flex:1;overflow-y:auto;padding:14px}.thumbnails-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.thumbnail-window-card{display:flex;flex-direction:column;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.thumbnail-window-card:hover{transform:translateY(-3px);border-color:#d9770680;background:#ffffff0f;box-shadow:0 8px 20px #0006}.thumbnail-window-card.active{border-color:#d97706;box-shadow:0 0 0 2px #d97706,0 8px 24px #d9770659;background:#d977061a}body.theme-light .thumbnail-window-card{background:#fff;border-color:#00000014;box-shadow:0 2px 6px #0000000a}body.theme-light .thumbnail-window-card:hover{border-color:#d97706;box-shadow:0 8px 20px #3c28141f}body.theme-light .thumbnail-window-card.active{border-color:#d97706;box-shadow:0 0 0 2px #d97706,0 8px 24px #d9770633;background:#d977060f}.thumb-window-preview{position:relative;width:100%;aspect-ratio:1 / 1.414;background:#fdfbf7;display:flex;align-items:center;justify-content:center;overflow:hidden}.thumb-canvas{width:100%;height:100%;object-fit:contain;display:block}.thumb-page-pill{position:absolute;top:4px;right:4px;font-size:.65rem;font-weight:600;padding:1px 6px;border-radius:4px;background:#000000b3;color:#fff;backdrop-filter:blur(4px)}.thumb-annot-icon{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:999px;background:#d97706;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.55rem}.thumb-window-footer{padding:6px 8px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-muted);border-top:1px solid rgba(255,255,255,.05)}body.theme-light .thumb-window-footer{border-top-color:#0000000d;color:#78716c}.thumb-jump-hint{display:inline-flex;align-items:center;gap:2px;font-size:.68rem;opacity:0;color:#f59e0b;transition:opacity .15s ease}.thumbnail-window-card:hover .thumb-jump-hint{opacity:1}.reading-stage{--folio-zoom: 1;--folio-pan-x: 0px;--folio-pan-y: 0px}#book-wrapper,#single-page-wrapper{transform:translate(var(--folio-pan-x),var(--folio-pan-y)) scale(var(--folio-zoom));transform-origin:center center;transition:transform .14s ease-out;will-change:transform}.reading-stage.is-panning #book-wrapper,.reading-stage.is-panning #single-page-wrapper{transition:none}.reading-stage.is-zoomed{overflow:hidden;cursor:grab;touch-action:none}.reading-stage.is-panning{cursor:grabbing}.zoom-controls{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:10px;background:#ffffff0d;border:1px solid var(--toolbar-border)}.zoom-controls .btn-icon{width:28px;height:28px;touch-action:manipulation}.zoom-controls .btn-icon:disabled{opacity:.4;cursor:not-allowed}.zoom-controls .btn-icon:focus-visible,#tool-hand:focus-visible,#tool-pointer:focus-visible{outline:2px solid var(--primary-accent-hover, #d97706);outline-offset:2px}.zoom-percent{min-width:42px;text-align:center;font-size:.78rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;user-select:none}#presenter-layer{position:absolute;inset:0;z-index:60;pointer-events:none;overflow:hidden}#presenter-layer.is-active{pointer-events:auto;cursor:none}.presenter-dot{--pd: 18px;font-size:var(--pd);position:absolute;top:0;left:0;width:1em;height:1em;display:none;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .32s ease;background:radial-gradient(circle at 50% 50%,#fffffff2,#f43f5ef2 22%,#f43f5e8c 45%,#f43f5e00 72%);box-shadow:0 0 .66em .22em #f43f5e8c,0 0 1.66em .55em #f43f5e47}.presenter-dot.is-visible{opacity:1}.presenter-dot.is-visible{animation:presenterPulse 1.6s ease-in-out infinite}@keyframes presenterPulse{0%,to{box-shadow:0 0 .66em .22em #f43f5e8c,0 0 1.66em .55em #f43f5e47}50%{box-shadow:0 0 .9em .33em #f43f5eb3,0 0 2.2em .77em #f43f5e59}}body.folio-tool-hand .reading-stage,body.folio-space-pan .reading-stage{cursor:grab}body.folio-tool-hand .reading-stage.is-panning,body.folio-space-pan .reading-stage.is-panning{cursor:grabbing}#tool-hand.active{color:#fff;background:linear-gradient(145deg,#0ea5e9,#0369a1);box-shadow:0 0 0 2px #0ea5e959}#tool-pointer.active{color:#fff;background:linear-gradient(145deg,#f43f5e,#be123c);box-shadow:0 0 0 2px #f43f5e59}@media(prefers-reduced-motion:reduce){.presenter-dot.is-visible{animation:none}#book-wrapper,#single-page-wrapper{transition:none}}
