@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-tight-latin-400-normal-iW8qmuJY.woff2)format("woff2"),url(/assets/inter-tight-latin-400-normal-BLrFJfvD.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-tight-latin-500-normal-BFXNXuvF.woff2)format("woff2"),url(/assets/inter-tight-latin-500-normal-pobXraBK.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--bg:#f2f1ee;--panel:#fafaf8;--desk:#787876;--stage:#787876;--text:#1b1a18;--muted:#6b6862;--hover:#0000000f;--fill:#0000000d;--border:#00000017;--border-strong:#0000002e;--accent:#e0a13a;--on-accent:#1f1606;--accent-ink:#94600f;--accent-soft:#e0a13a33;--guide:#4ab2d680;--guide-hit:#1f9fcc;--page:#fff;--page-edge:#00000047;--warn:#a8620a;--danger:#c2412d;--shadow:0 1px 2px #00000040, 0 3px 10px #0000001f;--radius:5px;--font:"Inter Tight", ui-sans-serif, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;accent-color:var(--accent);font-family:var(--font);color:var(--text);background:var(--bg);font-size:13px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#151514;--panel:#1c1c1a;--text:#e9e6df;--muted:#8d8a83;--hover:#ffffff12;--fill:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff29;--accent-ink:#e0a13a;--accent-soft:#e0a13a2e;--page:#efede8;--warn:#f0a44b;--danger:#f07a62;--shadow:0 1px 2px #00000059, 0 3px 10px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151514;--panel:#1c1c1a;--text:#e9e6df;--muted:#8d8a83;--hover:#ffffff12;--fill:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff29;--accent-ink:#e0a13a;--accent-soft:#e0a13a2e;--page:#efede8;--warn:#f0a44b;--danger:#f07a62;--shadow:0 1px 2px #00000059, 0 3px 10px #0003;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.muted{color:var(--muted)}.small{font-size:12px}.warn{color:var(--warn)}.data{font-family:var(--mono);font-size:11px}.caps{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:500}.folio{font-family:var(--mono);letter-spacing:.02em;font-weight:500}.spacer{flex:1}.hint{color:var(--muted);font-size:12px}.screen-message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;padding:24px;display:flex}.screen-message h1{max-width:420px;margin:10px 0 0;font-size:17px;font-weight:500;line-height:1.4}.screen-message p{color:var(--muted);margin:0 0 8px}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.btn{border-radius:var(--radius);background:var(--fill);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:28px;padding:0 10px;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn.ghost{background:0 0}.btn.ghost:hover:not(:disabled){background:var(--hover)}.btn.accent{border-color:var(--accent);color:var(--accent-ink);background:0 0}.btn.accent:hover:not(:disabled){background:var(--accent-soft)}.btn:disabled{color:color-mix(in srgb, currentColor 35%, transparent);cursor:default}.btn.primary:disabled{color:var(--on-accent);opacity:.4}.btn:disabled .shortcut-hint{opacity:.55}.btn.icon.small{width:24px;height:24px}.btn.icon{width:28px;padding:0;font-size:18px;line-height:1}.btn .lucide,.row-delete .lucide,.grip .lucide{stroke-width:1.75px;flex-shrink:0;width:16px;height:16px}.turn .lucide{width:28px;height:28px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.menu{position:relative}.btn.active{background:var(--accent-soft)}.menu-list{z-index:40;border:1px solid var(--border);background:var(--panel);border-radius:8px;min-width:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001a}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;width:100%;height:30px;padding:0 8px;font-size:13px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--accent-soft);outline:none}.menu-item.danger,.menu-item.danger .lucide{color:var(--danger)}.menu-item:disabled{opacity:.4;cursor:default}.menu-item .lucide{stroke-width:1.75px;width:16px;height:16px;color:var(--muted)}.menu-label{flex:1}.menu-shortcut{font:11px var(--mono);color:var(--muted)}.context-menu{z-index:60;position:fixed;top:auto;left:auto}.menu-caption{text-overflow:ellipsis;white-space:nowrap;max-width:240px;padding:4px 8px 6px;overflow:hidden}.menu-separator{background:var(--border);height:1px;margin:4px 0}.menu-section{flex-direction:column;gap:8px;padding:6px 8px 8px;display:flex}.swatches{gap:6px;display:flex}.swatch{border:1px solid var(--border-strong);cursor:pointer;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;display:grid;position:relative}.swatch.on{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--accent)}.swatch.custom{background:var(--fill);color:var(--muted)}.swatch.custom .lucide{width:12px;height:12px}.swatch input[type=color]{opacity:0;cursor:pointer;position:absolute;inset:0}.btn.has-hint{position:relative}.shortcut-hint{z-index:1;background:var(--text);color:var(--bg);font:500 12px/1.4 var(--mono);white-space:nowrap;pointer-events:none;border-radius:5px;padding:3px 9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #00000040}.shortcut-hint.below{top:calc(100% + 6px);transform:translate(-50%)}.btn-joined{border-radius:var(--radius);background:var(--fill);display:inline-flex;position:relative}.btn-joined .btn{border-radius:0}.btn-joined .btn:first-of-type{border-radius:var(--radius) 0 0 var(--radius)}.btn-joined .btn:last-of-type{border-radius:0 var(--radius) var(--radius) 0;box-shadow:inset 1px 0 0 var(--border-strong)}.app{flex-direction:column;height:100%;display:flex}.toolbar{border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0;align-items:center;gap:6px;height:42px;padding:0 12px;display:flex}.wordmark{font-family:var(--mono);letter-spacing:.08em;background:var(--accent);color:var(--on-accent);-webkit-user-select:none;user-select:none;border-radius:4px;margin-right:6px;padding:4px 8px 3px;font-size:11px;font-weight:500}.status{color:var(--muted);font-family:var(--mono);margin-right:10px;font-size:11px}.main{flex:1;min-height:0;display:flex;position:relative}.desk{background:var(--desk);touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;flex:1;position:relative;overflow:hidden}.desk.panning{cursor:grabbing}.desk:after{content:"";pointer-events:none;box-shadow:inset 0 0 0 2px var(--accent);opacity:0;transition:opacity .12s ease-out;position:absolute;inset:0}.desk.drop-hover:after{opacity:var(--edge,1)}.file-drop{z-index:3;border:2px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);pointer-events:none;border-radius:10px;place-items:start center;padding-top:24px;animation:.12s ease-out file-drop-in;display:grid;position:absolute;inset:12px}.file-drop span{background:var(--accent);color:var(--on-accent);font:500 12px var(--mono);letter-spacing:.04em;border-radius:6px;padding:8px 14px}@keyframes file-drop-in{0%{opacity:0}}.desk-world{transform-origin:0 0;position:absolute;top:0;left:0}.item{box-shadow:var(--shadow);cursor:grab;touch-action:none;--gap:calc(5px * var(--inv,1));position:absolute}.desk .item.selected:after,.desk .handle:before{display:none}.selection-layer{pointer-events:none;position:absolute;inset:0}.sel-frame{border:1.5px solid var(--accent);border-radius:3px;position:absolute}.sel-handle{border:1px solid var(--accent);background:#fff;border-radius:1.5px;width:7px;height:7px;position:absolute}.sel-handle-nw{top:-4.5px;left:-4.5px}.sel-handle-ne{top:-4.5px;right:-4.5px}.sel-handle-sw{bottom:-4.5px;left:-4.5px}.sel-handle-se{bottom:-4.5px;right:-4.5px}.item.selected:after{content:"";inset:calc(var(--gap) * -1);pointer-events:none;border:calc(1.5px * var(--inv,1)) solid var(--accent);border-radius:calc(3px * var(--inv,1));position:absolute}.photo{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.photo-loading{background:var(--border)}.handle{--s:calc(16px * var(--inv,1));--at:calc(var(--s) / -2 - var(--gap));width:var(--s);height:var(--s);z-index:1;position:absolute}.handle:before{content:"";inset:calc(4.5px * var(--inv,1));border:calc(1px * var(--inv,1)) solid var(--accent);border-radius:calc(1.5px * var(--inv,1));opacity:0;background:#fff;transition:opacity .1s;position:absolute}.item.selected:hover .handle:before,.handle:active:before{opacity:1}.handle-nw{left:var(--at);top:var(--at);cursor:nwse-resize}.handle-ne{right:var(--at);top:var(--at);cursor:nesw-resize}.handle-sw{left:var(--at);bottom:var(--at);cursor:nesw-resize}.handle-se{right:var(--at);bottom:var(--at);cursor:nwse-resize}.marquee{border:1px solid var(--accent);background:var(--accent-soft);pointer-events:none;position:absolute}.desk-empty{color:#ffffffe6;text-shadow:0 1px 2px #00000059;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px;display:flex;position:absolute;inset:0}.desk-empty p{font:12px/1.6 var(--mono);margin:0}:root[data-desk-tone=light] .desk-empty{color:#000000c7;text-shadow:none}:root[data-desk-tone=light] .desk-empty-title{color:#111}.desk-empty .desk-empty-title{color:#fff;font-size:15px;font-weight:500}.setup-card{background:var(--panel);max-width:320px;color:var(--text);text-shadow:none;box-shadow:var(--shadow);pointer-events:auto;border-radius:10px;flex-direction:column;align-items:center;gap:10px;margin-top:28px;padding:14px 18px 12px;display:flex}.setup-card .inline{align-items:center;gap:14px;display:flex}.setup-card .num-field input{width:64px}.setup-card .help{font:12px/1.5 var(--font);color:var(--muted);margin:0}.link{color:var(--accent-ink);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.desk-empty .btn{pointer-events:auto;margin-top:12px}.zoom{gap:4px;display:flex;position:absolute;bottom:12px;left:12px}.zoom .btn{background:var(--panel);box-shadow:var(--shadow)}.zoom-level{min-width:52px;font:11px var(--mono)}.sidebar{border-left:1px solid var(--border);background:var(--panel);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar-resize{z-index:5;cursor:col-resize;touch-action:none;width:6px;position:absolute;top:0;bottom:0;left:-3px}.sidebar-resize:after{content:"";background:var(--accent);opacity:0;width:2px;transition:opacity .12s;position:absolute;top:0;bottom:0;left:2px}.sidebar-resize:hover:after,body.col-resizing .sidebar-resize:after{opacity:1}body.col-resizing,body.col-resizing *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}.sidebar-head{align-items:center;gap:4px;padding:10px 16px 4px 20px;display:flex}.sidebar-list{flex:1;padding:4px 16px 24px;overflow-y:auto}.sidebar-list.grid{align-content:start;gap:14px 20px;padding-left:24px;padding-right:24px;display:grid}.spread-cell{min-width:0;position:relative}.insert-gap.vertical{width:20px;height:auto;position:absolute;top:0;bottom:0;left:-20px}.insert-gap.vertical:before{border-top:0;border-left:2px solid var(--accent);inset:6px auto 0 50%;transform:translate(-1px)}.insert-gap.vertical:after{inset:0 -3px}.insert-gap.vertical .insert-btn{border-radius:50%;width:20px;height:20px;padding:0;font-size:14px;line-height:1}.spread-row{border-radius:var(--radius);padding:6px 4px 8px}.spread-row.editing{background:var(--accent-soft)}.spread-row.dragging{opacity:.4}.spread-row-head{align-items:center;gap:6px;height:22px;font-size:12px;display:flex}.spread-label{font:500 11px var(--mono)}.grip{color:var(--muted);touch-action:none;margin-left:-5.33333px;padding:0;display:inline-flex}.grip.locked{visibility:hidden}.spread-row-head.draggable{cursor:grab;touch-action:none}.spread-row-head.draggable:active{cursor:grabbing}.row-delete{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:16px;display:inline-flex}.spread-row:hover .row-delete,.row-delete:focus-visible{opacity:1}.row-delete:hover{color:var(--text)}.spread-row-head .muted{margin-left:auto}.spread-row-head .muted+.row-delete{margin-left:4px}.insert-gap{justify-content:center;align-items:center;height:10px;display:flex;position:relative}.insert-gap:before{content:"";border-top:2px solid var(--accent);opacity:0;position:absolute;top:50%;left:0;right:0}.insert-gap:hover:before,.insert-gap.active:before{opacity:1}.insert-btn{z-index:1;border:1px solid var(--accent);background:var(--panel);color:var(--accent-ink);cursor:pointer;opacity:0;border-radius:999px;padding:1px 10px;font-size:12px;position:relative}.insert-gap:hover .insert-btn,.insert-btn:focus-visible{opacity:1}.insert-gap:after{content:"";position:absolute;inset:-7px 0}.insert-gap.photo-drag:not(.drop-hover):before,.insert-gap.photo-drag:not(.drop-hover) .insert-btn{opacity:0}.insert-gap.drop-hover:before{opacity:1}.insert-gap.drop-hover .insert-btn{opacity:1;background:var(--accent);color:var(--on-accent)}.spread-canvas{flex-shrink:0;position:relative}.spread-canvas.thumb{cursor:pointer}.page{background:var(--page);box-shadow:0 0 0 1px var(--page-edge);position:absolute}.page.drop-hover{box-shadow:0 0 0 2px var(--accent), inset 0 0 0 9999px var(--accent-soft)}.spread-items{position:absolute}.spread-items .item{box-shadow:none}.thumb .item{cursor:grab}.offpage-mask{pointer-events:none;box-shadow:0 0 0 9999px color-mix(in srgb, var(--stage) 70%, transparent);position:absolute}.page-outline{pointer-events:none;outline:1px solid var(--page-edge);position:absolute}.gutter{border-left:1px solid var(--page-edge);position:absolute;top:0;bottom:0}.guides{pointer-events:none;position:absolute;inset:0}.guide{position:absolute}.guide-v{border-left:1px solid var(--guide);width:0}.guide-h{border-top:1px solid var(--guide);height:0}.guide.hit{border-color:var(--guide-hit)}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000047;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.app>.modal-backdrop{z-index:20;position:fixed}.modal{background:var(--panel);border-radius:10px;flex-direction:column;max-width:100%;max-height:100%;display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.modal-title{align-items:baseline;gap:10px;padding:0 6px;font-weight:500;display:flex}.editor{width:100%;height:100%}.editor-body{flex:1;min-height:0;display:flex}.editor-stage{background:var(--stage);-webkit-user-select:none;user-select:none;touch-action:none;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.stage-center{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.inspector{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;width:230px;padding:14px;display:flex;overflow-y:auto}.inspector p{margin:0}.inspector-name{font:500 11px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-actions{flex-direction:column;gap:6px;margin-top:6px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.num-field{align-items:center;gap:4px;font-size:12px;display:flex}.num-label{color:var(--muted);font:11px var(--mono);min-width:12px}.num-field input{border-radius:var(--radius);background:var(--fill);width:100%;min-width:0;height:26px;font:12px var(--mono);border:1px solid #0000;padding:0 6px}.num-field input:focus{border-color:var(--accent);outline:none}.num-suffix{color:var(--muted);font:11px var(--mono)}.check{align-items:center;gap:6px;font-size:13px;display:flex}.strip{border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;height:96px;display:flex}.strip-label{color:var(--muted);padding:7px 12px 0;line-height:14px}.strip-items{flex:1;align-items:center;gap:8px;min-height:0;padding:0 12px;display:flex;overflow-x:auto}.strip.drop-hover{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.strip-item{cursor:grab;height:56px;box-shadow:var(--shadow);touch-action:none;flex-shrink:0}.settings{width:460px}.settings-body{padding:4px 20px 16px;overflow-y:auto}.setting{grid-template-columns:124px 1fr;gap:16px;padding:16px 0;display:grid}.setting+.setting{border-top:1px solid var(--border)}.setting.app-setting{border-top:1px solid var(--border-strong);margin-top:8px}.setting h3{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:5px 0 0;font-size:12px;font-weight:500}.setting-controls{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.setting .inline{align-items:center;gap:14px;display:flex}.setting .num-field input{width:64px}.setting .guide-row{gap:4px}.setting .help{color:var(--muted);margin:0;font-size:12px}.setting .check{gap:8px}.add-guide{color:var(--muted);margin-left:-10px}.tag{background:var(--accent-soft);color:var(--accent-ink);font:500 10.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;cursor:help;border-radius:3px;margin-left:4px;padding:1px 6px}[data-tip]{position:relative}[data-tip]:hover:after,[data-tip]:focus-visible:after{content:attr(data-tip);z-index:5;background:var(--text);width:max-content;max-width:240px;color:var(--bg);box-shadow:var(--shadow);font:400 12px/1.4 var(--font);letter-spacing:normal;text-transform:none;white-space:normal;pointer-events:none;border-radius:6px;padding:6px 9px;position:absolute;top:calc(100% + 6px);right:0}.app>.modal-backdrop:has(.confirm){z-index:70}.confirm{width:420px}.confirm-body{padding:20px 20px 8px}.confirm-body h2{margin:0 0 8px;font-size:15px;font-weight:500}.confirm-body p{color:var(--muted);margin:0;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;padding:16px 20px 18px;display:flex}.about{width:360px}.about-body{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 24px 22px;display:flex}.about-body .wordmark{margin:0 0 10px}.about-name{margin:0;font-size:17px;font-weight:500}.about-version{margin:0 0 4px}.about-tagline{color:var(--muted);margin:0}.about-links{flex-direction:column;gap:6px;margin:16px 0 14px;display:flex}.about-links a{color:var(--accent-ink);font:12px var(--mono);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.about-links a:hover{text-decoration:underline}.about-links .lucide{width:14px;height:14px}.about-copyright{margin:0}.segmented{background:var(--fill);border-radius:var(--radius);border:0;gap:2px;padding:2px;display:inline-flex}.segmented label{cursor:pointer;border-radius:4px;padding:4px 14px;font-size:13px}.segmented label:hover{background:var(--accent-soft)}.segmented label.on{background:var(--accent);color:var(--on-accent)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.preview{z-index:30;color:#e9e6df;background:#0f0f0e;flex-direction:column;display:flex;position:fixed;inset:0}.preview .muted,.preview .hint{color:#8d8a83}.preview-head{align-items:center;gap:12px;padding:10px 16px;display:flex}.preview .btn{background:#ffffff12}.preview .btn:hover:not(:disabled){background:#ffffff1f}.preview-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 64px 32px;display:flex;position:relative}.book .page{background:#fff;box-shadow:0 6px 30px #00000073}.book .page-left{background:linear-gradient(270deg,#0000001a,#0000 6%),#fff}.book .page-right{background:linear-gradient(90deg,#0000001a,#0000 6%),#fff}.book .spread-items{pointer-events:none}.preview-spread{animation:none}.turn-next{animation-name:in-next}.turn-prev{animation-name:in-prev}@keyframes in-next{0%{opacity:0;transform:translate(24px)}}@keyframes in-prev{0%{opacity:0;transform:translate(-24px)}}.turn{color:#eee;cursor:pointer;background:#ffffff14;border:0;border-radius:8px;width:44px;height:64px;font-size:30px;position:absolute;top:50%;transform:translateY(-50%)}.turn:disabled{opacity:.2;cursor:default}.turn.prev{left:12px}.turn.next{right:12px}.quick-look{z-index:35;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#e9e6df;background:#0f0f0eeb;flex-direction:column;animation:.14s ease-out quick-look-in;display:flex;position:fixed;inset:0}@keyframes quick-look-in{0%{opacity:0}}.quick-look .muted,.quick-look .hint{color:#8d8a83}.quick-look .btn:hover:not(:disabled){background:#ffffff1f}.quick-look-head{align-items:center;gap:12px;padding:10px 16px;display:flex}.quick-look-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.quick-look-stage{flex:1;min-height:0;position:relative;overflow:hidden}.quick-look-stage.zoomed{overflow:auto}.quick-look-canvas{justify-content:center;align-items:center;display:flex}.quick-look-canvas img{cursor:zoom-in;flex:none;animation:.18s ease-out quick-look-photo-in;display:block;box-shadow:0 6px 30px #00000073}.quick-look-stage.zoomed img{cursor:zoom-out;animation:none}@keyframes quick-look-photo-in{0%{transform:scale(.97)}}.tour{z-index:80;position:fixed;inset:0}.tour-hole{outline:2px solid var(--accent);outline-offset:0;pointer-events:none;border-radius:10px;transition:left .3s,top .3s,width .3s,height .3s;position:fixed;box-shadow:0 0 0 200vmax #0000008c}.tour-hole.none{outline:none}.tour-card{background:var(--panel);width:340px;max-width:calc(100vw - 32px);color:var(--text);border-radius:10px;padding:18px 18px 14px;transition:left .3s,top .3s;position:fixed;box-shadow:0 10px 40px #00000059}.tour-card h2{margin:4px 0 8px;font-size:15px;font-weight:500}.tour-card p{margin:0 0 16px;line-height:1.5}.tour-count{font-size:11px}.tour-actions{align-items:center;gap:8px;display:flex}.drag-ghost{z-index:100;pointer-events:none;opacity:.85;position:fixed;box-shadow:0 8px 24px #00000059}.drag-ghost-count{background:var(--accent);min-width:22px;height:22px;color:var(--on-accent);font-family:var(--mono);border-radius:11px;place-items:center;padding:0 6px;font-size:11px;display:grid;position:absolute;top:-8px;right:-8px}.save-failed{z-index:55;border:1px solid var(--danger);background:var(--panel);color:var(--text);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex;position:fixed;top:54px;left:50%;transform:translate(-50%)}.update-bar{z-index:50;border:1px solid var(--border-strong);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:8px 8px 8px 14px;display:flex;position:fixed;bottom:16px;right:16px}.notice{z-index:50;background:var(--text);color:var(--bg);border-radius:8px;align-items:center;gap:10px;max-width:min(560px,100vw - 32px);padding:8px 8px 8px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.notice .btn{color:inherit;background:0 0;border-color:#0000}
