*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf6ee;--bg-image: url(../assets/papier.4f11e3a0e3.jpg);--bg-image: image-set(url(../assets/papier.596e285570.webp) type("image/webp") 1x, url(../assets/papier.4f11e3a0e3.jpg) type("image/jpeg") 1x);--text: #2a1a0e;--accent: #8b5a2b;--accent-dark: #654321;--accent-muted: #5c3a1e;--border: #c9a87c;--border-light: #e5d5c0;--surface: rgba(250, 246, 238, .85);--surface-strong: rgba(240, 232, 213, .9);--field-bg: rgba(250, 246, 238, .65);--disabled-bg: rgba(240, 232, 213, .7);--button-bg: #8b5a2b;--button-text: #faf6ee;--button-inactive-bg: rgba(240, 232, 213, .8);--button-inactive-text: #5c3a1e;--mini-button-hover-bg: rgba(230, 214, 191, .8);--radius: 14px;--radius-sm: 9px;--shadow: 0 8px 28px rgba(90, 60, 30, .14);--shadow-sm: 0 2px 10px rgba(90, 60, 30, .12);--header-h: 64px;--toolbar-top: 84px;--edge-gap: 6px;--sat: 0px;--sab: 0px;--sal: 0px;--sar: 0px}@supports (padding: env(safe-area-inset-top)){:root{--sat: env(safe-area-inset-top);--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left);--sar: env(safe-area-inset-right)}}@supports (padding: constant(safe-area-inset-top)) and (not (padding: env(safe-area-inset-top))){:root{--sat: constant(safe-area-inset-top);--sab: constant(safe-area-inset-bottom);--sal: constant(safe-area-inset-left);--sar: constant(safe-area-inset-right)}}@media (prefers-color-scheme: dark){:root{--bg: #1b1410;--bg-image: linear-gradient(rgba(27, 20, 16, .82), rgba(27, 20, 16, .82)), url(../assets/papier.4f11e3a0e3.jpg);--bg-image: linear-gradient(rgba(27, 20, 16, .82), rgba(27, 20, 16, .82)), image-set(url(../assets/papier.596e285570.webp) type("image/webp") 1x, url(../assets/papier.4f11e3a0e3.jpg) type("image/jpeg") 1x);--text: #f3e9db;--accent: #d6a670;--accent-dark: #b07b46;--accent-muted: #d1b38f;--border: #6a4a31;--border-light: #3d2b1d;--surface: rgba(34, 25, 19, .88);--surface-strong: rgba(44, 32, 24, .9);--field-bg: rgba(55, 41, 30, .6);--disabled-bg: rgba(55, 41, 30, .45);--button-bg: #7a5332;--button-text: #f9f1e7;--button-inactive-bg: rgba(60, 44, 32, .7);--button-inactive-text: #d3b89a;--mini-button-hover-bg: rgba(86, 61, 43, .7);--shadow: 0 10px 30px rgba(0, 0, 0, .45);--shadow-sm: 0 2px 12px rgba(0, 0, 0, .35)}}html{-webkit-text-size-adjust:100%;background-color:var(--bg);background-image:var(--bg-image);min-height:100%}body{font-family:Crimson Text,serif;background-color:var(--bg);background-image:var(--bg-image);color:var(--text);padding:20px;padding-top:max(20px,var(--sat));padding-left:max(20px,var(--sal));padding-right:max(20px,var(--sar));padding-bottom:max(20px,var(--sab));overscroll-behavior-y:none;line-height:1.45;min-height:100dvh}.container{max-width:1220px;margin:0 auto}img,canvas{max-width:100%}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}button{font-family:Cinzel,serif;font-size:12px;padding:9px 16px;background:var(--button-bg);color:var(--button-text);border:2px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:background .18s,transform .1s,box-shadow .18s;box-shadow:var(--shadow-sm);min-height:36px}button:hover{background:var(--accent-dark)}button:active{transform:scale(.97)}button.inactive{background:var(--button-inactive-bg);color:var(--button-inactive-text);box-shadow:none}button.inactive:hover{background:var(--button-inactive-bg);opacity:.88}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px;position:sticky;top:8px;z-index:60;top:calc(max(8px,var(--sat)) + var(--edge-gap));background-color:var(--bg);background-image:linear-gradient(var(--surface),var(--surface));border:2px solid var(--accent);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow);background-clip:padding-box}.header h1{display:flex;align-items:center;gap:12px;font-family:Cinzel,serif;font-size:clamp(19px,4.5vw,26px);color:var(--accent);letter-spacing:2px}.brand-logo{width:46px;height:46px;flex-shrink:0}.brand-name{display:block;line-height:1.1}.brand-tagline{display:block;margin-top:3px;font-family:Crimson Text,serif;font-size:13px;font-weight:400;letter-spacing:.5px;color:var(--accent-muted)}.header-buttons,.header-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.version-tag{font-family:Cinzel,serif;font-size:9px;color:var(--accent-muted);align-self:center;padding:0 4px;letter-spacing:1px}.btn-export{background:#6b4226;border-color:#4a2c17}.btn-export:hover{background:#4a2c17}.btn-import{background:#4a6b32;border-color:#2f4a21}.btn-import:hover{background:#2f4a21}.btn-print{background:#5a4a32;border-color:#3a2a18}.btn-print:hover{background:#3a2a18}.mini-button{font-family:Cinzel,serif;font-size:11px;padding:6px 10px;background:var(--surface-strong);color:var(--accent-muted);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:background .18s,transform .1s;box-shadow:none;min-height:32px}.mini-button:hover{background:var(--mini-button-hover-bg)}.mini-button:active{transform:scale(.97)}.mini-button:disabled{opacity:.6;cursor:not-allowed}.mini-button.picked{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.box{border:2px solid var(--accent);background:var(--surface);padding:15px;margin-bottom:15px;border-radius:var(--radius);box-shadow:var(--shadow-sm)}label{font-family:Cinzel,serif;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:4px}.section-title{font-family:Cinzel,serif;font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}input[type=text],input[type=number],input[type=color],input[type=range],input[type=password],textarea,select{font-family:Crimson Text,serif;font-size:14px;color:var(--text);background:var(--field-bg);border:none;border-bottom:1px solid var(--border);padding:6px 8px;width:100%;outline:none;border-radius:6px 6px 0 0}input[type=color]{padding:0;height:32px;border:1px solid var(--border);border-radius:8px;cursor:pointer}input:disabled{background:var(--disabled-bg);cursor:not-allowed;opacity:.8}select{cursor:pointer}.divider{display:flex;align-items:center;gap:6px;margin:12px 0 10px}.divider-line{flex:1;border-top:1px solid var(--border)}.divider-title{font-family:Cinzel,serif;font-size:10px;color:var(--accent);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.view{display:none}.view.active{display:block;animation:fadein .2s ease}@keyframes fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.search-bar{display:flex;gap:8px;margin-bottom:12px}.search-bar input{flex:1;min-width:0}.search-bar button{flex:0 0 auto}.library-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:14px;align-items:start}.library-main{min-width:0}.folder-sidebar{border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--surface-strong),var(--surface));padding:12px;position:sticky;top:calc(var(--header-h) + 76px);top:calc(var(--header-h) + 76px + var(--sat));max-height:72vh;overflow-y:auto;box-shadow:0 8px 24px #482d1614}.folder-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.folder-sidebar-title{margin:0;font-size:13px;letter-spacing:1.5px}.folder-sidebar-subtitle{font-size:11px;opacity:.62;margin-top:2px}.folder-new-button{min-width:34px;min-height:34px;padding:4px 8px;font-size:18px}.folder-toolbar{display:flex;gap:4px;align-items:center;margin:0 -3px 8px;padding:4px 3px;border-bottom:1px solid var(--border)}.folder-toolbar-button,.folder-toolbar-icon{min-height:32px;border:0;box-shadow:none;background:transparent;color:var(--text);border-radius:7px;font-size:12px;padding:5px 8px}.folder-toolbar-button{flex:1;text-align:left;color:var(--accent);font-weight:600}.folder-toolbar-button:hover,.folder-toolbar-icon:hover{background:var(--mini-button-hover-bg)}.folder-toolbar-icon{min-width:30px;color:var(--accent-muted);font-size:16px}.folder-nav{display:flex;flex-direction:column;gap:2px}.folder-row{display:flex;gap:2px;align-items:stretch;border-radius:7px}.folder-row.active{background:#8b5a2b1f}.folder-item{flex:1;display:flex;align-items:center;gap:8px;text-align:left;background:transparent;border:1px solid transparent;color:var(--text);box-shadow:none;min-height:36px;border-radius:7px;padding:5px 8px;font-size:12px}.folder-item:hover{background:var(--mini-button-hover-bg)}.folder-item.active{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.folder-emoji{font-size:15px}.folder-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Crimson Text,serif;font-size:14px}.folder-count{font-family:Cinzel,serif;font-size:10px;opacity:.85;background:#7f5a3226;border-radius:999px;padding:1px 8px}.folder-item.active .folder-count{background:#ffffff40}.folder-row-actions{display:flex;gap:1px;align-items:center;opacity:0;transition:opacity .12s}.folder-row:hover .folder-row-actions,.folder-row:focus-within .folder-row-actions,.folder-row.active .folder-row-actions{opacity:1}.folder-mini{background:transparent;border:none;box-shadow:none;color:var(--accent-muted);font-size:13px;padding:6px;min-height:36px;min-width:32px;border-radius:8px}.folder-mini:hover{background:var(--mini-button-hover-bg)}.folder-empty{font-size:13px;opacity:.75;padding:6px 2px}.folder-hint{font-size:12px;opacity:.7;margin-top:10px;line-height:1.4}.folder-node{display:flex;flex-direction:column}.folder-node>.folder-row{margin-left:calc(var(--depth, 0) * 14px)}.folder-children{display:flex;flex-direction:column;gap:2px;margin-top:2px}.folder-toggle{flex:0 0 auto;background:transparent;border:none;box-shadow:none;color:var(--accent-muted);font-size:12px;min-width:26px;min-height:36px;padding:4px 2px;border-radius:6px;cursor:pointer}.folder-toggle:hover{background:var(--mini-button-hover-bg)}.folder-toggle--leaf{opacity:.35;cursor:default;text-align:center}.folder-row.drop-target{outline:2px dashed var(--accent);outline-offset:1px;background:#8b5a2b29}.folder-item.drop-target{background:#8b5a2b29}.folder-item--main{cursor:grab}.folder-item--main:active{cursor:grabbing}.folder-rename{width:100%;font-family:Crimson Text,serif;font-size:14px;color:var(--text);background:var(--field-bg);border:1px solid var(--accent);border-radius:6px;padding:3px 6px}.folder-menu{position:fixed;z-index:10000;min-width:220px;max-width:280px;background:var(--surface-strong);border:2px solid var(--accent);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px}.folder-menu-item{background:transparent;border:none;box-shadow:none;color:var(--text);text-align:left;font-size:13px;padding:9px 10px;min-height:40px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-menu-item:hover{background:var(--mini-button-hover-bg)}.folder-menu-item.danger{color:#a33}.crumb{background:transparent;border:none;box-shadow:none;color:var(--accent);font-size:11px;padding:2px 4px;min-height:0;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.crumb:hover{text-decoration:underline}.crumb--current{color:var(--text);font-weight:700;cursor:default}.crumb--current:hover{text-decoration:none}.crumb-sep{opacity:.6}.folder-chips{display:none;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:4px;scrollbar-width:thin}.chip{flex:0 0 auto;font-size:11px;padding:7px 12px;border-radius:999px;background:var(--surface-strong);color:var(--accent-muted);border:1px solid var(--border);box-shadow:none;white-space:nowrap}.chip.active{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px}.explorer-section-label{grid-column:1 / -1;margin:4px 0 -5px;color:var(--accent-muted);font-family:Cinzel,serif;font-size:10px;letter-spacing:1px;text-transform:uppercase}.explorer-folder-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.explorer-folder-card{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:8px;text-align:left;min-height:62px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-strong);color:var(--text);box-shadow:none;cursor:pointer}.explorer-folder-card:hover,.explorer-folder-card:focus-visible{border-color:var(--accent);background:var(--mini-button-hover-bg);outline:none}.explorer-folder-icon{grid-row:1 / 3;font-size:25px}.explorer-folder-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.explorer-folder-count{font-size:11px;opacity:.65}.explorer-empty{grid-column:1 / -1;font-size:14px;opacity:.75;padding:8px 2px}.notebook-cover{border:2px solid var(--accent);background:var(--surface-strong);cursor:pointer;padding:0;overflow:hidden;border-radius:12px;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.notebook-cover:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.notebook-spine{height:10px;background:linear-gradient(135deg,var(--accent-dark),var(--accent))}.notebook-body{padding:13px 12px;min-height:170px;display:flex;flex-direction:column;gap:6px;flex:1}.notebook-title{font-family:Cinzel,serif;font-size:15px;font-weight:700;color:var(--accent);line-height:1.25;word-break:break-word}.notebook-meta{font-size:12px;color:var(--accent-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.notebook-preview{font-size:13px;opacity:.82;font-style:italic;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.notebook-actions{display:flex;gap:6px;margin-top:auto;padding-top:10px;flex-wrap:wrap}.notebook-actions .mini-button{padding:7px 10px;font-size:11px;flex:1 1 auto}.folder-badge{font-family:Cinzel,serif;font-size:10px;padding:3px 9px;min-height:0;border-radius:999px;background:#8b5a2b1f;color:var(--accent-muted);border:1px solid var(--border);box-shadow:none;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.folder-badge:hover{background:var(--mini-button-hover-bg)}.move-row{display:flex;gap:6px;align-items:center;margin-top:6px;font-size:12px}.move-row span{font-size:13px}.move-row select{font-size:13px;padding:5px 6px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg)}.work-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.page-rail{width:172px;display:flex;flex-direction:column;gap:8px;max-height:78vh;overflow-y:auto;padding-right:2px;position:sticky;top:150px;top:calc(150px + var(--sat))}.page-rail.is-collapsed{display:none}.rail-toggle{flex:0 0 auto;align-self:flex-start;display:inline-flex;align-items:center;gap:5px;min-height:0;padding:3px 9px;font-size:12px;line-height:1.2;border-width:2px}.rail-toggle .rail-toggle-icon{font-size:13px}.rail-toggle[aria-expanded=true]{background:var(--accent);color:var(--button-text);border-color:var(--accent-dark)}.rail-toggle[aria-expanded=false]{background:transparent}.page-thumb{border:2px solid var(--border);background:var(--surface-strong);cursor:pointer;padding:6px;text-align:center;font-size:11px;border-radius:10px}.page-thumb.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.page-thumb canvas{width:100%;height:auto;display:block;background:#fffdf6;border:1px solid var(--border-light);border-radius:4px}.page-thumb .thumb-label{font-family:Cinzel,serif;font-size:9px;color:var(--accent);margin-top:4px}.page-thumb--template{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 6px;min-height:96px;font-family:Cinzel,serif}.page-thumb--template:hover{background:var(--mini-button-hover-bg)}.page-thumb--template .thumb-plus{font-size:22px;line-height:1;color:var(--accent)}.page-thumb--template .thumb-label{margin-top:0;line-height:1.35}.toolbar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px;position:sticky;top:84px;z-index:40;box-shadow:var(--shadow-sm);top:calc(var(--toolbar-top) + var(--sat) + var(--edge-gap))}.toolbar .sep{border-left:1px solid var(--border);height:22px;margin:0 2px}.tool-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tool-group--tools{flex:1 1 auto}.tool-group--colors,.tool-group--actions{flex:0 0 auto}.tool-group input[type=color]{width:38px}.tool-group input[type=range]{width:90px;accent-color:var(--accent)}.pane-bar{border-radius:var(--radius-sm);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stage-wrap{display:flex;justify-content:center;min-width:0}.stage-scroll{width:100%;max-height:var(--stage-h, 62dvh);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-y}.stage-stack{display:flex;flex-direction:column;align-items:stretch;gap:var(--page-gap, 18px);padding:4px 0 32px}.page-slot{position:relative;width:100%;flex:0 0 auto;max-width:var(--slot-max-w, min(760px, 100%));margin:0 auto;aspect-ratio:var(--slot-ar, 210 / 297);scroll-margin-top:12px}.page-slot>.stage{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto}.stage{position:relative;width:100%;max-width:min(760px,100%);aspect-ratio:210 / 297;background-color:#fffdf6;background-image:var(--bg-image);background-blend-mode:multiply;border:2px solid var(--accent);border-radius:6px;box-shadow:0 0 0 3px var(--surface-strong),0 14px 34px #0000004d;overflow:hidden;touch-action:pan-x pan-y}.page-slot:after{content:attr(data-page-no);position:absolute;left:50%;bottom:-17px;transform:translate(-50%);font-family:Cinzel,serif;font-size:10px;color:var(--accent-muted);opacity:.75;pointer-events:none;white-space:nowrap}.page-slot[data-active="1"]:after{opacity:1;color:var(--accent);font-weight:700}.page-slot>.stage>*{pointer-events:none}.page-slot>.stage>.text-layer .text-box,.page-slot>.stage>.text-layer .text-box *,.page-slot>.stage>.img-layer .img-item,.page-slot>.stage>.img-layer .img-handle{pointer-events:auto}.page-slot:not(:has(>.stage)){background-color:#fffdf6;background-blend-mode:multiply;border:2px solid var(--accent);border-radius:6px}.stage.finger-ink{touch-action:none}.stage.tool-laser{cursor:none;touch-action:none}.stage.lined{background-image:linear-gradient(transparent 95%,var(--border-light) 100%),var(--bg-image);background-size:100% 32px,auto}.stage.grid{background-color:#fff;background-image:linear-gradient(var(--border-light) 1px,transparent 1px),linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:24px 24px,24px 24px}.stage.paper-margin{background-image:linear-gradient(90deg,transparent 0 64px,rgba(200,90,90,.55) 64px 66px,transparent 66px),linear-gradient(transparent 95%,var(--border-light) 100%),var(--bg-image);background-size:auto,100% 32px,auto}.stage.paper-grid-lg{background-color:#fff;background-image:linear-gradient(var(--border-light) 1px,transparent 1px),linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:48px 48px,48px 48px}.stage.paper-dots{background-image:radial-gradient(circle,var(--border-light) 1.4px,transparent 1.6px);background-size:24px 24px;background-position:12px 12px}.stage.paper-cornell{background-image:linear-gradient(90deg,transparent 0 30%,rgba(139,90,43,.5) 30% calc(30% + 2px),transparent calc(30% + 2px)),linear-gradient(transparent 0 82%,rgba(139,90,43,.5) 82% calc(82% + 2px),transparent calc(82% + 2px)),linear-gradient(transparent 95%,var(--border-light) 100%),var(--bg-image);background-size:auto,auto,100% 32px,auto}.stage.paper-todo{background-image:linear-gradient(var(--border-light) 0 0),linear-gradient(transparent 95%,var(--border-light) 100%),var(--bg-image);background-size:16px 16px,100% 40px,auto;background-position:20px 12px,0 0,0 0;background-repeat:no-repeat,repeat,repeat}.stage.paper-music{background-image:repeating-linear-gradient(transparent 0 11px,var(--border-light) 11px 12px,transparent 12px 76px);background-size:100% 76px;background-position:0 24px}@media print{.stage{-webkit-print-color-adjust:exact;print-color-adjust:exact}}#drawCanvas,#overlayCanvas,#drawCanvasB,#overlayCanvasB{position:absolute;inset:0;width:100%;height:100%}#bgLayer,#bgLayerB{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;pointer-events:none}#drawCanvas,#drawCanvasB{z-index:2}#overlayCanvas,#overlayCanvasB{z-index:3;pointer-events:none}.text-layer,.img-layer{position:absolute;inset:0;z-index:4}.text-layer{pointer-events:none}.text-box{position:absolute;min-width:80px;min-height:30px;padding:4px 6px;font-size:17px;line-height:1.4;color:#2a1a0e;border:1px dashed transparent;border-radius:4px;cursor:text;pointer-events:auto;word-break:break-word}.text-box.selected{border-color:var(--accent);background:#faf6ee80}.text-box h1{font-family:Cinzel,serif;color:var(--accent);font-size:24px}.text-box h2{font-family:Cinzel,serif;color:var(--accent);font-size:20px}.text-box h3{font-family:Cinzel,serif;color:var(--accent);font-size:17px}.img-item{position:absolute;border:1px dashed transparent;pointer-events:auto;border-radius:4px}.img-item.selected{border-color:var(--accent)}.img-item img{width:100%;height:100%;display:block;border-radius:3px}.img-handle{position:absolute;right:-10px;bottom:-10px;width:20px;height:20px;background:var(--accent);color:var(--button-text);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:nwse-resize;border-radius:50%}.split-container{display:flex;gap:10px;align-items:stretch}.split-pane{flex:1 1 0;min-width:0;border:2px solid transparent;border-radius:8px;padding:4px;cursor:default}.split-pane.active{border-color:var(--accent);background:#8b5a2b0f}.split-pane .pane-bar{margin-bottom:10px}.pane-bar{position:sticky;top:calc(var(--toolbar-bottom, 200px) + var(--sat));z-index:39}.stage-scroll{scroll-padding-top:8px}.split-divider{flex:0 0 14px;cursor:col-resize;display:flex;align-items:center;justify-content:center;background:var(--surface-strong);border:1px solid var(--border);border-radius:7px;touch-action:none;user-select:none}.split-divider:hover{background:var(--mini-button-hover-bg)}.split-divider-grip{font-size:14px;color:var(--accent);letter-spacing:1px}.pane-badge{font-size:11px;opacity:0}.split-pane.active .pane-badge{opacity:.85;color:var(--accent)}@media (min-width: 861px){.split-container .work-layout{grid-template-columns:auto minmax(0,1fr)}.split-container .page-rail{width:132px}}.split-container .work-layout>*{min-width:0}.split-pane .stage-wrap{min-width:0;max-width:100%}.split-pane .stage{max-width:100%}.split-pane .pane-bar>*{min-width:0}.split-container{overflow-x:clip}#splitToggle.picked{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.status-line{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--accent-muted);margin-top:8px}#statusPage.edge-flash,#statusPageB.edge-flash{background:#8b5a2b38;border-radius:6px;transition:background .15s ease}.preview-modal{max-width:640px}.preview-body{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--field-bg)}#previewCanvas{flex:1;min-width:0;width:100%;height:auto;aspect-ratio:210 / 297;background:#fffdf6;border:1px solid var(--border);border-radius:6px}.preview-nav{font-size:16px;padding:10px 8px;flex:0 0 auto}#cloudPass{font-family:Crimson Text,serif}.cloud-status-wrap{font-size:14px}#awMsg{font-size:13px;min-height:18px;margin-top:8px}:root{--aw-err: #a33;--aw-tab-bg: var(--surface-strong)}@media (prefers-color-scheme: dark){:root{--aw-err: #f0a8a8}}.aw-auth-tabs{display:flex;gap:8px;flex-wrap:wrap}.aw-auth-tab{flex:1 1 auto;font-family:Cinzel,serif;font-size:11px;letter-spacing:1px;padding:8px 12px;min-height:36px;background:var(--aw-tab-bg);color:var(--accent-muted);border:1px solid var(--border);border-radius:8px;cursor:pointer;box-shadow:none}.aw-auth-tab:hover{background:var(--mini-button-hover-bg)}.aw-auth-tab.active{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.aw-auth-pane{display:flex;flex-direction:column;gap:10px}.aw-auth-pane[hidden]{display:none}.aw-pw-hint{font-size:12px;color:var(--accent-muted);min-height:16px}.aw-pw-hint[data-score="3"],.aw-pw-hint[data-score="4"]{color:#3a7d44}@media (prefers-color-scheme: dark){.aw-pw-hint[data-score="3"],.aw-pw-hint[data-score="4"]{color:#8fd49a}}.aw-privacy-note{font-size:12px;opacity:.8;line-height:1.4}@media (max-width: 560px){.aw-auth-tabs{gap:6px}.aw-auth-tab{flex:1 1 45%;min-height:44px;font-size:12px}.aw-privacy-note{font-size:13px}}.editor-overlay{position:fixed;inset:0;background:#0f0a05bf;backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;z-index:9999;padding:12px;padding-top:max(12px,var(--sat));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-bottom:max(12px,var(--sab));padding-left:max(12px,var(--sal));padding-right:max(12px,var(--sar))}.editor-overlay.active{display:flex}.editor-modal{background-color:var(--bg);background-image:var(--bg-image);border:2px solid var(--accent);box-shadow:0 0 0 3px var(--surface-strong),0 20px 50px #0009;width:100%;max-width:820px;max-height:92dvh;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;animation:pop .18s ease}@keyframes pop{0%{opacity:0;transform:scale(.98) translateY(4px)}to{opacity:1;transform:none}}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:2px solid var(--accent);background:var(--surface);gap:8px}.editor-header-title{font-family:Cinzel,serif;font-size:clamp(13px,3.5vw,16px);color:var(--accent);letter-spacing:2px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:var(--surface-strong);border-bottom:1px solid var(--border);align-items:center;max-height:30vh;overflow-y:auto}.editor-select{width:auto;padding:6px 8px;font-family:Cinzel,serif;font-size:11px;border:1px solid var(--border);border-radius:8px;background:var(--field-bg);color:var(--text);cursor:pointer}.editor-sep{border-left:1px solid var(--border);height:18px;margin:0 2px}.editor-body{flex:1;min-height:240px;max-height:55vh;overflow-y:auto;padding:16px;font-family:Crimson Text,serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--field-bg);outline:none;border:none;white-space:pre-wrap;word-break:break-word}.editor-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;background:var(--surface);border-top:1px solid var(--border-light);flex-wrap:wrap}.craft-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:0 14px 14px;overflow-y:auto;flex:1 1 auto;min-height:0}.craft-app{display:block;padding:9px 11px;border:1px solid var(--border-light);border-radius:8px;background:var(--field-bg);color:var(--text);text-decoration:none;line-height:1.35}.craft-app:hover{border-color:var(--accent);background:var(--surface-2)}.craft-app:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.craft-app__name{display:flex;align-items:center;gap:6px;font-weight:700}.craft-app__role{font-size:12px;opacity:.75}.craft-app__note{font-size:11px;opacity:.65;margin-top:2px}.craft-app__badge{display:inline-block;font-size:10px;padding:1px 6px;border-radius:9px;border:1px solid var(--accent);color:var(--accent);white-space:nowrap}.craft-app__fmt{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;padding:0 5px;margin:0 3px 0 0;border-radius:4px;border:1px solid var(--border-soft);background:var(--surface-2)}.craft-app__note--warn{color:var(--warn, #a35a1c);opacity:.9}.rich-field h1,.editor-body h1,.rich-field h2,.editor-body h2,.rich-field h3,.editor-body h3{font-family:Cinzel,serif;color:var(--accent);margin:4px 0 2px;line-height:1.2}.rich-field h1,.editor-body h1{font-size:20px}.rich-field h2,.editor-body h2{font-size:17px}.rich-field h3,.editor-body h3{font-size:15px}@media (max-width: 1020px){:root{--toolbar-top: 78px}.container{max-width:100%}.library-layout{grid-template-columns:210px minmax(0,1fr)}}@media (max-width: 860px){:root{--header-h: 150px;--toolbar-top: 170px}body{padding:10px;padding-top:max(10px,var(--sat));padding-bottom:max(14px,var(--sab));padding-left:max(10px,var(--sal));padding-right:max(10px,var(--sar))}.header{position:sticky;top:8px;top:calc(max(8px,var(--sat)) + var(--edge-gap));padding:8px 10px;gap:8px}.header h1{font-size:19px;letter-spacing:1px}.brand-logo{width:38px;height:38px}.brand-tagline{font-size:12px}button{padding:8px 12px;font-size:11px;min-height:40px}.library-layout{grid-template-columns:1fr}.folder-sidebar{display:none}.folder-chips{display:flex}.search-bar{flex-wrap:wrap}.search-bar input{flex:1 1 100%;order:-1}.search-bar button{flex:1 1 auto}.library-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.notebook-body{min-height:0}.work-layout{grid-template-columns:1fr}.page-rail{flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;position:static;padding-bottom:6px;scroll-snap-type:x mandatory}.page-thumb{min-width:108px;scroll-snap-align:start}.toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;margin-left:-10px;margin-right:-10px;padding-left:10px;padding-right:10px;padding-left:max(10px,var(--sal));padding-right:max(10px,var(--sar));border-radius:0;border-left:none;border-right:none}.toolbar .tool-group{flex-wrap:nowrap}.tool-group input[type=range]{width:110px}.split-container{flex-direction:column}.split-divider{flex:0 0 22px;cursor:row-resize}.split-divider-grip{transform:rotate(90deg)}input[type=text],input[type=number],input[type=password],textarea,select{font-size:16px}.preview-body{padding:8px;gap:6px}.preview-nav{padding:14px 10px;font-size:18px}.header-buttons{gap:6px;width:100%}.header-group,.header-group button{flex:1 1 auto}.notebook-actions{gap:6px}.editor-modal{max-height:94dvh;border-radius:10px}.editor-body{font-size:17px}.box{padding:12px}.header{padding:6px 8px;gap:6px}.header h1{font-size:17px}.brand-logo{width:32px;height:32px}.brand-tagline,.version-tag{display:none}.header-buttons{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;width:100%}.header-buttons::-webkit-scrollbar{display:none}.header-buttons>*,.header-group{flex:0 0 auto}.header-buttons button{padding:6px 9px;font-size:11px;min-height:34px}.header .box,.book-nav{padding:6px 8px;margin-bottom:6px}.book-nav button{padding:6px 10px;font-size:11px;min-height:34px}.pane-bar{padding:8px;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.pane-bar::-webkit-scrollbar{display:none}.pane-bar>select,.pane-bar>input[type=text]{flex:0 0 auto!important;min-width:104px;max-width:150px!important}.pane-bar>button{flex:0 0 auto;padding:6px 9px;font-size:11px;min-height:34px}#fw-update-banner{font-size:12px!important;padding:5px 8px!important;gap:6px!important}#fw-update-banner a{font-size:12px!important}.toolbar{padding-top:6px;padding-bottom:6px;gap:6px}.toolbar,.page-rail{scrollbar-width:none}.toolbar::-webkit-scrollbar,.page-rail::-webkit-scrollbar{display:none}.toolbar,.pane-bar,.header-buttons,.page-rail{background-image:linear-gradient(to right,var(--toolbar-bg, var(--surface)) 40%,transparent),linear-gradient(to left,var(--toolbar-bg, var(--surface)) 40%,transparent),linear-gradient(to right,var(--toolbar-edge, rgba(0, 0, 0, .34)),transparent 16px),linear-gradient(to left,var(--toolbar-edge, rgba(0, 0, 0, .34)),transparent 16px);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:36px 100%,36px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.toolbar .mini-button{padding:6px 9px;min-height:36px}.toolbar button{min-height:36px}.toolbar .mini-button,.toolbar button,.toolbar select,.toolbar label{white-space:nowrap;flex:0 0 auto}.toolbar .tool-group{flex:0 0 auto}.tool-group{gap:5px}.tool-group input[type=range]{width:88px}.status-line{font-size:12px;gap:6px}#fingerDrawToggle.picked{box-shadow:0 0 0 2px var(--accent)}.page-rail{width:auto;padding-bottom:4px;gap:6px;scroll-snap-type:x proximity}.page-rail .page-thumb{flex:0 0 74px;width:74px;min-width:74px;padding:4px;font-size:10px}.page-rail .page-thumb canvas{max-height:96px;object-fit:contain}.page-thumb .thumb-label{font-size:8px;margin-top:2px}.page-thumb--template{min-height:62px;padding:6px 4px}.page-thumb--template .thumb-label{font-size:7px}}@media (max-width: 560px){:root{--header-h: 158px;--toolbar-top: 176px}body{padding:8px;padding-top:max(8px,var(--sat));padding-left:max(8px,var(--sal));padding-right:max(8px,var(--sar))}.header{top:6px;top:calc(max(6px,var(--sat)) + var(--edge-gap))}.toolbar{margin-left:-8px;margin-right:-8px;padding-left:max(8px,var(--sal));padding-right:max(8px,var(--sar))}.library-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.notebook-title{font-size:14px}.notebook-actions .mini-button{font-size:10px;padding:8px 6px}.editor-toolbar{gap:4px}.status-line{font-size:11px}}@media (min-width: 1400px){.container{max-width:1340px}.library-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (display-mode: standalone){body{padding-top:max(20px,var(--sat))}}@supports not (top: max(8px,var(--sat))){.header{top:calc(8px + var(--edge-gap))}.toolbar{top:calc(var(--toolbar-top) + var(--edge-gap))}}@media (pointer: coarse){.mini-button{min-height:40px;padding:8px 12px}.toolbar .mini-button{min-height:44px}.tool-group input[type=color]{width:48px;height:40px}.tool-group input[type=range]{width:120px;height:40px}.img-handle{width:28px;height:28px;right:-12px;bottom:-12px;font-size:15px}.page-thumb{min-width:118px}.preview-nav{min-height:56px;min-width:48px}.editor-modal{max-height:94dvh}.notebook-actions .mini-button{min-height:44px}.folder-mini{min-height:44px;min-width:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{@page{size:A4;margin:10mm}body{background:#fff;padding:0}.header,.toolbar,.page-rail,.buttons,.status-line,.no-print,.folder-sidebar,.folder-chips{display:none!important}.container{max-width:none}.library-layout,.split-container{display:block}.split-pane:not(.active){display:none!important}.split-pane{border:none;padding:0}.work-layout,.stage-wrap{display:block}.stage-scroll{max-height:none!important;overflow:visible!important}.stage-stack{gap:0;padding:0}.page-slot{break-after:page;break-inside:avoid}.page-slot:last-child{break-after:auto}.page-slot:after{display:none}.stage,.page-slot:not(:has(>.stage)){width:100%;max-width:none;margin:0 auto;box-shadow:none;border:1px solid #999}}#editorSource.editor-source{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.55;resize:vertical}.editor-body mark,.text-box mark{background:#fae778b3;color:inherit;padding:0 2px;border-radius:2px}.editor-body .wikilink,.text-box .wikilink{color:var(--accent);background:var(--disabled-bg);padding:0 3px;border-radius:3px;white-space:nowrap}.editor-body blockquote,.text-box blockquote{border-left:3px solid var(--border);margin:6px 0;padding:2px 8px;opacity:.9}.editor-body .callout,.text-box .callout{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:4px;margin:6px 0;overflow:hidden}.editor-body .callout-title,.text-box .callout-title{font-family:Cinzel,serif;font-size:12px;font-weight:700;color:var(--accent);padding:4px 8px;background:var(--surface-strong);letter-spacing:1px}.editor-body .callout-body,.text-box .callout-body{padding:4px 8px;font-size:15px}.editor-body .callout-warning,.text-box .callout-warning,.editor-body .callout-danger,.text-box .callout-danger,.editor-body .callout-caution,.text-box .callout-caution{border-left-color:#a33}.editor-body .callout-tip,.text-box .callout-tip,.editor-body .callout-example,.text-box .callout-example{border-left-color:#3a7}.editor-body ul.task-list,.text-box ul.task-list{list-style:none;padding-left:4px}.editor-body code,.text-box code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--disabled-bg);padding:0 4px;border-radius:3px}.editor-body pre,.text-box pre{background:var(--disabled-bg);padding:8px;overflow-x:auto;border-radius:4px;font-size:13px}#graphCanvas{width:100%;height:auto;display:block;background:var(--field-bg);border:1px solid var(--border);border-radius:8px}#graphDepthWrap{font-size:12px}.flash-modal{max-width:720px}.flash-body{padding:12px 14px;display:flex;flex-direction:column;gap:12px;max-height:66dvh;overflow-y:auto;background:var(--field-bg)}.flash-stats{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.flash-stats .flash-due{font-weight:700}.flash-form{display:flex;flex-direction:column;gap:8px}.flash-form textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);resize:vertical}.flash-imgrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flash-imgprev{display:flex;gap:6px;align-items:center;font-size:12px}.flash-imgprev img{max-height:64px;max-width:160px;border-radius:6px;border:1px solid var(--border)}.flash-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px}.flash-toolbar input[type=number]{font:inherit;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.flash-list{display:flex;flex-direction:column;gap:6px}.flash-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface)}.flash-row.suspended{opacity:.6}.flash-row-text{display:flex;flex-direction:column;gap:2px;font-size:14px;min-width:0}.flash-row-text span{opacity:.8;font-size:13px}.flash-row-meta{font-size:11px;opacity:.7}.flash-row-actions{display:flex;gap:4px;flex-shrink:0}.flash-progress{font-size:12px;opacity:.75;text-align:center}.flash-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);padding:22px 18px;cursor:pointer;box-shadow:var(--shadow-sm)}.flash-card hr{margin:14px 0;border:none;border-top:1px dashed var(--border)}.flash-side p{font-size:19px;line-height:1.5;white-space:pre-wrap}.flash-side img{max-width:100%;max-height:300px;border-radius:8px;border:1px solid var(--border);margin-top:10px}.flash-back{animation:none}.flash-hint{margin-top:12px;font-size:12px;opacity:.6;text-align:center}.flash-grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.flash-grades button{display:flex;flex-direction:column;gap:2px;align-items:center;padding:10px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-strong);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.flash-grades button span{font-size:11px;opacity:.7}.grade-again{border-left:4px solid #a33!important}.grade-hard{border-left:4px solid #c80!important}.grade-good{border-left:4px solid #3a7!important}.grade-easy{border-left:4px solid #37c!important}.flash-done{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;padding:18px 8px}@media (max-width: 560px){.flash-grades{grid-template-columns:repeat(2,1fr)}.flash-row{flex-direction:column;align-items:stretch}.flash-row-actions{justify-content:flex-end}}.live-status-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.live-tabs{display:flex;gap:8px}.live-pane{padding:14px 16px;display:flex;flex-direction:column;gap:10px}.live-pane label{font-size:13px;display:flex;flex-direction:column;gap:4px}.live-pane select,.live-pane input[type=text]{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.live-linkrow{display:flex;gap:8px}.live-linkrow input{flex:1;min-width:0}.live-hint{font-size:12px;opacity:.75}#liveMsg{font-size:13px;min-height:18px}#liveBar{position:fixed;right:12px;bottom:12px;z-index:9000;display:none;align-items:center;gap:8px;background:var(--surface-strong);border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:13px;box-shadow:0 6px 20px #0000004d}.live-dot{width:10px;height:10px;border-radius:50%;background:#e33;animation:live-pulse 1.6s infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.live-avatars{display:flex}.live-avatar{width:22px;height:22px;border-radius:50%;margin-left:-6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;border:2px solid var(--surface-strong)}.live-avatar.live-me{background:var(--accent)}.live-cursors{position:absolute;inset:0;pointer-events:none;z-index:30;overflow:hidden}.live-cursor{position:absolute;transform:translate(-4px,-4px)}.live-cursor-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px #0006}.live-cursor-name{font-size:10px;color:#fff;padding:1px 6px;border-radius:8px;margin-top:2px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}@media print{#liveBar,.live-cursors{display:none!important}}.conflict-banner{align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface-strong);border:1px solid #b7791f;border-left:4px solid #e6a23c;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:13px}.conflict-banner-dot{width:10px;height:10px;border-radius:50%;background:#e6a23c;animation:live-pulse 1.6s infinite}@media print{#conflictBanner{display:none!important}}.fw-dlg-overlay{z-index:10001}.fw-dlg-modal{max-width:440px}.fw-dlg-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--field-bg)}.fw-dlg-msg{font-size:15px;line-height:1.5;white-space:pre-line}.fw-dlg-input{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.fw-dlg-foot{justify-content:flex-end}.fw-dlg-danger{background:#a33;border-color:#a33;color:#fff}.flash-listhead{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:4px}.flash-count{font-size:12px;opacity:.7;font-weight:400}.flash-listcontrols{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.flash-listcontrols input,.flash-listcontrols select{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.flash-listcontrols input{min-width:150px}.flash-chip{display:inline-block;padding:0 6px;border-radius:999px;font-size:10px;border:1px solid currentColor}.flash-m-new{color:#8a8a8a}.flash-m-learning{color:#b06a00}.flash-m-young{color:#2a7ab0}.flash-m-mature{color:#2e7d32}.flash-m-suspended{color:#999}.flash-mastery{display:block;height:4px;border-radius:999px;background:var(--disabled-bg);overflow:hidden;margin-top:4px;max-width:220px}.flash-mastery i{display:block;height:100%;background:linear-gradient(90deg,#b06a00,#2e7d32)}.flash-dash{display:flex;flex-direction:column;gap:10px}.flash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}.flash-kpi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface)}.flash-kpi b{font-size:20px;line-height:1.1;color:var(--accent-dark)}.flash-kpi span{font-size:11px;opacity:.72;text-align:center}.flash-panel{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--surface);padding:10px 12px}.flash-panel-title{font-family:Cinzel,serif;font-size:12px;letter-spacing:.5px;color:var(--accent-muted);margin-bottom:8px}.flash-bar{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--disabled-bg)}.flash-bar i{display:block;height:100%}.flash-bar-mature{background:#2e7d32}.flash-bar-young{background:#2a7ab0}.flash-bar-learning{background:#b06a00}.flash-bar-new{background:#8a8a8a}.flash-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-top:8px}.flash-legend span{display:inline-flex;align-items:center;gap:4px}.flash-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.flash-dot.flash-m-mature{background:#2e7d32}.flash-dot.flash-m-young{background:#2a7ab0}.flash-dot.flash-m-learning{background:#b06a00}.flash-dot.flash-m-new{background:#8a8a8a}.flash-days{display:flex;align-items:flex-end;gap:3px;min-height:78px}.flash-day{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.flash-day i{display:block;width:100%;max-width:20px;border-radius:3px 3px 0 0;background:var(--accent);opacity:.85}.flash-day span{font-size:9px;opacity:.6;white-space:nowrap}.flash-leech-list{display:flex;flex-direction:column;gap:5px}.flash-leech-row{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--border-light);border-left:3px solid #a33;border-radius:8px;background:var(--field-bg);color:var(--text);cursor:pointer}.flash-leech-row:hover{border-color:var(--accent);background:var(--mini-button-hover-bg)}.deck-progress{display:flex;height:6px;border-radius:999px;overflow:hidden;background:var(--disabled-bg);margin-top:4px}.deck-progress i{display:block;height:100%}.deck-bar-mature{background:#2e7d32}.deck-bar-young{background:#2a7ab0}.deck-bar-learning{background:#b06a00}.deck-bar-new{background:#8a8a8a}.deck-progress-label{font-size:11px;opacity:.7;margin-top:3px}.present-chip{font-size:11px;padding:1px 8px;border-radius:999px;color:var(--button-text);background:var(--accent)}.present-stop{font:inherit;font-size:11px;padding:2px 9px;border-radius:999px;color:#fff;background:#a33;border:1px solid #7d2626;cursor:pointer}.present-stop:hover{background:#b94444}#presentBtn.picked{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.present-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0d0a08}.present-fit{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:24px;box-sizing:border-box}.present-page{position:relative;max-width:none;aspect-ratio:auto;border:none;border-radius:0;box-shadow:0 0 0 1px #ffffff0f,0 30px 80px #0009;overflow:hidden;touch-action:none}.present-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;pointer-events:none}.present-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.present-layer{position:absolute;inset:0;z-index:4;pointer-events:none}.present-layer .text-box{pointer-events:none;cursor:default}.present-layer .text-box.selected,.present-layer .img-item.selected{border-color:transparent;background:none}.present-layer .img-handle{display:none}.present-laser{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}.present-black .present-page{visibility:hidden}.present-wait{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:#0d0a08}.present-wait[hidden]{display:none}.present-wait-card{max-width:460px;text-align:center;color:#e8dcc8;line-height:1.6}.present-wait-title{font-family:Cinzel,serif;font-size:22px;margin-bottom:10px;color:#f0d9b0}.present-wait-hint{opacity:.6;font-size:14px}.present-bar{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#140e09d1;border:1px solid rgba(220,190,150,.22);backdrop-filter:blur(6px);z-index:20}.present-bar[hidden]{display:none}.present-btn{font:inherit;font-size:17px;line-height:1;min-width:34px;height:34px;border-radius:999px;border:1px solid rgba(220,190,150,.28);background:#fffaf014;color:#f2e8d8;cursor:pointer}.present-btn:hover{background:#fffaf033}.present-btn.picked{background:var(--accent);border-color:var(--accent);color:#fff}.present-count{font-size:14px;min-width:62px;text-align:center;color:#f2e8d8;font-variant-numeric:tabular-nums}.present-sep{width:1px;height:22px;background:#dcbe9640}.present-title{position:fixed;left:50%;top:max(16px,env(safe-area-inset-top));transform:translate(-50%);font-family:Cinzel,serif;font-size:15px;color:#f2e8d880;max-width:80vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:15}@media print{.present-bar,.present-wait,.present-title,.present-chip,.present-stop{display:none!important}}.fw-theme-btn{white-space:nowrap;max-width:44vw;overflow:hidden;text-overflow:ellipsis}.fw-theme-modal{max-width:780px}.fw-theme-body{display:flex;flex-direction:column;gap:12px;padding:14px;overflow-y:auto;background:var(--field-bg);font-family:Crimson Text,serif}.fw-theme-schemes{display:flex;gap:6px;flex-wrap:wrap}.fw-theme-scheme{text-transform:capitalize}.fw-theme-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(232px,1fr))}.fw-theme-item{display:flex;align-items:center;gap:10px;text-align:left;padding:9px 11px;min-height:62px;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:none;font-family:inherit;transition:border-color .12s,background .12s,transform .1s}.fw-theme-item:hover{border-color:var(--accent);background:var(--mini-button-hover-bg)}.fw-theme-item:active{transform:translateY(1px)}.fw-theme-item.picked{border-color:var(--accent);background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--accent)}.fw-theme-sw{display:flex;flex:0 0 auto;width:46px;height:34px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.fw-theme-sw i{flex:1;display:block}.fw-theme-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.fw-theme-name{font-weight:700;font-size:13.5px;line-height:1.2}.fw-theme-desc{font-size:11.5px;opacity:.72;line-height:1.3}.fw-office{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg)}.fw-office-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.fw-office-io{display:inline-flex;gap:6px;margin-left:auto}.fw-office-bar h2{margin:0;font-size:16px;font-weight:600;max-width:44ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-office-kind{font-size:12px;opacity:.75;padding:1px 8px;border:1px solid currentColor;border-radius:999px}.fw-office-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-strong, var(--surface))}.fw-office-btn{font:inherit;font-size:13px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:inherit;cursor:pointer}.fw-office-btn:hover{border-color:var(--accent)}.fw-office-btn.is-active{background:var(--accent);color:var(--accent-fg, #fff);border-color:var(--accent)}.fw-office-type{font:inherit;font-size:13px;margin-left:auto;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:inherit}.fw-office-page{flex:1;min-height:0;overflow:auto;padding:20px 16px 80px}.fw-office-paper{max-width:78ch;margin:0 auto;min-height:60vh;padding:40px 44px;background:var(--paper, #fff);color:var(--ink, #1a1a1a);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 3px #00000017}.fw-office-block{margin:0 0 .55em;line-height:1.6;outline:none;white-space:pre-wrap;word-break:break-word}.fw-office-block:focus-visible{box-shadow:0 0 0 2px var(--accent);border-radius:3px}.fw-office-b-h1{font-size:1.9em;font-weight:700;line-height:1.25;margin:.9em 0 .4em}.fw-office-b-h2{font-size:1.5em;font-weight:700;line-height:1.3;margin:.8em 0 .35em}.fw-office-b-h3{font-size:1.24em;font-weight:600;line-height:1.35;margin:.7em 0 .3em}.fw-office-b-quote{border-left:3px solid var(--accent);padding-left:12px;opacity:.9;font-style:italic}.fw-office-b-code{font-family:var(--mono, ui-monospace, monospace);font-size:.92em;background:#7f7f7f1f;padding:2px 5px;border-radius:4px}.fw-office-hr{display:block;height:0;border-top:1px solid var(--border);margin:1.1em 0}.fw-office-placeholder{color:var(--muted, #6b6b6b);padding:20px 0}.fw-office-status{padding:6px 12px;border-top:1px solid var(--border);background:var(--surface);font-size:12px;opacity:.8}.notebook-cover .fw-office-badge{display:inline-block;font-size:11px;border:1px solid currentColor;border-radius:999px;padding:0 8px;margin-left:8px;opacity:.9}@media print{.fw-office-toolbar,.fw-office-status,.fw-office-bar{display:none}.fw-office-paper{border:0;box-shadow:none;padding:0;max-width:none}}
