:root{--color-accent:#7c3aed;--color-accent-hover:#8b5cf6;--color-accent-subtle:#7c3aed1f;--color-accent-glow:#7c3aed40;--color-bg-deep:#09090b;--color-bg:#0f0f11;--color-surface:#ffffff08;--color-surface-solid:#161618;--color-surface-raised:#ffffff0d;--color-surface-hover:#ffffff12;--color-border:#ffffff12;--color-border-strong:#ffffff1f;--color-text:#ececee;--color-text-secondary:#a1a1a5;--color-text-muted:#52525a;--color-danger:#f43f5e;--color-danger-hover:#e11d48;--color-danger-subtle:#f43f5e1f;--color-success:#34d399;--color-success-subtle:#34d39926;--color-link:#c4b5fd;--color-link-hover:#e9e0ff;--color-text-on-accent:#fff;--glass:#161618bf;--glass-border:#ffffff0f;--glass-blur:blur(20px) saturate(180%);--overlay-bg:#0009;--input-bg:#0003;--input-bg-focus:#0000004d;--ctx-bg:#161618eb;--swatch-ring:#ffffff1a;--swatch-ring-hover:#ffffff4d;--scrollbar-thumb:#ffffff14;--scrollbar-thumb-hover:#ffffff24;--tooltip-arrow:#ffffff14;--pstrip-bg:#121214b8;--pstrip-border:#ffffff14;--pstrip-inset:#ffffff0a;--pstrip-page-bg:#ffffff0a;--pstrip-page-hover:#ffffff14;--pstrip-active-bg:#ffffff0f;--pstrip-sep:#ffffff14;--pstrip-add-bg:#ffffff0f;--pstrip-add-hover-bg:#ffffff1a;--pstrip-add-hover-color:#fff;--pstrip-add-hover-ring:#ffffff40;--pstrip-add-active:#ffffff24;--pstrip-num-color:#ffffff8c;--pstrip-num-shadow:0 1px 3px #0009;--canvas-dot:#ffffff08;--canvas-shadow:0 0 0 1px #ffffff0a, 0 20px 60px #00000080;--sel-hover-shadow:0 0 0 1px #ffffff1a;--settings-section-bg:#00000026;--link-item-bg:#00000026;--ctx-btn-hover:#ffffff0f;--ctp-page-bg:#ffffff0a;--ctp-page-hover:#ffffff14;--ctp-scrollbar:#ffffff14;--ctp-badge-color:#ffffffb3;--ctp-badge-bg:#0000008c;--ctp-check-bg:#7c3aed59;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow:0 0 0 1px var(--glass-border), 0 8px 40px #0006;--shadow-sm:0 0 0 1px var(--glass-border), 0 2px 8px #0000004d;--shadow-glow:0 0 24px var(--color-accent-glow);--transition:.18s ease;--transition-slow:.3s ease}[data-theme=light]{--color-accent-subtle:#7c3aed14;--color-accent-glow:#7c3aed2e;--color-bg-deep:#f0f0f2;--color-bg:#f8f8fa;--color-surface:#00000005;--color-surface-solid:#fff;--color-surface-raised:#00000008;--color-surface-hover:#0000000d;--color-border:#00000017;--color-border-strong:#00000024;--color-text:#1a1a1e;--color-text-secondary:#5c5c63;--color-text-muted:#9e9ea5;--color-danger-subtle:#f43f5e14;--color-success-subtle:#10b9811a;--color-success:#059669;--color-link:#7c3aed;--color-link-hover:#6d28d9;--glass:#ffffffd1;--glass-border:#00000012;--overlay-bg:#0000004d;--input-bg:#00000008;--input-bg-focus:#0000000d;--ctx-bg:#fffffff5;--swatch-ring:#00000014;--swatch-ring-hover:#0003;--scrollbar-thumb:#0000001a;--scrollbar-thumb-hover:#0000002e;--tooltip-arrow:#0000001a;--pstrip-bg:#ffffffd1;--pstrip-border:#0000001a;--pstrip-inset:#00000005;--pstrip-page-bg:#0000000a;--pstrip-page-hover:#00000014;--pstrip-active-bg:#0000000f;--pstrip-sep:#00000014;--pstrip-add-bg:#0000000a;--pstrip-add-hover-bg:#00000014;--pstrip-add-hover-color:#1a1a1e;--pstrip-add-hover-ring:#00000026;--pstrip-add-active:#0000001f;--pstrip-num-color:#00000080;--pstrip-num-shadow:0 1px 3px #ffffff80;--canvas-dot:#0000000a;--canvas-shadow:0 0 0 1px #0000000f, 0 20px 60px #0000001a;--sel-hover-shadow:0 0 0 1px #0000001f;--settings-section-bg:#00000008;--link-item-bg:#00000008;--ctx-btn-hover:#0000000d;--ctp-page-bg:#0000000a;--ctp-page-hover:#00000014;--ctp-scrollbar:#0000001a;--ctp-badge-color:#ffffffd9;--ctp-badge-bg:#00000080;--ctp-check-bg:#7c3aed40;--shadow:0 0 0 1px var(--glass-border), 0 8px 40px #00000014;--shadow-sm:0 0 0 1px var(--glass-border), 0 2px 8px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02", "cv03", "cv04", "cv11";font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#root{height:100vh}::selection{background:var(--color-accent-subtle);color:var(--color-text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app{background:var(--color-bg);flex-direction:column;height:100%;display:flex}.main-content{flex:1;display:flex;position:relative;overflow:hidden}.top-bar{background:var(--glass);height:52px;-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.top-bar-left{align-items:center;gap:10px;display:flex}.app-title{color:var(--color-text);letter-spacing:-.01em;font-size:14px;font-weight:600}.unsaved-indicator{color:var(--color-accent);font-size:20px;line-height:1;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.top-bar-center{align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.top-bar-right{align-items:center;gap:6px;display:flex}.mode-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:9999px;padding:3px;display:flex}.mode-btn{color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:9999px;align-items:center;gap:5px;padding:5px 16px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.mode-btn.active{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:0 0 12px var(--color-accent-glow)}.mode-btn:hover:not(.active){color:var(--color-text-secondary)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);white-space:nowrap;letter-spacing:-.01em;border:none;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:0 0 16px #7c3aed33}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:0 0 24px #7c3aed4d}.btn-secondary{background:var(--color-surface-raised);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-sm{background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:500;display:inline-flex}.btn-sm:hover{background:var(--color-accent-hover)}.btn-icon{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--color-text-muted);transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.btn-icon:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-icon:disabled{opacity:.25;cursor:default}.btn-icon:disabled:hover{color:var(--color-text-muted);background:0 0}.btn-danger-icon:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.empty-state{background:var(--color-bg-deep);flex:1;justify-content:center;align-items:center;display:flex}.empty-state-content{text-align:center;max-width:420px}.empty-state-logo{background:var(--color-accent-subtle);width:56px;height:56px;color:var(--color-accent);box-shadow:0 0 32px var(--color-accent-glow), 0 0 0 1px #7c3aed26;border-radius:16px;justify-content:center;align-items:center;margin-bottom:24px;display:inline-flex}.empty-state-content h2{letter-spacing:-.02em;background:linear-gradient(to bottom, var(--color-text), var(--color-text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:22px;font-weight:600}.empty-state-content>p{color:var(--color-text-muted);margin-bottom:28px;font-size:14px;line-height:1.5}.empty-state-actions{justify-content:center;align-items:center;gap:12px;display:flex}.empty-state-divider{color:var(--color-text-muted);font-size:12px}.empty-state-hint{color:var(--color-text-muted);opacity:.6;font-size:12px;margin-top:20px!important;margin-bottom:0!important}.canvas-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.canvas-slide{flex:1;min-height:0;display:flex}.slide-from-right{animation:.28s cubic-bezier(.16,1,.3,1) slideInRight}.slide-from-left{animation:.28s cubic-bezier(.16,1,.3,1) slideInLeft}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}.canvas-wrapper{background:var(--color-bg-deep);background-image:radial-gradient(circle, var(--canvas-dot) 1px, transparent 1px);background-size:24px 24px;flex:1;position:relative;overflow:hidden}.canvas-transform{transform-origin:0 0;will-change:transform}.canvas-container{box-shadow:var(--canvas-shadow);-webkit-user-select:none;user-select:none;border-radius:4px;position:relative;overflow:visible}.canvas-wrapper.mode-editor .canvas-container{cursor:crosshair}.canvas-image{pointer-events:none;border-radius:4px;width:100%;height:100%;display:block}.canvas-wrapper.space-held,.canvas-wrapper.space-held .canvas-container,.canvas-wrapper.space-held .sel-overlay,.canvas-wrapper.space-held .resize-handle,.canvas-wrapper.space-held .hotspot{cursor:grab!important}.zoom-controls{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius);border:1px solid var(--color-border);z-index:50;align-items:center;gap:1px;padding:3px;display:flex;position:absolute;bottom:16px;right:16px}.zoom-btn{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:26px;color:var(--color-text-muted);transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}.zoom-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.zoom-level{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:none;min-width:44px;padding:4px 6px;font-family:inherit;font-size:11px;font-weight:500}.zoom-level:hover{background:var(--color-surface-hover);color:var(--color-text)}.zoom-divider{background:var(--color-border);width:1px;height:16px;margin:0 2px}.sel-overlay{cursor:grab;transition:box-shadow var(--transition);border:1.5px solid;position:absolute}.sel-overlay:hover{box-shadow:var(--sel-hover-shadow)}.sel-selected{box-shadow:0 0 16px var(--color-accent-glow)}.sel-badge{color:var(--color-text-on-accent);border-radius:0 0 var(--radius-sm) 0;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;letter-spacing:.02em;text-transform:uppercase;max-width:120px;padding:1px 6px;font-size:9px;font-weight:600;line-height:1.6;position:absolute;top:-1px;left:-1px;overflow:hidden}.resize-handle{background:var(--color-bg);z-index:20;border:2px solid;border-radius:2px;width:9px;height:9px;position:absolute}.rh-nw{top:-5px;left:-5px}.rh-n{top:-5px;left:50%;transform:translate(-50%)}.rh-ne{top:-5px;right:-5px}.rh-w{top:50%;left:-5px;transform:translateY(-50%)}.rh-e{top:50%;right:-5px;transform:translateY(-50%)}.rh-sw{bottom:-5px;left:-5px}.rh-s{bottom:-5px;left:50%;transform:translate(-50%)}.rh-se{bottom:-5px;right:-5px}.drawing-preview{border:1.5px dashed var(--color-accent);background:var(--color-accent-subtle);pointer-events:none;z-index:50;position:absolute}.hotspot{cursor:pointer;border:1px dashed color-mix(in srgb, var(--hotspot-color) calc(var(--viewer-opacity,15) * 1% + 20%), transparent);background:color-mix(in srgb, var(--hotspot-color) calc(var(--viewer-opacity,15) * 1%), transparent);border-radius:3px;transition:all .25s;position:absolute}.hotspot-hovered{background:color-mix(in srgb, var(--hotspot-color) calc(var(--viewer-opacity,15) * 1% + 10%), transparent);border:1.5px solid color-mix(in srgb, var(--hotspot-color) calc(var(--viewer-opacity,15) * 1% + 40%), transparent);box-shadow:0 0 20px color-mix(in srgb, var(--hotspot-color) 22%, transparent), inset 0 0 20px color-mix(in srgb, var(--hotspot-color) 6%, transparent)}.viewer-tooltip{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border-strong);border-radius:var(--radius);box-shadow:var(--shadow), 0 0 20px #0000004d;z-index:100;pointer-events:auto;min-width:200px;max-width:320px;padding:12px;position:absolute;left:50%}.vt-above{bottom:calc(100% + 10px)}.vt-below{top:calc(100% + 10px)}.viewer-tooltip:after{content:"";border:6px solid #0000;position:absolute;left:50%;transform:translate(-50%)}.vt-above:after{border-top-color:var(--tooltip-arrow);top:100%}.vt-below:after{border-bottom-color:var(--tooltip-arrow);bottom:100%}.vt-title{color:var(--color-text);border-bottom:1px solid var(--color-border);letter-spacing:-.01em;margin-bottom:8px;padding-bottom:8px;font-size:12px;font-weight:600}.vt-links{flex-direction:column;gap:2px;max-height:200px;display:flex;overflow-y:auto}.vt-link{color:var(--color-link);border-radius:var(--radius-sm);transition:all var(--transition);align-items:center;gap:6px;padding:5px 8px;font-size:12px;text-decoration:none;display:flex}.vt-link-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.vt-link svg{opacity:.5;transition:opacity var(--transition);flex-shrink:0}.vt-link:hover svg{opacity:1}.vt-link:hover{background:var(--color-accent-subtle);color:var(--color-link-hover)}.side-panel{background:var(--glass);width:300px;-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.sp-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.sp-header-title{color:var(--color-text-secondary);align-items:center;gap:7px;display:flex}.sp-header h2{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.sp-list{flex:1;padding:6px;overflow-y:auto}.sp-empty{text-align:center;color:var(--color-text-muted);padding:32px 16px;font-size:12px;line-height:1.5}.sp-item{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);border:1px solid #0000;align-items:center;gap:10px;padding:8px 10px;display:flex}.sp-item:hover{background:var(--color-surface-hover);border-color:var(--color-border)}.sp-item-active{background:var(--color-accent-subtle);border-color:#7c3aed33}.sp-item-active:hover{background:var(--color-accent-subtle);border-color:#7c3aed4d}.sp-item-color{border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 6px}.sp-item-info{flex:1;min-width:0}.sp-item-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;display:block;overflow:hidden}.sp-item-meta{color:var(--color-text-muted);align-items:center;gap:4px;margin-top:1px;font-size:11px;display:flex}.sp-item-actions{opacity:0;transition:opacity var(--transition);flex-shrink:0;align-items:center;gap:2px;display:flex}.sp-item:hover .sp-item-actions,.sp-item-active .sp-item-actions{opacity:1}.sp-ctx-backdrop{z-index:300;position:fixed;inset:0}.sp-ctx{background:var(--ctx-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius);z-index:301;min-width:160px;box-shadow:var(--shadow);padding:4px;position:fixed}.sp-ctx-btn{border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.sp-ctx-btn:hover{background:var(--ctx-btn-hover);color:var(--color-text)}.sp-ctx-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.link-editor{border-top:1px solid var(--color-border);max-height:50%;padding:14px;overflow-y:auto}.le-field{margin-bottom:14px}.le-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.le-field input,.le-link-item input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:var(--input-bg);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);outline:none;padding:7px 10px;font-family:inherit;font-size:12px}.le-field input::placeholder,.le-link-item input::placeholder{color:var(--color-text-muted)}.le-field input:focus,.le-link-item input:focus{box-shadow:0 0 0 3px var(--color-accent-subtle);background:var(--input-bg-focus);border-color:#7c3aed80}.input-error{border-color:var(--color-danger)!important;box-shadow:0 0 0 3px var(--color-danger-subtle)!important}.le-links-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.le-links-header h3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.le-links{flex-direction:column;gap:6px;display:flex}.le-empty{color:var(--color-text-muted);text-align:center;padding:16px 0;font-size:12px}.le-link-item{background:var(--link-item-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:8px;display:flex}.le-link-actions{justify-content:flex-end;gap:2px;margin-top:2px;display:flex}.side-panel-toggle{background:var(--glass);width:34px;height:34px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition);z-index:20;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:12px;right:12px}.side-panel-toggle:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:var(--color-border-strong)}.dialog-overlay{z-index:1000;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);justify-content:center;align-items:center;animation:.15s dialog-fade-in;display:flex;position:fixed;inset:0}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-slide-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-card{background:var(--color-surface-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:0 24px 80px #00000080, 0 0 0 1px var(--glass-border);animation:.2s dialog-slide-in;overflow:hidden}.dialog-header{align-items:center;gap:10px;padding:16px 16px 0;display:flex}.dialog-icon{border-radius:var(--radius-sm);background:var(--color-surface-hover);width:32px;height:32px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dialog-icon-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.dialog-icon-accent{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.dialog-title{color:var(--color-text);letter-spacing:-.01em;flex:1;font-size:14px;font-weight:600}.dialog-close{flex-shrink:0}.dialog-message{color:var(--color-text-secondary);padding:10px 16px 0;font-size:13px;line-height:1.5}.dialog-body{padding:12px 16px 0}.dialog-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-size:11px;font-weight:500;display:block}.dialog-input-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--input-bg);transition:border-color var(--transition), box-shadow var(--transition);align-items:center;display:flex}.dialog-input-group:focus-within{box-shadow:0 0 0 3px var(--color-accent-subtle);border-color:#7c3aed80}.dialog-input{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:13px}.dialog-input::placeholder{color:var(--color-text-muted)}.dialog-input-suffix{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 10px 0 0;font-size:13px}.dialog-actions{justify-content:flex-end;gap:8px;padding:16px;display:flex}.btn-danger{background:var(--color-danger);color:var(--color-text-on-accent)}.btn-danger:hover{background:var(--color-danger-hover)}.btn:disabled{opacity:.4;cursor:default;pointer-events:none}.top-bar-divider{background:var(--color-border);flex-shrink:0;width:1px;height:20px;margin:0 2px}.settings-card{background:var(--color-surface-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:0 24px 80px #00000080, 0 0 0 1px var(--glass-border);animation:.2s dialog-slide-in;overflow:hidden}.settings-header{justify-content:space-between;align-items:center;padding:16px 16px 0;display:flex}.settings-header-title{color:var(--color-text);align-items:center;gap:8px;display:flex}.settings-header-title h2{letter-spacing:-.01em;font-size:14px;font-weight:600}.settings-body{flex-direction:column;gap:12px;max-height:70vh;padding:16px;display:flex;overflow-y:auto}.settings-section{background:var(--settings-section-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px}.settings-section-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.settings-section-label{color:var(--color-text);align-items:center;gap:6px;display:flex}.settings-section-label h3{color:var(--color-text);font-size:12px;font-weight:600}.settings-section-desc{color:var(--color-text-muted);margin-bottom:14px;font-size:11px;line-height:1.4}.settings-slider-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-slider-label{color:var(--color-text-secondary);white-space:nowrap;font-size:12px;font-weight:500}.settings-slider-control{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.settings-range{appearance:none;background:var(--color-border-strong);cursor:pointer;border-radius:2px;outline:none;width:140px;height:4px}.settings-range::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border:2px solid var(--color-bg);width:14px;height:14px;box-shadow:0 0 8px var(--color-accent-glow);cursor:pointer;transition:transform var(--transition);border-radius:50%}.settings-range::-webkit-slider-thumb:hover{transform:scale(1.2)}.settings-range::-moz-range-thumb{background:var(--color-accent);border:2px solid var(--color-bg);width:14px;height:14px;box-shadow:0 0 8px var(--color-accent-glow);cursor:pointer;border-radius:50%}.settings-slider-value{color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:32px;font-size:11px;font-weight:600}.btn-xs{padding:3px 8px;font-size:11px}.theme-switcher{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:flex}.theme-option{color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.theme-option:hover:not(.active){color:var(--color-text-secondary);background:var(--color-surface-hover)}.theme-option.active{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:0 0 10px var(--color-accent-glow)}.palette-grid{flex-wrap:wrap;gap:8px;display:flex}.palette-swatch-wrapper{position:relative}.palette-swatch{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;transition:all var(--transition);box-shadow:inset 0 0 0 1px var(--swatch-ring);border:2px solid #0000;position:relative;overflow:hidden}.palette-swatch:hover{border-color:var(--swatch-ring-hover);transform:scale(1.1);box-shadow:0 0 12px}.palette-swatch-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.palette-swatch-remove{background:var(--color-danger);width:16px;height:16px;color:var(--color-text-on-accent);cursor:pointer;opacity:0;transition:opacity var(--transition);z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.palette-swatch-wrapper:hover .palette-swatch-remove{opacity:1}.palette-add{border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.palette-add:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.le-color-row{gap:10px;margin-bottom:14px;display:flex}.le-field-grow{flex:1;min-width:0;margin-bottom:0}.le-field-color{flex-shrink:0;margin-bottom:0}.le-color-picker{align-items:center;gap:4px;display:flex}.le-color-swatch{border-radius:var(--radius-sm);cursor:pointer;width:30px;height:30px;transition:all var(--transition);box-shadow:inset 0 0 0 1px var(--swatch-ring);border:2px solid #0000;position:relative;overflow:hidden}.le-color-swatch:hover{border-color:var(--swatch-ring-hover);box-shadow:0 0 10px}.le-color-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.le-color-reset{color:var(--color-text-muted);width:22px!important;height:22px!important}.le-color-reset:hover{color:var(--color-text)}.top-bar-file-sep{color:var(--color-text-muted);opacity:.4;-webkit-user-select:none;user-select:none;font-size:12px}.top-bar-file-name{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;font-weight:500;overflow:hidden}.open-btn-group{align-items:center;display:flex;position:relative}.open-recent-toggle{margin-left:-4px;padding:7px 6px!important}.recent-dropdown{background:var(--color-surface-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius);min-width:260px;box-shadow:var(--shadow);z-index:200;animation:.15s dialog-slide-in;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.recent-dropdown-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;padding:10px 12px 6px;font-size:11px;font-weight:600;display:flex}.recent-clear-btn{margin-left:auto;width:22px!important;height:22px!important}.recent-dropdown-list{max-height:280px;padding:4px;overflow-y:auto}.recent-dropdown-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-family:inherit;display:flex}.recent-dropdown-item:hover{background:var(--color-surface-hover)}.recent-item-name{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:500;overflow:hidden}.recent-item-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.empty-state-recent{text-align:left;max-width:320px;margin-top:32px;margin-left:auto;margin-right:auto}.empty-state-recent-header{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);align-items:center;gap:6px;margin-bottom:4px;padding-bottom:8px;font-size:11px;font-weight:600;display:flex}.empty-state-recent-list{flex-direction:column;display:flex}.empty-state-recent-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;transition:background var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px;font-family:inherit;display:flex}.empty-state-recent-item:hover{background:var(--color-surface-hover)}.toast-container{z-index:2000;pointer-events:none;flex-direction:column-reverse;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--color-surface-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--color-text);white-space:nowrap;pointer-events:auto;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:500;animation:.2s toast-enter;display:flex}.toast-exit{animation:.25s forwards toast-exit}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-4px)scale(.96)}}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.toast-icon-success{background:var(--color-success-subtle);color:var(--color-success)}.toast-icon-info{background:var(--color-accent-subtle);color:var(--color-accent-hover)}.toast-icon-warning{background:var(--color-danger-subtle);color:var(--color-danger)}.toast-message{line-height:1}.pstrip{background:var(--pstrip-bg);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--pstrip-border);box-shadow:0 8px 32px #00000059, 0 0 0 1px var(--pstrip-inset) inset;z-index:60;border-radius:14px;align-items:center;gap:4px;max-width:calc(100% - 32px);padding:5px;animation:.3s cubic-bezier(.16,1,.3,1) pstrip-enter;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@keyframes pstrip-enter{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.pstrip-track{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:12px;padding:1px;display:flex;overflow:auto hidden}.pstrip-track::-webkit-scrollbar{display:none}.pstrip-page{background:var(--pstrip-page-bg);cursor:pointer;border:none;border-radius:9px;outline:none;flex-shrink:0;width:44px;height:44px;padding:0;transition:transform .18s,background .18s;position:relative;overflow:hidden}.pstrip-page:hover{background:var(--pstrip-page-hover);transform:scale(1.08)}.pstrip-page:active{transform:scale(.97)}.pstrip-active{background:var(--pstrip-active-bg)}.pstrip-active:hover{transform:scale(1.04)}.pstrip-drop{box-shadow:-2px 0 0 var(--color-accent)}.pstrip-ring{border:1.5px solid var(--color-accent);pointer-events:none;border-radius:10px;position:absolute;inset:-1px;box-shadow:0 0 10px #7c3aed40}.pstrip-img{object-fit:cover;pointer-events:none;opacity:.85;border-radius:8px;width:100%;height:100%;transition:opacity .18s}.pstrip-active .pstrip-img,.pstrip-page:hover .pstrip-img{opacity:1}.pstrip-num{color:var(--pstrip-num-color);text-shadow:var(--pstrip-num-shadow);pointer-events:none;font-variant-numeric:tabular-nums;font-size:9px;font-weight:700;line-height:1;position:absolute;bottom:2px;right:3px}.pstrip-dot{background:var(--color-accent);width:5px;height:5px;box-shadow:0 0 4px var(--color-accent-glow);pointer-events:none;border-radius:50%;position:absolute;top:3px;right:3px}.pstrip-sep{background:var(--pstrip-sep);flex-shrink:0;width:1px;height:24px;margin:0 2px}.pstrip-add{background:var(--pstrip-add-bg);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.pstrip-add:hover{background:var(--pstrip-add-hover-bg);color:var(--pstrip-add-hover-color);box-shadow:inset 0 0 0 1.5px var(--pstrip-add-hover-ring);transform:scale(1.08)}.pstrip-add:active{background:var(--pstrip-add-active);transform:scale(.95)}.pstrip-rename-backdrop{z-index:300;position:fixed;inset:0}.pstrip-rename-popover{z-index:301;background:var(--color-surface-solid);border:1px solid var(--color-border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:8px;animation:.12s dialog-slide-in;position:absolute;bottom:80px}.pstrip-rename-input{border-radius:var(--radius-sm);background:var(--input-bg-focus);width:160px;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition);border:1px solid #7c3aed66;outline:none;padding:6px 10px;font-family:inherit;font-size:12px}.pstrip-rename-input:focus{box-shadow:0 0 0 3px var(--color-accent-subtle);border-color:#7c3aed99}.pstrip-rename-input::placeholder{color:var(--color-text-muted)}.pstrip-ctx-backdrop{z-index:300;position:fixed;inset:0}.pstrip-ctx{background:var(--ctx-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--color-border-strong);border-radius:var(--radius);min-width:140px;box-shadow:var(--shadow);z-index:301;padding:4px;animation:.12s dialog-slide-in;position:fixed}.pstrip-ctx-btn{border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:500;display:flex}.pstrip-ctx-btn:hover{background:var(--ctx-btn-hover);color:var(--color-text)}.pstrip-ctx-danger:hover{background:var(--color-danger-subtle);color:var(--color-danger)}.ctp-sel-name{color:var(--color-accent-hover);font-weight:600}.ctp-body{padding:14px 16px 0}.ctp-toggle-all{color:var(--color-accent-hover);cursor:pointer;transition:color var(--transition);background:0 0;border:none;padding:0 0 6px;font-family:inherit;font-size:11px;font-weight:500;display:inline-block}.ctp-toggle-all:hover{color:var(--color-text)}.ctp-pages{scrollbar-width:thin;scrollbar-color:var(--ctp-scrollbar) transparent;gap:8px;padding:4px 0 8px;display:flex;overflow-x:auto}.ctp-page{background:var(--ctp-page-bg);cursor:pointer;width:56px;height:56px;transition:all var(--transition);border:2px solid #0000;border-radius:10px;outline:none;flex-shrink:0;padding:0;position:relative}.ctp-page:hover:not(:disabled){background:var(--ctp-page-hover);transform:scale(1.06)}.ctp-page:active:not(:disabled){transform:scale(.97)}.ctp-page-selected{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow)}.ctp-page-current{opacity:.35;cursor:not-allowed}.ctp-page-img{object-fit:cover;pointer-events:none;border-radius:8px;width:100%;height:100%}.ctp-page-num{color:var(--pstrip-num-color);text-shadow:var(--pstrip-num-shadow);pointer-events:none;font-size:9px;font-weight:700;position:absolute;bottom:2px;right:4px}.ctp-page-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--ctp-badge-color);background:var(--ctp-badge-bg);pointer-events:none;white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ctp-page-check{background:var(--ctp-check-bg);color:var(--color-text-on-accent);pointer-events:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}
