@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Sora:wght@400;500;600;700;800&display=swap";:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--bg: #060a15;--bg-soft: #0b1121;--panel: rgba(20, 31, 54, .74);--panel-strong: rgba(14, 24, 44, .9);--panel-solid: #0e182e;--ink: #e9f2ff;--ink-muted: #c4d5ee;--accent: #57d8ff;--accent-strong: #2aa8da;--danger: #f27e8f;--success: #4cf69d;--warning: #ffd166;--info: #57d8ff;--border-subtle: rgba(173, 203, 255, .18);--border-medium: rgba(153, 194, 255, .36);--border-strong: rgba(123, 209, 252, .54);--border-accent: rgba(100, 212, 255, .72);--surface-base: rgba(22, 37, 62, .68);--surface-elevated: rgba(20, 38, 66, .8);--surface-input: rgba(9, 17, 32, .88);--surface-overlay: rgba(14, 24, 43, .96);--text-xs: .75rem;--text-sm: .84rem;--text-base: .88rem;--text-md: .94rem;--text-lg: 1.1rem;--text-xl: 1.22rem;--text-2xl: 1.7rem;--leading-tight: 1.25;--leading-normal: 1.5;--glow: 0 0 0 1px rgba(87, 216, 255, .42), 0 16px 48px rgba(30, 100, 161, .35);--shadow: 0 24px 56px rgba(2, 7, 18, .45);--transition-fast: .16s ease;--transition-normal: .22s ease;--transition-slow: .32s ease-out}*{box-sizing:border-box}html{min-height:100%;background:#050914;overscroll-behavior-y:none}body{margin:0;font-family:Sora,sans-serif;color:var(--ink);line-height:var(--leading-normal);background:radial-gradient(circle at 20% -10%,#417fc55c,#417fc500 38%),radial-gradient(circle at 100% 0%,#2d66c647,#2d66c600 34%),radial-gradient(circle at 70% 100%,#1b4e8052,#1b4e8000 45%),linear-gradient(180deg,#050914,#080f1f 54%,#040811);min-height:100dvh;overscroll-behavior-y:none}#root{min-height:100dvh;background:transparent}button,input,select,textarea{font:inherit}.skip-to-content{position:fixed;top:-100px;left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--bg);font-weight:700;border-radius:var(--radius-sm);text-decoration:none;transition:top var(--transition-fast)}.skip-to-content:focus{top:var(--space-4)}.app-shell{max-width:1560px;margin:0 auto;min-height:100vh;padding:var(--space-4) var(--space-4) var(--space-6);position:relative}.topbar{height:72px;display:grid;grid-template-columns:1fr minmax(260px,520px) 1fr;gap:var(--space-3);align-items:center;padding:10px var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(145deg,#0f1a2ee6,#0b1527d9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:10px;z-index:20;box-shadow:var(--shadow)}.topbar-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.rail-toggle{width:42px;height:42px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#121e34e6;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-lg);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.rail-toggle:hover{transform:translateY(-1px);border-color:var(--border-medium);background:#1b2a43eb}.brand-block h1{margin:0;font-size:var(--text-2xl);font-weight:800;letter-spacing:.01em;line-height:var(--leading-tight)}.brand-block p{margin:2px 0 0;color:var(--ink-muted);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-search{display:flex;flex-direction:column;gap:2px;min-width:0}.topbar-search>span{font-size:var(--text-xs);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.12em;font-weight:700;text-align:center}.topbar-search input{width:100%;border:1px solid var(--border-subtle);background:#0f182be6;color:var(--ink);border-radius:var(--radius-md);padding:6px var(--space-3) 6px 38px;font-size:var(--text-base);font-family:IBM Plex Mono,monospace}.topbar-search input::placeholder{color:var(--ink-muted)}.topbar-search input:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px #57d8ff40}.topbar-search-control{position:relative}.topbar-search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--ink-muted);pointer-events:none;line-height:0}.topbar-right{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2)}.topbar-support-link{border:1px solid rgba(124,201,255,.44);border-radius:999px;background:#0f1f38cc;color:#d8efff;text-decoration:none;font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;padding:9px 12px;white-space:nowrap;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.topbar-support-link:hover{transform:translateY(-1px);border-color:#89dbffe6;background:#142744eb}.topbar-support-short{display:none}.profile-trigger{width:44px;height:44px;border-radius:999px;border:1px solid rgba(120,201,255,.42);background:linear-gradient(165deg,#172b4bf2,#0e182df2);position:relative;color:#e9f6ff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.profile-trigger:hover,.profile-trigger.open{transform:translateY(-1px);box-shadow:var(--glow);border-color:#81ddffd9}.profile-trigger-glow{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:999px;background:radial-gradient(circle,#57d8ff6b,#57d8ff00)}.profile-trigger-label{position:relative;z-index:1;font-size:.82rem}.profile-status-dot{position:absolute;bottom:2px;right:2px;width:11px;height:11px;border-radius:50%;border:2px solid #0d1930}.profile-status-dot.online{background:var(--success)}.profile-status-dot.offline{background:#8ca0c0}.overlay-dismiss{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:transparent;z-index:25}.profile-menu-layer{position:fixed;top:84px;right:var(--space-6);z-index:30}.profile-menu{width:min(92vw,300px);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:linear-gradient(170deg,#111e36fa,#0c1628fa);box-shadow:var(--shadow);padding:10px;display:grid;gap:6px;animation:menu-enter .18s ease-out}@keyframes menu-enter{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-menu-head{border:1px solid rgba(141,171,219,.2);border-radius:var(--radius-sm);background:#14223bc7;padding:var(--space-2) 10px}.profile-menu-email{margin:0;font-size:var(--text-base);font-weight:700}.profile-menu-plan{margin:var(--space-1) 0 0;color:var(--ink-muted);font-size:.8rem}.menu-item{border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-elevated);color:var(--ink);padding:9px 10px;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.menu-item:hover:not(:disabled){border-color:var(--border-medium);transform:translateY(-1px)}.menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-item.danger{color:#ffd8de}.menu-item-link{display:block;text-decoration:none}.app-main{margin-top:var(--space-4);display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-3);align-items:start;position:relative}.mobile-rail-backdrop{display:none}.catalog-rail{border:none;border-radius:var(--radius-lg);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:var(--space-1) 0;position:sticky;top:96px;box-shadow:none}.catalog-rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.catalog-rail-head h2{margin:0;font-size:var(--text-md);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted)}.icon-close{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:#121d32e6;color:var(--ink);cursor:pointer;font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.icon-close:hover:enabled{border-color:var(--border-medium);background:#1f314fe6}.rail-close{display:none}.catalog-rail-list{display:grid;gap:var(--space-2)}.rail-item{border:1px solid transparent;background:var(--surface-base);border-radius:var(--radius-md);color:var(--ink);padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.rail-item:hover{transform:translateY(-1px);border-color:var(--border-medium)}.rail-item[aria-current=true]{border-color:var(--border-accent);background:linear-gradient(155deg,#18375df2,#142a49e0);box-shadow:inset 0 0 0 1px #57d8ff33}.rail-item-main{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base)}.rail-item-count{border-radius:999px;border:1px solid var(--border-medium);padding:2px var(--space-2);font-size:var(--text-xs);color:var(--ink-muted)}.content-shell{display:grid;gap:var(--space-3)}.catalog-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(170deg,#0e182bc7,#0b1425c7);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3);box-shadow:var(--shadow)}.catalog-summary{margin:0 0 10px;display:flex;justify-content:space-between;gap:var(--space-3);color:var(--ink-muted);font-size:var(--text-base)}.catalog-summary p{margin:0}.catalog-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-2)}.catalog-title-row h2{margin:0;font-size:var(--text-xl);line-height:var(--leading-tight)}.catalog-title-row span{color:var(--ink-muted);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--space-3)}.tool-card{text-align:left;border:1px solid rgba(136,172,230,.24);background:linear-gradient(170deg,var(--surface-elevated),rgba(13,25,45,.9));border-radius:var(--radius-md);padding:var(--space-3);min-height:130px;color:var(--ink);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.tool-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:0 18px 30px #08101f7a}.tool-card[aria-pressed=true]{border-color:#65d6ffe6;box-shadow:var(--glow);background:linear-gradient(155deg,#163658ed,#0e2138eb)}.tool-card-top{display:flex;align-items:center;gap:var(--space-2)}.tool-card-icon{width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid rgba(141,177,230,.34);display:inline-flex;align-items:center;justify-content:center;background:#0c1729f5;color:#9ed6ff;flex:none}.tool-card-kicker{margin:0;color:var(--ink-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.tool-card h3{margin:var(--space-2) 0 0;font-size:1.18rem;font-weight:700;line-height:var(--leading-tight)}.tool-card p{margin:var(--space-2) 0 0;color:var(--ink-muted);font-size:var(--text-base);line-height:1.4}.tool-empty{border:1px dashed var(--border-medium);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;background:#121d31b8}.tool-empty h3{margin:0}.tool-empty p{margin:var(--space-2) 0 var(--space-3);color:var(--ink-muted)}.workspace{display:grid;grid-template-columns:minmax(320px,460px) minmax(360px,1fr);gap:var(--space-3);align-items:start}.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(170deg,#0d172ae0,#0a1222e0);-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);padding:var(--space-4);box-shadow:var(--shadow)}.controls{position:sticky;top:96px}.preview-panel{min-height:560px}.tool-panel-title{display:flex;align-items:center;gap:10px;margin:0}.tool-panel-icon{width:34px;height:34px;border-radius:var(--radius-md);border:1px solid rgba(121,160,220,.44);display:inline-flex;align-items:center;justify-content:center;color:#9dd2ff;background:#0e1a30db}.drop-zone{margin-top:var(--space-2);padding:var(--space-5);border:2px dashed var(--border-medium);border-radius:var(--radius-md);background:#0e182a99;transition:border-color var(--transition-fast),background var(--transition-fast);text-align:center;cursor:pointer}.drop-zone:hover{border-color:var(--border-strong);background:#142238b3}.drop-zone.drag-over{border-color:var(--accent);background:#57d8ff0f}.drop-zone input[type=file]{display:none}.drop-zone-icon{color:var(--accent);margin-bottom:var(--space-2)}.drop-zone-text{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-1)}.drop-zone-text .browse-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.drop-zone-hint{margin:6px 0 0;font-size:.82rem;color:var(--ink-muted)}.file-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}.file-item{display:flex;align-items:center;gap:var(--space-2);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink)}.file-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.file-item-size{color:var(--ink-muted);font-size:var(--text-xs);flex-shrink:0}.file-item-remove{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.file-item-remove:hover{color:var(--danger);background:#f27e8f1f}.edit-ops-list{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-2)}.edit-op-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-base);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);font-size:var(--text-sm)}.edit-op-row:hover{border-color:var(--border-medium)}.edit-op-row.active{border-color:var(--accent);background:#57d8ff14}.edit-op-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.edit-op-meta{color:var(--ink-muted);font-size:var(--text-xs);flex-shrink:0}.edit-op-add{align-self:flex-start;padding:var(--space-1) var(--space-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.edit-op-add:hover{border-color:var(--accent);background:#57d8ff0f}.file-item.draggable{cursor:grab;transition:opacity var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.file-item.draggable:active{cursor:grabbing}.file-item.drag-source{opacity:.35}.file-item.drag-target{border-color:var(--accent);background:#57d8ff14}.file-item-grip{color:var(--ink-muted);font-size:var(--text-base);flex-shrink:0;-webkit-user-select:none;user-select:none;line-height:1;letter-spacing:.05em}.progress-bar-track{margin-top:var(--space-2);height:6px;border-radius:3px;background:#182c49e6;overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .3s ease;position:relative}.progress-bar-fill.animated{background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.retry-btn{margin-left:10px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.options-grid{margin-top:var(--space-3);display:grid;grid-template-columns:1fr;gap:10px}.options-grid.two,.options-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1 / -1}.field-label{display:block;font-weight:700;font-size:var(--text-base)}.field-label input,.field-label textarea,.field-label select{width:100%;margin-top:var(--space-2);padding:10px;border-radius:var(--radius-sm);border:1px solid rgba(125,154,200,.42);font-family:IBM Plex Mono,monospace;font-size:var(--text-base);color:var(--ink);background:var(--surface-input)}.field-label input::placeholder,.field-label textarea::placeholder{color:#7086ab}.field-label textarea:focus,.field-label input:focus,.field-label select:focus,button:focus-visible{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 2px #57d8ff42}.field-label.checkbox{margin-top:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700}.field-label.checkbox input{width:18px;height:18px;margin:0}.field-helper{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--ink-muted);font-weight:400}.field-error{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--danger);font-weight:500}.field-required:after{content:" *";color:var(--danger);font-weight:400}.signature-mode-switch{display:inline-flex;width:100%;border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(148,187,242,.62);background:var(--surface-base)}.mode-button{flex:1;border:none;padding:10px;font-weight:700;background:transparent;color:#dbe9ff;cursor:pointer;transition:background var(--transition-fast)}.mode-button:hover{background:#3f609157}.mode-button.active{background:linear-gradient(180deg,#5f90da85,#477ac485);color:#f5fbff;box-shadow:inset 0 0 0 1px #a1d6ff8f}.signature-pad{border:1px solid rgba(150,190,242,.56);border-radius:var(--radius-md);padding:10px;background:#111d32e6}.signature-pad canvas{width:100%;max-width:100%;border:1px dashed rgba(96,133,186,.78);border-radius:var(--radius-sm);background:linear-gradient(180deg,#f6fbfffa,#e8f3fffa),repeating-linear-gradient(to right,rgba(126,154,194,.45) 0,rgba(126,154,194,.45) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(to bottom,rgba(126,154,194,.45) 0,rgba(126,154,194,.45) 1px,transparent 1px,transparent 24px),#edf5ff;touch-action:none;cursor:crosshair}.signature-pad-actions{margin-top:var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:10px}.signature-pad-actions .subtle{color:#d3e4ff;font-weight:600}.primary,.ghost,button.secondary{border-radius:var(--radius-sm);padding:10px var(--space-3);cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.primary{margin-top:var(--space-3);border:1px solid rgba(101,214,255,.52);background:linear-gradient(145deg,#1a8ec0,#226eb0);color:#eff9ff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.primary:hover:enabled{transform:translateY(-1px);border-color:#88e4ffd9}.primary:disabled,.ghost:disabled,button.secondary:disabled{opacity:.55;cursor:not-allowed}.ghost,button.secondary{border:1px solid rgba(127,157,204,.5);background:#15223ad9;color:#d7e8ff;font-weight:700}.ghost:hover:not(:disabled),button.secondary:hover:enabled{transform:translateY(-1px);border-color:#96cdffbf}.ghost.danger{color:#ffdce2}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status{margin-top:var(--space-3);padding:10px;border-radius:var(--radius-sm);border:1px solid rgba(129,157,203,.44);background:#0f1a2dd6}.status.error,.error{color:var(--danger)}.status.success{color:var(--success);border-color:#4cf69d59;background:#0f2d1ad6}.download-btn{margin-top:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid rgba(76,246,157,.45);background:linear-gradient(145deg,#145032d9,#0f3c28d9);color:#d0ffe3;font-weight:700;font-size:var(--text-base);text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast)}.download-btn:hover{transform:translateY(-1px);border-color:#4cf69dbf}.download{margin-top:var(--space-3);display:inline-block;color:#8dd9ff;font-weight:700}.subtle{margin:var(--space-1) 0;color:var(--ink-muted);font-size:var(--text-base)}.preview-root{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0b1321e0;padding:10px}.preview-root.interactive .preview-stage{cursor:crosshair}.preview-toolbar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--surface-base)}.preview-toolbar button{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--surface-input);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--transition-fast)}.preview-toolbar button:hover:enabled{border-color:var(--border-medium)}.preview-toolbar button:disabled{opacity:.4;cursor:not-allowed}.preview-toolbar span{font-size:var(--text-sm);color:var(--ink-muted);min-width:80px;text-align:center}.preview-stage{position:relative;border-radius:var(--radius-sm);overflow:hidden;background:#17253be0}.preview-stage canvas{display:block;width:100%;height:auto}.preview-empty,.preview-loading,.preview-error{border-radius:var(--radius-md);border:1px dashed rgba(124,152,198,.44);background:#0e182ad6;color:var(--ink-muted);padding:var(--space-4);text-align:center}.preview-error{border-color:#e0688094;color:#f5b8c4}.signature-marker{position:absolute;transform:translateY(-100%);pointer-events:none;z-index:2;border:2px solid #4aa9d7;border-radius:6px;background:#0c1a2deb;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.signature-marker.signature-image{border-color:#2f9ad4;box-shadow:inset 0 0 0 1px #ffffffb8,0 6px 14px #0a162a59;background:linear-gradient(45deg,rgba(214,226,243,.34) 25%,transparent 25%,transparent 75%,rgba(214,226,243,.34) 75%),linear-gradient(45deg,rgba(214,226,243,.34) 25%,transparent 25%,transparent 75%,rgba(214,226,243,.34) 75%),#f7fbfff7;background-size:12px 12px;background-position:0 0,6px 6px}.signature-marker span{color:#d7ebff;font-size:var(--text-xs);font-weight:700;padding:var(--space-1) 6px;border-radius:var(--space-1);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signature-marker img{width:100%;height:100%;object-fit:contain;display:block}.signature-marker.signature-image img{filter:contrast(1.24) saturate(1.1) drop-shadow(0 0 .6px rgba(11,24,44,.85))}.signature-marker.inactive{opacity:.5;border-style:dashed}.signature-marker.active{border-color:var(--accent);box-shadow:0 0 8px #57d8ff59}.signature-marker.redact{border-color:#dd6577;background:#ac2e4454}.signature-marker.redact span{color:#ffd9e0;background:#460d199e}.signature-marker.redact.draft{border-style:dashed}.modal-shell,.drawer-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.modal-backdrop,.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0208129e;animation:backdrop-in .2s ease-out}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.auth-modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,560px);max-height:min(88dvh,760px);overflow-y:auto;border:1px solid rgba(132,181,238,.34);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% -22%,#4895e033,#4895e000 42%),linear-gradient(168deg,#101e36fa,#081324fa);box-shadow:0 28px 56px #0207128f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;display:grid;gap:var(--space-3);animation:modal-enter .22s ease-out}@keyframes modal-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.auth-modal-head,.profile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.auth-modal-head h2,.profile-drawer-head h2{margin:0;font-size:clamp(1.55rem,1.3rem + .7vw,2rem);line-height:1.1;letter-spacing:-.02em}.auth-step-indicator{display:flex;align-items:center;gap:var(--space-2);margin-top:2px;font-size:.93rem}.auth-step-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;border:1px solid rgba(139,180,232,.24);background:#101e368c;color:#9db6d8;font-weight:700;letter-spacing:.01em;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.auth-step-dot{width:7px;height:7px;border-radius:50%;background:#7c98bfd9}.auth-step-chip.active{color:#e7f4ff;border-color:#6cdaff80;background:#193c6473}.auth-step-chip.active .auth-step-dot{background:var(--accent);box-shadow:0 0 0 3px #57d8ff33}.auth-step-line{width:36px;height:2px;border-radius:999px;background:linear-gradient(90deg,#7c98bfd9,#57d8ffdb)}.auth-modal .subtle{margin:0;color:#c4d7f1;max-width:46ch}.auth-modal .field-label{font-size:1.01rem;letter-spacing:.01em}.auth-modal .field-label input{margin-top:10px;min-height:56px;border-radius:14px;border-color:#85ace26b;background:#071021e6;font-family:Sora,sans-serif}.auth-modal .tos-acceptance{margin-top:0;align-items:flex-start;font-size:.92rem;font-weight:600;color:#d8e9ff}.auth-modal .tos-acceptance input{min-height:0;width:18px;height:18px;margin-top:2px}.auth-modal .tos-acceptance a{color:#9dd7ff;text-decoration:underline;text-underline-offset:2px}.auth-modal .tos-acceptance a:hover{color:#c8ebff}.otp-field-block{margin-top:2px}.auth-modal-actions{margin-top:2px;display:flex;gap:var(--space-2);flex-wrap:nowrap}.auth-modal-actions .primary,.auth-modal-actions .ghost{margin-top:0;min-height:56px;border-radius:14px}.auth-modal-actions .primary{flex:1}.auth-modal-actions .ghost{min-width:132px}.modal-alert{margin-top:2px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid rgba(240,129,151,.44);background:#56131f7a;color:#ffd8df;font-size:1rem;line-height:1.35}.modal-alert[role=status]{border-color:#57d8ff6b;background:#13325670;color:var(--ink)}.resend-btn{margin-top:var(--space-2);font-size:.93rem;color:#cfe8ff;background:#13223acc;border:1px solid rgba(109,153,214,.42);border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:700}.resend-btn:hover:enabled{border-color:#7cc7ffc7;color:#ecf8ff}.resend-btn:disabled{color:#98afce;background:#121f3480;cursor:not-allowed}.otp-input-group{display:flex;gap:10px;margin-top:var(--space-2);flex-wrap:wrap}.otp-input-group input{width:56px;height:64px;flex:0 0 56px;text-align:center;font-size:1.62rem;font-weight:700;font-family:IBM Plex Mono,monospace;border:1px solid rgba(125,154,200,.46);border-radius:14px;background:#071021e6;color:var(--ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.otp-input-group input:focus{outline:none;border-color:var(--border-accent);box-shadow:0 0 0 3px #57d8ff33;transform:translateY(-1px);background:#0a152af0}.profile-drawer{position:absolute;right:0;top:0;height:100%;width:min(94vw,420px);border-left:1px solid var(--border-subtle);background:linear-gradient(180deg,#0c172afa,#08101ffa);box-shadow:-20px 0 44px #0408118c;padding:var(--space-4);overflow-y:auto;animation:drawer-slide-in var(--transition-slow)}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-section{margin-top:var(--space-3);border:1px solid rgba(124,157,204,.35);border-radius:var(--radius-md);background:#111f35b8;padding:var(--space-3)}.drawer-identity{margin:0;font-size:var(--text-base);font-weight:700}.drawer-plan{margin:6px 0 0;color:var(--ink-muted);font-size:var(--text-sm)}.usage-meter{margin-top:var(--space-3)}.usage-meter-label{font-size:var(--text-sm);color:var(--ink-muted);margin-bottom:var(--space-1)}.usage-meter-track{height:10px;border-radius:999px;border:1px solid rgba(129,161,209,.4);background:#080e1bf2;overflow:hidden}.usage-meter-fill{height:100%;background:linear-gradient(90deg,#2f9ec5,#5ed1ff);transition:width var(--transition-normal)}.usage-meter p{margin:6px 0 0;color:var(--ink-muted);font-size:.82rem}.drawer-metrics{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.drawer-metrics span{border:1px solid rgba(127,159,206,.4);border-radius:999px;background:#0e192cd1;color:var(--ink-muted);padding:var(--space-1) 9px;font-size:var(--text-xs)}.drawer-actions{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2)}.drawer-actions .primary,.drawer-actions .ghost{margin-top:0}.drawer-support-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.drawer-plan-list{margin-top:var(--space-2);display:grid;gap:var(--space-2)}.drawer-plan-card{border:1px solid rgba(126,158,205,.35);border-radius:var(--radius-sm);padding:9px;background:#0e192cc2;display:grid;gap:3px;color:var(--ink-muted);font-size:.8rem}.drawer-plan-card.active{border-color:var(--border-accent);box-shadow:inset 0 0 0 1px #57d8ff33}.drawer-plan-card .current-badge{display:inline-block;font-size:var(--text-xs);font-weight:700;color:var(--accent);margin-left:var(--space-2)}.drawer-plan-title{margin:0;color:var(--ink);font-weight:700}.drawer-plan-card p{margin:0}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:50;display:flex;flex-direction:column;gap:var(--space-2)}.toast{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:600;box-shadow:var(--shadow);animation:toast-in .3s ease-out;display:flex;align-items:center;gap:var(--space-2)}.toast.success{border:1px solid rgba(76,246,157,.45);background:linear-gradient(145deg,#0c281cf2,#081e16f2);color:#d0ffe3}.toast.error{border:1px solid rgba(242,126,143,.45);background:linear-gradient(145deg,#320f16f2,#280c12f2);color:#ffd8de}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}@media (max-width: 1250px){.topbar{grid-template-columns:1fr minmax(220px,1fr) 1fr}.workspace{grid-template-columns:1fr}.controls{position:static}}@media (max-width: 1099px){.app-main{grid-template-columns:1fr}.catalog-rail{position:fixed;top:96px;left:var(--space-3);bottom:var(--space-3);width:min(86vw,300px);transform:translate(calc(-100% - var(--space-4)));transition:transform var(--transition-slow);z-index:32;overflow-y:auto;border:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--surface-overlay),rgba(10,19,35,.96));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3);box-shadow:var(--shadow)}.catalog-rail.open{transform:translate(0)}.mobile-rail-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#040a1685;z-index:31}.rail-close{display:inline-flex;align-items:center;justify-content:center}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media (max-width: 860px){.topbar{grid-template-columns:auto 1fr auto;height:auto;min-height:56px;row-gap:var(--space-2);padding:10px}.brand-block p{font-size:var(--text-xs)}.brand-block .tagline-full{display:none}.brand-block .tagline-short{display:block}.topbar-search{grid-column:1 / -1;order:4}.topbar-support-link{padding:8px 10px}.profile-menu-layer{right:var(--space-3)}.catalog-summary{flex-direction:column}.catalog-title-row{flex-direction:column;align-items:flex-start}.options-grid.two,.options-grid.four{grid-template-columns:1fr}.otp-input-group input{width:44px;height:54px;flex-basis:44px;font-size:1.38rem}}@media (max-width: 700px){.app-shell{padding:10px}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:auto;padding:var(--space-3)}.panel{padding:var(--space-3)}.profile-trigger{width:40px;height:40px}.topbar-support-link{font-size:.7rem;padding:8px 9px}.topbar-support-full{display:none}.topbar-support-short{display:inline}.auth-modal{width:min(95vw,520px);padding:var(--space-3)}.auth-modal-actions{flex-wrap:wrap}.auth-modal-actions .primary,.auth-modal-actions .ghost{flex:1 1 auto;min-width:140px}.profile-drawer{width:100%}.toast-container{right:var(--space-3);left:var(--space-3)}.toast{width:100%}.mobile-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:15;padding:var(--space-3);background:linear-gradient(180deg,#08101ff2,#050a14fa);border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-action-bar .primary{width:100%;margin-top:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
