@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";.tsc{background:var(--color-background, #f6f2ec);border-top:1px solid var(--color-border-light, #e3ddd2);padding:clamp(40px,6vw,88px) 20px}.tsc-inner{max-width:760px;margin:0 auto;color:var(--color-text, #1f1b16);font-family:var(--font-family, "Space Grotesk", system-ui, sans-serif);line-height:1.6}.tsc-h1{font-family:var(--font-family-display, "Fraunces", Georgia, serif);font-size:clamp(26px,4vw,36px);line-height:1.15;letter-spacing:-.01em;margin:0 0 14px}.tsc-intro{font-size:clamp(16px,2vw,18px);color:var(--color-text-secondary, #5c5449);margin:0 0 8px}.tsc-inner h2{font-family:var(--font-family-display, "Fraunces", Georgia, serif);font-size:clamp(19px,2.6vw,23px);margin:34px 0 12px}.tsc-inner h3{font-size:16px;font-weight:600;margin:18px 0 4px}.tsc-inner p{margin:0 0 10px}.tsc-steps,.tsc-list{margin:0 0 8px;padding-left:22px}.tsc-steps li,.tsc-list li{margin:6px 0}.tsc-privacy{background:var(--color-accent-light, rgba(47, 111, 143, .08));border-left:3px solid var(--color-accent, #2f6f8f);padding:14px 16px;border-radius:8px}.tsc-faqs{display:flex;flex-direction:column;gap:10px}.tsc-faq h3{margin-top:0}.tsc-faq p{color:var(--color-text-secondary, #5c5449)}.tsc-related{display:flex;flex-wrap:wrap;gap:10px}.tsc-related a{display:inline-block;padding:8px 14px;border:1px solid var(--color-border, #d8d2c8);border-radius:999px;color:var(--color-accent, #2f6f8f);text-decoration:none;font-size:14px;font-weight:500}.tsc-related a:hover{background:var(--color-accent-light, rgba(47, 111, 143, .08));border-color:var(--color-accent, #2f6f8f)}.pf-footer{background:var(--color-background-subtle, #f0ede7);border-top:1px solid var(--color-border-light, #e3ddd2);font-family:var(--font-family, "Space Grotesk", system-ui, sans-serif)}.pf-footer-main{max-width:1120px;margin:0 auto;padding:clamp(40px,5vw,64px) 24px clamp(28px,4vw,44px);display:grid;grid-template-columns:minmax(220px,1fr) 3fr;gap:clamp(28px,5vw,64px)}@media (max-width: 860px){.pf-footer-main{grid-template-columns:1fr;gap:32px}}.pf-foot-logo{display:inline-block}.pf-foot-logo-img{width:132px;height:auto;display:block}.pf-foot-logo-dark,[data-theme=dark] .pf-foot-logo-default{display:none}[data-theme=dark] .pf-foot-logo-dark{display:block}.pf-foot-tagline{margin:12px 0 16px;font-size:13.5px;line-height:1.5;color:var(--color-text-muted, #8a7f73);max-width:34ch}.pf-foot-social{display:flex;gap:12px}.pf-foot-social a{display:inline-flex;color:var(--color-text-secondary, #5c5449)}.pf-foot-social a:hover{color:var(--color-accent, #2f6f8f)}.pf-footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}@media (max-width: 720px){.pf-footer-cols{grid-template-columns:repeat(2,1fr);gap:24px 20px}}.pf-footer-h{font-family:var(--font-family-display, "Fraunces", Georgia, serif);font-size:14px;font-weight:600;color:var(--color-text, #1f1b16);margin:0 0 12px}.pf-footer-links{display:flex;flex-direction:column;gap:9px}.pf-footer a{color:var(--color-text-secondary, #5c5449);text-decoration:none;font-size:13.5px;line-height:1.35}.pf-footer a:hover{color:var(--color-accent, #2f6f8f);text-decoration:underline}.pf-footer-bottom{border-top:1px solid var(--color-border-light, #e3ddd2);background:var(--color-background-muted, #e8e3db)}.pf-footer-bottom-inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px}.pf-footer-legal{display:flex;flex-wrap:wrap;gap:18px}.pf-footer-copy{font-size:12.5px;color:var(--color-text-muted, #8a7f73)}.pf-home-seo{padding:24px 20px 0}.pf-home-seo-inner{max-width:760px;margin:0 auto}.pf-home-seo h1{font-family:var(--font-family-display, "Fraunces", Georgia, serif);font-size:clamp(24px,4vw,34px);margin:0 0 10px;color:var(--color-text, #1f1b16)}.pf-home-seo p{font-size:16px;line-height:1.6;color:var(--color-text-secondary, #5c5449);margin:0}.toast-container{position:fixed;bottom:48px;right:var(--space-4);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);max-width:380px;width:100%;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);color:var(--color-text);pointer-events:all;animation:toast-in .3s cubic-bezier(.34,1.56,.64,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:var(--radius-full)}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:#e55}.toast-warning .toast-icon{color:var(--color-warning-strong)}.toast-info .toast-icon{color:var(--color-accent)}.toast-message{flex:1;line-height:1.4}.toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-dismiss:hover{background:var(--color-background-muted);color:var(--color-text)}@media (max-width: 860px) and (hover: none),(max-width: 720px){.toast-container{bottom:var(--space-3);right:var(--space-2);left:var(--space-2);max-width:none}}@media (max-width: 480px){.toast-container{bottom:var(--space-2);right:var(--space-1);left:var(--space-1)}.toast{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}}.pref-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--space-4)}.pref-modal{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:calc(100vh - 2 * var(--space-4));box-shadow:0 10px 40px #00000026;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border)}.pref-modal-header{padding:var(--space-6) var(--space-6) var(--space-4);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border-light)}.pref-modal-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.pref-close-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pref-close-btn:hover{background:var(--color-background);color:var(--color-text)}.pref-modal-body{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);overflow-y:auto}.pref-section{display:flex;flex-direction:column;gap:var(--space-2)}.pref-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.pref-select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text);font-family:var(--font-family-sans);appearance:none;cursor:pointer;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2364748b%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.pref-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 20%,transparent)}.pref-help{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.pref-danger-zone{border:1px solid color-mix(in srgb,var(--color-warning-strong) 22%,var(--color-border));border-radius:var(--radius-md);padding:var(--space-4);background:color-mix(in srgb,var(--color-warning-soft) 50%,var(--color-surface))}.pref-checklist{display:grid;gap:var(--space-2);margin:var(--space-2) 0 var(--space-3)}.pref-check-item{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.35}.pref-check-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);flex-shrink:0}.pref-clear-btn{align-self:flex-start;border:1px solid color-mix(in srgb,var(--color-warning-strong) 45%,var(--color-border));border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-warning-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);cursor:pointer;transition:all .2s ease}.pref-clear-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-warning-soft) 70%,var(--color-surface))}.pref-clear-btn:disabled{opacity:.65;cursor:wait}.pref-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;background:var(--color-background)}.pref-save-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease}.pref-save-btn:hover{background:color-mix(in srgb,var(--color-accent) 80%,black)}.pro-trigger-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 10px;border-radius:999px;border:1px solid rgba(124,58,237,.35);background:#7c3aed14;color:#6d28d9;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.pro-trigger-pill:hover{background:#7c3aed24;border-color:#7c3aed8c;transform:translateY(-1px)}.pro-trigger-pill:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.pro-trigger-pill__dot{width:6px;height:6px;border-radius:999px;background:#7c3aed;box-shadow:0 0 0 3px #7c3aed33;animation:pro-pill-pulse 2.4s ease-in-out infinite}@keyframes pro-pill-pulse{0%,to{box-shadow:0 0 0 3px #7c3aed33}50%{box-shadow:0 0 0 5px #7c3aed14}}@media (prefers-reduced-motion: reduce){.pro-trigger-pill__dot{animation:none}}.pro-trigger-pill__label{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:11px}.pro-trigger-pill__sub{font-size:11px;font-weight:500;color:#7c3aed;opacity:.75}@media (max-width: 640px){.pro-trigger-pill__sub{display:none}}[data-theme=dark] .pro-trigger-pill{background:#7c3aed2e;border-color:#a78bfa73;color:#c4b5fd}[data-theme=dark] .pro-trigger-pill__sub{color:#c4b5fd}[data-theme=dark] .pro-trigger-pill:hover{background:#7c3aed47}.hum-signin-btn{display:inline-flex;align-items:center;padding:6px 14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;color:var(--color-text, #1f1b16);text-decoration:none;border:1px solid var(--color-border, #e8e4de);border-radius:999px;background:transparent;transition:background .14s cubic-bezier(.16,1,.3,1),border-color .14s}.hum-signin-btn:hover{background:var(--color-background-muted, #faf7f2);border-color:#d8d3cc}.hum-root{position:relative;display:inline-flex}.hum-avatar-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:0;border-radius:50%;cursor:pointer;transition:transform .14s cubic-bezier(.16,1,.3,1)}.hum-avatar-btn:hover{transform:scale(1.04)}.hum-avatar-btn:active{transform:scale(.98)}.hum-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover}.hum-avatar-initial{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e8e4de;color:#1f1b16;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1}.hum-avatar-initial.is-pro{color:#fff;background:linear-gradient(135deg,#2f6f8f,#5a8c6a 55%,#c08a4a);box-shadow:0 2px 6px #2f6f8f3d}.hum-pro-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#5a8c6a;border:2px solid var(--color-background, #faf7f2)}.hum-panel{position:absolute;right:0;top:calc(100% + 10px);min-width:240px;background:#fff;border:1px solid #e8e4de;border-radius:12px;box-shadow:0 1px 2px #1f1b160a,0 20px 40px #1f1b161a;padding:8px;z-index:50;animation:hum-fade-in .18s cubic-bezier(.16,1,.3,1)}@keyframes hum-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hum-panel-head{padding:12px 12px 14px;border-bottom:1px solid #f1ece3;margin-bottom:4px}.hum-panel-name{font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:600;color:#1f1b16;line-height:1.2;word-break:break-word}.hum-panel-email{margin-top:2px;font-size:12px;color:#8a847f;word-break:break-word}.hum-plan-badge{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.14em;color:#5d5652;background:#f1ece3;text-transform:uppercase}.hum-plan-badge.is-pro{color:#fff;background:linear-gradient(135deg,#2f6f8f,#5a8c6a 55%,#c08a4a)}.hum-item{display:block;width:100%;padding:9px 12px;font-family:Inter,-apple-system,sans-serif;font-size:13px;color:#1f1b16;background:transparent;border:0;border-radius:6px;text-align:left;text-decoration:none;cursor:pointer}.hum-item:hover{background:#faf7f2}.hum-item-accent{color:#2f6f8f;font-weight:500}.hum-item-muted{color:#8a847f}.hum-divider{height:1px;background:#f1ece3;margin:4px 8px}body.dark .hum-signin-btn{color:#e8e4de;border-color:#e8e4de33}body.dark .hum-signin-btn:hover{background:#e8e4de14}body.dark .hum-avatar-initial{background:#e8e4de1f;color:#e8e4de}body.dark .hum-pro-dot{border-color:#1a1816}body.dark .hum-panel{background:#252321;border-color:#e8e4de1f}body.dark .hum-panel-head{border-bottom-color:#e8e4de14}body.dark .hum-panel-name{color:#f5f1ec}body.dark .hum-panel-email{color:#a8a39e}body.dark .hum-plan-badge{background:#e8e4de1a;color:#d8d3cc}body.dark .hum-item{color:#e8e4de}body.dark .hum-item:hover{background:#e8e4de0f}body.dark .hum-divider{background:#e8e4de14}.kbd-overlay{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9500;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.kbd-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-xl);overflow:hidden}.kbd-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light)}.kbd-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.kbd-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;padding:var(--space-1);border-radius:var(--radius-sm);transition:all .15s ease}.kbd-close:hover{color:var(--color-text);background:var(--color-background-subtle)}.kbd-body{padding:var(--space-4) var(--space-6);max-height:60vh;overflow-y:auto}.kbd-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:var(--space-4);margin-bottom:var(--space-2)}.kbd-section:first-child{margin-top:0}.kbd-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;gap:var(--space-4)}.kbd-keys{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);background:var(--color-background-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap}.kbd-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:right}.kbd-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.kbd-footer kbd{background:var(--color-background-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 5px;font-size:var(--font-size-xs);font-family:var(--font-family)}.header-all-tools{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;transition:all .15s ease;border:1px solid var(--color-border-light);background:transparent}.header-all-tools:hover{color:var(--color-text);background:var(--color-background-subtle);border-color:var(--color-border)}.header-all-tools svg{flex-shrink:0;opacity:.7}.logo-title{display:inline-flex;align-items:center}.logo-img{height:25px;width:auto;display:block;margin-top:3px}.logo-img-dark,[data-theme=dark] .logo-img-default{display:none}[data-theme=dark] .logo-img-dark{display:block}.header-privacy-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:#16a34a;font-size:11px;font-weight:600;text-decoration:none;letter-spacing:.01em;transition:background .15s ease,border-color .15s ease}.header-privacy-badge:hover{background:#22c55e24;border-color:#22c55e66;color:#16a34a}[data-theme=dark] .header-privacy-badge{background:#22c55e1f;border-color:#4ade804d;color:#4ade80}@media (max-width: 640px){.header-privacy-badge span{display:none}.header-privacy-badge{padding:5px 7px}}.header-updates-link{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease,background .15s ease}.header-updates-link:hover{color:var(--color-text);background:var(--color-background-subtle)}.header-updates-link.is-active{color:var(--color-text)}@media (max-width: 480px){.header-all-tools span{display:none}.header-all-tools{padding:6px 10px}.header-updates-link{display:none}}.onboarding-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0000008c;z-index:9999;pointer-events:auto}.onboarding-overlay.has-highlight{background:transparent}.onboarding-highlight{position:fixed;border-radius:var(--radius-lg);box-shadow:0 0 0 9999px #0000008c;pointer-events:none;background:transparent;transition:top .35s cubic-bezier(.16,1,.3,1),left .35s cubic-bezier(.16,1,.3,1),width .35s cubic-bezier(.16,1,.3,1),height .35s cubic-bezier(.16,1,.3,1);z-index:10000;border:2px solid var(--color-accent)}.onboarding-popover{position:fixed;width:min(380px,calc(100vw - 24px));background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 12px 48px #00000040,0 2px 8px #0000001f;padding:var(--space-6);z-index:10001;animation:popIn .28s cubic-bezier(.16,1,.3,1)}@media (max-width: 640px){.onboarding-popover{padding:var(--space-5);border-radius:var(--radius-lg);width:calc(100vw - 24px)}}@keyframes popIn{0%{opacity:0;margin-top:10px}to{opacity:1;margin-top:0}}.onboarding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3);gap:var(--space-3)}.onboarding-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0;line-height:1.3}.onboarding-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;margin:-4px -4px 0 0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.onboarding-close:hover{background:var(--color-background);color:var(--color-text)}.onboarding-content{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--space-5) 0}.onboarding-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.onboarding-dots{display:flex;gap:6px;align-items:center}.onboarding-dot{width:7px;height:7px;border-radius:50%;background:var(--color-border);transition:all .25s ease}.onboarding-dot.active{background:var(--color-accent);transform:scale(1.25)}.onboarding-skip-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:6px 4px;transition:color .2s ease}.onboarding-skip-btn:hover{color:var(--color-text)}.onboarding-next-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 18px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .2s ease}.onboarding-next-btn:hover{background:color-mix(in srgb,var(--color-accent) 80%,black)}.home-page{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--color-background)}.home-hero{width:100%;padding:var(--space-16) var(--space-8) var(--space-8);text-align:center}.home-hero-content{max-width:720px;margin:0 auto}.home-title{font-family:var(--font-family-display);font-size:clamp(2rem,4.5vw,3.25rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-4);line-height:1.15;letter-spacing:-.02em}.home-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.7;max-width:560px;margin:0 auto}.home-recent-trigger{display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:0 auto var(--space-4);padding:12px 18px;border:1px solid var(--color-border-light);border-radius:var(--radius-xl);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family-sans);cursor:pointer;transition:border-color .2s ease,transform .15s ease,box-shadow .2s ease}.home-recent-trigger:hover{border-color:var(--color-accent);box-shadow:0 10px 28px #00000012;transform:translateY(-1px)}.home-recent-trigger-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.home-recent-trigger-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.hide-mobile{display:inline}.home-recent-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.home-recent-modal{width:100%;max-width:620px;max-height:min(82vh,680px);overflow:hidden;display:flex;flex-direction:column;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #00000059,inset 0 1px #fff3;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%)}.home-recent-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 14px;border-bottom:1px solid rgba(255,255,255,.12)}.home-recent-modal-title{margin:0;font-size:1.1rem;font-weight:var(--font-weight-bold);color:#fff}.home-recent-modal-subtitle{margin:4px 0 0;font-size:var(--font-size-sm);color:#ffffffa6;line-height:1.5}.home-recent-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff14;color:#fffc;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.home-recent-close:hover{background:#ffffff29;color:#fff}.home-recent-list{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.home-recent-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff14;transition:border-color .18s ease,transform .15s ease,box-shadow .18s ease;position:relative}.home-recent-item:hover{border-color:var(--tool-color);box-shadow:0 12px 24px #0000002e;transform:translateY(-1px)}.home-recent-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:14px;border:none;background:transparent;padding:0;color:inherit;text-align:left;font-family:var(--font-family-sans);cursor:pointer}.home-recent-item-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in srgb,var(--tool-color) 14%,white);color:var(--tool-color)}.home-recent-item-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.home-recent-item-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-recent-item-meta{font-size:var(--font-size-xs);color:#ffffff94;line-height:1.5}.home-recent-item-action{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);flex-shrink:0}.home-recent-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.home-recent-open-btn,.home-recent-download-toggle{border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;font-family:var(--font-family-sans);cursor:pointer;transition:background .15s ease,border-color .15s ease}.home-recent-open-btn:hover,.home-recent-download-toggle:hover{background:#ffffff24;border-color:#ffffff3d}.home-recent-open-btn{padding:8px 12px;border-radius:10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.home-recent-download-wrap{position:relative}.home-recent-download-toggle{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0}.home-recent-download-toggle svg{width:16px;height:16px}.home-recent-download-menu{position:absolute;right:0;top:calc(100% + 8px);width:240px;padding:8px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#111827f0;box-shadow:0 16px 32px #00000047;display:flex;flex-direction:column;gap:6px;z-index:2}.home-recent-download-option{width:100%;border:none;border-radius:9px;background:#ffffff14;color:#fff;padding:10px 12px;text-align:left;font-size:var(--font-size-xs);font-family:var(--font-family-sans);cursor:pointer;transition:background .15s ease,opacity .15s ease}.home-recent-download-option:hover:not(:disabled){background:#ffffff24}.home-recent-download-option:disabled{cursor:default;opacity:.5}.home-recent-privacy{display:flex;align-items:center;gap:var(--space-2);padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.12);font-size:var(--font-size-xs);color:#ffffff9e}.home-recent-privacy svg{width:14px;height:14px;flex-shrink:0}.home-guidance{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-8) var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.common-tasks{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.common-tasks-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.common-tasks-links{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}.task-chip{padding:6px 14px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text);text-decoration:none;transition:all .2s ease}.task-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-background)}.home-tools{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-8) var(--space-10)}.tools-container{display:flex;flex-direction:column;gap:56px}.tool-category{display:flex;flex-direction:column;gap:var(--space-4)}.category-title{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.tool-card{display:flex;align-items:center;gap:18px;padding:20px 22px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;cursor:pointer}.tool-card:hover{border-color:var(--color-border);box-shadow:0 6px 24px #0000000f,0 1px 4px #0000000a;transform:translateY(-2px)}.tool-card:active{transform:translateY(0)}.tool-card-icon{width:50px;height:50px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tool-color) 12%,transparent);color:var(--tool-color);flex-shrink:0}.tool-card-info{flex:1;min-width:0}.tool-card-favorite{background:none;border:none;cursor:pointer;padding:4px;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.tool-card-favorite:hover{background:var(--color-background);color:var(--color-accent)}.tool-card-favorite.active{color:#ef5350}.tool-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:3px;display:flex;align-items:center;gap:8px}.tool-card-badge{display:inline-flex;padding:2px 7px;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tool-card-badge--pro{background:linear-gradient(135deg,#2f6f8f,#5a8c6a 55%,#c08a4a);letter-spacing:.1em;box-shadow:0 1px 3px #2f6f8f40}.tool-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}.home-features{width:100%;max-width:1200px;margin:0 auto;padding:clamp(32px,6vw,72px) var(--space-8) clamp(48px,8vw,96px)}.home-features-eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--color-text-muted);margin:0 0 clamp(20px,3vw,32px)}.home-features-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);column-gap:clamp(16px,2vw,28px);row-gap:clamp(24px,3vw,32px);border-top:1px solid var(--color-border-light);padding-top:clamp(24px,3vw,36px)}.home-feature{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:clamp(12px,1.6vw,18px);padding-right:clamp(12px,2vw,20px)}.home-feature:not(:last-child):after{content:"";position:absolute;right:0;top:6px;bottom:6px;width:0;border-right:1px dashed var(--color-border);opacity:.5}.home-feature-num{font-family:var(--font-family-display, "Fraunces", "Playfair Display", Georgia, serif);font-weight:600;font-style:italic;font-size:clamp(36px,4.4vw,52px);line-height:.9;letter-spacing:-.02em;color:#c08a4a;padding-top:2px}.home-feature-body{display:flex;flex-direction:column;gap:6px}.home-feature-eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted)}.home-feature-title{font-family:var(--font-family-display, "Fraunces", "Playfair Display", Georgia, serif);font-weight:600;font-size:clamp(16px,1.6vw,19px);line-height:1.22;letter-spacing:-.01em;color:var(--color-text);margin:0;text-wrap:balance}.home-feature-desc{font-family:var(--font-family);font-size:clamp(13px,1.3vw,14px);line-height:1.55;color:var(--color-text-secondary);margin:0}@media (max-width: 960px){.home-features-list{grid-template-columns:repeat(2,1fr);column-gap:clamp(20px,3vw,32px);row-gap:clamp(28px,4vw,40px)}.home-feature:nth-child(2n):after,.home-feature:last-child:after{display:none}.home-feature:not(:last-child):after{display:block}.home-feature:nth-child(2n):after{display:none}}@media (max-width: 640px){.home-features{padding-left:var(--space-5);padding-right:var(--space-5)}.home-features-list{grid-template-columns:1fr;row-gap:0}.home-feature{padding:20px 0;border-bottom:1px dashed var(--color-border)}.home-feature:last-child{border-bottom:none}.home-feature:not(:last-child):after,.home-feature:after{display:none!important}.home-feature-num{font-size:40px}.home-feature-title{font-size:17px}.home-feature-desc{font-size:14px}}.home-footer{width:100%;padding:var(--space-6) var(--space-8);text-align:center;border-top:1px solid var(--color-border-light);margin-top:auto}.home-footer .footer-links{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.home-footer .footer-links a{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.home-footer .footer-links a:hover{color:var(--color-accent)}.home-footer .footer-sep{color:var(--color-text-muted);font-size:var(--font-size-xs)}.home-footer .footer-version{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (max-width: 960px){.home-hero{padding:var(--space-10) var(--space-6) var(--space-6)}.home-tools,.home-features{padding-left:var(--space-6);padding-right:var(--space-6)}.tools-grid{grid-template-columns:repeat(2,1fr)}.tools-container{gap:44px}}@media (max-width: 640px){.home-hero{padding:var(--space-8) var(--space-4) var(--space-4)}.home-title{font-size:var(--font-size-2xl)}.home-subtitle{font-size:var(--font-size-base)}.home-recent-trigger{width:100%;max-width:340px}.hide-mobile{display:none}.tools-container{gap:36px}.tools-grid{grid-template-columns:1fr;gap:var(--space-3)}.home-tools,.home-features{padding-left:var(--space-4);padding-right:var(--space-4)}.tool-card{padding:16px 18px;gap:14px}.tool-card-icon{width:42px;height:42px}.home-recent-modal{max-height:min(86vh,720px)}.home-recent-item{align-items:flex-start}.home-recent-item{flex-direction:column;align-items:stretch}.home-recent-item-main{width:100%}.home-recent-item-actions{width:100%;justify-content:flex-end}.home-recent-download-menu{width:min(240px,calc(100vw - 64px))}}.upload-zone-wrapper{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3)}.upload-zone{width:100%;max-width:100%;padding:var(--space-10) var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-base);text-align:center}.upload-zone:hover{border-color:var(--color-accent);background:var(--color-accent-light);box-shadow:var(--shadow-lg)}.upload-zone.dragging{border-color:var(--color-accent);background:var(--color-accent-light);transform:scale(1.02)}.upload-zone.loading{pointer-events:none;opacity:.7}.upload-zone.error{border-color:#dc3545;animation:shake .4s ease}.upload-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.upload-icon{width:48px;height:48px;color:var(--color-text-muted);transition:color var(--transition-base)}.upload-icon svg{width:100%;height:100%}.upload-zone:hover .upload-icon{color:var(--color-accent)}.upload-text{display:flex;flex-direction:column;gap:var(--space-1)}.upload-primary{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text)}.upload-secondary{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.upload-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.error-text{font-size:var(--font-size-sm);color:#dc3545;margin:0}.upload-zone .loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@media (max-width: 480px){.upload-zone{padding:var(--space-8) var(--space-4)}.upload-primary{font-size:var(--font-size-base)}.upload-icon{width:40px;height:40px}}.processing-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-background);z-index:100;animation:fadeIn .2s ease}.processing-card{text-align:center;padding:var(--space-8);max-width:320px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.processing-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:var(--space-6)}.processing-progress-bar{width:100%;height:6px;background:var(--color-background-subtle);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-2)}.processing-progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .15s ease-out}.processing-percent{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.processing-steps{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);text-align:left}.processing-note{margin-top:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.processing-cancel{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.processing-cancel:hover{background:var(--color-background-subtle);color:var(--color-text)}.processing-step{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);transition:color var(--transition-base)}.processing-step.completed{color:var(--color-success)}.processing-step.active{color:var(--color-text)}.step-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.step-icon svg{width:16px;height:16px;animation:checkIn .3s ease}.step-dot{width:6px;height:6px;background:currentColor;border-radius:50%;opacity:.4}.processing-step.active .step-dot{opacity:1;animation:pulse 1s ease-in-out infinite}.step-label{font-size:var(--font-size-base)}@keyframes checkIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.document-preview{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;min-width:0;overflow:hidden}.preview-canvas-container{position:relative;display:flex;align-items:flex-start;justify-content:center;flex:1;min-height:0;min-width:0;width:100%;overflow-y:auto;overflow-x:auto;padding:var(--space-8) var(--space-4);background:var(--color-background-muted) repeating-conic-gradient(rgba(0,0,0,.02) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px}.preview-paper{position:relative;background:#fff;box-shadow:0 1px 3px #0000000f,0 4px 16px #00000014,0 12px 40px #0000000a;border-radius:2px;transition:box-shadow .25s ease,width .35s cubic-bezier(.4,0,.2,1),aspect-ratio .35s cubic-bezier(.4,0,.2,1);max-width:100%;flex-shrink:0;overflow:hidden}.preview-canvas-container:hover .preview-paper{box-shadow:0 2px 6px #00000014,0 8px 24px #0000001a,0 16px 48px #0000000f}.preview-canvas{display:block;max-width:100%;height:auto;transition:opacity .2s ease}.margin-shading{position:absolute;background:#2f6f8f14;opacity:0;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;pointer-events:none}.preview-canvas-container:hover .margin-shading,.preview-canvas-container.show-guides .margin-shading{opacity:1}.margin-shading.top{top:0;left:0;right:0}.margin-shading.bottom{bottom:0;left:0;right:0}.margin-shading.left{top:0;bottom:0;left:0}.margin-shading.right{top:0;bottom:0;right:0}.margin-label{font-size:10px;font-weight:600;color:var(--color-accent);background:#ffffffe6;padding:2px 6px;border-radius:4px;white-space:nowrap;box-shadow:0 1px 2px #0000000f}.margin-label.large{color:var(--color-warning-strong);background:#fff3cdf2}.content-bounds{position:absolute;border:1.5px dashed var(--color-accent);background:#2f6f8f08;border-radius:2px;pointer-events:none}.preview-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:var(--color-surface-elevated);color:var(--color-text-secondary);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;transition:all .2s ease}.preview-canvas-container:hover .preview-nav{opacity:1}.preview-nav:hover{background:var(--color-accent);color:#fff;transform:translateY(-50%) scale(1.08)}.preview-nav.disabled{opacity:0!important;pointer-events:none}.preview-nav-prev{left:12px}.preview-nav-next{right:12px}.preview-page-pill{position:absolute;bottom:12px;left:50%;transform:translate(-50%);z-index:10;padding:4px 12px;background:var(--glass-bg);backdrop-filter:blur(8px);border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:var(--color-text-secondary);opacity:0;transition:opacity .2s ease;pointer-events:none}.preview-canvas-container:hover .preview-page-pill{opacity:1}.preview-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--color-background-muted);z-index:15}.preview-loading .loading-spinner{width:28px;height:28px;border:2.5px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.preview-error{position:absolute;inset:var(--space-6);z-index:15;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;box-shadow:var(--shadow-lg)}.preview-error-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.preview-error-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:32ch}.preview-error-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}[data-theme=dark] .preview-paper{box-shadow:0 1px 3px #00000026,0 4px 16px #0003,0 12px 40px #0000001f}[data-theme=dark] .preview-canvas-container{background:var(--color-background-muted) repeating-conic-gradient(rgba(255,255,255,.015) 0% 25%,transparent 0% 50%) 0 0 / 20px 20px}@media (max-width: 860px) and (hover: none),(max-width: 720px){.document-preview{min-height:55vh}.preview-canvas-container{min-height:50vh;overflow-y:auto;overflow-x:hidden}.preview-nav{opacity:.85;width:44px;height:44px}.preview-nav svg{width:22px;height:22px}.preview-nav-prev{left:4px}.preview-nav-next{right:4px}.preview-nav:hover{transform:translateY(-50%)}.preview-page-pill{opacity:1;bottom:8px;font-size:12px;padding:5px 14px}.margin-shading{opacity:.6}}.preview-zoom-controls{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 0 4px}.preview-zoom-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border, #e5e7eb);border-radius:6px;background:var(--card-bg, #ffffff);color:var(--text-primary, #111827);font-size:16px;font-weight:600;line-height:1;cursor:pointer;transition:background .12s,border-color .12s;user-select:none;-webkit-user-select:none}.preview-zoom-reset{width:auto;min-width:48px;padding:0 8px;font-size:11px;letter-spacing:.025em}.preview-zoom-btn:hover:not(:disabled){background:var(--bg-secondary, #f3f4f6);border-color:var(--text-secondary, #6b7280)}.preview-zoom-btn:disabled{opacity:.35;cursor:default}@media (max-width: 480px){.document-preview{min-height:50vh}.preview-canvas-container{min-height:45vh}.preview-nav{width:40px;height:40px}.preview-nav svg{width:20px;height:20px}}.page-thumbnails{display:flex;flex-direction:column;height:100%;min-height:0;background:transparent;overflow:hidden}.page-thumbnails.loading{min-height:180px}.thumbnails-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.thumbnails-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.thumbnails-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-accent-light);font-size:11px;font-weight:700;color:var(--color-accent)}.thumbnails-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:6px;align-items:center;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.thumbnails-list::-webkit-scrollbar{width:5px}.thumbnails-list::-webkit-scrollbar-track{background:transparent}.thumbnails-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.thumbnails-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.thumbnail-item{width:100%;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;border-radius:8px;padding:4px;cursor:pointer;transition:all .15s ease;background:transparent;position:relative}.thumbnail-item:hover{background:var(--color-background-muted)}.thumbnail-item.active{background:var(--color-accent-light)}.thumbnail-item.active .thumbnail-preview{box-shadow:0 0 0 2px var(--color-accent),var(--shadow-sm)}.thumbnail-item.removed{opacity:.35}.thumbnail-item.blank .thumbnail-preview{border-color:#f59e0b4d}.thumbnail-preview{position:relative;width:100%;max-width:160px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;border:1px solid var(--color-border-light);transition:box-shadow .15s ease,border-color .15s ease}.thumbnail-item:hover .thumbnail-preview{box-shadow:0 2px 8px #0000001a,0 1px 3px #0000000f}.thumbnail-page-number{position:absolute;bottom:4px;left:4px;z-index:3;font-size:10px;font-weight:700;color:var(--color-text-muted);background:#ffffffe0;backdrop-filter:blur(4px);border-radius:4px;padding:1px 5px;pointer-events:none;line-height:1.4}.thumbnail-item.active .thumbnail-page-number{background:var(--color-accent);color:#fff}.thumbnail-badge-pill{position:absolute;top:4px;right:4px;z-index:3;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-warning-strong);background:#ffffffe6;border:1px solid rgba(244,183,64,.3);border-radius:4px;padding:1px 5px;pointer-events:none}.thumbnail-preview img{width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast}.thumbnail-placeholder{width:100%;aspect-ratio:.707;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.blank-indicator,.removed-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.blank-indicator{background:#fff9;color:var(--color-warning-strong)}.blank-indicator svg{width:18px;height:18px}.removed-overlay{background:#ffffffbf;color:var(--color-text-muted)}.removed-overlay svg{width:20px;height:20px}.thumbnails-loading{padding:8px;display:flex;flex-direction:column;gap:6px;align-items:center}.thumbnail-skeleton{width:100%;max-width:160px;aspect-ratio:.707;background:linear-gradient(90deg,var(--color-background-muted) 0%,var(--color-surface) 50%,var(--color-background-muted) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 640px){.page-thumbnails{border-radius:var(--radius-md)}.thumbnails-list{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:8px;padding:8px;scroll-snap-type:x mandatory}.thumbnail-item{flex:0 0 auto;width:100px;scroll-snap-align:center}.thumbnail-preview{max-width:100px}}.margin-controls{display:flex;flex-direction:column;gap:4px}.margin-options{display:flex;flex-direction:column;gap:2px}.margin-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background .15s ease}.margin-option:hover{background:var(--color-background-subtle)}.margin-option.selected{background:var(--color-accent-light)}.margin-option input[type=radio]{width:14px;height:14px;margin:0;accent-color:var(--color-accent);flex-shrink:0}.option-label{font-size:13px;font-weight:500;color:var(--color-text);flex:1}.option-hint{font-size:11px;color:var(--color-text-muted);margin-left:auto;font-weight:500}.margin-option.selected .option-label{color:var(--color-accent);font-weight:600}.custom-margins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-background-subtle);margin-top:4px}.custom-margin-field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary)}.custom-margin-field input{width:52px;padding:4px 6px;border-radius:4px;border:1px solid var(--color-border-light);font-size:12px;font-weight:500;color:var(--color-text);background:var(--color-surface);text-align:center}.custom-margin-field input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #2f6f8f26}.custom-margin-unit{color:var(--color-text-muted);font-size:11px}.page-actions{display:flex;flex-direction:column;gap:8px}.actions-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.actions-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.actions-description{font-size:11px;color:var(--color-text-muted)}.action-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;background:var(--color-background-subtle);border:1px solid var(--color-border-light)}.action-content{display:flex;align-items:center;gap:10px}.action-icon{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text-secondary);flex-shrink:0}.action-icon.warning{background:var(--color-warning-soft);color:var(--color-warning-strong)}.action-icon svg{width:16px;height:16px}.action-info{display:flex;flex-direction:column;gap:1px}.action-label{font-size:12px;font-weight:600;color:var(--color-text)}.action-hint{font-size:11px;color:var(--color-text-muted)}.toggle-switch{position:relative;width:36px;height:20px;display:inline-flex;align-items:center;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--color-border);border-radius:var(--radius-full);transition:background .2s ease}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.toggle-switch input:checked+.toggle-slider{background:var(--color-accent)}.toggle-switch input:checked+.toggle-slider:after{transform:translate(16px)}.stats-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border-light);background:var(--color-background-subtle)}.stat-item{display:flex;flex-direction:column;gap:1px}.stat-item.final .stat-value{color:var(--color-accent)}.stat-label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:14px;font-weight:700;color:var(--color-text)}.stat-divider{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.stat-divider svg{width:14px;height:14px}.page-savings-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:var(--color-accent-light);color:var(--color-accent);font-size:12px;font-weight:600;align-self:flex-start}.page-savings-badge strong{font-weight:700}.savings-icon svg{width:14px;height:14px}.savings-text{font-size:12px}.status-bar{position:fixed;bottom:0;left:0;right:0;height:32px;background:var(--color-surface);border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);z-index:40}.status-content{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted);width:100%;justify-content:space-between}.status-divider{color:var(--color-border)}.status-links{display:flex;align-items:center;gap:var(--space-2)}.status-links a{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-xs)}.status-links a:hover{color:var(--color-text-secondary)}.status-ready .ready-text{color:var(--color-success);font-weight:var(--font-weight-medium)}.status-ready .status-dimensions{color:var(--color-text-muted);font-weight:var(--font-weight-normal);font-size:.875em;margin-left:2px}.status-ready .processing-text{color:var(--color-accent);display:inline-flex;align-items:center;gap:var(--space-2)}.status-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 860px) and (hover: none),(max-width: 720px){.status-bar{display:none}}.compare-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;background:var(--color-background);border-radius:var(--radius-lg);overflow:hidden}.compare-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--glass-bg);backdrop-filter:blur(12px)}.compare-title{font-family:var(--font-family-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text)}.compare-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.compare-close:hover{background:var(--color-background-subtle);color:var(--color-text)}.compare-container{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:none}.compare-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:var(--color-background);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.compare-side{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.compare-before{z-index:1}.compare-after{z-index:2}.compare-label{position:absolute;top:var(--space-3);z-index:3;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-full);pointer-events:none}.compare-before .compare-label{left:var(--space-4);background:var(--color-background-muted);color:var(--color-text-secondary)}.compare-after .compare-label{right:var(--space-4);background:var(--color-accent);color:#fff}.compare-paper{background:#fff;box-shadow:var(--shadow-paper);border-radius:2px;overflow:hidden;flex-shrink:0}.compare-canvas{display:block;width:100%;height:100%;object-fit:contain}.compare-divider{position:absolute;top:0;bottom:0;z-index:10;width:3px;transform:translate(-50%);background:var(--color-accent);cursor:ew-resize;touch-action:none}.compare-divider:before,.compare-divider:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:28px;height:1px}.compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:0;width:36px;height:36px;justify-content:center;background:var(--color-accent);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-md);transition:transform var(--transition-fast)}.compare-handle:hover{transform:translate(-50%,-50%) scale(1.1)}.savings-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-1) 0}.savings-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;animation:chip-in .3s cubic-bezier(.34,1.56,.64,1) both}.savings-chip.accent{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.savings-chip-icon{font-size:12px;line-height:1}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.export-history{display:flex;flex-direction:column;gap:0}.export-history-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:8px;cursor:pointer;transition:all .15s ease;color:var(--color-text);font-size:12px;font-weight:600;width:100%}.export-history-toggle:hover{background:var(--color-surface);border-color:var(--color-border)}.export-history-toggle:active{transform:scale(.99)}.export-history-toggle svg:first-child{width:18px;height:18px;color:var(--color-text-secondary);flex-shrink:0}.export-history-label{display:flex;align-items:center;gap:6px;flex:1}.export-history-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:700}.export-history-chevron{width:16px;height:16px;color:var(--color-text-muted);transition:transform .2s ease;flex-shrink:0}.export-history-chevron.rotated{transform:rotate(180deg)}.export-history-list{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding:8px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:8px}.export-history-item{display:flex;align-items:center;gap:10px;padding:8px;background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:6px;transition:all .15s ease}.export-history-item:hover{background:var(--color-background);border-color:var(--color-border)}.export-item-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text-secondary);flex-shrink:0}.export-item-icon svg{width:18px;height:18px}.export-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.export-item-name{font-size:12px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.export-item-meta{font-size:11px;color:var(--color-text-muted)}.export-item-download{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border:none;cursor:pointer;transition:all .15s ease;flex-shrink:0}.export-item-download:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.export-item-download:active{transform:scale(.95)}.export-item-download svg{width:16px;height:16px}:root[data-theme=dark] .export-history-toggle{background:var(--color-background-subtle)}:root[data-theme=dark] .export-history-toggle:hover{background:var(--color-surface)}:root[data-theme=dark] .export-history-list{background:var(--color-background-subtle)}:root[data-theme=dark] .export-history-item{background:var(--color-surface)}:root[data-theme=dark] .export-history-item:hover{background:var(--color-background)}@media (max-width: 768px){.export-history-toggle{padding:12px 14px}.export-history-item{padding:10px}.export-item-name{font-size:13px}}.ts-panel{border-top:1px solid var(--color-border-light);padding:12px 16px 14px}.ts-panel-title{font-size:10px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.ts-panel-actions{display:flex;flex-direction:column;gap:7px}.ts-open-btn{width:100%;padding:8px 14px;border-radius:var(--radius-lg);border:1.5px dashed var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px;transition:all .15s ease}.ts-open-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.ts-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px}.ts-modal{background:#ffffff1f;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-radius:16px;width:100%;max-width:560px;max-height:min(82vh,640px);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000059,inset 0 1px #fff3;border:1px solid rgba(255,255,255,.18);position:relative}.ts-header{padding:16px 20px 14px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px}.ts-header-success{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ts-check-circle{width:38px;height:38px;border-radius:50%;flex-shrink:0;background:#4caf5040;border:1.5px solid rgba(76,175,80,.6);display:flex;align-items:center;justify-content:center}.ts-header-title{font-weight:700;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-header-subtitle{font-size:11px;color:#fff9;margin-top:2px}.ts-close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);cursor:pointer;color:#fffc;padding:4px 8px;border-radius:6px;font-size:14px;line-height:1;display:flex;align-items:center;transition:all .15s ease;flex-shrink:0}.ts-close-btn:hover{background:#fff3}.ts-close-btn:disabled{cursor:wait;opacity:.5}.ts-loading-overlay{position:absolute;inset:0;z-index:1;background:#00000059;display:flex;align-items:center;justify-content:center;border-radius:16px;flex-direction:column;gap:10px}.ts-loading-text{color:#fff;font-size:13px;font-weight:600}.ts-body{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.ts-section-label{font-size:10px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.ts-section-label.is-success{color:#ffffff80}.ts-tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.ts-tool-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;cursor:pointer;text-align:left;transition:all .15s ease;width:100%}.ts-tool-card:disabled{opacity:.5;cursor:wait}.ts-tool-card:hover:not(:disabled){transform:translateY(-1px)}.ts-tool-card.is-small{gap:6px;padding:10px}.ts-tool-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ts-tool-card.is-small .ts-tool-icon{width:30px;height:30px}.ts-tool-label{font-weight:600;font-size:12px;line-height:1.2;color:#fff}.ts-tool-card.is-small .ts-tool-label{font-size:11px}.ts-tool-desc{font-size:10px;color:#ffffff8c;margin-top:2px;line-height:1.3}.ts-handoff-hint{font-size:9px;font-weight:700;letter-spacing:.3px}.ts-save-btn{width:100%;padding:13px 16px;border-radius:10px;border:none;background:#4caf50d9;color:#fff;cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease;box-shadow:0 2px 12px #4caf5059}.ts-save-btn:hover:not(:disabled){background:#4caf50}.ts-save-btn:disabled{background:#4caf5080;cursor:wait}.ts-see-all-btn{background:none;border:1px solid rgba(255,255,255,.15);color:#fff9;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;width:100%}.ts-see-all-btn:hover{background:#ffffff14;color:#fff}.ts-share-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.ts-share-label{font-size:12px;font-weight:600;color:#ffffff80}.ts-share-buttons{display:flex;gap:6px}.ts-share-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#ffffffb3;cursor:pointer;transition:all .15s ease;text-decoration:none}.ts-share-btn:hover{background:#ffffff2e;color:#fff;border-color:#ffffff4d}@keyframes ts-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-spinner{animation:ts-spin .8s linear infinite}.ts-spinner-slow{animation:ts-spin 1s linear infinite}.pro-gate{position:relative;border-radius:12px;display:block}.pro-gate--inline{display:inline-block}.pro-gate--unlocked{box-shadow:0 0 0 1px #7c3aed73;padding:2px}.pro-gate__badge{position:absolute;top:-8px;right:-6px;z-index:2;font-family:Space Grotesk,sans-serif;font-size:9px;font-weight:700;letter-spacing:.1em;color:#fff;background:#7c3aed;padding:2px 7px;border-radius:999px;box-shadow:0 2px 6px #7c3aed59;pointer-events:none}.pro-gate--locked{box-shadow:0 0 0 1px #7c3aed8c,0 0 0 4px #7c3aed14;cursor:pointer;padding:2px;transition:box-shadow .2s ease,transform .2s ease;outline:none}.pro-gate--locked:hover{box-shadow:0 0 0 1px #7c3aedd9,0 0 0 6px #7c3aed1f;transform:translateY(-1px)}.pro-gate--locked:focus-visible{box-shadow:0 0 0 2px #7c3aed,0 0 0 6px #7c3aed2e}.pro-gate__inert{filter:saturate(.65) opacity(.55);pointer-events:none;user-select:none}.pro-gate__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(180deg,#faf8f500,#faf8f58c 35%,#faf8f5eb);opacity:0;transition:opacity .2s ease;pointer-events:none}.pro-gate--locked:hover .pro-gate__overlay,.pro-gate--locked:focus-visible .pro-gate__overlay{opacity:1}.pro-gate__overlay span{font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:600;color:#6d28d9;background:#fff;padding:7px 13px;border-radius:999px;border:1px solid rgba(124,58,237,.35);box-shadow:0 4px 14px #7c3aed2e}[data-theme=dark] .pro-gate__overlay{background:linear-gradient(180deg,#14141800,#1414188c 35%,#141418eb)}[data-theme=dark] .pro-gate__overlay span{background:#1f1f24;color:#c4b5fd}.preset-menu{position:relative;display:inline-block}.preset-menu__trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.preset-menu__trigger:hover{background:var(--color-background-subtle);border-color:#c8bdaf}.preset-menu__trigger:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.preset-menu__trigger svg{flex-shrink:0;color:#7c3aed}.preset-menu__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 5px;height:16px;border-radius:999px;background:#7c3aed24;color:#6d28d9;font-size:10px;font-weight:700}.preset-menu__dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:260px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 0 0 1px #7c3aed2e,0 16px 40px -12px #14141e38;padding:6px;animation:preset-dropdown-in .16s ease-out}@keyframes preset-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.preset-menu__dropdown{animation:none}}.preset-menu__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px;font-family:var(--font-family);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.preset-menu__save-btn{border:none;background:transparent;color:#6d28d9;font-family:var(--font-family);font-size:11px;font-weight:600;cursor:pointer;padding:2px 6px;border-radius:5px;text-transform:none;letter-spacing:0}.preset-menu__save-btn:hover{background:#7c3aed1a}.preset-menu__save-form{padding:6px 8px 10px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px}.preset-menu__input{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);font-family:var(--font-family);font-size:13px;color:var(--color-text)}.preset-menu__input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.preset-menu__save-actions{display:flex;gap:6px;margin-top:8px}.preset-menu__btn{flex:1;padding:7px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.preset-menu__btn:hover{background:var(--color-background-subtle)}.preset-menu__btn--primary{background:#7c3aed;color:#fff;border-color:#7c3aed}.preset-menu__btn--primary:hover{background:#6d28d9}.preset-menu__error{margin-top:6px;font-size:11px;color:#b91c1c}.preset-menu__list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.preset-menu__empty{font-family:var(--font-family);font-size:12px;line-height:1.5;color:var(--color-text-muted);padding:12px 12px 14px;text-align:center}.preset-menu__item{display:flex;align-items:center;gap:4px;padding:0 4px}.preset-menu__load{flex:1;text-align:left;padding:9px 10px;border-radius:7px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:500;cursor:pointer;transition:background .13s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-menu__load:hover{background:#7c3aed1a;color:#6d28d9}.preset-menu__delete{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-muted);border-radius:7px;cursor:pointer;transition:background .13s ease,color .13s ease}.preset-menu__delete:hover{background:#dc26261a;color:#dc2626}.batch-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:batch-fade-in .2s ease-out}@keyframes batch-fade-in{0%{opacity:0}to{opacity:1}}.batch-dialog{width:100%;max-width:720px;max-height:calc(100vh - 40px);background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e52;display:flex;flex-direction:column;overflow:hidden;animation:batch-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes batch-popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.batch-backdrop,.batch-dialog{animation:none}}.batch-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px 18px;border-bottom:1px solid var(--color-border)}.batch-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;line-height:1.15;letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px}.batch-settings{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);margin:0}.batch-settings strong{color:var(--color-text);font-weight:600}.batch-close{width:34px;height:34px;border:none;background:transparent;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.batch-close:hover:not(:disabled){background:#1f1b160f;color:var(--color-text)}.batch-close:disabled{opacity:.4;cursor:not-allowed}.batch-drop{flex:1;min-height:200px;overflow-y:auto;padding:18px 28px;position:relative;transition:background .16s ease}.batch-drop.is-over{background:#7c3aed14}.batch-drop-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:220px;border:1.5px dashed var(--color-border);border-radius:14px;background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease;font-family:var(--font-family);color:var(--color-text-secondary);gap:8px}.batch-drop-empty:hover{border-color:#7c3aed;background:#7c3aed0a;color:var(--color-text)}.batch-drop-empty svg{color:#7c3aed;margin-bottom:4px}.batch-drop-empty span{font-size:14px;font-weight:500}.batch-drop-empty .batch-drop-sub{font-size:12px;color:var(--color-text-muted);font-weight:400}.batch-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.batch-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;transition:border-color .15s ease}.batch-item.is-running{border-color:#7c3aed}.batch-item.is-done{border-color:#1b7f5a73;background:#1b7f5a0a}.batch-item.is-error{border-color:#dc262673;background:#dc26260a}.batch-item-icon{width:32px;height:32px;border-radius:8px;background:var(--color-background-subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.batch-item.is-done .batch-item-icon{background:#1b7f5a1f;color:#1b7f5a}.batch-item.is-error .batch-item-icon{background:#dc26261f;color:#dc2626}.batch-item.is-running .batch-item-icon{background:#7c3aed1f;color:#7c3aed}.batch-item-body{flex:1;min-width:0}.batch-item-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.batch-item-name{font-family:var(--font-family);font-size:13.5px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-item-meta{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted);flex-shrink:0}.batch-bar{margin-top:6px;width:100%;height:4px;border-radius:999px;background:#7c3aed24;overflow:hidden}.batch-bar-fill{height:100%;background:#7c3aed;transition:width .2s ease}.batch-error{margin-top:4px;font-family:var(--font-family);font-size:11px;color:#b91c1c}.batch-item-actions{display:flex;gap:4px;flex-shrink:0}.batch-action{width:28px;height:28px;border:none;background:transparent;border-radius:7px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .13s ease,color .13s ease}.batch-action:hover{background:var(--color-background-subtle);color:var(--color-text)}.batch-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px 20px;border-top:1px solid var(--color-border);background:var(--color-background-subtle)}.batch-stats{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);display:flex;gap:6px}.batch-stat-ok{color:#1b7f5a;font-weight:600}.batch-stat-err{color:#b91c1c;font-weight:600}.batch-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.batch-btn{padding:9px 14px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.batch-btn:hover:not(:disabled){background:var(--color-background-muted);border-color:#c8bdaf}.batch-btn:disabled{opacity:.4;cursor:not-allowed}.batch-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.batch-btn--primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9;transform:translateY(-1px)}.batch-btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.batch-btn--danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}@media (max-width: 560px){.batch-header{padding:20px 20px 14px}.batch-drop{padding:14px 20px}.batch-footer{padding:14px 20px 16px;flex-direction:column;align-items:stretch}.batch-actions{justify-content:stretch}.batch-actions .batch-btn{flex:1}}.cloud-menu{position:relative;display:inline-block}.cloud-menu__trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cloud-menu__trigger:hover{background:var(--color-background-subtle);border-color:#c8bdaf}.cloud-menu__trigger:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.cloud-menu__trigger svg{color:#7c3aed;flex-shrink:0}.cloud-menu__dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:240px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 0 0 1px #7c3aed2e,0 16px 40px -12px #14141e38;padding:6px;animation:cloud-menu-in .16s ease-out}@keyframes cloud-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.cloud-menu__dropdown{animation:none}}.cloud-menu__header{padding:8px 10px 6px;font-family:var(--font-family);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.cloud-menu__item{display:flex;align-items:center;width:100%;gap:10px;padding:9px 10px;border-radius:8px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:500;cursor:pointer;transition:background .13s ease;text-align:left}.cloud-menu__item:hover:not(:disabled){background:#7c3aed1a}.cloud-menu__item:disabled{opacity:.5;cursor:wait}.cloud-menu__item-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.cloud-menu__item-name{flex:1}.cloud-menu__item-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:var(--color-background-muted);color:var(--color-text-muted)}.cloud-menu__item-tag.is-busy{background:#7c3aed24;color:#6d28d9}.cloud-menu__empty{margin:4px;padding:12px 10px;border-radius:8px;background:var(--color-background-muted);color:var(--color-text-muted);font-family:var(--font-family);font-size:12px;line-height:1.5;text-align:center}.cloud-menu__error{margin:6px 4px 0;padding:8px 10px;border-radius:8px;background:#dc262614;color:#b91c1c;font-family:var(--font-family);font-size:11px;line-height:1.4}.cloud-menu__foot{margin-top:6px;padding:8px 10px 4px;font-family:var(--font-family);font-size:11px;color:var(--color-text-muted);border-top:1px solid var(--color-border-light);line-height:1.4}.cb-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:cb-fade-in .2s ease-out}@keyframes cb-fade-in{0%{opacity:0}to{opacity:1}}.cb-dialog{width:100%;max-width:720px;max-height:calc(100vh - 40px);background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e52;display:flex;flex-direction:column;overflow:hidden;animation:cb-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes cb-popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.cb-backdrop,.cb-dialog{animation:none}}.cb-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 16px;border-bottom:1px solid var(--color-border)}.cb-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px}.cb-subtitle{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);margin:0}.cb-close{width:34px;height:34px;border:none;background:transparent;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease}.cb-close:hover:not(:disabled){background:#1f1b160f;color:var(--color-text)}.cb-close:disabled{opacity:.4;cursor:not-allowed}.cb-body{flex:1;overflow-y:auto;padding:18px 28px 22px}.cb-saved{margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed var(--color-border)}.cb-saved-label{font-family:var(--font-family);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:8px}.cb-saved-list{display:flex;flex-wrap:wrap;gap:6px}.cb-saved-chip{display:inline-flex;align-items:center;background:var(--color-surface);border:1px solid rgba(124,58,237,.35);border-radius:999px;overflow:hidden}.cb-saved-load{border:none;background:transparent;padding:5px 12px;font-family:var(--font-family);font-size:12px;font-weight:600;color:#6d28d9;cursor:pointer}.cb-saved-load:hover{background:#7c3aed1a}.cb-saved-del{border:none;background:transparent;width:20px;height:24px;font-size:14px;color:var(--color-text-muted);cursor:pointer}.cb-saved-del:hover{color:#dc2626}.cb-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.cb-empty{font-family:var(--font-family);font-size:13px;color:var(--color-text-muted);padding:24px 18px;text-align:center;border:1.5px dashed var(--color-border);border-radius:12px;background:var(--color-surface)}.cb-step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:12px 14px;position:relative}.cb-step-header{display:flex;align-items:center;gap:10px}.cb-step-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#7c3aed;color:#fff;font-family:var(--font-family);font-size:11px;font-weight:700;flex-shrink:0}.cb-step-name{flex:1;font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--color-text)}.cb-step-actions{display:flex;gap:2px}.cb-step-actions button{width:26px;height:26px;border:none;background:transparent;border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.cb-step-actions button:hover:not(:disabled){background:var(--color-background-subtle);color:var(--color-text)}.cb-step-actions button:disabled{opacity:.3;cursor:not-allowed}.cb-step-fields{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.cb-field{display:flex;flex-direction:column;gap:4px}.cb-field--row{flex-direction:row;align-items:center;gap:6px}.cb-field-label{font-family:var(--font-family);font-size:11px;font-weight:500;color:var(--color-text-muted);display:flex;justify-content:space-between;gap:8px}.cb-field-value{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:#6d28d9}.cb-input{width:100%;padding:6px 9px;font-family:var(--font-family);font-size:12px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface);color:var(--color-text)}.cb-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.cb-range{width:100%;accent-color:#7c3aed}.cb-step-bar{margin-top:10px;height:4px;background:#7c3aed24;border-radius:999px;overflow:hidden}.cb-step-bar-fill{height:100%;background:#7c3aed;transition:width .2s ease}.cb-add-wrap{margin-top:10px}.cb-add-trigger{width:100%;padding:12px;border:1.5px dashed rgba(124,58,237,.35);border-radius:11px;background:transparent;color:#6d28d9;font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cb-add-trigger:hover{background:#7c3aed0f;border-color:#7c3aed}.cb-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.cb-add-card{text-align:left;padding:12px 14px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;display:flex;flex-direction:column;gap:4px}.cb-add-card:hover{border-color:#7c3aed;background:#7c3aed0a;transform:translateY(-1px)}.cb-add-card strong{font-family:var(--font-family);font-size:13px;color:var(--color-text)}.cb-add-card span{font-family:var(--font-family);font-size:11px;color:var(--color-text-muted)}.cb-add-cancel{grid-column:1 / -1;padding:8px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-family);font-size:12px}.cb-add-cancel:hover{color:var(--color-text)}.cb-error{margin-top:12px;padding:10px 12px;background:#dc262614;color:#b91c1c;font-family:var(--font-family);font-size:12px;border-radius:8px}.cb-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px 18px;border-top:1px solid var(--color-border);background:var(--color-background-subtle);flex-wrap:wrap}.cb-file-row{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.cb-file-name{font-family:var(--font-family);font-size:12px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-file-clear{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:0}.cb-actions{display:flex;gap:8px;flex-wrap:wrap}.cb-btn{padding:8px 14px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cb-btn:hover:not(:disabled){background:var(--color-background-muted);border-color:#c8bdaf}.cb-btn:disabled{opacity:.4;cursor:not-allowed}.cb-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.cb-btn--primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.cb-save-form{display:flex;gap:6px;align-items:center}.cb-save-form .cb-input{width:180px}@media (max-width: 560px){.cb-header{padding:18px 20px 12px}.cb-body{padding:14px 20px 18px}.cb-footer{padding:12px 20px 14px}.cb-actions{width:100%}.cb-actions .cb-btn{flex:1}}.wmr-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:wmr-fade-in .2s ease-out}@keyframes wmr-fade-in{0%{opacity:0}to{opacity:1}}.wmr-dialog{width:100%;max-width:640px;max-height:calc(100vh - 40px);background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e52;display:flex;flex-direction:column;overflow:hidden;animation:wmr-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes wmr-popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.wmr-backdrop,.wmr-dialog{animation:none}}.wmr-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 14px}.wmr-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px}.wmr-subtitle{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);margin:0}.wmr-close{width:34px;height:34px;border:none;background:transparent;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.wmr-close:hover:not(:disabled){background:#1f1b160f;color:var(--color-text)}.wmr-close:disabled{opacity:.4;cursor:not-allowed}.wmr-warning{margin:0 28px 14px;padding:10px 14px;background:#f4b7402e;border:1px solid rgba(244,183,64,.4);border-radius:10px;font-family:var(--font-family);font-size:12px;color:#856404;line-height:1.5}.wmr-warning strong{color:#b45309}.wmr-body{flex:1;overflow-y:auto;padding:0 28px 14px}.wmr-pick{padding:8px 0}.wmr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:200px;border:1.5px dashed var(--color-border);border-radius:14px;background:var(--color-surface);cursor:pointer;font-family:var(--font-family);color:var(--color-text-secondary);gap:6px;transition:border-color .15s ease,background .15s ease}.wmr-drop:hover{border-color:#7c3aed;background:#7c3aed0a;color:var(--color-text)}.wmr-drop svg{color:#7c3aed}.wmr-drop span{font-size:14px;font-weight:500}.wmr-drop-sub{font-size:12px;color:var(--color-text-muted);font-weight:400}.wmr-file-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.wmr-file-name{font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--color-text);word-break:break-all}.wmr-file-size{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted);margin-top:2px}.wmr-link{border:none;background:transparent;color:#6d28d9;font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer}.wmr-link:hover{text-decoration:underline}.wmr-progress{display:flex;flex-direction:column;align-items:center;padding:32px 0;gap:14px}.wmr-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(124,58,237,.18);border-top-color:#7c3aed;animation:wmr-spin .9s linear infinite}@keyframes wmr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.wmr-spinner{animation-duration:2.5s}}.wmr-progress-label{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary)}.wmr-bar{width:220px;height:4px;background:#7c3aed24;border-radius:999px;overflow:hidden}.wmr-bar-fill{height:100%;background:#7c3aed;transition:width .2s ease}.wmr-review-stats{font-family:var(--font-family);font-size:12px;color:var(--color-text-secondary);margin-bottom:12px}.wmr-review-stats strong{color:var(--color-text)}.wmr-empty{font-family:var(--font-family);font-size:13px;color:var(--color-text-muted);padding:24px 18px;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:12px;text-align:center}.wmr-cand-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.wmr-cand{background:var(--color-surface);border:1px solid var(--color-border);border-radius:11px;transition:border-color .15s ease}.wmr-cand:has(input:checked){border-color:#7c3aed;background:#7c3aed0a}.wmr-cand label{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;cursor:pointer}.wmr-cand input{margin-top:4px;accent-color:#7c3aed;flex-shrink:0}.wmr-cand-body{flex:1;min-width:0}.wmr-cand-text{display:inline-block;font-family:var(--font-family);font-size:16px;font-weight:700;color:#1f1b16;letter-spacing:.04em;transform-origin:left center}.wmr-cand-meta{margin-top:4px;font-family:var(--font-family);font-size:11px;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.wmr-cand-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:2px 6px;border-radius:999px;background:#7c3aed24;color:#6d28d9}.wmr-done{text-align:center;padding:24px 0 12px}.wmr-done-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:#1b7f5a1f;color:#1b7f5a;margin-bottom:12px}.wmr-done-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--color-text);margin:0 0 6px}.wmr-done-sub{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary);max-width:420px;margin:0 auto}.wmr-error{margin-top:12px;padding:10px 12px;background:#dc262614;color:#b91c1c;font-family:var(--font-family);font-size:12px;border-radius:8px}.wmr-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px 18px;border-top:1px solid var(--color-border);background:var(--color-background-subtle)}.wmr-foot-count{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted)}.wmr-actions{display:flex;gap:8px;flex-wrap:wrap}.wmr-btn{padding:9px 14px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.wmr-btn:hover:not(:disabled){background:var(--color-background-muted);border-color:#c8bdaf}.wmr-btn:disabled{opacity:.4;cursor:not-allowed}.wmr-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.wmr-btn--primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}@media (max-width: 560px){.wmr-header{padding:18px 20px 12px}.wmr-warning{margin:0 20px 12px}.wmr-body{padding:0 20px 12px}.wmr-footer{padding:12px 20px 14px}}.pr-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:pr-fade-in .2s ease-out}@keyframes pr-fade-in{0%{opacity:0}to{opacity:1}}.pr-dialog{width:100%;max-width:880px;max-height:calc(100vh - 40px);background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e52;display:flex;flex-direction:column;overflow:hidden;animation:pr-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes pr-popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.pr-backdrop,.pr-dialog{animation:none}}.pr-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 14px}.pr-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px}.pr-subtitle{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);margin:0;max-width:600px}.pr-close{width:34px;height:34px;border:none;background:transparent;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pr-close:hover:not(:disabled){background:#1f1b160f;color:var(--color-text)}.pr-close:disabled{opacity:.4;cursor:not-allowed}.pr-warning{margin:0 28px 14px;padding:10px 14px;background:#dc262614;border:1px solid rgba(220,38,38,.3);border-radius:10px;font-family:var(--font-family);font-size:12px;color:#b91c1c;line-height:1.5}.pr-warning strong{color:#991b1b}.pr-body{flex:1;overflow-y:auto;padding:0 28px 14px}.pr-pick{padding:8px 0}.pr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:200px;border:1.5px dashed var(--color-border);border-radius:14px;background:var(--color-surface);cursor:pointer;font-family:var(--font-family);color:var(--color-text-secondary);gap:6px;transition:border-color .15s ease,background .15s ease}.pr-drop:hover{border-color:#7c3aed;background:#7c3aed0a;color:var(--color-text)}.pr-drop svg{color:#7c3aed}.pr-drop span{font-size:14px;font-weight:500}.pr-drop-sub{font-size:12px;color:var(--color-text-muted);font-weight:400}.pr-file-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.pr-file-name{font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--color-text);word-break:break-all}.pr-file-size{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted);margin-top:2px}.pr-link{border:none;background:transparent;color:#6d28d9;font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer}.pr-progress{display:flex;flex-direction:column;align-items:center;padding:32px 0;gap:14px}.pr-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(124,58,237,.18);border-top-color:#7c3aed;animation:pr-spin .9s linear infinite}@keyframes pr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.pr-spinner{animation-duration:2.5s}}.pr-progress-label{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary)}.pr-bar{width:220px;height:4px;background:#7c3aed24;border-radius:999px;overflow:hidden}.pr-bar-fill{height:100%;background:#7c3aed;transition:width .2s ease}.pr-editor{display:flex;flex-direction:column;gap:10px}.pr-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;font-family:var(--font-family);font-size:12px}.pr-tb-btn{padding:5px 10px;border-radius:7px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease}.pr-tb-btn:hover:not(:disabled){background:var(--color-background-subtle);border-color:#c8bdaf}.pr-tb-btn:disabled{opacity:.4;cursor:not-allowed}.pr-tb-btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.pr-tb-btn--ghost:hover{background:var(--color-background-subtle);color:var(--color-text)}.pr-tb-info{font-family:var(--font-family);font-size:12px;color:var(--color-text-secondary);padding:0 4px}.pr-tb-spacer{flex:1}.pr-tb-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted)}.pr-canvas-wrap{background:#2a2520;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:center;max-height:60vh;overflow:auto}.pr-canvas-stack{position:relative;display:inline-block;line-height:0}.pr-canvas{display:block;background:#fff;box-shadow:0 8px 24px #0006}.pr-overlay{position:absolute;inset:0;cursor:crosshair;user-select:none;touch-action:none}.pr-rect{position:absolute;background:#000000d9;border:1px solid #000;cursor:pointer;pointer-events:auto}.pr-rect--drawing{background:#0000008c;border:1px dashed #ffffff;cursor:crosshair;pointer-events:none}.pr-rect-del{position:absolute;top:-9px;right:-9px;width:18px;height:18px;border-radius:999px;border:1px solid #ffffff;background:#dc2626;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.pr-rect-del:hover{background:#b91c1c}.pr-done{text-align:center;padding:24px 0 12px}.pr-done-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:#1b7f5a1f;color:#1b7f5a;margin-bottom:12px}.pr-done-title{font-family:var(--font-family-display);font-weight:600;font-size:24px;color:var(--color-text);margin:0 0 6px}.pr-done-sub{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary);margin:0 auto;max-width:460px}.pr-error{margin-top:12px;padding:10px 12px;background:#dc262614;color:#b91c1c;font-family:var(--font-family);font-size:12px;border-radius:8px}.pr-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 28px 18px;border-top:1px solid var(--color-border);background:var(--color-background-subtle)}.pr-actions{display:flex;gap:8px;flex-wrap:wrap}.pr-btn{padding:9px 14px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pr-btn:hover:not(:disabled){background:var(--color-background-muted);border-color:#c8bdaf}.pr-btn:disabled{opacity:.4;cursor:not-allowed}.pr-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.pr-btn--primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}@media (max-width: 600px){.pr-header{padding:18px 20px 12px}.pr-warning{margin:0 20px 12px}.pr-body{padding:0 20px 12px}.pr-footer{padding:12px 20px 14px}}.ocr-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:ocr-fade-in .2s ease-out}@keyframes ocr-fade-in{0%{opacity:0}to{opacity:1}}.ocr-dialog{width:100%;max-width:580px;max-height:calc(100vh - 40px);background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e52;display:flex;flex-direction:column;overflow:hidden;animation:ocr-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes ocr-popup-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.ocr-backdrop,.ocr-dialog{animation:none}}.ocr-header{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 28px 14px}.ocr-title{font-family:var(--font-family-display);font-weight:600;font-size:22px;letter-spacing:-.01em;color:var(--color-text);margin:0 0 4px}.ocr-subtitle{font-family:var(--font-family);font-size:12px;color:var(--color-text-muted);margin:0;max-width:460px}.ocr-close{width:34px;height:34px;border:none;background:transparent;border-radius:9px;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ocr-close:hover:not(:disabled){background:#1f1b160f;color:var(--color-text)}.ocr-close:disabled{opacity:.4;cursor:not-allowed}.ocr-warning{margin:0 28px 14px;padding:10px 14px;background:#2f6f8f14;border:1px solid rgba(47,111,143,.3);border-radius:10px;font-family:var(--font-family);font-size:12px;color:var(--color-text-secondary);line-height:1.5}.ocr-warning strong{color:var(--color-text)}.ocr-body{flex:1;overflow-y:auto;padding:0 28px 14px}.ocr-pick{padding:8px 0}.ocr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:180px;border:1.5px dashed var(--color-border);border-radius:14px;background:var(--color-surface);cursor:pointer;font-family:var(--font-family);color:var(--color-text-secondary);gap:6px;transition:border-color .15s ease,background .15s ease}.ocr-drop:hover{border-color:#7c3aed;background:#7c3aed0a;color:var(--color-text)}.ocr-drop svg{color:#7c3aed}.ocr-drop span{font-size:14px;font-weight:500}.ocr-drop-sub{font-size:12px;color:var(--color-text-muted);font-weight:400}.ocr-file-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.ocr-file-name{font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--color-text);word-break:break-all}.ocr-file-size{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted);margin-top:2px}.ocr-link{border:none;background:transparent;color:#6d28d9;font-family:var(--font-family);font-size:12px;font-weight:600;cursor:pointer}.ocr-link:hover{text-decoration:underline}.ocr-language{margin-top:18px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.ocr-language label{display:block;font-family:var(--font-family);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:6px}.ocr-select{width:100%;padding:9px 11px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;cursor:pointer}.ocr-select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.ocr-language-note{margin:8px 0 0;font-family:var(--font-family);font-size:11px;color:var(--color-text-muted);line-height:1.5}.ocr-progress{display:flex;flex-direction:column;align-items:center;padding:32px 0 16px;gap:12px}.ocr-spinner{width:44px;height:44px;border-radius:50%;border:3px solid rgba(124,58,237,.18);border-top-color:#7c3aed;animation:ocr-spin .9s linear infinite}@keyframes ocr-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ocr-spinner{animation-duration:2.5s}}.ocr-progress-label{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary);text-align:center;max-width:320px}.ocr-progress-pct{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--color-text-muted)}.ocr-progress-eta{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-top:4px}.ocr-bar{width:280px;height:5px;background:#7c3aed24;border-radius:999px;overflow:hidden}.ocr-bar-fill{height:100%;background:#7c3aed;transition:width .2s ease}.ocr-progress-foot{margin:6px 0 0;font-family:var(--font-family);font-size:11px;color:var(--color-text-muted);text-align:center}.ocr-done{text-align:center;padding:24px 0 12px}.ocr-done-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;background:#1b7f5a1f;color:#1b7f5a;margin-bottom:12px}.ocr-done-title{font-family:var(--font-family-display);font-weight:600;font-size:22px;color:var(--color-text);margin:0 0 6px}.ocr-done-sub{font-family:var(--font-family);font-size:13px;color:var(--color-text-secondary);margin:0 auto;max-width:420px}.ocr-error{margin-top:12px;padding:10px 12px;background:#dc262614;color:#b91c1c;font-family:var(--font-family);font-size:12px;border-radius:8px}.ocr-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 28px 18px;border-top:1px solid var(--color-border);background:var(--color-background-subtle)}.ocr-actions{display:flex;gap:8px;flex-wrap:wrap}.ocr-btn{padding:9px 14px;border-radius:9px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ocr-btn:hover:not(:disabled){background:var(--color-background-muted);border-color:#c8bdaf}.ocr-btn:disabled{opacity:.4;cursor:not-allowed}.ocr-btn--primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.ocr-btn--primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}@media (max-width: 560px){.ocr-header{padding:18px 20px 12px}.ocr-warning{margin:0 20px 12px}.ocr-body{padding:0 20px 12px}.ocr-footer{padding:12px 20px 14px}}.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -4px 20px #0000001a;padding:1.25rem 1.5rem;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.consent-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.consent-text{flex:1;min-width:0}.consent-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--color-text, #1a1a1a)}.consent-description{margin:0;font-size:.9375rem;color:var(--color-text-secondary, #666);line-height:1.5}.consent-link{color:var(--color-accent, #2f6f8f);text-decoration:none;font-weight:500;transition:color .2s ease}.consent-link:hover{color:var(--color-accent, #2f6f8f);text-decoration:underline}.consent-actions{display:flex;gap:.75rem;flex-shrink:0}.consent-btn{padding:.625rem 1.5rem;border-radius:8px;border:none;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent}.consent-btn-primary{background:var(--color-accent, #2f6f8f);color:#fff;box-shadow:0 2px 8px #2f6f8f4d}.consent-btn-primary:hover{background:#256a82;transform:translateY(-1px);box-shadow:0 4px 12px #2f6f8f66}.consent-btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px #2f6f8f4d}.consent-btn-secondary{background:transparent;color:var(--color-text-secondary, #666);border:1px solid rgba(0,0,0,.15)}.consent-btn-secondary:hover{background:#0000000d;border-color:#0003}.consent-btn-secondary:active{background:#0000001a}[data-theme=dark] .consent-banner{background:#1e1e1ef2;border-top-color:#ffffff1a;box-shadow:0 -4px 20px #00000080}[data-theme=dark] .consent-title{color:#fff}[data-theme=dark] .consent-description{color:#a0a0a0}[data-theme=dark] .consent-btn-secondary{color:#a0a0a0;border-color:#fff3}[data-theme=dark] .consent-btn-primary{background:var(--color-accent, #5ab4d8);color:#1a1a1a}[data-theme=dark] .consent-btn-primary:hover{background:#6ac4e8}[data-theme=dark] .consent-btn-secondary:hover{background:#ffffff1a;border-color:#ffffff4d}@media (max-width: 768px){.consent-banner{padding:1rem 1.25rem}.consent-content{flex-direction:column;gap:1.25rem;align-items:stretch}.consent-actions{width:100%}.consent-btn{flex:1;padding:.75rem 1rem}}@media (max-width: 480px){.consent-banner{padding:1rem}.consent-title{font-size:1rem}.consent-description{font-size:.875rem}.consent-actions{flex-direction:column;gap:.625rem}.consent-btn{width:100%;padding:.75rem;font-size:.875rem}}@media (prefers-reduced-motion: reduce){.consent-banner{animation:none}.consent-btn{transition:none}.consent-btn-primary:hover,.consent-btn-primary:active{transform:none}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background);max-width:100vw;overflow-x:hidden}.app-header{position:sticky;top:0;z-index:50;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--color-border-light)}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-3) var(--space-6)}.header-left{flex-shrink:0}.logo-title{display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .2s ease}.logo-title:hover{opacity:.7}.header-right{display:flex;align-items:center;gap:var(--space-3)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{background:var(--color-background-subtle);color:var(--color-text);border-color:var(--color-border)}.theme-toggle:active{transform:scale(.92)}.upload-view{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-8);padding:var(--space-12) var(--space-8)}.upload-hero{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-12);align-items:start}.upload-left{display:flex;flex-direction:column;gap:var(--space-6)}.upload-right{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--space-4)}.upload-card{width:min(440px,100%);padding:var(--space-5);border-radius:var(--radius-2xl);background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xl);position:relative}.upload-right .app-banner{width:min(440px,100%)}.upload-card:before{content:"";position:absolute;inset:-12px;border-radius:calc(var(--radius-2xl) + 12px);background:radial-gradient(circle at top,rgba(47,111,143,.16),transparent 55%);z-index:-1}.upload-card-foot{display:flex;flex-direction:column;gap:var(--space-1);text-align:center;margin-top:var(--space-3)}.local-processing{margin-top:var(--space-3);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.local-processing svg{width:16px;height:16px}.upload-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:var(--radius-full);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);width:fit-content}.upload-headline{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin:0}.upload-tagline{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin:0;max-width:46ch}.privacy-note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.upload-steps{display:grid;gap:var(--space-2)}.step-card{display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-radius:0;background:transparent;border:none;box-shadow:none;border-left:2px solid rgba(47,111,143,.2);padding-left:var(--space-3)}.step-number{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-accent-light);color:var(--color-accent);font-weight:var(--font-weight-semibold);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.step-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.step-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.upload-metrics{display:flex;flex-wrap:wrap;gap:var(--space-3)}.metric{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:2px;min-width:140px}.upload-secondary{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-6);align-items:start}.metric-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.metric-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.layout-gallery{display:flex;flex-direction:column;gap:var(--space-3)}.layout-header{display:flex;flex-direction:column;gap:4px}.layout-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.layout-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.layout-card{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:var(--space-2);align-items:center;box-shadow:none}.layout-preview{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-2);background:var(--color-background-subtle);border-radius:var(--radius-md)}.layout-page{position:relative;width:120px;aspect-ratio:.72;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.layout-page:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(47,111,143,.2);border-radius:var(--radius-sm)}.layout-content{position:absolute;left:18px;right:18px;background:linear-gradient(180deg,#2f6f8f47,#2f6f8f1f);border-radius:var(--radius-sm)}.layout-content-tall{top:28px;height:70px}.layout-page.layout-a3{width:140px;aspect-ratio:.71}.layout-page.layout-letter{width:112px;aspect-ratio:.77}.layout-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.workspace-shell{flex:1;min-height:0;display:flex;flex-direction:column}.editor-layout{display:grid;grid-template-columns:180px 1fr clamp(200px,20vw,260px);flex:1;min-height:0;overflow:hidden}.pages-rail{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - var(--header-height));background:var(--color-surface);border-right:1px solid var(--color-border-light);overflow:hidden}.controls-rail{display:flex;flex-direction:column;gap:8px;padding:10px 10px 16px;background:var(--color-surface);border-left:1px solid var(--color-border-light);max-height:calc(100vh - var(--header-height));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.controls-rail::-webkit-scrollbar{width:5px}.controls-rail::-webkit-scrollbar-track{background:transparent}.controls-rail::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.controls-rail::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.stage-panel{display:flex;flex-direction:column;min-height:0;min-width:0;max-height:calc(100vh - var(--header-height));overflow:hidden;background:var(--color-background-muted);position:relative}.stage-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;z-index:5;min-height:48px}.stage-file{display:flex;align-items:center;gap:var(--space-3);min-width:0}.stage-file-name{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.stage-file-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.stage-meta-pill{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-background-subtle);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.pill-quality{background:var(--color-success-subtle, #d4edda);color:var(--color-success, #198754);font-weight:var(--font-weight-bold, 700);letter-spacing:.03em}[data-theme=dark] .pill-quality{background:#1987542e;color:#5dd99a}.pill-dpi{font-weight:var(--font-weight-bold, 700);letter-spacing:.02em}.pill-dpi-excellent,.pill-dpi-good{background:var(--color-success-subtle, #d4edda);color:var(--color-success, #198754)}.pill-dpi-acceptable{background:#ffc10726;color:#b8860b}.pill-dpi-poor{background:#ff980026;color:#e65100}.pill-dpi-very-poor{background:#dc35451f;color:#dc3545}[data-theme=dark] .pill-dpi-excellent,[data-theme=dark] .pill-dpi-good{background:#1987542e;color:#5dd99a}[data-theme=dark] .pill-dpi-acceptable{background:#ffc10726;color:#ffc107}[data-theme=dark] .pill-dpi-poor{background:#ff980026;color:#ff9800}[data-theme=dark] .pill-dpi-very-poor{background:#dc354526;color:#ff6b6b}.dpi-badge{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:var(--radius-full);background:#00000014;font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);vertical-align:middle}[data-theme=dark] .dpi-badge{background:#ffffff1a}.pages-saved{color:var(--color-success);font-weight:var(--font-weight-semibold)}.stage-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.stage-actions .btn{padding:6px 16px;font-size:13px;font-weight:600;border-radius:8px}.stage-notices{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-4);flex-shrink:0}.stage-preview{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-3)}.stage-footer{flex-shrink:0;padding:var(--space-2) var(--space-4);text-align:center}.panel-section{padding:12px 14px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 1px 2px #0000000a}.panel-title{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.controls-rail .panel-section:has(.btn-primary){position:sticky;bottom:0;z-index:4;margin-top:auto;background:color-mix(in srgb,var(--color-surface) 94%,transparent);backdrop-filter:blur(6px);border-color:var(--color-border)}.panel-hint{font-size:11px;color:var(--color-text-muted);margin:8px 0 0;line-height:1.5}.paper-size-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px}.paper-size-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:6px 4px;border-radius:6px;border:1px solid var(--color-border-light);background:var(--color-background-subtle);cursor:pointer;font-size:11px;font-weight:600;color:var(--color-text-secondary);transition:all .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.paper-size-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface)}.paper-size-chip input[type=radio]{position:absolute;opacity:0;pointer-events:none}.paper-size-chip.active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.fit-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);cursor:pointer;user-select:none;position:relative}.fit-toggle input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.fit-toggle-ui{position:relative;width:36px;height:20px;border-radius:var(--radius-full);background:var(--color-border);transition:background .2s ease;flex-shrink:0}.fit-toggle-ui:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:transform .2s ease}.fit-toggle input:checked+.fit-toggle-ui{background:var(--color-accent)}.fit-toggle input:checked+.fit-toggle-ui:after{transform:translate(16px)}.fit-toggle-text{color:var(--color-text-secondary);font-size:12px}.panel-footer{margin-top:auto;padding:12px 16px;border-top:1px solid var(--color-border-light)}.reset-btn{width:100%;padding:7px 12px;background:transparent;border:1px solid var(--color-border-light);border-radius:6px;font-size:12px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.reset-btn:hover{background:var(--color-background-muted);color:var(--color-text);border-color:var(--color-border)}.app-banner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-sm)}.app-banner.error{border-color:#dc354533;background:#dc35450f}.app-banner.warning{border-color:#f4b74040;background:var(--color-warning-soft)}.banner-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.banner-message{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.action-hint{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.app-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4) var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:center}.footer-scope{max-width:60ch}.footer-links{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.footer-links a{color:inherit;text-decoration:none}.footer-links a:hover{color:var(--color-text)}.footer-sep{color:var(--color-border)}.footer-version{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.mobile-toolbar{display:flex;gap:6px;padding:6px 12px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface);flex-shrink:0}.mobile-toolbar .btn{flex:1;padding:8px;font-size:13px;font-weight:600;border-radius:8px}.mobile-sheet-overlay{position:fixed;inset:0;z-index:100;background:#00000080;backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:overlay-in .2s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.mobile-sheet{width:100%;max-width:600px;max-height:80vh;background:var(--color-surface);border-radius:16px 16px 0 0;box-shadow:0 -4px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:sheetSlideUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-sheet-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.mobile-sheet-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--color-border)}.mobile-sheet-tabs{display:flex;gap:4px}.mobile-tab{padding:6px 14px;border-radius:var(--radius-full);border:1px solid transparent;background:var(--color-background-subtle);font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.mobile-tab.active{background:var(--color-accent);color:#fff}.mobile-tab:not(.active):hover{background:var(--color-background-muted)}.mobile-sheet-close{padding:6px 12px;background:transparent;border:none;font-size:13px;font-weight:600;color:var(--color-accent);cursor:pointer}.mobile-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.mobile-controls{display:flex;flex-direction:column;gap:0}.mobile-controls .panel-section{padding:14px 0;border-bottom:1px solid var(--color-border-light)}.mobile-controls .panel-section:first-child{padding-top:0}.mobile-controls .panel-section:last-child{border-bottom:none}.fit-suggestion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);background:var(--color-surface);box-shadow:var(--shadow-sm)}.fit-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.fit-text strong{color:var(--color-text)}@media (min-width: 1600px){.editor-layout,.workspace-shell{max-width:1600px;margin:0 auto}}@media (max-width: 1200px){.editor-layout{grid-template-columns:140px 1fr clamp(200px,24vw,260px)}}@media (max-width: 1024px){.upload-hero{grid-template-columns:1fr;gap:var(--space-8)}.upload-secondary{grid-template-columns:1fr}.upload-right{justify-content:stretch;order:-1;align-items:stretch}.upload-card{width:100%}.layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:120px 1fr clamp(180px,22vw,240px)}}@media (max-width: 860px) and (hover: none),(max-width: 720px){.header-content{padding:var(--space-2) var(--space-4)}.upload-view{padding:var(--space-6) var(--space-4);gap:var(--space-6)}.upload-headline{font-size:var(--font-size-2xl)}.upload-tagline{font-size:var(--font-size-base)}.editor-layout{grid-template-columns:1fr;overflow:visible;min-height:auto}.workspace-shell{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:36px}.stage-panel{max-height:none;overflow-x:hidden;overflow-y:visible;min-height:0;display:flex;flex-direction:column}.stage-preview{min-height:60vh;flex:1;padding:var(--space-2)}.stage-topbar{padding:6px 12px;gap:6px;min-height:44px}.stage-file{min-width:0;flex:1}.stage-file-name{max-width:100%;font-size:12px}.stage-file-meta{display:none}.stage-actions{flex-shrink:0;gap:4px}.stage-actions .btn{padding:6px 10px;font-size:12px}.stage-actions .btn-ghost{display:none}.stage-footer{padding:6px 12px}.mobile-toolbar{padding:6px 12px;gap:6px;border-top:1px solid var(--color-border-light)}.mobile-toolbar .btn{padding:10px;font-size:13px;font-weight:600}.mobile-sheet{max-height:85vh}@media (max-height: 600px){.mobile-sheet{max-height:70vh}.stage-preview{min-height:45vh}}.mobile-sheet-header{position:relative}.mobile-sheet-body{padding:20px 16px}.mobile-controls .panel-section{padding:16px 0}.stage-notices{padding:var(--space-2) var(--space-3);max-height:30vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-banner{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.fit-suggestion{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.fit-suggestion .btn{text-align:center}.status-bar{display:none}}@media (max-width: 480px){.header-content{padding:var(--space-2) var(--space-3)}.logo-title{font-size:var(--font-size-base)}.upload-view{padding:var(--space-4) var(--space-3);gap:var(--space-4)}.upload-headline{font-size:var(--font-size-xl)}.upload-badge{font-size:10px;padding:4px 8px}.layout-grid{grid-template-columns:1fr}.stage-preview{min-height:55vh}.stage-topbar{flex-direction:row;align-items:center;gap:4px;padding:6px 8px;min-height:40px}.stage-file-name{font-size:11px;max-width:16ch}.stage-actions{gap:3px}.stage-actions .btn{padding:5px 8px;font-size:11px}.stage-actions .btn-secondary{display:none}.mobile-toolbar{padding:6px 8px;gap:6px}.mobile-toolbar .btn{padding:10px;font-size:13px;font-weight:600}.mobile-sheet-body{padding:16px 12px}}.ios-install-banner{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #0000001a;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ios-install-content{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text)}.ios-install-content svg{flex-shrink:0;color:var(--color-accent)}.ios-install-dismiss{background:none;border:none;font-size:18px;color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.ios-install-dismiss:hover{background:var(--color-background-subtle);color:var(--color-text)}.skip-to-content{position:absolute;top:-100%;left:var(--space-4);z-index:1000;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;transition:top .2s ease}.upload-history-section{width:min(440px,100%);margin-top:var(--space-4)}.upload-history-section .export-history{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-3);box-shadow:var(--shadow-lg)}.upload-history-section .export-history-toggle{border-radius:var(--radius-lg)}.upload-history-section .export-history-list{background:var(--color-background-subtle);border-radius:var(--radius-lg)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cmp-overlay{position:fixed;inset:0;background:#0f121699;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:cmp-fade-in .18s ease}@keyframes cmp-fade-in{0%{opacity:0}to{opacity:1}}.cmp-modal{background:var(--color-surface);border-radius:12px;width:min(1100px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059;overflow:hidden}.cmp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-elevated, var(--color-surface));flex-shrink:0}.cmp-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--color-text);min-width:0}.cmp-filename{font-weight:400;color:var(--color-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}.cmp-close{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;transition:background .12s ease,color .12s ease}.cmp-close:hover{background:#0000000f;color:var(--color-text)}.cmp-body{flex:1;display:flex;align-items:stretch;min-height:0;background:var(--color-background-muted, #f4f4f4)}.cmp-pane{flex:1;display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;padding:16px}.cmp-divider{width:1px;background:var(--color-border-light);flex-shrink:0}.cmp-label{position:absolute;top:8px;left:12px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:#fff;pointer-events:none}.cmp-label-before{background:#64748b}.cmp-label-after{background:var(--color-accent, #2f6f8f)}.cmp-canvas-wrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;overflow:hidden}.cmp-canvas-wrap canvas{max-width:100%;max-height:100%;box-shadow:0 2px 12px #0000001a;background:#fff;border-radius:4px;display:block}.cmp-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border-top:1px solid var(--color-border-light);background:var(--color-surface-elevated, var(--color-surface));flex-shrink:0}.cmp-nav-btn{background:transparent;border:1px solid var(--color-border-light);border-radius:8px;width:32px;height:32px;cursor:pointer;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease}.cmp-nav-btn:hover:not(:disabled){background:#0000000a;border-color:var(--color-border)}.cmp-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cmp-pagenum{font-size:13px;color:var(--color-text);display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.cmp-diff-tag{font-size:10px;font-weight:600;color:#b45309;background:#fef3c7;padding:1px 6px;border-radius:999px}.cmp-error{flex:1;display:flex;align-items:center;justify-content:center;padding:32px;color:var(--color-text-muted);font-size:14px;text-align:center}@media (max-width: 720px){.cmp-modal{border-radius:0;width:100%;max-height:100vh;height:100%}.cmp-body{flex-direction:column}.cmp-divider{width:100%;height:1px}.cmp-pane{padding:12px}}.ptb-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.ptb-tool-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent, #2f6f8f);background:var(--color-accent-light, rgba(47, 111, 143, .1));padding:3px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0}.ptb-filename{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptb-meta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}.ptb-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ptb-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;color:var(--color-accent, #2f6f8f);background:var(--color-accent-light, rgba(47, 111, 143, .1));white-space:nowrap}.ptb-badge--warning{color:#b45309;background:#fef3c7}.ptb-badge--danger{color:#b91c1c;background:#fee2e2}.ptb-badge--neutral{color:var(--color-text-secondary);background:var(--color-background-subtle, rgba(0, 0, 0, .05))}.ptb-icon-btn,.ptb-icon-btn.tw-btn-ghost{display:inline-flex;align-items:center;gap:6px;width:auto;height:28px;padding-left:10px;padding-right:10px}.ptb-icon-btn .tw-btn-spin{margin:0}@media (max-width: 1100px){.ptb-icon-btn-label{display:none}.ptb-icon-btn{padding-left:8px;padding-right:8px}}.ptb-mobile-btn{flex-shrink:0}.ptb-undo-btn{width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tool-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 120px);background:var(--color-background);padding:var(--space-6)}.tool-header{text-align:center;max-width:640px;margin-bottom:var(--space-6)}.tool-title{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.tool-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.tool-upload-area{width:100%;max-width:600px;padding:var(--space-8) var(--space-6);border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center;cursor:pointer;transition:all .2s ease}.tool-upload-area:hover,.tool-upload-area.dragover{border-color:var(--color-accent);background:var(--color-accent-light)}.tool-upload-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--color-accent-light);color:var(--color-accent);margin:0 auto var(--space-3)}.tool-upload-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.tool-upload-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tool-privacy{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted)}.tool-privacy svg{width:14px;height:14px;flex-shrink:0}.tw-shell{flex:1;min-height:0;display:flex;flex-direction:column;height:calc(100vh - var(--header-height, 56px));height:calc(100dvh - var(--header-height, 56px))}.tw-layout{display:grid;grid-template-columns:170px minmax(0,1fr) clamp(240px,18vw,290px);flex:1;min-height:0;overflow:hidden}.tw-layout.tw-layout--wide{grid-template-columns:170px minmax(0,1fr) clamp(340px,24vw,380px)}.tw-sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--color-surface);border-right:1px solid var(--color-border-light);overflow:hidden}.tw-sidebar-header{padding:10px 14px;border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.tw-sidebar-title{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0}.tw-sidebar-body{flex:1;overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;position:relative}.tw-sidebar-footer{flex-shrink:0;height:18px;border-top:1px solid var(--color-border-light);background:var(--color-surface);position:relative;z-index:2}.tw-sidebar-footer:before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px;background:linear-gradient(to top,var(--color-surface),color-mix(in srgb,var(--color-surface) 0%,transparent));pointer-events:none}.tw-sidebar-footer__pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);background:var(--color-background-subtle);color:var(--color-text);font-weight:600;font-size:11px;font-variant-numeric:tabular-nums}.tw-sidebar-footer__nav{display:inline-flex;gap:2px}.tw-sidebar-footer__nav-btn{width:22px;height:22px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tw-sidebar-footer__nav-btn:hover:not(:disabled){background:var(--color-background-subtle);color:var(--color-text);border-color:var(--color-border-light)}.tw-sidebar-footer__nav-btn:disabled{opacity:.35;cursor:not-allowed}.tw-sidebar-body::-webkit-scrollbar{width:5px}.tw-sidebar-body::-webkit-scrollbar-track{background:transparent}.tw-sidebar-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.tw-main{display:flex;flex-direction:column;min-height:0;min-width:0;max-height:calc(100vh - var(--header-height, 56px));max-height:calc(100dvh - var(--header-height, 56px));overflow:hidden;background:var(--color-background-muted);position:relative}.tw-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;min-height:48px;z-index:5}.tw-topbar-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.tw-topbar-name{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.tw-topbar-meta{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-background-subtle);font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.tw-topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tw-preview{flex:1;min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-2) var(--space-3);position:relative}.tw-preview>*{max-width:100%;max-height:100%;width:auto;height:auto;display:flex;align-items:center;justify-content:center}.tw-preview canvas{display:block;border-radius:var(--radius-md);box-shadow:0 2px 16px #0000001a}.tw-preview img.tw-preview-img{border-radius:var(--radius-md);box-shadow:0 2px 16px #0000001a;object-fit:contain}.tw-preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-text-muted);font-size:var(--font-size-sm)}.tw-preview-placeholder svg{opacity:.3}.tw-footer{flex-shrink:0;padding:6px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border-light);background:var(--color-surface)}.tw-controls{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;background:var(--color-background-subtle);border-left:1px solid var(--color-border-light);max-height:calc(100vh - var(--header-height, 56px));max-height:calc(100dvh - var(--header-height, 56px));overflow-y:auto;overflow-x:hidden;padding:var(--space-3) var(--space-3) var(--space-5);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.tw-controls::-webkit-scrollbar{width:5px}.tw-controls::-webkit-scrollbar-track{background:transparent}.tw-controls::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.tw-panel{padding:var(--space-4) var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-paper);transition:box-shadow var(--transition-fast)}.tw-panel:hover{box-shadow:var(--shadow-paper-hover)}.tw-panel--sm{padding:var(--space-3) var(--space-3)}.tw-panel-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.tw-panel--sm .tw-panel-title{margin-bottom:var(--space-2);padding-bottom:var(--space-1)}.tw-panel-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.tw-panel-row:last-child{margin-bottom:0}.tw-panel-label{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text);min-width:0;overflow-wrap:anywhere;line-height:1.3}.tw-panel-help{font-size:11px;color:var(--color-text-muted);line-height:1.5;margin-top:var(--space-1)}.tw-panel-group{display:flex;flex-direction:column;gap:var(--space-3)}.tw-panel-group-title{font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:var(--space-1) var(--space-1) 0}.tw-panel-collapsible{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-paper);transition:box-shadow var(--transition-fast)}.tw-panel-collapsible:hover{box-shadow:var(--shadow-paper-hover)}.tw-panel-collapsible summary{list-style:none;cursor:pointer;padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid transparent;transition:color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.tw-panel-collapsible summary:before{content:"▸";display:inline-block;transition:transform var(--transition-fast);color:var(--color-accent);font-size:11px}.tw-panel-collapsible[open] summary:before{transform:rotate(90deg)}.tw-panel-collapsible summary:hover{color:var(--color-accent);background:var(--color-accent-light)}.tw-panel-collapsible summary::-webkit-details-marker{display:none}.tw-panel-collapsible[open] summary{border-bottom-color:var(--color-border-light);color:var(--color-accent)}.tw-panel-collapsible-body{padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.tw-controls .tw-panel:has(input[type=range]) .tw-panel-row{align-items:center;gap:var(--space-3)}.tw-controls input[type=range]{accent-color:var(--color-accent);cursor:pointer;min-width:0}.tw-input,.tw-select{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.tw-input:focus-visible,.tw-select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),0 0 0 4px var(--color-accent-light),0 2px 8px color-mix(in srgb,var(--color-accent) 12%,transparent)}.tw-input:hover:not(:focus-visible),.tw-select:hover:not(:focus-visible){border-color:var(--color-text-muted);box-shadow:0 1px 3px #0000000a}.tw-panel-actions,.tw-controls .tw-panel:has(>.tw-btn-primary){position:sticky;bottom:0;z-index:4;margin-top:auto;background:color-mix(in srgb,var(--color-surface) 94%,transparent);backdrop-filter:blur(6px);border-color:var(--color-border)}.tw-settings-group{padding:0 16px 12px}.tw-settings-group+.tw-settings-group{padding-top:12px;border-top:1px solid var(--color-border-light)}.tw-settings-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.tw-select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:13px;cursor:pointer;max-width:168px;min-width:0}.tw-panel-row>.tw-select,.tw-panel-row>.tw-input{flex:0 1 auto}.tw-input{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:13px;box-sizing:border-box;max-width:100%}.tw-thumb{position:relative;border-radius:var(--radius-md);border:2px solid transparent;overflow:hidden;cursor:pointer;transition:all .15s ease;margin-bottom:6px;background:#fff}[data-theme=dark] .tw-thumb{background:var(--color-background-subtle)}.tw-thumb:hover{border-color:var(--color-border)}.tw-thumb.active{border-color:var(--color-accent);box-shadow:0 0 0 2px #2f6f8f33}.tw-thumb.selected{border-color:var(--color-accent)}.tw-thumb-img{width:100%;display:block}.tw-thumb-badge{position:absolute;bottom:4px;left:4px;padding:1px 6px;border-radius:var(--radius-sm);background:#000000a6;color:#fff;font-size:10px;font-weight:600;line-height:1.4}.tw-thumb-check{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center}.tw-thumb-check svg{width:12px;height:12px}.tw-thumb-overlay{position:absolute;inset:0;background:#2f6f8f1f;pointer-events:none}.tw-thumb-removed{position:absolute;inset:0;background:#dc354526;display:flex;align-items:center;justify-content:center;pointer-events:none}.tw-thumb-removed svg{width:28px;height:28px;color:#dc354599}.tw-file-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-surface);margin-bottom:6px;cursor:pointer;transition:all .15s ease}.tw-file-item:hover{border-color:var(--color-border)}.tw-file-item.active{border-color:var(--color-accent);background:var(--color-accent-light)}.tw-file-thumb{width:36px;height:48px;border-radius:4px;overflow:hidden;flex-shrink:0;background:var(--color-background-muted)}.tw-file-thumb img{width:100%;height:100%;object-fit:cover}.tw-file-info{flex:1;min-width:0}.tw-file-name{font-size:12px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-file-meta{font-size:11px;color:var(--color-text-muted)}.tw-file-actions{display:flex;gap:2px;flex-shrink:0}.tw-btn{padding:8px 16px;border-radius:var(--radius-lg);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;width:100%}.tw-btn-primary{background:var(--color-accent);color:#fff}.tw-btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--color-accent) 30%,transparent)}.tw-btn-primary:active:not(:disabled){transform:scale(.98);box-shadow:0 2px 6px color-mix(in srgb,var(--color-accent) 20%,transparent);transition:transform 80ms ease}.tw-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.tw-btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.tw-btn-secondary:hover{background:var(--color-background-subtle);color:var(--color-text)}.tw-btn-sm{padding:4px 10px;font-size:12px;width:auto}.tw-btn-ghost{background:transparent;border:none;color:var(--color-text-muted);padding:6px;width:28px;height:28px;border-radius:var(--radius-md)}.tw-btn-ghost:hover{color:var(--color-text);background:var(--color-background-subtle)}.tw-btn-ghost:disabled{opacity:.3;cursor:not-allowed}.tw-btn-success{background:var(--color-success);color:#fff}.tw-btn-success:hover:not(:disabled){background:#157347}.tw-selection-bar{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tw-nav{display:flex;align-items:center;gap:8px}.tw-nav-btn{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border-light);color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.tw-nav-btn:hover:not(:disabled){background:var(--color-background-subtle);color:var(--color-text)}.tw-nav-btn:disabled{opacity:.3;cursor:not-allowed}.tw-nav-info{font-size:12px;font-weight:600;color:var(--color-text-secondary);min-width:60px;text-align:center}.tw-processing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffeb;backdrop-filter:blur(4px);z-index:10;gap:12px}[data-theme=dark] .tw-processing{background:#1e1e1eeb}.tw-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:tw-spin .8s linear infinite}.tw-processing-text{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.tw-progress-bar{width:200px;height:4px;border-radius:2px;background:var(--color-background-muted);overflow:hidden}.tw-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.tw-success-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#1b7f5a14;border-bottom:1px solid rgba(27,127,90,.2);flex-shrink:0;animation:tw-slide-in-down .3s cubic-bezier(.34,1.56,.64,1)}.tw-success-banner svg{animation:tw-checkmark-pop .4s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes tw-slide-in-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tw-checkmark-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}[data-theme=dark] .tw-success-banner{background:#1b7f5a1f}.tw-success-banner svg{color:var(--color-success);flex-shrink:0}.tw-success-text{flex:1;font-size:13px;font-weight:600;color:var(--color-success)}.tw-success-actions{display:flex;gap:6px;flex-shrink:0}.tw-error-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--color-error-light);border-bottom:1px solid color-mix(in srgb,var(--color-error) 20%,transparent);flex-shrink:0;font-size:13px;color:var(--color-error)}.tw-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:var(--space-3);overflow-y:auto;flex:1}.tw-result-card{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);background:var(--color-surface);padding:8px;text-align:center;cursor:pointer;transition:all .15s ease}.tw-result-card:hover{border-color:var(--color-accent);box-shadow:0 2px 8px #00000014}.tw-result-card img{width:100%;border-radius:4px;margin-bottom:6px}.tw-result-card-label{font-size:11px;font-weight:600;color:var(--color-text-secondary)}.tw-sheet-overlay{position:fixed;inset:0;z-index:100;background:#00000080;backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:tw-overlay-in .2s ease}@keyframes tw-overlay-in{0%{opacity:0}to{opacity:1}}.tw-sheet{width:100%;max-width:600px;max-height:80vh;background:var(--color-surface);border-radius:16px 16px 0 0;box-shadow:0 -4px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;animation:tw-sheet-up .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes tw-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tw-sheet-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.tw-sheet-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--color-border)}.tw-sheet-tabs{display:flex;gap:4px}.tw-sheet-tab{padding:6px 14px;border-radius:var(--radius-full);border:1px solid transparent;background:var(--color-background-subtle);font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.tw-sheet-tab.active{background:var(--color-accent);color:#fff}.tw-sheet-close{padding:6px 12px;background:transparent;border:none;font-size:13px;font-weight:600;color:var(--color-accent);cursor:pointer}.tw-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.tw-sheet-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.tw-sheet-thumbs:has(>.tw-sidebar-body){display:block;gap:0}.tw-sheet-thumbs>.tw-sidebar-header,.tw-sheet-thumbs>.tw-sidebar-footer{display:none}.tw-sheet-thumbs>.tw-sidebar-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;padding:0;overflow:visible}.tw-sheet-thumbs .tw-thumb{margin-bottom:0}.tw-sheet-controls .tw-panel{padding:12px;margin-bottom:8px}.tw-sheet-controls .tw-panel:first-child{padding-top:12px}.tw-sheet-controls .tw-panel-actions,.tw-sheet-controls .tw-panel:has(>.tw-btn-primary){position:sticky;bottom:0;z-index:3}@media (min-width: 1600px){.tw-layout{max-width:1600px;margin:0 auto}}@media (max-width: 1200px){.tw-layout{grid-template-columns:150px minmax(0,1fr) clamp(230px,20vw,270px)}.tw-layout.tw-layout--wide{grid-template-columns:150px minmax(0,1fr) clamp(300px,26vw,340px)}}@media (max-width: 1024px){.tw-layout{grid-template-columns:130px minmax(0,1fr) clamp(220px,22vw,260px)}.tw-layout.tw-layout--wide{grid-template-columns:130px minmax(0,1fr) clamp(290px,28vw,320px)}}@media (hover: hover) and (max-width: 900px){.tw-layout{grid-template-columns:108px minmax(0,1fr) clamp(180px,22vw,210px)}.tw-layout.tw-layout--wide{grid-template-columns:108px minmax(0,1fr) clamp(220px,26vw,260px)}}@media (max-width: 860px) and (hover: none),(max-width: 720px){.tw-layout{grid-template-columns:1fr;overflow:visible;min-height:auto}.tw-sidebar,.tw-controls{display:none}.tw-main{max-height:none;overflow-x:hidden;overflow-y:visible}.tw-preview{min-height:55vh;flex:1;padding:var(--space-2)}.tw-shell{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:36px;height:auto;min-height:calc(100vh - var(--header-height, 56px));min-height:calc(100dvh - var(--header-height, 56px))}.tw-mobile-bar{display:flex!important}.tw-topbar{padding:6px 12px;gap:6px;min-height:44px}.tw-topbar-name{max-width:100%;font-size:12px}.tw-topbar-meta{display:none}.tw-footer{padding:6px 12px}.tw-sheet{max-height:85vh}.tw-btn{min-height:44px;padding:var(--space-3) var(--space-4)}.tw-input,.tw-select{min-height:44px;padding:var(--space-3) var(--space-4);font-size:16px}.tool-page{padding:var(--space-4)}.tool-title{font-size:var(--font-size-xl)}.tool-upload-area{padding:var(--space-6) var(--space-4)}}@media (max-width: 768px){.tool-page{padding:var(--space-4) var(--space-3)}.tool-header h1{font-size:var(--font-size-xl)}.tool-header p{font-size:var(--font-size-sm)}.tool-upload-area{padding:var(--space-6) var(--space-4)}.tw-sheet{max-height:78vh}.tw-sheet-body .tw-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}}@media (max-width: 480px){.tool-page{padding:var(--space-3)}.tw-preview{min-height:50vh}.tw-topbar{padding:6px 8px;min-height:40px}.tw-topbar-name{font-size:11px;max-width:16ch}.tw-mobile-bar{padding:6px 8px}}@media (max-height: 600px) and (max-width: 860px) and (hover: none),(max-height: 600px) and (max-width: 720px){.tw-preview{min-height:40vh}.tw-sheet{max-height:70vh}}.tw-mobile-bar{display:none;gap:6px;padding:6px 12px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface);flex-shrink:0}.tw-mobile-bar .tw-btn{flex:1}.limitations-card{padding:var(--space-4);border-radius:var(--radius-xl);background:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.limitations-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary)}.limitations-list{margin:0;padding-left:18px;display:flex!important;flex-direction:column;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tw-btn-spin{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:tw-spin .65s linear infinite;flex-shrink:0;vertical-align:middle;margin-right:5px}.tw-btn-secondary .tw-btn-spin{border-color:#00000026;border-top-color:currentColor}@keyframes tw-spin{to{transform:rotate(360deg)}}.mg-arrange{width:100%}.mg-arrange-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-text-secondary);margin-bottom:14px;padding:0 2px;flex-wrap:wrap}.mg-arrange-head strong{color:var(--color-text);font-weight:700}.mg-arrange-loading{font-size:12px;color:var(--color-text-muted);font-style:italic}.mg-pagegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;align-content:start}.mg-pagetile{position:relative;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:8px;padding:6px;cursor:grab;transition:border-color .12s ease,box-shadow .12s ease;user-select:none}.mg-pagetile:hover{border-color:var(--color-border);box-shadow:0 4px 12px -6px #0003}.mg-pagetile:active{cursor:grabbing}.mg-pagetile-thumb{aspect-ratio:3 / 4;background:#fff;border:1px solid var(--color-border-light);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.mg-pagetile-thumb img{width:100%;height:100%;object-fit:contain;display:block}.mg-pagetile-blank{width:100%;height:100%;background:repeating-linear-gradient(45deg,#f4f4f4,#f4f4f4 6px,#eee 6px 12px)}.mg-pagetile-cap{display:flex;align-items:center;gap:6px;margin-top:6px;padding:0 2px}.mg-pagetile-num{font-size:11px;font-weight:700;color:#fff;background:var(--color-accent);border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0}.mg-pagetile-src{font-size:10px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mg-pagetile-del{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#1414148c;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease,background .12s ease}.mg-pagetile:hover .mg-pagetile-del{opacity:1}.mg-pagetile-del:hover{background:var(--color-danger, #b42318)}@media (pointer: coarse){.mg-pagetile-del{opacity:.9}}.pf-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-left:4px;vertical-align:middle}.pf-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--color-background-subtle, #f0f0f0);color:var(--color-text-muted, #888);font-size:10px;font-weight:700;cursor:help;border:1px solid var(--color-border-light, #e0e0e0);transition:all .15s ease;line-height:1;user-select:none}.pf-tooltip-icon:hover,.pf-tooltip-icon:focus-visible{background:var(--color-accent-light, #e6f0f5);color:var(--color-accent, #2f6f8f);border-color:var(--color-accent, #2f6f8f)}.pf-tooltip-bubble{position:absolute;z-index:9999;padding:6px 10px;border-radius:var(--radius-md, 6px);background:var(--color-text, #1a1a1a);color:#fff;font-size:11px;font-weight:500;line-height:1.45;white-space:normal;width:max-content;max-width:220px;box-shadow:0 4px 12px #0003;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.pf-tooltip-wrap:hover .pf-tooltip-bubble,.pf-tooltip-wrap:focus-within .pf-tooltip-bubble{opacity:1;transform:translateY(0)}.pf-tooltip-bubble--top{bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(4px)}.pf-tooltip-wrap:hover .pf-tooltip-bubble--top,.pf-tooltip-wrap:focus-within .pf-tooltip-bubble--top{transform:translate(-50%) translateY(0)}.pf-tooltip-bubble--right{left:calc(100% + 6px);top:50%;transform:translateY(-50%) translate(-4px)}.pf-tooltip-wrap:hover .pf-tooltip-bubble--right,.pf-tooltip-wrap:focus-within .pf-tooltip-bubble--right{transform:translateY(-50%) translate(0)}.pf-tooltip-bubble--bottom{top:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(-4px)}.pf-tooltip-wrap:hover .pf-tooltip-bubble--bottom,.pf-tooltip-wrap:focus-within .pf-tooltip-bubble--bottom{transform:translate(-50%) translateY(0)}[data-theme=dark] .pf-tooltip-bubble{background:var(--color-surface, #2a2a2a);border:1px solid var(--color-border, #444);color:var(--color-text, #eee)}.pzp-viewport{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.tw-preview>.pzp-viewport{max-width:none;max-height:none;width:100%;height:100%;flex:1}.pzp-stage{display:flex;align-items:center;justify-content:center;transform-origin:center center;will-change:transform;cursor:default;transition:cursor .12s ease}.pzp-stage.pzp-zoomed{cursor:grab}.pzp-stage.pzp-panning{cursor:grabbing;transition:none}.pzp-stage>*{max-width:none;max-height:none}.pzp-pan-hint{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;color:var(--color-text, #1a1a1a);background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:999px;box-shadow:0 4px 14px #0000001a;pointer-events:none;z-index:5;animation:pzp-hint-fade .18s ease}@keyframes pzp-hint-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.pzp-pan-hint{background:#1e1e1eeb;border-color:#ffffff1a;color:#ffffffe6}}.pzp-controls{position:absolute;bottom:12px;right:12px;display:flex;gap:4px;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:4px;box-shadow:0 4px 14px #0000001a;z-index:5}.pzp-btn{border:none;background:transparent;color:var(--color-text, #1a1a1a);font-size:13px;font-weight:600;min-width:28px;height:28px;padding:0 8px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease;font-family:inherit}.pzp-btn:hover:not(:disabled){background:#0000000f}.pzp-btn:disabled{opacity:.4;cursor:not-allowed}.pzp-btn-reset{min-width:48px;font-variant-numeric:tabular-nums;font-size:12px}@media (prefers-color-scheme: dark){.pzp-controls{background:#1e1e1ef2;border-color:#ffffff1a}.pzp-btn{color:#ffffffe6}.pzp-btn:hover:not(:disabled){background:#ffffff14}}.psp{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.psp__label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.psp__chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.psp__chip{flex:1 1 calc(33.333% - 4px);min-width:0;padding:5px 6px;border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.psp__chip:hover:not(.psp__chip--active){border-color:var(--color-border);background:var(--color-background-subtle);color:var(--color-text)}.psp__chip--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.psp__chip:focus-visible{outline:none;box-shadow:0 0 0 1px var(--color-accent),0 0 0 4px var(--color-accent-light)}.psp__row{display:flex;align-items:center;gap:var(--space-2)}.psp__row--range{width:100%}.psp__sublabel{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.psp__suffix{font-size:12px;color:var(--color-text-muted)}.psp__num{width:70px;text-align:center}.psp__range{width:100%}.psp__range--err{border-color:var(--color-error);box-shadow:0 0 0 1px var(--color-error)}.psp__summary{font-size:11px;color:var(--color-text-muted);line-height:1.5}.psp__summary--err{color:var(--color-error);font-weight:500}.psp--compact .psp__chip{padding:4px 8px;font-size:11px;min-width:36px}.psp--compact .psp__label{font-size:10px}.ff{display:flex;align-items:flex-start;gap:6px;margin-top:4px;padding:6px 10px;border-radius:var(--radius-md);font-size:11px;line-height:1.4;border:1px solid transparent}.ff__icon{display:inline-flex;flex-shrink:0;margin-top:1px}.ff__text{flex:1;min-width:0;word-wrap:break-word}.ff--error{color:var(--color-error);background:var(--color-error-light);border-color:color-mix(in srgb,var(--color-error) 22%,transparent)}.ff--warn{color:#8a5a00;background:color-mix(in srgb,#f5a623 14%,transparent);border-color:color-mix(in srgb,#f5a623 32%,transparent)}[data-theme=dark] .ff--warn{color:#f5c77a;background:color-mix(in srgb,#f5a623 18%,transparent)}.ff--help{color:var(--color-text-secondary);background:var(--color-background-subtle);border-color:var(--color-border-light)}.wlv2{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-paper);overflow:hidden;display:flex;flex-direction:column;min-height:0;color:var(--color-text);font-family:var(--font-family)}.tw-controls:has(>.wlv2){padding:0;background:transparent;border-left:1px solid var(--color-border-light);overflow:hidden;gap:0}.tw-controls>.wlv2{flex:1;min-height:0;border-radius:0;border:none;box-shadow:none}.wlv2__tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;padding:10px 10px 0;background:var(--color-background-subtle)}.wlv2__tab{padding:9px 10px;font-size:12.5px;font-weight:600;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:color .15s ease,background .15s ease;font-family:inherit}.wlv2__tab:hover{color:var(--color-text)}.wlv2__tab.is-active{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-light)}.wlv2__tab svg{flex-shrink:0}.wlv2__scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 14px 18px;border-top:1px solid var(--color-border-light);background:var(--color-surface);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.wlv2__scroll::-webkit-scrollbar{width:6px}.wlv2__scroll::-webkit-scrollbar-track{background:transparent}.wlv2__scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.wlv2__panel{display:flex;flex-direction:column;gap:12px}.wlv2__field{display:flex;flex-direction:column;gap:6px;min-width:0}.wlv2__field>label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:8px}.wlv2__suffix{color:var(--color-text-muted);font-weight:500;text-transform:none;letter-spacing:0;font-size:11px;font-variant-numeric:tabular-nums}.wlv2__field input[type=text],.wlv2__field input[type=number],.wlv2__field select{width:100%;padding:8px 10px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:13px;color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.wlv2__field input[type=text]:focus,.wlv2__field input[type=number]:focus,.wlv2__field select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.wlv2__field input[type=text]:disabled{background:var(--color-background-subtle);color:var(--color-text-muted);cursor:not-allowed}.wlv2__row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wlv2__color-cell{display:flex;gap:6px;align-items:center}.wlv2__color-cell input[type=color]{width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:2px;cursor:pointer;flex-shrink:0}.wlv2__color-cell input[type=text]{flex:1;min-width:0;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:12px}.wlv2 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:var(--color-border);outline:none;margin:8px 0 4px;cursor:pointer}.wlv2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-accent);cursor:pointer;box-shadow:var(--shadow-sm)}.wlv2 input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-accent);cursor:pointer}.wlv2 input[type=range]:disabled{opacity:.45;cursor:not-allowed}.wlv2__switch{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;text-transform:none;letter-spacing:0;user-select:none}.wlv2__switch input{display:none}.wlv2__switch-slider{width:30px;height:18px;border-radius:999px;background:var(--color-border);position:relative;transition:background .15s ease;flex-shrink:0}.wlv2__switch-slider:after{content:"";position:absolute;width:14px;height:14px;top:2px;left:2px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .15s ease}.wlv2__switch input:checked+.wlv2__switch-slider{background:var(--color-accent)}.wlv2__switch input:checked+.wlv2__switch-slider:after{transform:translate(12px)}.wlv2__pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:var(--color-background-subtle);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.wlv2__pos-grid button{aspect-ratio:1.4 / 1;border:1px solid var(--color-border-light);background:var(--color-surface);border-radius:var(--radius-sm);position:relative;cursor:pointer;transition:all .1s ease;padding:0}.wlv2__pos-grid button:after{content:"";position:absolute;width:5px;height:5px;background:var(--color-text-muted);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.5}.wlv2__pos-grid button:hover{background:var(--color-background);border-color:var(--color-border)}.wlv2__pos-grid button.is-active{background:var(--color-accent);border-color:var(--color-accent);box-shadow:inset 0 0 0 2px #ffffff4d}.wlv2__pos-grid button.is-active:after{background:#fff;opacity:1}.wlv2__seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.wlv2__seg button{background:transparent;border:none;padding:6px 8px;font-size:12px;font-weight:600;color:var(--color-text-muted);border-radius:calc(var(--radius-md) - 2px);transition:background .15s ease,color .15s ease;cursor:pointer;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wlv2__seg button:hover{color:var(--color-text)}.wlv2__seg button.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm),0 0 0 1px var(--color-border-light)}.wlv2__seg.is-tight button{padding:5px 6px;font-size:11.5px}.wlv2__seg.is-font button{font-size:12px}.wlv2__divider{height:1px;background:var(--color-border-light);margin:4px 0 6px}.wlv2__section-head{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em;color:var(--color-text-secondary);margin:14px 0 6px;display:flex;align-items:center;gap:10px}.wlv2__section-head:after{content:"";flex:1;height:1px;background:var(--color-border-light)}.wlv2__dropfile{display:block;border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:14px;text-align:center;background:var(--color-background-subtle);cursor:pointer;transition:background .15s ease,border-color .15s ease}.wlv2__dropfile:hover{background:var(--color-background);border-color:var(--color-accent)}.wlv2__dropfile-inner{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--color-text-secondary);font-size:12.5px}.wlv2__stamp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.wlv2__stamp{padding:10px;background:var(--color-surface);color:var(--c, var(--color-text));border:2px solid var(--c, var(--color-text));border-radius:var(--radius-sm);font-weight:800;font-size:11.5px;letter-spacing:.12em;font-family:var(--font-family-display);transition:transform .08s ease,background .15s ease;cursor:pointer}.wlv2__stamp:hover{transform:scale(1.02);background:var(--color-background-subtle)}.wlv2__note{margin:0;font-size:11px;color:var(--color-text-muted);font-style:italic;line-height:1.45}.wlv2__footer{padding:10px 14px 12px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,var(--color-surface) 40%);border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:8px}.wlv2__btn{width:100%;padding:10px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}.wlv2__btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--color-accent) 22%,transparent)}.wlv2__btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--color-accent) 30%,transparent)}.wlv2__btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.wlv2__btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.wlv2__btn--ghost:hover{background:var(--color-background-subtle)}.wlv2__error{font-size:11px;color:var(--color-error);background:var(--color-error-light);border:1px solid color-mix(in srgb,var(--color-error) 22%,transparent);border-radius:var(--radius-sm);padding:6px 10px;line-height:1.45;display:flex;align-items:flex-start;gap:6px}.crop-overlay{position:relative;display:inline-block;line-height:0;touch-action:none}.crop-canvas{display:block}.crop-dim{position:absolute;background:#0000006b;pointer-events:none;transition:top .05s linear,bottom .05s linear,left .05s linear,right .05s linear,width .05s linear,height .05s linear}.crop-dim-top{top:0;left:0;right:0}.crop-dim-bottom{bottom:0;left:0;right:0}.crop-dim-left{left:0}.crop-dim-right{right:0}.crop-rect{position:absolute;border:2px dashed var(--color-accent, #2f6f8f);box-shadow:0 0 0 1px #fff6 inset;pointer-events:none}.crop-handle{position:absolute;pointer-events:auto;touch-action:none}.crop-handle-move{inset:14px;cursor:move}.crop-edge{background:transparent}.crop-edge-top{top:-7px;left:14px;right:14px;height:14px;cursor:ns-resize}.crop-edge-bottom{bottom:-7px;left:14px;right:14px;height:14px;cursor:ns-resize}.crop-edge-left{left:-7px;top:14px;bottom:14px;width:14px;cursor:ew-resize}.crop-edge-right{right:-7px;top:14px;bottom:14px;width:14px;cursor:ew-resize}.crop-corner{width:14px;height:14px;background:#fff;border:2px solid var(--color-accent, #2f6f8f);border-radius:50%;box-shadow:0 1px 3px #00000040}.crop-corner-tl{top:-7px;left:-7px;cursor:nwse-resize}.crop-corner-tr{top:-7px;right:-7px;cursor:nesw-resize}.crop-corner-bl{bottom:-7px;left:-7px;cursor:nesw-resize}.crop-corner-br{bottom:-7px;right:-7px;cursor:nwse-resize}.crop-corner:hover,.crop-corner:active{background:var(--color-accent, #2f6f8f);border-color:#fff}.crop-edge-top:hover,.crop-edge-bottom:hover{background:linear-gradient(to bottom,transparent 5px,rgba(47,111,143,.35) 5px,rgba(47,111,143,.35) 9px,transparent 9px)}.crop-edge-left:hover,.crop-edge-right:hover{background:linear-gradient(to right,transparent 5px,rgba(47,111,143,.35) 5px,rgba(47,111,143,.35) 9px,transparent 9px)}@media (pointer: coarse){.crop-handle-move{inset:22px}.crop-edge-top,.crop-edge-bottom{height:22px;top:-11px;left:22px;right:22px}.crop-edge-bottom{top:auto;bottom:-11px}.crop-edge-left,.crop-edge-right{width:22px;left:-11px;top:22px;bottom:22px}.crop-edge-right{left:auto;right:-11px}.crop-corner{width:22px;height:22px}.crop-corner-tl{top:-11px;left:-11px}.crop-corner-tr{top:-11px;right:-11px}.crop-corner-bl{bottom:-11px;left:-11px}.crop-corner-br{bottom:-11px;right:-11px}}:root{--ps-sev-high-fg: #b42318;--ps-sev-high-bg: #fef3f2;--ps-sev-high-bor: #fecdca;--ps-sev-med-fg: #b54708;--ps-sev-med-bg: #fffaeb;--ps-sev-med-bor: #fedf89;--ps-sev-low-fg: #175cd3;--ps-sev-low-bg: #eff8ff;--ps-sev-low-bor: #b9e6fe;--ps-sev-ok-fg: #067647;--ps-sev-ok-bg: #ecfdf3;--ps-sev-ok-bor: #abefc6}.tool-page.ps-page{max-width:880px;margin:0 auto;padding:var(--space-6) var(--space-5) 120px}.ps-processing{display:flex;align-items:center;justify-content:center;min-height:50vh}.ps-processing-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.ps-processing-spinner{width:36px;height:36px;border:3px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:ps-spin .9s linear infinite}@keyframes ps-spin{to{transform:rotate(360deg)}}.ps-processing-step{font-size:14px;color:var(--color-text-secondary);min-height:20px}.ps-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.ps-page-header-left{min-width:0;flex:1}.ps-page-title{font-size:22px;font-weight:700;margin:0 0 6px;color:var(--color-text);letter-spacing:-.01em}.ps-file-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);flex-wrap:wrap}.ps-file-name{font-weight:500;color:var(--color-text);max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-file-dot{opacity:.45}.ps-cleaned-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;background:var(--ps-sev-ok-bg);color:var(--ps-sev-ok-fg);border:1px solid var(--ps-sev-ok-bor);font-size:11px;font-weight:600}.ps-cleaned-pill svg{width:12px;height:12px}.ps-page-header-actions{display:flex;gap:6px;flex-wrap:wrap}.ps-iconbtn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ps-iconbtn:hover:not(:disabled){background:var(--color-background-subtle, rgba(0,0,0,.04));border-color:var(--color-border-strong, var(--color-border))}.ps-iconbtn:disabled{opacity:.5;cursor:not-allowed}.ps-hero{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);align-items:center;padding:24px 28px;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-surface);margin-bottom:var(--space-5);position:relative;overflow:hidden}.ps-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-accent)}.ps-hero-good:before{background:var(--ps-sev-ok-fg)}.ps-hero-mid:before{background:var(--ps-sev-med-fg)}.ps-hero-risk:before{background:var(--ps-sev-high-fg)}.ps-hero-grade{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 20px;border-right:1px solid var(--color-border-light);min-width:110px}.ps-hero-grade-letter{font-size:56px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--color-text);font-feature-settings:"tnum" 1}.ps-hero-good .ps-hero-grade-letter{color:var(--ps-sev-ok-fg)}.ps-hero-mid .ps-hero-grade-letter{color:var(--ps-sev-med-fg)}.ps-hero-risk .ps-hero-grade-letter{color:var(--ps-sev-high-fg)}.ps-hero-grade-score{margin-top:8px;font-size:13px;font-weight:600;color:var(--color-text-secondary);font-feature-settings:"tnum" 1}.ps-hero-grade-score span{font-weight:400;color:var(--color-text-muted)}.ps-hero-body{min-width:0}.ps-hero-headline{font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:6px;letter-spacing:-.005em}.ps-hero-verdict{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.55;max-width:60ch}.ps-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--color-text-muted)}.ps-hero-meta span{display:inline-flex;align-items:center;gap:4px}.ps-hero-meta svg{width:12px;height:12px;opacity:.7}.ps-hero-meta-dot{opacity:.4}.ps-hero-meta-warn{color:var(--ps-sev-med-fg);font-weight:600}.ps-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:var(--space-4);font-size:13px}.ps-banner-error{background:var(--ps-sev-high-bg);color:var(--ps-sev-high-fg);border:1px solid var(--ps-sev-high-bor)}.ps-banner-info{background:var(--ps-sev-low-bg);color:var(--ps-sev-low-fg);border:1px solid var(--ps-sev-low-bor)}.ps-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ps-spin .7s linear infinite}.ps-group{margin-bottom:var(--space-5)}.ps-group-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:10px;padding:0 4px}.ps-group-title{font-size:14px;font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.005em}.ps-group-count{font-weight:500;color:var(--color-text-muted);font-size:12px}.ps-group-hint{margin:2px 0 0;font-size:12px;color:var(--color-text-muted)}.ps-group-toggle{background:transparent;border:none;color:var(--color-accent);font-size:12px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s ease;flex-shrink:0}.ps-group-toggle:hover{background:var(--color-accent-light, rgba(47, 111, 143, .08))}.ps-rows{display:flex;flex-direction:column;gap:6px}.ps-row{position:relative;display:grid;grid-template-columns:4px 28px 1fr auto;gap:12px;align-items:center;padding:12px 14px 12px 0;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-surface);overflow:hidden;transition:border-color .12s ease,background .12s ease}.ps-row.is-checked{border-color:var(--color-accent);background:var(--color-accent-light, rgba(47, 111, 143, .04))}.ps-row-stripe{width:4px;height:100%;align-self:stretch}.ps-row-high .ps-row-stripe{background:var(--ps-sev-high-fg)}.ps-row-medium .ps-row-stripe{background:var(--ps-sev-med-fg)}.ps-row-low .ps-row-stripe{background:var(--ps-sev-low-fg)}.ps-row-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--color-background-subtle, rgba(0,0,0,.04));color:var(--color-text-secondary);flex-shrink:0}.ps-row-high .ps-row-icon{background:var(--ps-sev-high-bg);color:var(--ps-sev-high-fg)}.ps-row-medium .ps-row-icon{background:var(--ps-sev-med-bg);color:var(--ps-sev-med-fg)}.ps-row-low .ps-row-icon{background:var(--ps-sev-low-bg);color:var(--ps-sev-low-fg)}.ps-row-body{min-width:0}.ps-row-title{font-size:13.5px;font-weight:600;color:var(--color-text);line-height:1.35}.ps-row-desc{margin-top:2px;font-size:12px;color:var(--color-text-secondary);line-height:1.45;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ps-row-aside{display:flex;align-items:center;gap:10px;flex-shrink:0}.ps-sev{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;text-transform:lowercase;letter-spacing:.01em;padding:2px 8px;border-radius:999px;border:1px solid transparent}.ps-sev-high{background:var(--ps-sev-high-bg);color:var(--ps-sev-high-fg);border-color:var(--ps-sev-high-bor)}.ps-sev-medium{background:var(--ps-sev-med-bg);color:var(--ps-sev-med-fg);border-color:var(--ps-sev-med-bor)}.ps-sev-low{background:var(--ps-sev-low-bg);color:var(--ps-sev-low-fg);border-color:var(--ps-sev-low-bor)}.ps-toggle{position:relative;display:inline-block;width:34px;height:20px;cursor:pointer;flex-shrink:0}.ps-toggle input{position:absolute;opacity:0;pointer-events:none}.ps-toggle-track{position:absolute;inset:0;background:var(--color-border);border-radius:999px;transition:background .16s ease}.ps-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .16s cubic-bezier(.34,1.4,.64,1);box-shadow:0 1px 3px #0003}.ps-toggle input:checked+.ps-toggle-track{background:var(--color-accent)}.ps-toggle input:checked+.ps-toggle-track .ps-toggle-thumb{transform:translate(14px)}.ps-toggle:hover .ps-toggle-thumb{box-shadow:0 1px 4px #0000004d}.ps-toggle input:focus-visible+.ps-toggle-track{outline:2px solid var(--color-accent);outline-offset:2px}.ps-row-readonly .ps-row-aside .ps-toggle{display:none}.ps-sample{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;padding:1px 6px;margin:0 4px 2px 0;background:var(--color-background-subtle, rgba(0,0,0,.05));color:var(--color-text-secondary);border-radius:4px;border:1px solid var(--color-border-light)}.ps-sample-more{font-size:11.5px;color:var(--color-text-muted);font-style:italic;margin-left:2px}.ps-note{font-size:12px;color:var(--color-text-muted);font-style:italic;margin:-8px 4px 16px}.ps-passed{margin-bottom:var(--space-5);border:1px solid var(--color-border-light);border-radius:10px;background:var(--color-surface);overflow:hidden}.ps-passed-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:none;cursor:pointer;color:var(--ps-sev-ok-fg);font-size:13px;font-weight:600;text-align:left;transition:background .12s ease}.ps-passed-toggle:hover{background:var(--ps-sev-ok-bg)}.ps-passed-toggle>svg:first-child{flex-shrink:0;width:16px;height:16px;padding:3px;background:var(--ps-sev-ok-bg);border-radius:50%}.ps-passed-toggle>span{flex:1}.ps-chev{color:var(--color-text-muted);transition:transform .16s ease;flex-shrink:0}.ps-chev.open{transform:rotate(180deg)}.ps-passed-list{list-style:none;padding:4px 14px 14px 44px;margin:0;display:flex;flex-direction:column;gap:4px}.ps-passed-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);padding:4px 0}.ps-passed-list li svg{width:12px;height:12px;color:var(--ps-sev-ok-fg);flex-shrink:0}.ps-actionbar{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #00000014,0 2px 8px #0000000a;margin-top:var(--space-5);z-index:10;flex-wrap:wrap}.ps-actionbar-count{font-size:13px;color:var(--color-text-secondary)}.ps-actionbar-count strong{color:var(--color-text);font-weight:700;font-feature-settings:"tnum" 1}.ps-actionbar-actions{display:flex;gap:8px;align-items:center}.ps-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,transform .06s ease}.ps-btn:active:not(:disabled){transform:scale(.98)}.ps-btn-primary{background:var(--color-accent);color:#fff}.ps-btn-primary:hover:not(:disabled){background:var(--color-accent-strong, var(--color-accent));filter:brightness(.95)}.ps-btn-primary:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.ps-btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.ps-btn-secondary:hover:not(:disabled){background:var(--color-background-subtle, rgba(0,0,0,.04))}.ps-btn-spin{width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ps-spin .7s linear infinite}.ps-disclaimer{margin-top:var(--space-6);font-size:11px;color:var(--color-text-muted);text-align:center;line-height:1.6;max-width:60ch;margin-left:auto;margin-right:auto}@media (prefers-color-scheme: dark){:root{--ps-sev-high-bg: #2d1011;--ps-sev-high-bor: #5a1f20;--ps-sev-med-bg: #2d1f08;--ps-sev-med-bor: #5b3c10;--ps-sev-low-bg: #0c2236;--ps-sev-low-bor: #1b446b;--ps-sev-ok-bg: #0f2a1c;--ps-sev-ok-bor: #1f5536}.ps-actionbar{box-shadow:0 8px 24px #0006,0 2px 8px #0003}}@media (max-width: 720px){.tool-page.ps-page{padding:var(--space-4) var(--space-3) 140px}.ps-hero{grid-template-columns:1fr;padding:20px;gap:var(--space-3)}.ps-hero-grade{border-right:none;border-bottom:1px solid var(--color-border-light);padding:0 0 16px;flex-direction:row;gap:14px;align-items:baseline;justify-content:flex-start}.ps-hero-grade-letter{font-size:44px}.ps-row{grid-template-columns:4px 24px 1fr;grid-template-rows:auto auto;padding:10px 12px 10px 0;gap:8px}.ps-row-aside{grid-column:2 / 4;padding-left:32px;justify-content:flex-start}.ps-page-header{flex-direction:column;align-items:stretch}.ps-page-header-actions{overflow-x:auto;flex-wrap:nowrap}.ps-iconbtn{flex-shrink:0}.ps-actionbar{flex-direction:column;align-items:stretch}.ps-actionbar-actions{flex-direction:column-reverse}.ps-btn{justify-content:center}}.tw-preview:has(.md-preview){overflow-y:auto!important;overflow-x:hidden!important;align-items:flex-start!important;justify-content:flex-start!important;display:block!important;padding:var(--space-4)!important}.tw-preview>.md-preview{max-height:none!important;display:block!important;align-items:initial!important;justify-content:initial!important;height:auto!important}.md-preview{width:100%;max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-8);background:#fff;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000f,0 8px 24px #00000012;min-height:300px;color:#1f1b16;line-height:1.7;word-break:break-word;-webkit-font-smoothing:antialiased}[data-theme=dark] .md-preview{background:var(--color-surface-elevated);color:var(--color-text);box-shadow:0 1px 3px #0003,0 8px 24px #00000040}.md-preview h1{font-size:2em;font-weight:700;margin:0 0 16px;padding-bottom:.3em;border-bottom:2px solid var(--color-border-light, #eee);line-height:1.3}.md-preview h2{font-size:1.5em;font-weight:600;margin:1.5em 0 .5em;padding-bottom:.25em;border-bottom:1px solid var(--color-border-light, #eee);line-height:1.35}.md-preview h3{font-size:1.25em;font-weight:600;margin:1.2em 0 .4em;line-height:1.4}.md-preview h4,.md-preview h5,.md-preview h6{font-size:1em;font-weight:600;margin:1em 0 .3em}.md-preview p{margin:0 0 16px;line-height:1.7}.md-preview strong{font-weight:700}.md-preview em{font-style:italic}.md-preview a{color:var(--color-accent, #0366d6);text-decoration:underline;text-underline-offset:2px}.md-preview a:hover{color:var(--color-accent-hover, #0550ae)}.md-preview ul,.md-preview ol{margin:0 0 16px;padding-left:2em}.md-preview li{margin-bottom:6px;line-height:1.6}.md-preview li>p{margin-bottom:8px}.md-preview ul ul,.md-preview ol ol,.md-preview ul ol,.md-preview ol ul{margin-bottom:0;margin-top:4px}.md-preview li input[type=checkbox]{margin-right:6px;vertical-align:middle;accent-color:var(--color-accent)}.md-preview code:not(pre code){background:#0000000d;padding:2px 7px;border-radius:4px;font-size:.88em;font-family:SFMono-Regular,Menlo,Courier New,monospace;word-break:break-word}[data-theme=dark] .md-preview code:not(pre code){background:#ffffff14}.md-preview pre{padding:16px 20px;border-radius:8px;overflow-x:auto;font-size:13px;line-height:1.55;font-family:SFMono-Regular,Menlo,Courier New,monospace;margin:0 0 20px;white-space:pre;word-break:normal;-webkit-overflow-scrolling:touch;tab-size:4}.md-preview pre{background:#f6f8fa;color:#24292e;border:1px solid rgba(0,0,0,.04)}.md-preview.code-dark pre{background:#1e1e1e;color:#d4d4d4;border:1px solid rgba(255,255,255,.06)}.md-preview.code-monokai pre{background:#272822;color:#f8f8f2;border:1px solid rgba(255,255,255,.06)}.md-preview.code-solarized pre{background:#fdf6e3;color:#657b83;border:1px solid rgba(0,0,0,.06)}.md-preview pre code{background:none;padding:0;border-radius:0;font-size:inherit;color:inherit}.md-preview blockquote{border-left:4px solid var(--color-accent, #2f6f8f);padding:4px 16px;margin:0 0 16px;color:#57606a;background:#00000004;border-radius:0 6px 6px 0}[data-theme=dark] .md-preview blockquote{color:var(--color-text-secondary);background:#ffffff05}.md-preview blockquote p:last-child{margin-bottom:0}.md-preview table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:.92em;border-radius:6px;overflow:hidden;border:1px solid #d8dee4}.md-preview th{font-weight:600;background:#f6f8fa;text-align:left;padding:8px 14px;border-bottom:2px solid #d8dee4}.md-preview td{padding:8px 14px;border-bottom:1px solid #d8dee4}.md-preview tr:last-child td{border-bottom:none}.md-preview tr:nth-child(2n){background:#00000004}[data-theme=dark] .md-preview th{background:var(--color-background-subtle);border-color:var(--color-border)}[data-theme=dark] .md-preview td,[data-theme=dark] .md-preview table{border-color:var(--color-border)}.md-preview hr{border:none;border-top:2px solid var(--color-border-light, #eee);margin:32px 0}.md-preview img{max-width:100%;height:auto;border-radius:6px;margin:8px 0;box-shadow:0 2px 8px #00000014}.md-preview.font-sans{font-family:Helvetica Neue,Arial,-apple-system,sans-serif}.md-preview.font-serif{font-family:Georgia,Times New Roman,Palatino,serif}.md-preview.font-mono{font-family:SFMono-Regular,Menlo,Courier New,monospace}.md-preview.size-small{font-size:12px}.md-preview.size-medium{font-size:14px}.md-preview.size-large{font-size:16px}.md-preview.size-xlarge{font-size:18px}.md-preview:empty:after{content:"Preview will appear here...";color:var(--color-text-muted);font-style:italic;display:block;text-align:center;padding:48px 0}.md-preview pre::-webkit-scrollbar{height:6px}.md-preview pre::-webkit-scrollbar-track{background:transparent}.md-preview pre::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.tw-preview:has(.docx-preview){overflow-y:auto!important;overflow-x:hidden!important;align-items:flex-start!important;justify-content:flex-start!important;display:block!important;padding:var(--space-4)!important}.tw-preview>.docx-preview{max-height:none!important;display:block!important;align-items:initial!important;justify-content:initial!important;height:auto!important}.docx-preview{width:100%;max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-8);background:#fff;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000f,0 8px 24px #00000012;min-height:300px;color:#1f1b16;line-height:1.7;word-break:break-word;-webkit-font-smoothing:antialiased}[data-theme=dark] .docx-preview{background:var(--color-surface-elevated);color:var(--color-text);box-shadow:0 1px 3px #0003,0 8px 24px #00000040}.docx-preview h1{font-size:2em;font-weight:700;margin:0 0 16px;padding-bottom:.3em;border-bottom:2px solid var(--color-border-light, #eee);line-height:1.3}.docx-preview h2{font-size:1.5em;font-weight:600;margin:1.5em 0 .5em;padding-bottom:.25em;border-bottom:1px solid var(--color-border-light, #eee);line-height:1.35}.docx-preview h3{font-size:1.25em;font-weight:600;margin:1.2em 0 .4em;line-height:1.4}.docx-preview h4,.docx-preview h5,.docx-preview h6{font-size:1em;font-weight:600;margin:1em 0 .3em}.docx-preview p{margin:0 0 16px;line-height:1.7}.docx-preview strong{font-weight:700}.docx-preview em{font-style:italic}.docx-preview a{color:var(--color-accent, #0366d6);text-decoration:underline;text-underline-offset:2px}.docx-preview a:hover{color:var(--color-accent-hover, #0550ae)}.docx-preview ul,.docx-preview ol{margin:0 0 16px;padding-left:2em}.docx-preview li{margin-bottom:6px;line-height:1.6}.docx-preview li>p{margin-bottom:8px}.docx-preview table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:.92em;border:1px solid #d8dee4}.docx-preview th{font-weight:600;background:#f6f8fa;text-align:left;padding:8px 14px;border-bottom:2px solid #d8dee4}.docx-preview td{padding:8px 14px;border-bottom:1px solid #d8dee4}.docx-preview tr:last-child td{border-bottom:none}.docx-preview tr:nth-child(2n){background:#00000004}[data-theme=dark] .docx-preview th{background:var(--color-background-subtle);border-color:var(--color-border)}[data-theme=dark] .docx-preview td,[data-theme=dark] .docx-preview table{border-color:var(--color-border)}.docx-preview img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}.docx-preview blockquote{border-left:4px solid var(--color-accent, #2f6f8f);padding:4px 16px;margin:0 0 16px;color:#57606a;background:#00000004;border-radius:0 6px 6px 0}[data-theme=dark] .docx-preview blockquote{color:var(--color-text-secondary);background:#ffffff05}.docx-preview blockquote p:last-child{margin-bottom:0}.docx-preview hr{border:none;border-top:2px solid var(--color-border-light, #eee);margin:32px 0}.docx-preview.font-sans{font-family:Helvetica Neue,Arial,-apple-system,sans-serif}.docx-preview.font-serif{font-family:Georgia,Times New Roman,Palatino,serif}.docx-preview.font-mono{font-family:SFMono-Regular,Menlo,Courier New,monospace}.docx-preview.size-small{font-size:12px}.docx-preview.size-medium{font-size:14px}.docx-preview.size-large{font-size:16px}.docx-preview.size-xlarge{font-size:18px}.docx-disclaimer{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;background:var(--color-warning-light, #fff8e6);border:1px solid var(--color-warning-border, #f0d860);border-radius:var(--radius-md);font-size:12px;line-height:1.5;color:var(--color-warning-text, #7a6200);margin-bottom:var(--space-3)}[data-theme=dark] .docx-disclaimer{background:#f0d86014;border-color:#f0d86040;color:#e8d04a}.docx-disclaimer svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.docx-warnings{padding:8px 12px;background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:11px;color:var(--color-text-muted);max-height:80px;overflow-y:auto}.docx-warnings summary{cursor:pointer;font-weight:600;font-size:12px;color:var(--color-text-secondary)}.docx-warnings ul{margin:4px 0 0;padding-left:18px}.docx-warnings li{margin-bottom:2px}.docx-preview:empty:after{content:"Preview will appear here...";color:var(--color-text-muted);font-style:italic;display:block;text-align:center;padding:48px 0}.vp-toolbar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;min-height:44px;z-index:10;flex-wrap:wrap}.vp-toolbar-group{display:flex;align-items:center;gap:4px}.vp-toolbar-divider{width:1px;height:24px;background:var(--color-border-light);margin:0 4px;flex-shrink:0}.vp-toolbar-btn{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;flex-shrink:0;position:relative}.vp-toolbar-btn:hover:not(:disabled){background:var(--color-background-subtle);border-color:var(--color-border-light);color:var(--color-text)}.vp-toolbar-btn:active:not(:disabled){transform:scale(.95)}.vp-toolbar-btn:disabled{opacity:.3;cursor:not-allowed}.vp-toolbar-btn.active{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.vp-toolbar-btn svg{width:16px;height:16px}.vp-page-input{width:42px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:12px;font-weight:600;text-align:center}.vp-page-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.vp-page-total{font-size:12px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;user-select:none}.vp-zoom-select{padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer;min-width:80px}.vp-zoom-select:focus{outline:none;border-color:var(--color-accent)}.vp-file-name{font-size:13px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:20ch;flex-shrink:1;min-width:0}.vp-file-meta{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.vp-toolbar-spacer{flex:1;min-width:8px}.vp-body{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.vp-sidebar{width:180px;display:flex;flex-direction:column;min-height:0;background:var(--color-surface);border-right:1px solid var(--color-border-light);flex-shrink:0;transition:width .2s ease,opacity .2s ease}.vp-sidebar.hidden{width:0;opacity:0;overflow:hidden;border-right:none}.vp-sidebar-header{padding:8px 12px;border-bottom:1px solid var(--color-border-light);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.vp-sidebar-title{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.vp-sidebar-body{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.vp-sidebar-body::-webkit-scrollbar{width:5px}.vp-sidebar-body::-webkit-scrollbar-track{background:transparent}.vp-sidebar-body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.vp-sidebar-thumb{position:relative;border-radius:var(--radius-md);border:2px solid transparent;overflow:hidden;cursor:pointer;transition:all .15s ease;margin-bottom:6px;background:#fff}[data-theme=dark] .vp-sidebar-thumb{background:var(--color-background-subtle)}.vp-sidebar-thumb:hover{border-color:var(--color-border)}.vp-sidebar-thumb.active{border-color:var(--color-accent);box-shadow:0 0 0 2px #2f6f8f33}.vp-sidebar-thumb img{width:100%;display:block}.vp-sidebar-badge{position:absolute;bottom:4px;left:4px;padding:1px 6px;border-radius:var(--radius-sm);background:#000000a6;color:#fff;font-size:10px;font-weight:600;line-height:1.4}.vp-canvas-area{flex:1;min-width:0;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:var(--space-4);background:var(--color-background-muted);scroll-behavior:smooth;position:relative}.vp-page-wrapper{position:relative;margin-bottom:var(--space-4);flex-shrink:0}.vp-page-wrapper canvas{display:block;border-radius:var(--radius-md);box-shadow:0 2px 16px #0000001a}.vp-text-layer{position:absolute;inset:0;overflow:hidden;line-height:1;pointer-events:all}.vp-text-layer>span{color:transparent;position:absolute;white-space:pre;transform-origin:0% 0%;pointer-events:all;cursor:text}.vp-link-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.vp-link-layer .vp-link{position:absolute;pointer-events:auto;cursor:pointer;border-radius:2px}.vp-link-layer .vp-link:hover{background:#2f6f8f29;box-shadow:0 0 0 1px #2f6f8f66}.vp-outline-backdrop{position:absolute;inset:0;background:#00000047;z-index:30}.vp-outline-panel{position:absolute;top:0;left:0;bottom:0;width:min(320px,82vw);z-index:31;background:var(--color-background, #f6f2ec);border-right:1px solid var(--color-border, #d8d2c8);box-shadow:4px 0 24px #0000001f;display:flex;flex-direction:column;animation:vp-outline-in .18s ease-out}@keyframes vp-outline-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.vp-outline-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 16px;border-bottom:1px solid var(--color-border-light, #e3ddd2);font-family:var(--font-family-display, "Fraunces", Georgia, serif);font-size:15px;font-weight:600;color:var(--color-text, #1f1b16)}.vp-outline-body{overflow-y:auto;padding:8px 8px 24px}.vp-outline-list{list-style:none;margin:0;padding:0}.vp-outline-item{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 10px;font-size:13.5px;line-height:1.35;color:var(--color-text-secondary, #5c5449);cursor:pointer;border-radius:6px}.vp-outline-item:hover{background:var(--color-accent-light, rgba(47, 111, 143, .1));color:var(--color-accent, #2f6f8f)}.vp-text-layer>span::selection{background:#2f6f8f59}.vp-text-layer>span::-moz-selection{background:#2f6f8f59}.vp-text-layer .highlight{background:#ffd50080;border-radius:2px}.vp-text-layer .highlight.active{background:#ff8c00b3}.vp-search-bar{position:absolute;top:8px;right:12px;z-index:20;display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001f;animation:vp-slide-in .15s ease}@keyframes vp-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.vp-search-input{width:200px;padding:5px 10px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:13px}.vp-search-input:focus{outline:none;border-color:var(--color-accent)}.vp-search-count{font-size:11px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;min-width:40px;text-align:center}.vp-search-btn{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.vp-search-btn:hover{color:var(--color-text);background:var(--color-background-subtle)}.vp-search-btn svg{width:14px;height:14px}.vp-tools-panel{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 4px 24px #00000026;animation:vp-fade-up .2s ease;flex-wrap:wrap;justify-content:center;max-width:calc(100% - 32px)}@media (hover: hover) and (min-width: 721px){.vp-body:has(.vp-sidebar:not(.hidden)) .vp-tools-panel{left:calc(50% + 90px)}}@keyframes vp-fade-up{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.vp-tool-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border-light);background:var(--color-surface);color:var(--color-text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.vp-tool-chip:hover{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 8px #2f6f8f26}.vp-tool-chip svg{width:13px;height:13px;flex-shrink:0}.vp-shell:fullscreen,.vp-shell:-webkit-full-screen{background:var(--color-background)}.vp-shell:fullscreen .vp-canvas-area,.vp-shell:-webkit-full-screen .vp-canvas-area{background:var(--color-background-muted)}@media (max-width: 860px) and (hover: none),(max-width: 720px){.vp-toolbar{padding:6px 8px;gap:4px}.vp-sidebar,.vp-sidebar-toggle{display:none}.vp-file-name{max-width:12ch}.vp-search-input{width:140px}.vp-tools-panel{bottom:8px;padding:6px 8px;gap:4px}.vp-tool-chip{font-size:10px;padding:4px 8px}.vp-zoom-select{min-width:64px;font-size:11px}.vp-page-input{width:36px}.vp-toolbar-divider{display:none}}@media print{.vp-toolbar,.vp-sidebar,.vp-search-bar,.vp-tools-panel{display:none!important}.vp-canvas-area{overflow:visible!important;padding:0!important}.vp-page-wrapper{page-break-after:always;margin:0!important}.vp-page-wrapper canvas{box-shadow:none!important;border-radius:0!important}.vp-text-layer{display:none!important}}.sign-tabs{display:flex;gap:2px;background:var(--color-background-muted);border-radius:var(--radius-md);padding:2px}.sign-tab{flex:1;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:12px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;text-align:center}.sign-tab:hover{color:var(--color-text)}.sign-tab.active{background:var(--color-surface);color:var(--color-accent);box-shadow:0 1px 3px #00000014}.sign-draw-area{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;overflow:hidden;touch-action:none}[data-theme=dark] .sign-draw-area{background:#fff}.sign-draw-canvas{display:block;width:100%;cursor:crosshair}.sign-draw-actions{display:flex;gap:4px;padding:6px;border-top:1px solid var(--color-border-light);background:var(--color-surface)}.sign-draw-actions button{flex:1}.sign-type-input{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:14px;box-sizing:border-box}.sign-type-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.sign-type-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;min-height:60px;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}[data-theme=dark] .sign-type-preview{background:#fff}.sign-type-text{font-size:28px;color:#000;white-space:nowrap;user-select:none}.sign-font-options{display:flex;flex-direction:column;gap:4px}.sign-font-option{display:flex;align-items:center;padding:6px 10px;border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:all .15s ease;font-size:18px;color:#000}.sign-font-option:hover{border-color:var(--color-border);background:var(--color-background-subtle)}.sign-font-option.active{border-color:var(--color-accent);background:var(--color-accent-light)}.sign-image-drop{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:20px;text-align:center;cursor:pointer;transition:all .15s ease;color:var(--color-text-muted);font-size:13px}.sign-image-drop:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.sign-image-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px;background:#fff;text-align:center}[data-theme=dark] .sign-image-preview{background:#fff}.sign-image-preview img{max-width:100%;max-height:80px;object-fit:contain}.sign-color-swatches{display:flex;gap:6px}.sign-color-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease;padding:0}.sign-color-swatch:hover{transform:scale(1.1)}.sign-color-swatch.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.sign-placement-wrap{position:relative;display:inline-block}.sign-placement-overlay{position:absolute;inset:0;overflow:hidden}.sign-placed{position:absolute;cursor:grab;user-select:none;touch-action:none;z-index:2}.sign-placed:active{cursor:grabbing}.sign-placed img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.sign-placed-active{outline:2px solid var(--color-accent);outline-offset:2px}.sign-resize-handle{position:absolute;bottom:-4px;right:-4px;width:12px;height:12px;background:var(--color-accent);border:2px solid #ffffff;border-radius:2px;cursor:nwse-resize;z-index:3;touch-action:none}.sign-placed-delete{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:var(--color-error, #dc3545);color:#fff;border:2px solid #ffffff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;padding:0;line-height:1}.sign-placed-delete:hover{background:#c82333}.sign-date-label{position:absolute;bottom:-2px;left:calc(100% + 6px);font-size:10px;color:#000;white-space:nowrap;pointer-events:none;font-family:Helvetica,Arial,sans-serif}.sign-count-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-accent-light);font-size:11px;font-weight:600;color:var(--color-accent)}.sign-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);cursor:pointer}.sign-checkbox-row input[type=checkbox]{accent-color:var(--color-accent);width:16px;height:16px;cursor:pointer}.ep-toolbar{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);flex-shrink:0;overflow-x:auto}.ep-toolbar-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.ep-toolbar-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.ep-toolbar-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.ep-toolbar-btn svg{flex-shrink:0}.ep-canvas-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.ep-canvas{display:block;border-radius:var(--radius-md);box-shadow:0 2px 16px #0000001a}.ep-overlay{position:absolute;top:0;left:0;cursor:crosshair;touch-action:none}.ep-draw-canvas{position:absolute;top:0;left:0;pointer-events:none}.ep-draw-canvas.active{pointer-events:auto;cursor:crosshair}.ep-object{position:absolute;cursor:move;user-select:none;box-sizing:border-box;touch-action:none}.ep-object.selected{outline:2px solid var(--color-accent);outline-offset:1px}.ep-object.selected .ep-handle{display:block}.ep-handle{display:none;position:absolute;width:10px;height:10px;background:var(--color-accent);border:1.5px solid #fff;border-radius:2px;z-index:2;touch-action:none}@media (pointer: coarse){.ep-handle{width:18px;height:18px}}.ep-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.ep-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.ep-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.ep-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.ep-del-btn{position:absolute;top:-12px;right:-12px;width:22px;height:22px;border-radius:50%;border:1.5px solid #fff;background:#ef4444;color:#fff;font-size:13px;font-weight:700;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:3;line-height:1;padding:0}.ep-object.selected .ep-del-btn{display:flex}.ep-text-box{min-width:40px;min-height:24px;padding:2px 4px;outline:none;white-space:pre-wrap;word-break:break-word;line-height:1.3}.ep-text-box:focus{background:#ffffffb3}.ep-img-obj img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.ep-shape-rect{border:2px solid #000;box-sizing:border-box}.ep-shape-circle{border:2px solid #000;border-radius:50%;box-sizing:border-box}.ep-highlight{pointer-events:auto}.ep-stroke-preview{position:absolute;top:0;left:0;pointer-events:none}.ep-pro-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid rgba(124,58,237,.25);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.ep-pro-banner-icon{width:32px;height:32px;border-radius:8px;background:#7c3aed;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ep-pro-banner-text{flex:1}.ep-pro-banner-title{font-size:13px;font-weight:700;color:#6d28d9;margin-bottom:2px}.ep-pro-banner-sub{font-size:11px;color:#7c3aed}.ep-pro-banner-btn{padding:6px 14px;border-radius:var(--radius-lg);border:none;background:#7c3aed;color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease}.ep-pro-banner-btn:hover{background:#6d28d9}.ep-obj-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-accent-light);color:var(--color-accent);font-size:11px;font-weight:600}[data-theme=dark] .ep-pro-banner{background:linear-gradient(135deg,#1e1b2e,#2d2640);border-color:#7c3aed59}[data-theme=dark] .ep-pro-banner-title{color:#c4b5fd}[data-theme=dark] .ep-pro-banner-sub{color:#a78bfa}[data-theme=dark] .ep-text-box:focus{background:#0006}@media (max-width: 860px) and (hover: none),(max-width: 720px){.ep-toolbar{padding:4px 8px;gap:3px}.ep-toolbar-btn{padding:5px 8px;font-size:11px}}.ff-shell{display:flex;flex-direction:column;max-width:1400px;margin:0 auto;padding:20px 16px 48px}.ff-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;background:var(--color-background-muted, #faf7f2);border:1px solid var(--color-border, #e8e4de);border-radius:12px;margin-bottom:12px}.ff-topbar-info{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.ff-topbar-name{font-weight:600;color:var(--color-text, #1f1b16);font-size:14px}.ff-topbar-meta{font-size:12px;color:var(--color-text-muted, #8a847f)}.ff-topbar-actions{flex-shrink:0}.ff-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px}@media (max-width: 960px){.ff-layout{grid-template-columns:1fr}}.ff-preview{display:flex;flex-direction:column;background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e8e4de);border-radius:12px;overflow:hidden}.ff-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--color-border, #e8e4de);background:var(--color-background-muted, #faf7f2)}.ff-nav-label{font-size:12px;color:var(--color-text-muted, #8a847f);text-align:center;flex:1}.ff-canvas-wrap{padding:20px;display:flex;justify-content:center;align-items:flex-start;background:var(--color-background-muted, #faf7f2);min-height:400px}.ff-canvas{max-width:100%;height:auto;box-shadow:0 1px 2px #1f1b160a,0 8px 24px #1f1b1614;background:#fff}.ff-fields{display:flex;flex-direction:column;background:var(--color-background, #ffffff);border:1px solid var(--color-border, #e8e4de);border-radius:12px;max-height:calc(100vh - 200px);min-height:500px}.ff-fields-head{padding:14px 16px;border-bottom:1px solid var(--color-border, #e8e4de)}.ff-fields-title{font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:600;color:var(--color-text, #1f1b16);letter-spacing:-.01em}.ff-fields-sub{font-size:12px;color:var(--color-text-muted, #8a847f);margin-top:2px}.ff-fields-body{flex:1;overflow-y:auto;padding:6px 10px}.ff-page-group{margin:4px 0;border-radius:8px;overflow:hidden}.ff-page-group[open]{background:var(--color-background-muted, #faf7f2)}.ff-page-group>summary{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;list-style:none;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--color-text, #1f1b16);text-transform:uppercase}.ff-page-group>summary::-webkit-details-marker{display:none}.ff-page-group>summary:hover{background:#2f6f8f0a}.ff-page-count{font-weight:500;font-size:11px;color:var(--color-text-muted, #8a847f);text-transform:none;letter-spacing:0}.ff-page-fields{padding:4px 10px 12px;display:flex;flex-direction:column;gap:10px}.ff-field{display:flex;flex-direction:column;gap:4px}.ff-field-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text, #1f1b16);font-weight:500}.ff-field-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-field-required{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#b04635;padding:1px 6px;background:#b0463514;border-radius:3px}.ff-field-readonly{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted, #8a847f);padding:1px 6px;background:#8a847f14;border-radius:3px}.ff-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted, #5d5652)}.ff-fields-footer{padding:14px 16px;border-top:1px solid var(--color-border, #e8e4de);display:flex;flex-direction:column;gap:10px}.ff-flatten-row{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--color-text, #1f1b16);line-height:1.5}.ff-flatten-hint{display:block;font-size:11px;color:var(--color-text-muted, #8a847f);font-weight:400;margin-top:2px}.ff-output-row{display:flex;align-items:center;gap:6px}.ff-output-ext{font-size:13px;color:var(--color-text-muted, #8a847f)}.ff-save-btn{margin-top:4px}.cp-slots{display:flex;align-items:stretch;justify-content:center;gap:12px;margin:20px auto 0;max-width:900px}@media (max-width: 720px){.cp-slots{flex-direction:column}}.cp-arrow{display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--color-text-muted, #8a847f);padding:0 6px}@media (max-width: 720px){.cp-arrow{transform:rotate(90deg);padding:8px 0}}.cp-slot{flex:1;min-height:160px;background:var(--color-background, #ffffff);border:1px dashed var(--color-border, #e8e4de);border-radius:12px;padding:22px 18px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;transition:background .14s cubic-bezier(.16,1,.3,1),border-color .14s}.cp-slot:hover{background:var(--color-background-muted, #faf7f2);border-color:#d8d3cc}.cp-slot.is-drag{background:#2f6f8f0f;border-color:#2f6f8f}.cp-slot.is-filled{border-style:solid;border-color:var(--color-border, #e8e4de);background:var(--color-background-muted, #faf7f2)}.cp-slot-label{font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted, #8a847f)}.cp-slot-prompt{font-family:Playfair Display,Georgia,serif;font-size:16px;color:var(--color-text, #1f1b16);letter-spacing:-.01em}.cp-slot-file{font-size:14px;font-weight:500;color:var(--color-text, #1f1b16);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-slot-meta{font-size:12px;color:var(--color-text-muted, #8a847f)}.info-page{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--color-background);padding:var(--space-8) var(--space-6)}.info-page-content{width:100%;max-width:800px;margin:0 auto}.info-page-title{font-family:var(--font-family-display);font-size:clamp(2rem,4vw,2.5rem);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.info-page-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-10)}.info-page-content p{line-height:1.6;color:var(--color-text-secondary)}.faq-list{display:flex;flex-direction:column;gap:var(--space-8)}.faq-item{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-6)}.faq-item h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-3)}.changelog-list{display:flex;flex-direction:column;gap:var(--space-10);position:relative}.changelog-list:before{content:"";position:absolute;top:0;bottom:0;left:20px;width:2px;background:var(--color-border);z-index:0}.changelog-entry{position:relative;z-index:1;padding-left:56px}.changelog-entry:before{content:"";position:absolute;top:6px;left:12px;width:18px;height:18px;border-radius:50%;background:var(--color-accent);border:4px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border)}.changelog-header{display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.changelog-header h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.changelog-date{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium);background:var(--color-background);padding:4px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border-light)}.changelog-body ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.changelog-body li{position:relative;padding-left:24px;color:var(--color-text-secondary);line-height:1.5}.changelog-body li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--color-text-muted)}.changelog-body strong{color:var(--color-text)}@media (max-width: 640px){.changelog-list:before{left:16px}.changelog-entry{padding-left:44px}.changelog-entry:before{left:8px}}.updates-page{max-width:800px;margin:0 auto;padding:clamp(56px,9vw,112px) clamp(16px,3vw,28px) clamp(72px,10vw,120px)}.updates-hero{margin-bottom:clamp(40px,6vw,64px);border-bottom:1px solid var(--color-border);padding-bottom:clamp(28px,4vw,40px)}.updates-eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);margin:0 0 14px}.updates-headline{font-family:var(--font-family-display);font-weight:600;font-size:clamp(36px,6vw,56px);line-height:1.04;letter-spacing:-.02em;color:var(--color-text);margin:0 0 16px;text-wrap:balance}.updates-subhead{font-family:var(--font-family);font-size:clamp(15px,1.8vw,17px);line-height:1.55;color:var(--color-text-secondary);margin:0;max-width:60ch}.updates-list{list-style:none;padding:0;margin:0;display:grid;gap:20px}.updates-empty{font-family:var(--font-family);color:var(--color-text-muted);padding:40px 0;text-align:center}.updates-item{margin:0}.updates-card{display:block;padding:24px 22px 22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.updates-card:hover{transform:translateY(-2px);border-color:#c8bdaf;box-shadow:0 12px 32px -16px #1f1b162e}.updates-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.updates-meta{display:flex;align-items:center;gap:10px;margin-bottom:10px}.updates-date{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;color:var(--color-text-muted);letter-spacing:.02em}.updates-pro{font-family:var(--font-family);font-size:10px;font-weight:700;color:#6d28d9;background:#7c3aed1f;padding:3px 7px;border-radius:999px;letter-spacing:.1em}.updates-tag-privacy{font-family:var(--font-family);font-size:10px;font-weight:700;color:#16a34a;background:#22c55e1a;padding:3px 7px;border-radius:999px;letter-spacing:.1em}.updates-tag-announcement{font-family:var(--font-family);font-size:10px;font-weight:700;color:#2f6f8f;background:#2f6f8f1f;padding:3px 7px;border-radius:999px;letter-spacing:.1em}.updates-featured{display:block;margin-bottom:clamp(32px,5vw,48px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.updates-featured:hover{transform:translateY(-2px);border-color:#c8bdaf;box-shadow:0 18px 44px -22px #1f1b1638}.updates-featured:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.updates-featured[data-tag=announcement]{border-left:3px solid #2f6f8f}.updates-featured[data-tag=pro]{border-left:3px solid #7c3aed}.updates-featured[data-tag=privacy]{border-left:3px solid #16a34a}.updates-featured-image{background:#f3ede2;aspect-ratio:16 / 9;overflow:hidden}.updates-featured-image img{width:100%;height:100%;display:block;object-fit:cover}.updates-featured-body{padding:clamp(20px,3vw,28px) clamp(20px,3vw,28px) clamp(20px,3vw,26px)}.updates-featured-title{font-family:var(--font-family-display);font-weight:600;font-size:clamp(26px,3.6vw,34px);line-height:1.14;letter-spacing:-.015em;color:var(--color-text);margin:8px 0 10px;text-wrap:balance}.updates-featured-excerpt{font-family:var(--font-family);font-size:clamp(15px,1.7vw,17px);line-height:1.55;color:var(--color-text-secondary);margin:0 0 14px;max-width:60ch}.updates-card[data-tag=pro]{border-left:3px solid #7c3aed}.updates-card[data-tag=privacy]{border-left:3px solid #16a34a}.updates-title{font-family:var(--font-family-display);font-weight:600;font-size:clamp(22px,3vw,26px);line-height:1.2;letter-spacing:-.01em;color:var(--color-text);margin:0 0 10px;text-wrap:balance}.updates-excerpt{font-family:var(--font-family);font-size:15px;line-height:1.55;color:var(--color-text-secondary);margin:0 0 14px}.updates-read{font-family:var(--font-family);font-size:13px;font-weight:600;color:var(--color-accent)}.update-post{max-width:720px;margin:0 auto;padding:clamp(48px,8vw,96px) clamp(18px,4vw,32px) clamp(72px,10vw,120px)}.update-post-back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-family);font-size:13px;font-weight:500;color:var(--color-text-muted);text-decoration:none;margin-bottom:40px;transition:color .15s ease}.update-post-back:hover{color:var(--color-text)}.update-post-eyebrow{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--color-text-muted);margin:0 0 18px}.update-post-meta{display:flex;align-items:center;gap:10px;margin:0 0 clamp(28px,4vw,40px)}.update-post-title{font-family:var(--font-family-display);font-weight:600;font-size:clamp(36px,5.2vw,52px);line-height:1.06;letter-spacing:-.02em;color:var(--color-text);margin:0 0 18px;text-wrap:balance}.update-post-hero{margin:0 0 clamp(32px,5vw,48px);background:#f3ede2;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;aspect-ratio:16 / 9}.update-post-hero img{display:block;width:100%;height:100%;object-fit:cover}.update-post-body{font-family:var(--font-family);font-size:18px;line-height:1.72;color:var(--color-text);max-width:65ch}.update-post-body img{display:block;width:100%;height:auto;margin:clamp(28px,4vw,40px) 0 8px;background:#f3ede2;border:1px solid var(--color-border);border-radius:12px}.update-post-body p>img{margin-top:clamp(28px,4vw,40px)}.update-post-body>*+*{margin-top:1.1em}.update-post-body h2{font-family:var(--font-family-display);font-weight:600;font-size:26px;line-height:1.2;letter-spacing:-.01em;margin-top:2em;color:var(--color-text)}.update-post-body h3{font-family:var(--font-family);font-weight:600;font-size:19px;margin-top:1.6em}.update-post-body p{color:var(--color-text-secondary)}.update-post-body strong{color:var(--color-text);font-weight:600}.update-post-body em{font-style:italic}.update-post-body a{color:var(--color-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.update-post-body ul,.update-post-body ol{padding-left:1.4em;color:var(--color-text-secondary)}.update-post-body li{margin-top:.4em}.update-post-body li::marker{color:var(--color-accent)}.update-post-body code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9em;background:var(--color-background-subtle);padding:2px 6px;border-radius:4px}.update-post-body hr{border:none;height:1px;background:var(--color-border);margin:2.4em 0}.update-share{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:clamp(48px,7vw,72px) 0 0;padding:clamp(16px,2.5vw,20px) 0 0;border-top:1px solid var(--color-border)}.update-share-label{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--color-text-muted);margin-right:6px}.update-share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease,color .15s ease}.update-share-btn:hover{background:#1f1b16;border-color:#1f1b16;color:#faf8f5;transform:translateY(-1px)}.update-share-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.update-share-btn svg{flex-shrink:0}.update-share-copy{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;letter-spacing:.04em}.update-post-cta{margin-top:40px;padding:28px 28px 26px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid #7c3aed;border-radius:14px}.update-post-cta h3{font-family:var(--font-family-display);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--color-text);margin:0 0 8px}.update-post-cta p{font-family:var(--font-family);font-size:14px;line-height:1.55;color:var(--color-text-secondary);margin:0 0 16px}.update-post-cta-link{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:11px;border:none;background:#1f1b16;color:#faf8f5;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,transform .15s ease}.update-post-cta-link:hover{background:#2d2722;color:#faf8f5;transform:translateY(-1px)}.update-post-cta-link:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.update-post-not-found{text-align:center;padding:80px 0;font-family:var(--font-family);color:var(--color-text-muted)}.pro-page{max-width:800px;margin:0 auto;padding:var(--space-6) var(--space-4)}.pro-hero{text-align:center;margin-bottom:var(--space-8)}.pro-hero__logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:var(--space-3)}.pro-hero__logo .logo-img{height:36px;width:auto}.pro-hero__badge{display:inline-block;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#7c3aed;text-decoration:underline;text-decoration-color:#7c3aed66;text-underline-offset:3px;text-decoration-thickness:2px}.pro-hero p{font-size:1.1rem;color:var(--color-text-muted);max-width:480px;margin:0 auto}.pro-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-8)}.pro-feature-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.pro-feature-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-accent-subtle, rgba(99, 102, 241, .1));color:var(--color-accent)}.pro-feature-card h3{font-size:.9rem;font-weight:600;margin-bottom:2px}.pro-feature-card p{font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.pro-pricing{max-width:400px;margin:0 auto var(--space-8);text-align:center;padding:var(--space-6);background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-xl, 16px)}.pro-pricing__was{font-size:.95rem;color:var(--color-text-muted);text-decoration:line-through;margin-bottom:2px}.pro-pricing__price{font-size:2.5rem;font-weight:800;color:var(--color-text);line-height:1;margin-bottom:4px}.pro-pricing__mo{font-size:1rem;font-weight:500;color:var(--color-text-muted)}.pro-pricing__badge{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#7c3aed;background:#7c3aed1a;padding:3px 10px;border-radius:999px;margin-bottom:var(--space-2)}.pro-pricing__period{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-4)}.pro-pricing__perks{list-style:none;padding:0;margin:0 0 var(--space-5);text-align:left}.pro-pricing__perks li{font-size:.85rem;padding:6px 0;display:flex;align-items:center;gap:8px;color:var(--color-text-muted)}.pro-pricing__perks li:before{content:"";width:16px;height:16px;flex-shrink:0;background:var(--color-accent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat}.pro-checkout{display:flex;flex-direction:column;gap:8px}.pro-checkout__email{width:100%;padding:12px 16px;font-size:.95rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);color:var(--color-text);text-align:center;outline:none;transition:border-color .15s ease}.pro-checkout__email:focus{border-color:var(--color-accent)}.pro-checkout__btn{width:100%;padding:14px 24px;font-size:1rem;font-weight:700;border:none;border-radius:var(--radius-lg);cursor:pointer;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,transform .1s ease}.pro-checkout__btn:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.pro-checkout__btn:disabled{opacity:.65;cursor:not-allowed}.pro-checkout__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pro-spin .6s linear infinite}@keyframes pro-spin{to{transform:rotate(360deg)}}.pro-checkout__error{color:var(--color-error, #ef4444);font-size:.8rem;margin-top:var(--space-2)}.pro-waitlist-cta{text-align:center;padding:var(--space-4);background:var(--color-background-subtle);border-radius:var(--radius-lg);margin-top:var(--space-3)}.pro-waitlist-cta p{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-3)}.pro-waitlist-cta button{padding:10px 24px;font-size:.9rem;font-weight:600;border:2px solid var(--color-accent);border-radius:var(--radius-lg);cursor:pointer;background:transparent;color:var(--color-accent);transition:background .15s ease,color .15s ease}.pro-waitlist-cta button:hover{background:var(--color-accent);color:#fff}.pro-verify{max-width:400px;margin:0 auto var(--space-6);text-align:center}.pro-verify__title{font-size:.85rem;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-2)}.pro-verify__form{display:flex;gap:6px}.pro-verify__input{flex:1;padding:10px 14px;font-size:.85rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);color:var(--color-text);outline:none}.pro-verify__input:focus{border-color:var(--color-accent)}.pro-verify__btn{padding:10px 18px;font-size:.85rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;transition:background .15s ease}.pro-verify__btn:hover:not(:disabled){background:var(--color-background-subtle)}.pro-verify__btn:disabled{opacity:.6;cursor:not-allowed}.pro-verify__error{font-size:.8rem;color:var(--color-error, #ef4444);margin-top:var(--space-2)}.pro-active{text-align:center;padding:var(--space-6);background:var(--color-surface);border:2px solid var(--color-success, #22c55e);border-radius:var(--radius-xl, 16px);max-width:400px;margin:0 auto var(--space-8)}.pro-active h2{font-size:1.3rem;font-weight:700;margin-bottom:var(--space-2)}.pro-active p{font-size:.85rem;color:var(--color-text-muted)}.pro-success{max-width:520px;margin:0 auto;padding:var(--space-8) var(--space-4);text-align:center}.pro-success__icon{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-success, #22c55e)}.pro-success h1{font-size:1.6rem;font-weight:800;margin-bottom:var(--space-2)}.pro-success p{color:var(--color-text-muted);margin-bottom:var(--space-4)}.pro-success__link{display:inline-block;padding:12px 28px;font-size:.95rem;font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;background:var(--color-accent);color:#fff;text-decoration:none;transition:background .15s ease}.pro-success__link:hover{background:var(--color-accent-hover)}.sc{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--color-background-subtle);border:1px solid var(--color-border-light);gap:2px}.sc--full{display:flex;width:100%}.sc__opt{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:calc(var(--radius-md) - 2px);border:0;background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.sc__opt:hover:not(:disabled):not(.sc__opt--active){color:var(--color-text);background:color-mix(in srgb,var(--color-surface) 70%,transparent)}.sc__opt--active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0000000f,0 0 0 1px var(--color-border-light)}.sc__opt:disabled{opacity:.4;cursor:not-allowed}.sc__opt:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-accent-light),0 0 0 3px var(--color-accent)}.sc__icon{display:inline-flex;flex-shrink:0}.sc--sm .sc__opt{padding:4px 8px;font-size:11px}.sc--sm .sc__icon svg{width:12px;height:12px}.tool-landing{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--color-background);padding:var(--space-8) var(--space-6)}.tool-landing-content{width:100%;max-width:960px;margin:0 auto}.tool-landing-hero{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8)}.tool-landing h1{font-family:var(--font-family-display);font-size:clamp(2rem,4vw,2.6rem);margin:0 0 var(--space-3)}.tool-landing p{color:var(--color-text-secondary);line-height:1.6}.tool-landing-trust{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.tool-landing-chip{font-size:var(--font-size-xs);padding:6px 10px;border-radius:var(--radius-full);border:1px solid var(--color-border-light);background:var(--color-background-subtle);color:var(--color-text-secondary)}.tool-landing-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:var(--space-4);padding:10px 18px;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;text-decoration:none;font-weight:var(--font-weight-semibold)}.tool-landing-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-4)}.tool-landing-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.tool-landing-card h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg)}.tool-landing-card ul,.tool-landing-card ol{margin:0;padding-left:1.2rem;color:var(--color-text-secondary)}.tool-landing-card li{margin-bottom:8px}.tool-landing-related{margin-top:var(--space-4);display:flex;gap:var(--space-2);flex-wrap:wrap}.tool-landing-related a{font-size:var(--font-size-sm);text-decoration:none;color:var(--color-accent)}@media (max-width: 860px) and (hover: none),(max-width: 720px){.tool-landing-grid{grid-template-columns:1fr}}.comparison-page{display:flex;flex-direction:column;min-height:calc(100vh - 56px);background:var(--color-background);padding:var(--space-8) var(--space-6)}.comparison-content{width:100%;max-width:860px;margin:0 auto}.comparison-hero{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center}.comparison-hero h1{font-family:var(--font-family-display);font-size:clamp(1.8rem,4vw,2.4rem);margin:0 0 var(--space-3);color:var(--color-text)}.comparison-hero__subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.5;max-width:520px;margin:0 auto}.comparison-table-wrapper{margin-top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.comparison-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.comparison-table thead th{padding:14px 16px;font-weight:var(--font-weight-semibold);text-align:left;border-bottom:2px solid var(--color-border);background:var(--color-background-subtle);color:var(--color-text)}.comparison-table thead th:first-child{width:38%}.comparison-table thead th:not(:first-child){text-align:center;width:31%}.comparison-table tbody td{padding:12px 16px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);vertical-align:middle}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody td:first-child{font-weight:var(--font-weight-medium);color:var(--color-text)}.comparison-table tbody td:not(:first-child){text-align:center}.ct-advantage{color:var(--color-success);font-weight:var(--font-weight-semibold)}.ct-neutral{color:var(--color-text-muted)}.ct-disadvantage{color:var(--color-error)}.ct-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);margin-right:6px;vertical-align:middle}.ct-icon--check{background:var(--color-success-light);color:var(--color-success)}.ct-icon--x{background:var(--color-error-light);color:var(--color-error)}.ct-icon--neutral{background:var(--color-background-subtle);color:var(--color-text-muted)}.comparison-why{margin-top:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-6)}.comparison-why h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-4);color:var(--color-text)}.comparison-why p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-3)}.comparison-why p:last-child{margin-bottom:0}.comparison-verify{margin-top:var(--space-4);background:var(--color-background-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.comparison-verify h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-2);color:var(--color-text)}.comparison-verify p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin:0}.comparison-verify code{font-size:.8rem;background:var(--color-background-muted);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-text)}.comparison-cta{margin-top:var(--space-6);text-align:center}.comparison-cta__btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);border:none;border-radius:var(--radius-lg);background:var(--color-accent);color:#fff;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),transform .1s ease}.comparison-cta__btn:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.comparison-cta__sub{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.comparison-disclaimer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.5}@media (max-width: 640px){.comparison-page{padding:var(--space-4) var(--space-3)}.comparison-hero{padding:var(--space-6) var(--space-4)}.comparison-table thead th,.comparison-table tbody td{padding:10px;font-size:var(--font-size-xs)}.comparison-why{padding:var(--space-4)}}.wl-backdrop{position:fixed;inset:0;background:#1c181294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:wl-backdrop-in .22s ease-out}@keyframes wl-backdrop-in{0%{opacity:0}to{opacity:1}}.wl-popup{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);overflow-y:auto;background:#faf8f5;border-radius:18px;box-shadow:0 0 0 1px #7c3aed,0 0 0 6px #7c3aed14,0 24px 64px -16px #14141e47,0 8px 24px -8px #14141e2e;padding:36px 32px 32px;animation:wl-popup-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes wl-popup-in{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.wl-backdrop,.wl-popup{animation:none}}.wl-popup:before{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");mix-blend-mode:multiply}.wl-popup>*{position:relative}.wl-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:#847a6e;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.wl-close:hover{background:#1f1b160f;color:#1f1b16}.wl-close:focus-visible{outline:2px solid #2f6f8f;outline-offset:2px}.wl-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border-radius:999px;background:#7c3aed1a;color:#6d28d9;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.wl-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:#7c3aed;box-shadow:0 0 0 3px #7c3aed2e}.wl-headline{font-family:Fraunces,Times New Roman,serif;font-weight:600;font-size:clamp(28px,5vw,36px);line-height:1.05;letter-spacing:-.02em;color:#1f1b16;margin:0 0 14px;text-wrap:balance}.wl-sub{font-family:Space Grotesk,sans-serif;font-size:14px;line-height:1.55;color:#5c5449;margin:0 0 22px}.wl-sub strong{color:#1f1b16;font-weight:600}.wl-form{display:flex;gap:8px;margin-bottom:18px}.wl-input{flex:1;min-width:0;padding:13px 14px;border-radius:11px;border:1px solid #ded6cc;background:#fff;font-family:Space Grotesk,sans-serif;font-size:15px;color:#1f1b16;transition:border-color .15s ease,box-shadow .15s ease}.wl-input::placeholder{color:#a59c8e}.wl-input:focus{outline:none;border-color:#2f6f8f;box-shadow:0 0 0 3px #2f6f8f2e}.wl-input:disabled{opacity:.6}.wl-submit{padding:13px 20px;border-radius:11px;border:none;background:#2f6f8f;color:#fff;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease;white-space:nowrap}.wl-submit:hover:not(:disabled){background:#285f7a;transform:translateY(-1px)}.wl-submit:focus-visible{outline:2px solid #1f1b16;outline-offset:2px}.wl-submit:disabled{opacity:.6;cursor:wait}.wl-error{font-size:13px;color:#b91c1c;margin:-10px 0 14px;font-family:Space Grotesk,sans-serif}.wl-divider{height:1px;background:linear-gradient(to right,transparent,#ded6cc,transparent);margin:22px 0 18px}.wl-list-title{font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#847a6e;margin:0 0 10px}.wl-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:7px}.wl-list li{font-family:Space Grotesk,sans-serif;font-size:13.5px;line-height:1.45;color:#3d3830;padding-left:18px;position:relative}.wl-list li:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:999px;background:#2f6f8f}.wl-list li.is-new:after{content:"NEW";margin-left:8px;font-size:9px;font-weight:700;color:#6d28d9;background:#7c3aed1f;padding:2px 6px;border-radius:999px;letter-spacing:.08em;vertical-align:1px}.wl-foot{font-family:Space Grotesk,sans-serif;font-size:12px;line-height:1.5;color:#847a6e;margin:0}.wl-success-headline{font-family:Fraunces,serif;font-weight:600;font-size:36px;line-height:1.05;letter-spacing:-.02em;color:#1f1b16;margin:0 0 18px}.wl-position-wrap{display:flex;flex-direction:column;align-items:center;margin:8px 0 22px;text-align:center}.wl-position-label{font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:#847a6e;margin-bottom:4px}.wl-position{font-family:Fraunces,serif;font-style:italic;font-weight:600;font-size:clamp(56px,12vw,72px);line-height:1;color:#1f1b16;margin:0;letter-spacing:-.02em}.wl-underline{width:110px;height:14px;margin-top:-2px;color:#7c3aed}.wl-share-label{font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600;color:#1f1b16;margin:0 0 8px}.wl-share-row{display:flex;gap:8px;margin-bottom:16px}.wl-share-link{flex:1;min-width:0;padding:11px 13px;border-radius:10px;border:1px solid #ded6cc;background:#fff;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;color:#2f6f8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wl-copy{padding:11px 14px;border-radius:10px;border:1px solid #1f1b16;background:#1f1b16;color:#faf8f5;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease}.wl-copy:hover{background:#2d2722}.wl-copy.is-copied{background:#1b7f5a;border-color:#1b7f5a}@media (max-width: 480px){.wl-popup{padding:28px 22px 24px}.wl-form{flex-direction:column}.wl-submit{width:100%}}.auth-shell{min-height:calc(100vh - 120px);background:#faf7f2;padding:48px 20px;display:flex;justify-content:center;align-items:flex-start;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#3d3631}.auth-card{position:relative;width:100%;max-width:440px;background:#fff;border:1px solid #e8e4de;border-radius:20px;padding:40px 36px 32px;box-shadow:0 1px 2px #1f1b160a,0 20px 40px #1f1b160f;overflow:hidden}.auth-orb{position:absolute;top:-140px;right:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#2f6f8f52,#5a8c6a38 45%,#c08a4a29 75%,#faf7f200);filter:blur(38px);opacity:.9;pointer-events:none}.auth-logo{display:block;height:30px;width:auto;margin-bottom:22px}.auth-eyebrow{font-size:11px;font-weight:600;letter-spacing:.22em;color:#8a847f;text-transform:uppercase;margin:0 0 8px}.auth-title{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:28px;font-weight:600;color:#1f1b16;letter-spacing:-.01em;margin:0 0 6px;line-height:1.2}.auth-sub{font-size:14px;color:#5d5652;line-height:1.6;margin:0 0 22px}.auth-form{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:12px;font-weight:500;color:#5d5652;letter-spacing:.01em}.auth-input{background:#fff;border:1px solid #e8e4de;border-radius:6px;padding:11px 14px;font-family:inherit;font-size:15px;color:#1f1b16;transition:border-color .14s cubic-bezier(.16,1,.3,1),box-shadow .14s cubic-bezier(.16,1,.3,1)}.auth-input:focus{outline:none;border-color:#2f6f8f;box-shadow:0 0 0 3px #2f6f8f26}.auth-input::placeholder{color:#b3aea8}.auth-btn-primary{background:linear-gradient(135deg,#2f6f8f,#5a8c6a 55%,#c08a4a);color:#fff;font-family:inherit;font-size:15px;font-weight:600;padding:12px 24px;border:0;border-radius:10px;cursor:pointer;box-shadow:0 8px 20px #2f6f8f40;transition:transform .14s cubic-bezier(.16,1,.3,1),box-shadow .14s;margin-top:4px}.auth-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #2f6f8f52}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-btn-outline{background:#fff;color:#1f1b16;font-family:inherit;font-size:14px;font-weight:500;padding:11px 20px;border:1px solid #e8e4de;border-radius:10px;cursor:pointer;transition:background .14s,border-color .14s;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%}.auth-btn-outline:hover{background:#faf7f2;border-color:#d8d3cc}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:11px;font-weight:600;letter-spacing:.2em;color:#b3aea8;text-transform:uppercase}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e8e4de}.auth-link-row{margin-top:22px;padding-top:18px;border-top:1px solid #e8e4de;font-size:13px;color:#5d5652;text-align:center}.auth-link-row a,.auth-inline-link{color:#2f6f8f;text-decoration:none;font-weight:500}.auth-link-row a:hover,.auth-inline-link:hover{text-decoration:underline}.auth-error{margin:0 0 14px;padding:10px 14px;background:#b0463514;border-left:2px solid #b04635;border-radius:0 6px 6px 0;font-size:13px;color:#b04635;line-height:1.5}.auth-success{margin:0 0 14px;padding:10px 14px;background:#5a8c6a14;border-left:2px solid #5a8c6a;border-radius:0 6px 6px 0;font-size:13px;color:#3d6247;line-height:1.5}.auth-privacy-strip{margin:22px -36px -32px;padding:12px 36px;background:#faf7f2;border-top:1px solid #e8e4de;font-family:JetBrains Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:10px;letter-spacing:.04em;color:#8a847f;text-transform:uppercase;text-align:center}.auth-otp{width:100%;background:linear-gradient(180deg,#faf7f2,#f1ece3);border:1px dashed #e8e4de;border-radius:14px;padding:24px 20px;text-align:center;margin:6px 0 14px}.auth-otp-label{font-size:10px;font-weight:600;letter-spacing:.25em;color:#8a847f;text-transform:uppercase;margin-bottom:10px}.auth-otp-input{background:transparent;border:0;font-family:JetBrains Mono,SF Mono,Menlo,ui-monospace,monospace;font-size:32px;font-weight:700;color:#2f6f8f;letter-spacing:.5em;text-align:center;width:100%;margin-left:.5em}.auth-otp-input:focus{outline:none}.auth-google-icon{width:16px;height:16px;flex-shrink:0}@media (max-width: 480px){.auth-card{padding:32px 24px 28px;border-radius:16px}.auth-privacy-strip{margin:20px -24px -28px;padding:12px 24px}.auth-title{font-size:24px}}.lib-shell{max-width:820px;margin:0 auto;padding:48px 20px 64px;color:#3d3631;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lib-header{margin-bottom:32px}.lib-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:#8a847f;text-transform:uppercase;margin:0 0 8px}.lib-title{font-family:Playfair Display,Georgia,serif;font-size:32px;font-weight:600;letter-spacing:-.01em;color:#1f1b16;margin:0 0 10px}.lib-sub{margin:0;font-size:14px;line-height:1.6;color:#5d5652;max-width:640px}.lib-empty{padding:32px 24px;text-align:center;background:#fff;border:1px dashed #e8e4de;border-radius:12px;color:#5d5652;font-size:14px;line-height:1.6}.lib-link{color:#2f6f8f;text-decoration:none;font-weight:500}.lib-link:hover{text-decoration:underline}.lib-days{display:flex;flex-direction:column;gap:28px}.lib-day-label{font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:600;letter-spacing:-.005em;color:#1f1b16;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e8e4de}.lib-day-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.lib-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#fff;border:1px solid #e8e4de;border-radius:10px;transition:background .14s cubic-bezier(.16,1,.3,1),border-color .14s}.lib-row:hover{background:#faf7f2}.lib-row-main{min-width:0;flex:1}.lib-row-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.lib-row-tool{font-size:11px;font-weight:600;letter-spacing:.12em;color:#8a847f;text-transform:uppercase}.lib-row-file{font-size:14px;font-weight:500;color:#1f1b16;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-row-meta{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:12px;color:#8a847f}.lib-pill{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:#f1ece3;color:#5d5652}.lib-meta-dot:before{content:"·";margin-right:8px;color:#cfc8bf}.lib-row-meta>:first-child.lib-meta-dot:before{content:"";margin:0}.lib-row-actions{display:flex;gap:8px;flex-shrink:0}.lib-action{font-size:12px;font-weight:500;color:#2f6f8f;text-decoration:none;padding:6px 12px;border-radius:6px;background:transparent;border:1px solid transparent;cursor:pointer;font-family:inherit}.lib-action:hover{background:#2f6f8f14}.lib-action-muted{color:#8a847f}.lib-action-muted:hover{background:#8a847f14}.lib-footer{margin-top:32px;padding-top:20px;border-top:1px solid #e8e4de;font-size:12px;color:#8a847f;text-align:center}@media (max-width: 640px){.lib-row{flex-direction:column;align-items:stretch}.lib-row-actions{justify-content:flex-end}.lib-row-file{white-space:normal}}#main-content:has(.tw-shell)~.tsc-host,#main-content:has(.tw-shell)~.sf-host,#main-content:has(.workspace-shell)~.tsc-host,#main-content:has(.workspace-shell)~.sf-host{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #1f1b16;--color-accent: #2f6f8f;--color-accent-hover: #285f7a;--color-accent-light: rgba(47, 111, 143, .12);--color-intelligence: #00f2ff;--color-intelligence-glow: rgba(0, 242, 255, .2);--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-background: #f6f2ec;--color-background-subtle: #f0ede7;--color-background-muted: #e8e3db;--color-text: #1f1b16;--color-text-secondary: #5c5449;--color-text-muted: #847a6e;--color-border: #ded6cc;--color-border-light: #ede7de;--color-success: #1b7f5a;--color-success-light: rgba(27, 127, 90, .1);--color-error: #dc2626;--color-error-light: rgba(220, 38, 38, .08);--color-warning: #f4b740;--color-warning-soft: rgba(244, 183, 64, .18);--color-warning-strong: #b45309;--color-warning-light: #fff8e1;--color-warning-text: #856404;--font-family: "Space Grotesk", "SF Pro Text", "Segoe UI", sans-serif;--font-family-display: "Fraunces", "Times New Roman", serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3.5rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--header-height: 62px;--status-bar-height: 48px;--sidebar-width: clamp(240px, 24vw, 340px);--sidebar-width-mobile: 100%;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .1);--shadow-cyan-glow: 0 0 20px var(--color-intelligence-glow);--shadow-paper: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-paper-hover: 0 2px 8px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .06);--glass-bg: rgba(255, 255, 255, .95);--glass-border: rgba(0, 0, 0, .05);--glass-blur: blur(12px);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--color-primary: #e8e2d9;--color-accent: #5ab4d8;--color-accent-hover: #6ec4e8;--color-accent-light: rgba(90, 180, 216, .15);--color-surface: #1e1e1e;--color-surface-elevated: #252525;--color-background: #141414;--color-background-subtle: #1a1a1a;--color-background-muted: #222222;--color-text: #e8e2d9;--color-text-secondary: #a09888;--color-text-muted: #8a7f73;--color-border: #333028;--color-border-light: #2a2720;--color-success: #3dbd7d;--color-success-light: rgba(61, 189, 125, .12);--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .12);--color-warning: #f4b740;--color-warning-soft: rgba(244, 183, 64, .12);--color-warning-strong: #e8a020;--color-warning-light: rgba(244, 183, 64, .15);--color-warning-text: #f4b740;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4);--shadow-paper: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .15);--shadow-paper-hover: 0 2px 8px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .2);--glass-bg: rgba(20, 20, 20, .92);--glass-border: rgba(255, 255, 255, .06)}[data-theme=dark] body{background-image:radial-gradient(circle at 20% 10%,rgba(90,180,216,.06),transparent 45%),radial-gradient(circle at 80% 0%,rgba(255,255,255,.02),transparent 50%),linear-gradient(180deg,#0003,#0000)}[data-theme=dark] .text-gradient{background:linear-gradient(135deg,#e8e2d9,#5ab4d8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#5ab4d8,#e8a020);box-shadow:var(--shadow-md),0 6px 16px #5ab4d833}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:1.6;color:var(--color-text);background-color:var(--color-background);background-image:radial-gradient(circle at 20% 10%,rgba(47,111,143,.08),transparent 45%),radial-gradient(circle at 80% 0%,rgba(0,0,0,.04),transparent 50%),linear-gradient(180deg,#ffffffa6,#fff0);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full);transition:var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}::selection{background-color:var(--color-accent-light);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.text-gradient{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);user-select:none}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:linear-gradient(135deg,var(--color-accent) 0%,#f29e4c 100%);color:#fff;box-shadow:var(--shadow-md),0 6px 16px #2f6f8f40}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 10px 24px #2f6f8f59}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background);border-color:var(--color-text-muted)}.btn-secondary.active{background:var(--color-accent-light);color:var(--color-accent);border-color:var(--color-accent)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-background-subtle);color:var(--color-text)}.btn-ghost.active{background:var(--color-accent-light);color:var(--color-accent)}.card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.card-glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes dash{to{stroke-dashoffset:0}}@keyframes paperScan{0%{top:0;opacity:1;box-shadow:0 0 20px var(--color-intelligence-glow)}to{top:100%;opacity:.3;box-shadow:0 0 40px var(--color-intelligence-glow)}}@keyframes cyanPulse{0%,to{box-shadow:0 0 20px var(--color-intelligence-glow)}50%{box-shadow:0 0 40px var(--color-intelligence-glow),0 0 60px var(--color-intelligence-glow)}}@keyframes voidGlow{0%,to{box-shadow:inset 0 0 60px #00f2ff0d}50%{box-shadow:inset 0 0 100px #00f2ff1a}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease forwards}.animate-scale-in{animation:scaleIn var(--transition-spring) forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all var(--transition-slow)}.skip-to-content{position:fixed;top:-100%;left:var(--space-4);z-index:10000;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);text-decoration:none;transition:top var(--transition-fast)}.skip-to-content:focus{top:var(--space-2)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
