.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-green-dim);color:var(--color-text);border:1px solid var(--color-green);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none}.btn-primary:hover{background:var(--color-green);color:#000;box-shadow:0 0 12px var(--color-green-glow)}.btn-primary .btn-prefix{color:var(--color-green);opacity:.8}.btn-primary:hover .btn-prefix{color:#000}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-base);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);text-decoration:none}.btn-secondary:hover{border-color:var(--color-border-strong);color:var(--color-text)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.icon-btn:hover{background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)}.icon-btn.active,.icon-btn[aria-pressed=true]{background:var(--color-green-glow);border-color:var(--color-green-dim);color:var(--color-green)}.input-field{width:100%;padding:4px var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.input-field:focus{border-color:var(--color-blue);outline:none}.input-number{width:60px;padding:3px var(--space-1);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);text-align:right;transition:border-color var(--transition-fast)}.input-number:focus{border-color:var(--color-blue);outline:none}.input-color{width:28px;height:22px;padding:1px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.input-color::-webkit-color-swatch-wrapper{padding:0}.input-color::-webkit-color-swatch{border:none;border-radius:1px}.input-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--color-border);border-radius:2px;outline:none;cursor:pointer}.input-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--color-green);border-radius:50%;cursor:pointer;transition:background var(--transition-fast)}.input-range::-webkit-slider-thumb:hover{background:var(--color-text)}.input-range:focus{outline:none}.input-select{padding:3px var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;transition:border-color var(--transition-fast)}.input-select:focus{border-color:var(--color-blue);outline:none}.form-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.form-row label{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-sm);min-width:52px}.form-row label:before{content:"> ";color:var(--color-green)}.form-row .unit-label{color:var(--color-text-dim);font-size:var(--font-size-xs)}.menu-group{position:relative}.menu-trigger{display:flex;align-items:center;padding:0 var(--space-3);height:var(--toolbar-h);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);letter-spacing:.08em;background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.menu-trigger:hover,.menu-group.open .menu-trigger{color:var(--color-text);background:var(--color-surface-2)}.menu-dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-base) var(--radius-base);box-shadow:0 8px 24px #0006;z-index:var(--z-dropdown);padding:var(--space-1) 0}.menu-group.open .menu-dropdown{display:block}.menu-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:6px var(--space-3);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);background:transparent;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.menu-item:hover{background:var(--color-surface-2);color:var(--color-text)}.menu-item kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-dim);margin-left:var(--space-3)}.menu-item:disabled{opacity:.4;cursor:default}.menu-separator{height:1px;background:var(--color-border-subtle);margin:var(--space-1) 0}.menu-label{padding:4px 12px 2px;font-size:9px;letter-spacing:.1em;color:var(--color-text-dim);font-family:var(--font-mono);pointer-events:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);min-width:360px;max-width:520px;width:100%;box-shadow:0 16px 48px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.modal-title{color:var(--color-green);font-size:var(--font-size-sm);letter-spacing:.05em}.modal-close{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);cursor:pointer;background:transparent;border:none;padding:2px var(--space-1);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.modal-close:hover{color:var(--color-red);background:#f851491a}.modal-body{padding:var(--space-4)}.toast-container{position:fixed;bottom:calc(var(--statusbar-h) + var(--space-3));left:var(--panel-left-w);z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--space-1);pointer-events:none}.toast{display:flex;align-items:baseline;gap:var(--space-2);padding:5px var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-left:2px solid var(--color-green);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:0 2px 8px #0006;animation:toast-in .15s ease both;pointer-events:auto}.toast.toast--error{border-left-color:var(--color-red)}.toast.toast--warn{border-left-color:var(--color-amber)}.toast.toast--success{border-left-color:var(--color-green)}.toast-prefix{color:var(--color-green);font-weight:600}.toast--error .toast-prefix{color:var(--color-red)}.toast--warn .toast-prefix{color:var(--color-amber)}.toast--success .toast-prefix{color:var(--color-green)}@keyframes toast-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.ctx-menu{position:fixed;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);box-shadow:0 8px 24px #00000080;z-index:var(--z-dropdown);padding:var(--space-1) 0;font-family:var(--font-mono)}.ctx-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px var(--space-3);background:transparent;border:none;color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.ctx-item:hover{background:var(--color-surface-2);color:var(--color-text)}.ctx-item--danger:hover{color:var(--color-red);background:#f8514914}.ctx-label{flex:1}.ctx-shortcut{font-size:var(--font-size-xs);color:var(--color-text-dim);margin-left:var(--space-3)}.ctx-sep{height:1px;background:var(--color-border-subtle);margin:var(--space-1) 0}.license-purchase-btns{display:flex;flex-direction:column;gap:8px;margin:14px 0 4px}.license-buy-btn{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface-2);text-decoration:none;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);position:relative}.license-buy-btn:hover{border-color:var(--color-green);background:#23863612;box-shadow:0 0 18px #3fb9501a}.license-buy-btn--trial{border-color:var(--color-green-neon);background:#2386361a;box-shadow:0 0 16px #3fb9501f inset}.license-buy-btn--trial:hover{background:#2386362e;box-shadow:0 0 24px #3fb95033}.license-buy-btn--yearly{border-color:var(--color-green-dim)}.modal-feature-list{margin:0 0 12px;padding:0 0 0 16px;list-style:disc;font-size:11px;line-height:1.7;color:var(--color-text-muted)}.modal-feature-list strong{color:var(--color-text)}.modal-guarantee{font-size:10px;color:var(--color-green);text-align:center;margin:0 0 14px;opacity:.85}.license-buy-badge{position:absolute;top:-1px;right:12px;background:var(--color-green-dim);color:#000;font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.08em;padding:2px 7px;border-radius:0 0 4px 4px}.license-buy-label{display:flex;flex-direction:column;gap:4px}.license-buy-plan{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--color-green);letter-spacing:.06em}.license-buy-note{font-family:var(--font-sans);font-size:11px;color:var(--color-text-dim)}.license-buy-price{font-family:var(--font-sans);font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.license-buy-period{font-size:13px;font-weight:400;color:var(--color-text-muted)}.license-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;font-family:var(--font-mono);font-size:10px;color:var(--color-text-dim);letter-spacing:.04em;text-transform:uppercase}.license-divider:before,.license-divider:after{content:"";flex:1;height:1px;background:var(--color-border-subtle)}.export-res-btn{flex:1;padding:7px 10px;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:11px;cursor:pointer;text-align:left;transition:border-color var(--transition-fast),color var(--transition-fast)}.export-res-btn:hover{border-color:var(--color-border);color:var(--color-text)}.export-res-btn--active{border-color:var(--color-green);color:var(--color-text);background:var(--color-green-dim)}.export-res-btn--locked{color:var(--color-text-muted);opacity:.7}.export-res-btn--locked:hover{border-color:var(--color-green-dim);color:var(--color-green);opacity:1}.modal--wide{min-width:560px;max-width:680px}.shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.shortcut-group-title{font-size:var(--font-size-xs);color:var(--color-green-dim);letter-spacing:.05em;margin-bottom:var(--space-2)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:3px 0;font-size:var(--font-size-xs);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-subtle)}.shortcut-row span{color:var(--color-text-muted)}.shortcut-row kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.modal-welcome-wide{max-width:640px}.welcome-intro{font-size:var(--font-size-sm);color:var(--color-green);line-height:1.8;margin-bottom:var(--space-5);border-left:2px solid var(--color-green-dim);padding-left:var(--space-3)}.welcome-sections{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-5)}.welcome-section-title{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-green-dim);margin:0 0 var(--space-3);letter-spacing:.06em}.welcome-guide-rows{display:flex;flex-direction:column;gap:var(--space-2)}.welcome-guide-row{display:grid;grid-template-columns:130px 1fr;gap:var(--space-3);font-size:var(--font-size-sm);line-height:1.5}.guide-label{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-green);padding:2px var(--space-2);background:var(--color-green-glow);border:1px solid var(--color-green-dim);border-radius:var(--radius-sm);white-space:nowrap;align-self:start;letter-spacing:.04em}.welcome-guide-row span:last-child{color:var(--color-text-muted)}.welcome-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5)}.welcome-shortcut{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.welcome-shortcut kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 6px;color:var(--color-text);white-space:nowrap}.welcome-footer{display:flex;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.welcome-suppress{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text-dim);margin-left:auto}.welcome-suppress input{accent-color:var(--color-green)}.toolbar-btn.active{background:var(--color-green-glow);border-color:var(--color-green-dim);color:var(--color-green)}.toolbar-docname{max-width:200px;padding:2px 6px;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color var(--transition-fast);cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-docname:hover,.toolbar-docname:focus{border-color:var(--color-border);background:var(--color-surface-2);outline:none}.toolbar-docname[contenteditable=true]:focus{border-color:var(--color-blue);background:var(--color-bg)}#pdf-badge{background:#b45309;color:#fef3c7;font-size:10px;font-family:var(--font-mono);padding:2px 6px;border-radius:3px;letter-spacing:.05em;cursor:default;-webkit-user-select:none;user-select:none;margin-left:6px;flex-shrink:0}.accent-green{color:var(--color-green)}.accent-blue{color:var(--color-blue)}.accent-amber{color:var(--color-amber)}.accent-red{color:var(--color-red)}.blink{animation:blink 1.2s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.kbd{display:inline-block;padding:1px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-dim);background:var(--color-surface-2)}.tpl-tag-check{display:inline-flex;align-items:center;gap:5px;font-family:monospace;font-size:11px;color:var(--color-text-muted);cursor:pointer;padding:4px 8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:3px;-webkit-user-select:none;user-select:none}.tpl-tag-check:has(input:checked){border-color:var(--color-green);color:var(--color-green)}.tpl-tag-check input{display:none}.sw-feature{display:flex;align-items:flex-start;gap:12px;padding:12px;margin-bottom:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm)}.sw-icon{font-size:20px;line-height:1;flex-shrink:0;margin-top:2px}.sw-title{font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:2px}.sw-desc{font-size:11px;color:var(--color-text-muted);line-height:1.4}.save-card{background:#0a0e1366;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.save-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--color-green);opacity:0;transition:opacity .2s}.save-card:hover{background:#0a0e13cc;border-color:#39d3534d;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.save-card:hover:before{opacity:1}.save-card-info{display:flex;align-items:center;gap:14px}.save-icon{color:var(--color-green);opacity:.7}.save-details{display:flex;flex-direction:column;gap:4px}.save-name{font-family:var(--font-mono);font-size:13px;color:var(--color-text);font-weight:700}.save-date{font-size:11px;color:var(--color-text-muted)}.save-card-actions{display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .2s}.save-card:hover .save-card-actions{opacity:1}.save-card .del-save:hover{background:#f851491a;border-color:var(--color-danger)!important}.site-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:12px;padding:9px 16px;background:var(--color-amber, #b45309);color:#fff;font-family:var(--font-mono, monospace);font-size:13px;line-height:1.4}.site-banner-text{flex:1;text-align:center}.site-banner-close{flex-shrink:0;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;cursor:pointer;padding:1px 7px;border-radius:3px;font-size:14px;line-height:1}.site-banner-close:hover{background:#ffffff26}
