:root{--color-primary: #2563eb;--color-primary-light: #dbeafe;--color-primary-dark: #1d4ed8;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-text: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--color-border-subtle: #f0f1f3;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-error-border: #fecaca;--color-drag-over: #eff6ff;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-warning: #d97706;--radius: 8px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--color-primary-hover: #1d4ed8;--color-text-muted: #9ca3af;--space-unit: 4px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--gradient-primary: linear-gradient(135deg, #06b6d4, #2563eb);--gradient-primary-hover: linear-gradient(135deg, #0891b2, #1d4ed8);--glow-primary: 0 0 20px rgba(6, 182, 212, .3), 0 0 40px rgba(37, 99, 235, .15);--glow-primary-strong: 0 0 30px rgba(6, 182, 212, .4), 0 0 60px rgba(37, 99, 235, .2);--clr-primary: var(--color-primary);--clr-surface: var(--color-surface);--clr-border: var(--color-border);--clr-text: var(--color-text);--clr-text-muted: var(--color-text-muted);--clr-success: var(--color-success);--clr-error: var(--color-error);--clr-error-bg: var(--color-error-bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}html{overflow-x:hidden}.app{max-width:1200px;margin:0 auto;padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 6);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}.app__header{display:flex;justify-content:space-between;align-items:center;padding-bottom:calc(var(--space-unit) * 4);border-bottom:none;margin-bottom:0}.app__logo{margin:0;font-size:1.375rem;font-weight:800;letter-spacing:-.03em;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app__logo-link{text-decoration:none}.app__nav{display:flex;align-items:center;gap:calc(var(--space-unit) * 1)}.app__nav-link{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);text-decoration:none;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border-radius:calc(var(--radius) / 2);transition:color .15s,background-color .15s}.app__nav-link:hover{color:var(--color-primary);background:var(--color-primary-light)}.app__nav-link--active{color:var(--color-primary);font-weight:600}.app__header-right{display:flex;align-items:center;gap:calc(var(--space-unit) * 3)}.app__main{flex:1;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 6);min-width:0}.app__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--space-unit) * 5);padding:calc(var(--space-unit) * 8) 0}.app__tagline{font-size:1.25rem;color:var(--color-text-secondary);text-align:center;margin:0;max-width:520px;line-height:1.7;font-weight:400}.app__hero-title{font-size:3.25rem;font-weight:800;color:var(--color-text);text-align:center;margin:0;letter-spacing:-.035em;line-height:1.15;max-width:680px}.app__hero-title-accent{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app__trust-signals{display:flex;align-items:center;gap:calc(var(--space-unit) * 4);font-size:.875rem;color:var(--color-text-secondary);justify-content:center;flex-wrap:wrap;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 5);background:transparent;border-radius:100px;font-weight:400}.app__trust-dot{color:var(--color-border);font-size:.5rem}.app__feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--space-unit) * 5);max-width:800px;width:100%;margin-top:calc(var(--space-unit) * 8);margin-bottom:calc(var(--space-unit) * 16)}.app__feature-card{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);text-decoration:none;transition:border-color .2s,background-color .2s,box-shadow .3s,transform .2s;background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:center}.app__feature-card:hover{border-color:transparent;background:var(--color-surface);box-shadow:var(--shadow-md),0 0 0 1px #06b6d41a;transform:translateY(-2px)}.app__feature-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#06b6d41a,#2563eb1a);font-size:1.5rem;flex-shrink:0}.app__feature-card-name{font-size:.9375rem;font-weight:600;color:var(--color-text)}.app__feature-card-desc{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.app__popular-tools{width:100%;max-width:980px;margin-top:calc(var(--space-unit) * 2);border:1px solid rgba(148,163,184,.14);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffffffa,#f7fafce6);padding:calc(var(--space-unit) * 4);box-shadow:var(--shadow-sm)}.app__popular-tools-title{margin:0 0 calc(var(--space-unit) * 3);font-size:1.1875rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text);text-align:left}.app__popular-tools-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--space-unit) * 3)}.app__popular-tools-group{min-width:0;padding:calc(var(--space-unit) * 2.5);border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#ffffffeb,#f8fafcd1);box-shadow:inset 0 1px #ffffffb3}.app__popular-tools-group-title{margin:0 0 calc(var(--space-unit) * 1.5);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.app__popular-tools-grid{display:grid;grid-template-columns:1fr;gap:calc(var(--space-unit) * 2)}.app__popular-tools-link{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 2);text-decoration:none;color:var(--color-text);font-size:.875rem;line-height:1.35;font-weight:600;min-height:44px;border:1px solid rgba(148,163,184,.16);border-radius:calc(var(--radius-lg) - 2px);padding:calc(var(--space-unit) * 2.25) calc(var(--space-unit) * 2.5);background:#fffffff0;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s,background-color .15s,box-shadow .15s,transform .15s,color .15s}.app__popular-tools-link:hover{border-color:#2563eb4d;background:linear-gradient(180deg,#f8fbff,#eff6ffeb);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.app__popular-tools-link:focus-visible{outline:none;border-color:#2563eb8c;box-shadow:0 0 0 3px #2563eb29,var(--shadow-sm)}.app__popular-tools-link:active{transform:translateY(0);background:#eff6fff5}.app__popular-tools-link-label{min-width:0;overflow-wrap:anywhere}.app__popular-tools-link-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:999px;background:#2563eb14;color:var(--color-primary);font-size:.8125rem;transition:transform .15s,background-color .15s,color .15s}.app__popular-tools-link:hover .app__popular-tools-link-arrow,.app__popular-tools-link:focus-visible .app__popular-tools-link-arrow{transform:translate(1px);background:#2563eb24;color:var(--color-primary-dark)}.app__tool-links{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 3);max-width:560px;width:100%;margin-top:calc(var(--space-unit) * 4)}.app__tool-link{display:flex;flex-direction:column;gap:calc(var(--space-unit));padding:calc(var(--space-unit) * 4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .2s;background:var(--color-surface);box-shadow:var(--shadow-xs)}.app__tool-link:hover{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:var(--shadow-sm)}.app__tool-link-name{font-size:.875rem;font-weight:600;color:var(--color-text)}.app__tool-link-desc{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.tool-landing{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 8);padding-bottom:calc(var(--space-unit) * 12)}.tool-landing__hero{text-align:center}.tool-landing__headline{font-size:2.75rem;font-weight:800;color:var(--color-text);margin:0 0 calc(var(--space-unit) * 3);letter-spacing:-.035em;line-height:1.15}.tool-landing__description{font-size:1.125rem;color:var(--color-text-secondary);margin:0;line-height:1.6}.tool-landing__upload .dropzone{padding:calc(var(--space-unit) * 14) calc(var(--space-unit) * 10);border-radius:var(--radius-2xl)}.tool-landing__trust{display:flex;align-items:center;gap:calc(var(--space-unit) * 4);font-size:.875rem;color:var(--color-text-secondary);justify-content:center;flex-wrap:wrap;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);background:transparent;border-radius:100px}.tool-landing__trust-dot{color:var(--color-border);font-size:.5rem}.tool-landing__features{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 4)}.tool-landing__feature{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .2s}.tool-landing__feature:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tool-landing__feature-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#06b6d41a,#2563eb1a);font-size:1.25rem}.tool-landing__feature-title{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0}.tool-landing__feature-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.tool-landing__how{text-align:center;background:var(--color-surface-alt, #f9fafb);border-radius:var(--radius-xl);padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 4)}.tool-landing__section-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--space-unit) * 3)}.tool-landing__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--space-unit) * 6);list-style:none;padding:0;margin:0;counter-reset:step}.tool-landing__steps li{counter-increment:step;display:flex;align-items:flex-start;gap:calc(var(--space-unit) * 2);font-size:.9375rem;color:var(--color-text-secondary)}.tool-landing__steps li:before{content:counter(step);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.8125rem;font-weight:600;flex-shrink:0}.tool-landing__related{border-top:1px solid var(--color-border-subtle);padding-top:calc(var(--space-unit) * 6)}.tool-landing__related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--space-unit) * 3)}.tool-landing__related-link{display:flex;flex-direction:column;gap:calc(var(--space-unit));padding:calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius);text-decoration:none;transition:border-color .15s,background-color .15s,box-shadow .2s;background:var(--color-surface)}.tool-landing__related-link:hover{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:var(--shadow-sm)}.tool-landing__related-name{font-size:.875rem;font-weight:600;color:var(--color-text)}.tool-landing__related-desc{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.app__flow{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2);position:relative}.app__flow--drag-over{outline:3px dashed var(--color-primary);outline-offset:-3px;border-radius:var(--radius-xl);background:#2563eb08}.app__settings-bar{display:flex;flex-direction:column}.workspace{display:grid;grid-template-columns:1fr 380px;gap:calc(var(--space-unit) * 6);align-items:start;min-height:calc(100vh - 200px)}.workspace__files{min-width:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:calc(var(--space-unit) * 4);box-shadow:var(--shadow-xs)}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:calc(var(--space-unit) * 3)}.file-grid--single{grid-template-columns:260px;justify-content:center}.file-grid__hint{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;margin:0;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);background:var(--color-primary-light);border-radius:var(--radius-md)}.file-grid__card{display:flex;flex-direction:column;background:var(--color-surface);border:2px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow .2s,border-color .2s,transform .15s}.file-grid__card:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.file-grid__card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent),var(--shadow-md);transform:scale(1.02)}.file-grid__card--selected:hover{border-color:var(--color-primary)}.file-grid__thumb-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--color-bg)}.file-grid__thumb{width:100%;height:100%;object-fit:cover;display:block}.file-grid__badge{position:absolute;bottom:calc(var(--space-unit) * 1);left:calc(var(--space-unit) * 1);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.75rem;font-weight:700;color:#fff;box-shadow:0 1px 4px #0003}.file-grid__badge--processing{background:var(--color-primary);animation:pulse-badge 1.2s ease-in-out infinite}.file-grid__badge--success{background:var(--color-success)}.file-grid__badge--failed,.file-grid__badge--error{background:var(--color-error)}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.5}}.file-grid__remove{position:absolute;top:calc(var(--space-unit) * 1);right:calc(var(--space-unit) * 1);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#00000080;color:#fff;font-size:.875rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,background-color .15s}.file-grid__card:hover .file-grid__remove{opacity:1}.file-grid__remove:hover{background:#dc2626cc}.file-grid__remove:disabled{cursor:not-allowed;opacity:0!important}.file-grid__info{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);display:flex;flex-direction:column;gap:2px;min-width:0}.file-grid__name{font-size:.75rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-grid__size{font-size:.6875rem;color:var(--color-text-muted)}.zip-notice{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);border-radius:var(--radius);font-size:.875rem;margin-bottom:calc(var(--space-unit) * 2);border-left:3px solid transparent}.zip-notice--info{background:#3b82f614;border-left-color:var(--color-primary);color:var(--color-text)}.zip-notice--success{background:#22c55e14;border-left-color:var(--color-success);color:var(--color-text)}.zip-notice--warning{background:#eab30814;border-left-color:var(--color-warning, #eab308);color:var(--color-text)}.zip-notice--error{background:#ef444414;border-left-color:var(--color-error);color:var(--color-text)}.zip-notice__icon{flex-shrink:0;font-size:1rem}.zip-notice__text{flex:1}.zip-notice__close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.125rem;opacity:.5;padding:2px 6px;border-radius:var(--radius)}.zip-notice__close:hover{opacity:1;background:#0000000d}.analytics-consent{border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:#fff8ebfa;box-shadow:0 16px 40px #0f172a1f}.analytics-consent--banner{position:fixed;left:50%;bottom:calc(var(--space-unit) * 3);transform:translate(-50%);width:min(720px,calc(100vw - 32px));z-index:30}.analytics-consent--inline{margin-top:calc(var(--space-unit) * 3)}.analytics-consent__body{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 2.5)}.analytics-consent__eyebrow{margin:0 0 calc(var(--space-unit) * .75);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a3412}.analytics-consent__title{margin:0 0 calc(var(--space-unit) * 1);font-size:1rem;line-height:1.2}.analytics-consent__text,.analytics-consent__status{margin:0 0 calc(var(--space-unit) * 1.25);color:var(--color-text);font-size:.9375rem}.analytics-consent__actions{display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--space-unit) * 1)}.analytics-consent__button{border-radius:999px;border:1px solid transparent;padding:.7rem 1rem;font:inherit;font-weight:600;cursor:pointer}.analytics-consent__button--primary{background:#111827;color:#fff}.analytics-consent__button--secondary{background:transparent;color:#111827;border-color:#1118272e}.analytics-consent__link{color:#9a3412;text-decoration:underline;text-underline-offset:.18em;font-weight:600}@media(max-width:640px){.analytics-consent--banner{bottom:calc(var(--space-unit) * 2);width:calc(100vw - 20px)}.analytics-consent__body{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 1.75)}.analytics-consent__actions{flex-direction:column;align-items:stretch}.analytics-consent__button,.analytics-consent__link{text-align:center}}.workspace__sidebar{position:sticky;top:calc(var(--space-unit) * 4);max-height:calc(100vh - 120px);display:flex;flex-direction:column;border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.workspace__sidebar-scroll{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.workspace__sidebar-scroll::-webkit-scrollbar{width:4px}.workspace__sidebar-scroll::-webkit-scrollbar-track{background:transparent}.workspace__sidebar-scroll::-webkit-scrollbar-thumb{background:#00000014;border-radius:4px}.workspace__sidebar-cta{flex-shrink:0;padding:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.workspace__cta-btn{width:100%;min-height:52px;font-size:1.0625rem;font-weight:700;letter-spacing:.01em;justify-content:center}.workspace__download-all-btn{width:100%;min-height:44px;font-weight:600;font-size:.9375rem;justify-content:center}.app__mode-indicator{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);font-size:.8125rem;color:var(--color-text-muted);padding:calc(var(--space-unit) * .5) 0;flex-wrap:wrap}.app__mode-indicator--cloud{color:var(--color-primary)}.app__mode-icon{font-size:.875rem;line-height:1}.app__mode-label{font-weight:500}.app__settings-hint{width:100%;margin:0;font-size:.75rem;color:var(--color-text-secondary);text-align:left;padding:calc(var(--space-unit)) calc(var(--space-unit) * 2);background:#2563eb0a;border-radius:var(--radius-sm);border-left:3px solid var(--color-primary)}.app__batch-result{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);font-size:.875rem;font-weight:500;color:var(--color-success)}.app__batch-result-icon{font-size:1rem;line-height:1}.app__batch-result--errors{color:var(--color-warning)}.app__advanced-section{padding:calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface)}.dropzone{position:relative;border:2px solid transparent;border-radius:var(--radius-2xl);padding:calc(var(--space-unit) * 12) calc(var(--space-unit) * 8);text-align:center;cursor:pointer;transition:box-shadow .3s,background-color .2s,transform .2s;background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,linear-gradient(135deg,#06b6d466,#2563eb66) border-box;box-shadow:0 0 20px #06b6d41f,0 0 40px #2563eb0f;-webkit-user-select:none;user-select:none;overflow:hidden}.dropzone:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:2px;background:linear-gradient(135deg,#06b6d480,#2563eb80);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7;transition:opacity .3s}.dropzone:hover:before,.dropzone:focus-visible:before{opacity:1}.dropzone:hover,.dropzone:focus-visible{box-shadow:var(--glow-primary-strong);transform:translateY(-1px);outline:none}.dropzone--drag-over{background:linear-gradient(#eff6fff2,#eff6fff2) padding-box,linear-gradient(135deg,#06b6d4,#2563eb) border-box;box-shadow:var(--glow-primary-strong);transform:translateY(-2px)}.dropzone--drag-over:before{background:linear-gradient(135deg,#06b6d4,#2563eb);opacity:1}.dropzone--disabled{opacity:.5;cursor:not-allowed}.dropzone--disabled:hover{box-shadow:var(--shadow-xs);background:var(--color-surface);transform:none}.app__empty .dropzone{padding:calc(var(--space-unit) * 16) calc(var(--space-unit) * 10);max-width:600px;width:100%}.dropzone__content{display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 3);position:relative;z-index:1}.dropzone__icon{font-size:2.5rem;line-height:1;opacity:.8}.dropzone__icon-svg{width:72px;height:72px;filter:drop-shadow(0 0 12px rgba(6,182,212,.4)) drop-shadow(0 0 24px rgba(37,99,235,.2))}.dropzone__text{font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text)}.dropzone__formats{font-size:.8125rem;color:var(--color-text-muted);margin:0}.supported-formats{font-size:.75rem;color:var(--color-text-muted);margin:0;opacity:.7;letter-spacing:.01em;line-height:1.5}.supported-formats__label{font-weight:500;color:var(--color-text-secondary)}.supported-formats__item{font-weight:400}.supported-formats__sep{opacity:.5}.dropzone__limit{font-size:.75rem;color:var(--color-text-muted);margin:0}.dropzone__cta-label{display:inline-block;padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 7);background:var(--gradient-primary);color:#fff;font-size:.9375rem;font-weight:600;border-radius:var(--radius-lg);letter-spacing:.01em;pointer-events:none;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 12px #06b6d440}.dropzone:hover .dropzone__cta-label,.dropzone:focus-visible .dropzone__cta-label{box-shadow:0 4px 20px #06b6d459;transform:translateY(-1px)}.upload-zone-wrapper{position:relative;display:flex;justify-content:center;width:100%;max-width:600px}.upload-zone-particles{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;pointer-events:none;z-index:0;overflow:visible}.upload-zone-particles__particle{position:absolute;border-radius:50%;opacity:0;animation:particleFloat 6s ease-in-out infinite}.upload-zone-particles__particle--1{width:6px;height:6px;background:#06b6d44d;top:15%;left:-5%;animation-delay:0s}.upload-zone-particles__particle--2{width:4px;height:4px;background:#2563eb40;top:60%;left:-8%;animation-delay:1s}.upload-zone-particles__particle--3{width:8px;height:8px;background:#06b6d433;top:10%;right:-6%;animation-delay:2s;border-radius:2px;transform:rotate(45deg)}.upload-zone-particles__particle--4{width:5px;height:5px;background:#2563eb33;top:70%;right:-4%;animation-delay:3s}.upload-zone-particles__particle--5{width:3px;height:3px;background:#06b6d459;top:40%;left:-10%;animation-delay:4s}.upload-zone-particles__particle--6{width:7px;height:7px;background:#2563eb26;bottom:5%;right:-8%;animation-delay:.5s;border-radius:2px;transform:rotate(30deg)}.upload-zone-particles__particle--7{width:4px;height:4px;background:#06b6d440;bottom:20%;left:-6%;animation-delay:2.5s}.upload-zone-particles__particle--8{width:10px;height:10px;background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%);top:5%;left:10%;animation-delay:1.5s;animation-duration:8s}.upload-zone-particles__flare{position:absolute;border-radius:50%;filter:blur(12px);animation:flareGlow 5s ease-in-out infinite}.upload-zone-particles__flare--1{width:60px;height:60px;background:#06b6d414;top:-20px;left:-20px;animation-delay:0s}.upload-zone-particles__flare--2{width:50px;height:50px;background:#2563eb0f;bottom:-15px;right:-15px;animation-delay:2.5s}.upload-zone-particles__flare--3{width:40px;height:40px;background:#06b6d40d;top:50%;right:-25px;animation-delay:1.2s}@keyframes particleFloat{0%,to{opacity:0;transform:translateY(0) scale(1)}20%{opacity:.7}50%{opacity:.5;transform:translateY(-12px) scale(1.1)}80%{opacity:.3}}@keyframes flareGlow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.dropzone-compact{display:inline-flex;align-items:center;gap:calc(var(--space-unit) * 1);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2.5);border:1px dashed var(--color-border);border-radius:100px;background:var(--color-surface);cursor:pointer;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);transition:border-color .15s,background-color .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.dropzone-compact:hover,.dropzone-compact:focus-visible{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light);outline:none}.dropzone-compact--drag-over{border-color:var(--color-primary);border-style:solid;background:var(--color-drag-over);color:var(--color-primary)}.dropzone-compact--disabled{opacity:.5;cursor:not-allowed}.dropzone-compact__label{line-height:1}.image-grid-container{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.image-grid__header{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-text-secondary)}.image-grid__stats{display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.image-grid__separator{color:var(--color-border)}.image-grid__errors{color:var(--color-error);font-weight:500}.image-grid__actions{display:flex;gap:calc(var(--space-unit) * 2);align-items:center}.batch-summary{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border-radius:calc(var(--radius) / 2);background:var(--color-success-bg);color:var(--color-success);font-size:.8125rem;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.batch-summary--errors{background:var(--color-error-bg);color:var(--color-error)}.batch-summary__zip-btn{font-size:.8125rem;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 3);white-space:nowrap}.batch-summary__zip-btn[aria-busy=true]{opacity:.7;cursor:wait}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:calc(var(--space-unit) * 3)}.image-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s,border-color .15s}.image-card:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border)}.image-card--error{border-color:var(--color-error-border);background:var(--color-error-bg)}.image-card__preview{position:relative;width:100%;aspect-ratio:4 / 3;background:var(--color-bg);overflow:hidden}.image-card__img{width:100%;height:100%;object-fit:contain;display:block;image-rendering:auto}.image-card__error-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#dc26261a;display:flex;align-items:center;justify-content:center}.image-card__error-icon{font-size:2rem;color:var(--color-error)}.image-card__info{padding:calc(var(--space-unit) * 2);padding-right:calc(var(--space-unit) * 8);min-height:calc(var(--space-unit) * 14)}.image-card__name{margin:0;font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-card__meta{margin:calc(var(--space-unit)) 0 0;font-size:.75rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.image-card__type{background:var(--color-primary-light);color:var(--color-primary);padding:1px 6px;border-radius:3px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.image-card__error-text{margin:calc(var(--space-unit)) 0 0;font-size:.75rem;color:var(--color-error);font-weight:500}.image-card__batch-badge{position:absolute;bottom:calc(var(--space-unit) * 1);left:calc(var(--space-unit) * 1);padding:2px 8px;border-radius:3px;font-size:.6875rem;font-weight:600;line-height:1.4;pointer-events:none}.image-card__batch-badge--queued{background:var(--color-primary-light);color:var(--color-primary)}.image-card__batch-badge--processing{background:#fef3c7;color:var(--color-warning)}.image-card__batch-badge--success{background:var(--color-success-bg);color:var(--color-success)}.image-card__batch-badge--failed{background:var(--color-error-bg);color:var(--color-error)}.image-card__download-btn{margin-top:calc(var(--space-unit));padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);font-size:.8125rem;font-weight:600;width:100%}.image-card--success{border-color:var(--color-success);border-left:3px solid var(--color-success)}.image-card--failed{border-color:var(--color-error);border-left:3px solid var(--color-error)}.image-card__result-size{margin:0;font-size:.6875rem;color:var(--color-success);font-weight:500}.image-card__size-warning,.image-card__size-hint{margin:0;font-size:.625rem;color:var(--color-text-secondary);font-weight:400}.image-card__kept-original{margin:0;font-size:.625rem;color:var(--color-text-secondary);font-weight:500;font-style:italic}.image-card__cloud-notice{margin:0;font-size:.625rem;color:var(--color-text-secondary);font-style:italic}.image-card__remove{position:absolute;top:calc(var(--space-unit) * 1);right:calc(var(--space-unit) * 1);width:28px;height:28px;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;line-height:1}.image-card:hover .image-card__remove{opacity:1}@media(hover:none){.image-card__remove{opacity:1}}.image-card__remove:hover{background:#000000b3}.image-card__remove:focus-visible{opacity:1;outline:2px solid var(--color-primary);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2.5) calc(var(--space-unit) * 5);border-radius:var(--radius-lg);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background-color .2s,color .2s,box-shadow .2s,transform .1s;line-height:1.25;white-space:nowrap;text-align:center}.btn:active:not(:disabled){transform:scale(.98)}.btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn--ghost:hover{background:var(--color-bg);color:var(--color-text)}.lang-switcher{display:flex;gap:0;align-items:center;background:var(--color-bg);border-radius:var(--radius-sm);padding:2px}.lang-switcher__btn{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.5);border:none;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:.75rem;font-weight:500;transition:background-color .15s,color .15s;min-height:28px}.lang-switcher__btn:hover{color:var(--color-text);background:var(--color-surface)}.lang-switcher__btn--active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.lang-switcher__btn--active:hover{background:var(--color-surface)}@media(max-width:900px){.workspace{grid-template-columns:1fr;gap:calc(var(--space-unit) * 3);min-height:auto}.workspace__sidebar{position:static;max-height:none;order:-1;border-radius:var(--radius-lg)}.workspace__sidebar-scroll{overflow-y:visible}.file-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media(max-width:640px){.app{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4)}.app__header{flex-wrap:wrap;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 4)}.app__nav{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:calc(var(--space-unit) * .5)}.app__nav-link{white-space:nowrap;min-height:36px;display:flex;align-items:center}.app__tool-links{grid-template-columns:1fr}.app__feature-cards{grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 3)}.app__popular-tools-grid,.app__popular-tools-groups{grid-template-columns:1fr}.app__empty .dropzone{padding:calc(var(--space-unit) * 10) calc(var(--space-unit) * 5)}.app__hero-title{font-size:2rem}.app__tagline{font-size:1.0625rem}.workspace{grid-template-columns:1fr;gap:calc(var(--space-unit) * 3);min-height:auto}.workspace__sidebar{position:static;max-height:none;order:-1}.workspace__sidebar-scroll{overflow-y:visible}.file-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:calc(var(--space-unit) * 2)}.file-grid--single{grid-template-columns:140px}.file-grid__remove{opacity:1}.dropzone-compact{min-height:40px;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);font-size:.8125rem}.dropzone__cta-label{min-height:44px;display:flex;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);font-size:.875rem}.image-grid{grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 2)}.image-grid__header{flex-direction:column;align-items:stretch;gap:calc(var(--space-unit) * 2)}.image-grid__actions{display:flex;gap:calc(var(--space-unit) * 2)}.image-grid__actions .btn{flex:1;justify-content:center;min-height:44px;font-size:.9375rem}.processing-panel__preset-btn,.processing-panel__format-btn,.processing-panel__crop-btn,.processing-panel__fit-btn{min-height:44px;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);font-size:.8125rem}.lang-switcher__btn{min-height:36px;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);font-size:.75rem}.batch-summary{flex-direction:column;align-items:stretch;gap:calc(var(--space-unit) * 2)}.batch-summary__zip-btn{min-height:44px;text-align:center;justify-content:center}.processing-panel__comparison{flex-direction:column;gap:calc(var(--space-unit) * 3)}.processing-panel__actions{flex-direction:row}.processing-panel__actions .btn{flex:1;min-height:44px;justify-content:center}.image-card__download-btn{min-height:40px;font-size:.8125rem}.processing-panel__select,.processing-panel__input{min-height:44px;font-size:1rem}.processing-panel__range{height:32px}.tool-landing__headline{font-size:1.5rem}.tool-landing__features{grid-template-columns:1fr}.tool-landing__steps{grid-template-columns:1fr;gap:calc(var(--space-unit) * 3)}.tool-landing__related-grid{grid-template-columns:1fr}.tool-landing__upload .dropzone{padding:calc(var(--space-unit) * 8) calc(var(--space-unit) * 4)}}.image-card--selectable{cursor:pointer}.image-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26}.processing-panel{background:var(--color-surface);border:none;border-radius:0;padding:calc(var(--space-unit) * 4);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);box-shadow:none}.processing-panel__fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.processing-panel__legend{font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:calc(var(--space-unit) * .5);padding-bottom:calc(var(--space-unit) * 1);border-bottom:1px solid var(--color-border-subtle)}.processing-panel__format-grid,.processing-panel__fit-grid,.processing-panel__crop-grid{display:flex;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap}.processing-panel__format-btn,.processing-panel__fit-btn,.processing-panel__crop-btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s;position:relative}.processing-panel__format-btn:hover,.processing-panel__fit-btn:hover,.processing-panel__crop-btn:hover{border-color:#2563eb4d;color:var(--color-primary);background:#2563eb08}.processing-panel__format-btn--active,.processing-panel__fit-btn--active,.processing-panel__crop-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0f;box-shadow:0 0 0 1px #2563eb26,0 0 12px #06b6d414}.processing-panel__format-btn--active:hover,.processing-panel__fit-btn--active:hover,.processing-panel__crop-btn--active:hover{background:#2563eb14}.processing-panel__format-btn:disabled,.processing-panel__fit-btn:disabled,.processing-panel__crop-btn:disabled{opacity:.4;cursor:not-allowed}.processing-panel__format-btn--cloud{border-style:dashed}.processing-panel__format-btn--cloud:not(:disabled){opacity:.85}.processing-panel__cloud-badge{font-size:.625rem;margin-left:2px;opacity:.6}.processing-panel__select{width:100%;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);font-size:.8125rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%239CA3AF' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:calc(var(--space-unit) * 8)}.processing-panel__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1f,0 0 12px #06b6d40f}.processing-panel__input{width:100%;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);font-size:.8125rem;font-weight:500;color:var(--color-text);transition:border-color .2s,box-shadow .2s}.processing-panel__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1f,0 0 12px #06b6d40f}.processing-panel__range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:var(--color-border-subtle);outline:none;cursor:pointer;margin:calc(var(--space-unit) * 1) 0}.processing-panel__range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-primary);box-shadow:0 1px 4px #0000001f,0 0 8px #06b6d426;cursor:pointer;transition:box-shadow .2s,transform .15s}.processing-panel__range::-webkit-slider-thumb:hover{box-shadow:0 1px 4px #0000001f,0 0 16px #06b6d440;transform:scale(1.1)}.processing-panel__range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-primary);box-shadow:0 1px 4px #0000001f,0 0 8px #06b6d426;cursor:pointer}.processing-panel__dimension-row{display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.processing-panel__dimension{flex:1}.processing-panel__dimension-sep{color:var(--color-text-muted);font-size:.8125rem;padding-top:calc(var(--space-unit) * 4)}.processing-panel__label{display:flex;flex-direction:column;gap:calc(var(--space-unit));font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.processing-panel__color-input{width:36px;height:36px;padding:2px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:transparent}.processing-panel__advanced-toggle{display:flex;align-items:center;gap:calc(var(--space-unit));background:none;border:none;color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;padding:calc(var(--space-unit) * 1.5) 0;transition:color .15s;letter-spacing:.02em}.processing-panel__advanced-toggle:hover{color:var(--color-primary)}.processing-panel__advanced-arrow{transition:transform .2s;font-size:.6875rem}.processing-panel__advanced-arrow--open{transform:rotate(180deg)}.processing-panel__advanced{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);padding-top:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle);margin-top:calc(var(--space-unit) * 1)}.processing-panel__reset-btn{align-self:flex-start}.processing-panel__quality-hints{display:flex;justify-content:space-between;font-size:.6875rem;color:var(--color-text-muted);margin-top:calc(var(--space-unit) * .5)}.processing-panel__level-grid{display:flex;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap}.processing-panel__level-btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s}.processing-panel__level-btn:hover{border-color:#2563eb4d;color:var(--color-primary);background:#2563eb08}.processing-panel__level-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0f;box-shadow:0 0 0 1px #2563eb26,0 0 12px #06b6d414}.processing-panel__level-btn--active:hover{background:#2563eb14}.processing-panel__level-btn:disabled{opacity:.4;cursor:not-allowed}.processing-panel__hint{font-size:.6875rem;color:var(--color-text-muted);margin-top:calc(var(--space-unit))}.processing-panel__auto-badge{display:inline-block;margin-left:calc(var(--space-unit));font-size:.7rem;opacity:.7;vertical-align:middle}.processing-panel__auto-info{display:flex;align-items:center;gap:calc(var(--space-unit));padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);background:var(--color-bg-alt, #f5f5f5);border-left:3px solid var(--color-primary, #2563eb);border-radius:var(--radius-sm);font-size:.8rem;color:var(--color-text-muted);margin-bottom:calc(var(--space-unit) * 2)}.processing-panel__auto-info-icon{font-size:.9rem;opacity:.7}.processing-panel__format-btn--auto{position:relative}.processing-panel__fieldset--deemphasized{opacity:.75;transition:opacity .2s}.processing-panel__fieldset--deemphasized:hover,.processing-panel__fieldset--deemphasized:focus-within{opacity:1}.processing-panel__edit-row{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit) * 3)}.processing-panel__edit-group{display:flex;flex-direction:column;gap:calc(var(--space-unit))}.processing-panel__edit-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.processing-panel__btn-row{display:flex;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap}.processing-panel__edit-btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s}.processing-panel__edit-btn:hover{border-color:#2563eb4d;color:var(--color-primary);background:#2563eb08}.processing-panel__edit-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0f;box-shadow:0 0 0 1px #2563eb26,0 0 12px #06b6d414}.processing-panel__edit-btn--active:hover{background:#2563eb14}.processing-panel__edit-btn:disabled{opacity:.4;cursor:not-allowed}.processing-panel__slider-group{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.processing-panel__slider-label{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5);font-size:.8125rem;font-weight:500;color:var(--color-text)}.processing-panel__checkbox-label{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);font-size:.8125rem;font-weight:500;cursor:pointer}.processing-panel__checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.processing-panel__kept-original{font-size:.75rem;color:var(--color-success);font-weight:500;margin:calc(var(--space-unit)) 0 0}.processing-panel__preview-section{padding-top:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.processing-panel__preview-header{display:flex;align-items:baseline;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.processing-panel__preview-filename{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.processing-panel__meta{font-size:.8125rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.processing-panel__sep{color:var(--color-border)}.processing-panel__error{color:var(--color-error);font-size:.75rem;font-weight:500;margin:calc(var(--space-unit)) 0 0}.processing-panel__warning{color:var(--color-warning);font-size:.75rem;font-weight:500;margin:calc(var(--space-unit)) 0 0}.processing-panel__info{font-size:.75rem;font-weight:500;margin:calc(var(--space-unit)) 0 0;color:var(--color-text-secondary);font-style:italic}.processing-panel__presets{display:flex;gap:calc(var(--space-unit) * 1.5);flex-wrap:wrap}.processing-panel__preset-btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);transition:all .2s;white-space:nowrap}.processing-panel__preset-btn:hover{border-color:#2563eb4d;color:var(--color-primary);background:#2563eb08}.processing-panel__preset-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb0f;box-shadow:0 0 0 1px #2563eb26,0 0 12px #06b6d414}.processing-panel__preset-btn--active:hover{background:#2563eb14}.processing-panel__preset-btn:disabled{opacity:.4;cursor:not-allowed}.processing-panel__preset-btn--social{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);text-align:left}.processing-panel__preset-icon{font-size:.875rem;flex-shrink:0;line-height:1}.processing-panel__preset-size{font-size:.625rem;color:var(--color-text-secondary);font-weight:400}.processing-panel__preset-btn--active .processing-panel__preset-size{color:#2563eb99}.processing-panel__presets--social{flex-direction:column}.processing-panel__custom-badge{margin:calc(var(--space-unit) * 1.5) 0 0;font-size:.6875rem;color:var(--color-warning);font-weight:500;font-style:italic}.processing-panel__metadata-info{font-size:.75rem;color:var(--color-text-muted);margin:calc(var(--space-unit) * 2) 0;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);background:var(--color-surface);border-radius:calc(var(--radius) / 2);border-left:3px solid var(--color-primary)}.processing-panel__actions{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.processing-panel__sticky-cta{position:sticky;bottom:0;z-index:5;margin:calc(var(--space-unit) * 2) calc(var(--space-unit) * -4) 0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-bottom:max(calc(var(--space-unit) * 2),env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border-subtle);box-shadow:0 -8px 16px -12px #0000001f;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1)}.processing-panel__sticky-cta .processing-panel__process-current-btn{min-height:48px;font-size:1rem}.processing-panel__process-current-btn{width:100%;justify-content:center}.processing-panel__process-current-hint{font-size:.6875rem;color:var(--color-text-muted);margin:0;line-height:1.4}.processing-panel__result-inline{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4) calc(var(--space-unit) * 4);padding:calc(var(--space-unit) * 2);background:#22c55e0f;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius)}.processing-panel__result-ready{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-success);flex:1}.btn--primary{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:0 2px 8px #06b6d426}.btn--primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:0 4px 16px #06b6d440}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--color-primary-light);color:var(--color-primary);border-color:transparent}.btn--secondary:hover:not(:disabled){background:var(--color-border-subtle)}.btn--secondary:disabled{opacity:.5;cursor:not-allowed}.btn--success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn--success:hover:not(:disabled){background:#15803d}.btn--success:disabled{opacity:.5;cursor:not-allowed}.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover:not(:disabled){background:var(--color-primary-light)}.btn--outline:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);font-size:.8125rem;border-radius:var(--radius)}.btn--xs{padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2.5);font-size:.6875rem;border-radius:var(--radius-sm)}.processing-panel__bg-color{margin-top:calc(var(--space-unit) * 2)}.processing-panel__color-input{width:48px;height:32px;padding:2px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:var(--color-surface)}.processing-panel__color-input::-webkit-color-swatch-wrapper{padding:2px}.processing-panel__color-input::-webkit-color-swatch{border:none;border-radius:2px}.processing-panel__result{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);padding-top:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle)}.processing-panel__download-btn{width:100%;justify-content:center;min-height:44px;font-size:.9375rem;font-weight:600}.processing-panel__result-title{margin:0;font-size:.875rem;font-weight:600}.processing-panel__comparison{display:flex;gap:calc(var(--space-unit) * 3)}.processing-panel__preview-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--space-unit))}.processing-panel__preview-label{margin:0;font-size:.6875rem;text-transform:uppercase;font-weight:600;color:var(--color-text-secondary);letter-spacing:.03em}.processing-panel__preview-img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius)}.processing-panel__preview-meta{margin:0;font-size:.6875rem;color:var(--color-text-secondary)}.mode-switch{display:flex;border:1px solid var(--color-border-subtle);border-radius:100px;overflow:hidden;background:var(--color-bg);padding:2px}.mode-switch__btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);font-size:.75rem;font-weight:500;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s;white-space:nowrap;border-radius:100px}.mode-switch__btn:hover:not(:disabled){color:var(--color-text)}.mode-switch__btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-xs),0 0 8px #06b6d414}.mode-switch__btn--active:hover:not(:disabled){background:var(--color-surface);color:var(--color-primary)}.mode-switch__btn:disabled{opacity:.4;cursor:not-allowed}.mode-switch__btn-wrapper{position:relative;display:flex}.mode-switch__tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-text);color:var(--color-bg);font-size:.6875rem;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}.mode-switch__btn-wrapper:hover .mode-switch__tooltip{opacity:1}.toggle-switch{position:relative;width:40px;height:22px;display:inline-block}.toggle-switch__input{opacity:0;width:0;height:0}.toggle-switch__track{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--color-border-subtle);border-radius:100px;transition:background .25s}.toggle-switch__track:after{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px #00000026}.toggle-switch__input:checked+.toggle-switch__track{background:var(--gradient-primary);box-shadow:0 0 8px #06b6d433}.toggle-switch__input:checked+.toggle-switch__track:after{transform:translate(18px)}.toggle-switch__label{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.processing-panel__cloud-note{font-size:.75rem;color:var(--color-text-secondary);font-style:italic;margin-top:calc(var(--space-unit))}.batch-summary--cloud{background:var(--color-primary-light);color:var(--color-primary-dark)}.batch-summary__fallback-notice{font-size:.8125rem;opacity:.85;margin-bottom:calc(var(--space-unit));padding:calc(var(--space-unit)) calc(var(--space-unit) * 2);background:#fff6;border-radius:var(--radius);text-align:center}.batch-summary__progress{width:100%;height:4px;background:#0000001a;border-radius:2px;overflow:hidden}.batch-summary__progress-bar{height:100%;background:var(--color-primary);transition:width .5s ease;border-radius:2px}@media(max-width:768px){.mode-switch__btn{min-height:44px;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);font-size:.8125rem}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:calc(var(--space-unit) * 4)}.error-boundary__content{max-width:420px;text-align:center}.error-boundary__title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--space-unit) * 2)}.error-boundary__message{font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 calc(var(--space-unit) * 4);line-height:1.5}.error-boundary__actions{display:flex;gap:calc(var(--space-unit) * 2);justify-content:center;flex-wrap:wrap}.error-boundary__btn{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 4);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;min-height:44px}.error-boundary__btn--primary{background:var(--color-primary);color:#fff}.error-boundary__btn--primary:hover{background:var(--color-primary-hover)}.error-boundary__btn--secondary{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.error-boundary__btn--secondary:hover{background:var(--color-surface)}.account-menu{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5)}.account-menu--auth{position:relative}.account-menu__trigger{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);padding:calc(var(--space-unit) * .5) calc(var(--space-unit) * 1.5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:transparent;cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background .15s,border-color .15s}.account-menu__trigger:hover{background:var(--color-surface-alt, rgba(0,0,0,.04));border-color:var(--color-text-muted)}.account-menu__avatar{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;flex-shrink:0}.account-menu__name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg, 0 4px 16px rgba(0,0,0,.12));padding:calc(var(--space-unit) * .5) 0}.account-menu__item{display:block;width:100%;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 3);text-align:left;font-size:.8125rem;color:var(--color-text);text-decoration:none;background:transparent;border:none;cursor:pointer;transition:background .1s}.account-menu__item:hover{background:var(--color-surface-alt, rgba(0,0,0,.04))}.account-menu__item--danger{color:var(--color-error)}.account-menu__item--danger:hover{background:#dc26260f}.account-menu__user{font-size:.75rem;color:var(--color-text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.account-menu__register{display:none}}.confirm-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#00000073;padding:calc(var(--space-unit) * 4);animation:confirm-fade-in .15s ease}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--color-surface, #fff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-lg);width:100%;max-width:380px;padding:calc(var(--space-unit) * 6);text-align:center;animation:confirm-slide-in .15s ease}@keyframes confirm-slide-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary-bg, #eff6ff);color:var(--color-primary, #2563eb);margin:0 auto calc(var(--space-unit) * 4)}.confirm-modal__icon--danger{background:#fef2f2;color:#dc2626}.confirm-modal__title{font-size:1.125rem;font-weight:700;margin:0 0 calc(var(--space-unit) * 2) 0;color:var(--color-text, #1a1a1a)}.confirm-modal__message{font-size:.875rem;color:var(--color-text-secondary, #666);margin:0 0 calc(var(--space-unit) * 5) 0;line-height:1.5}.confirm-modal__actions{display:flex;gap:calc(var(--space-unit) * 3);justify-content:center}.confirm-modal__cancel,.confirm-modal__confirm{flex:1;padding:calc(var(--space-unit) * 2.5) calc(var(--space-unit) * 4);font-size:.875rem;font-weight:600;border-radius:var(--radius-lg, 12px)}.confirm-modal__confirm--danger{background:#dc2626;color:#fff;border:1px solid transparent}.confirm-modal__confirm--danger:hover{background:#b91c1c}@media(max-width:480px){.confirm-modal{max-width:100%;padding:calc(var(--space-unit) * 4)}}.result-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:calc(var(--space-unit) * 4);animation:result-modal-fade-in .18s ease}@keyframes result-modal-fade-in{0%{opacity:0}to{opacity:1}}.result-modal{background:var(--color-surface, #fff);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-lg),0 25px 60px #00000026;width:100%;max-width:840px;max-height:90vh;overflow-y:auto;padding:calc(var(--space-unit) * 6);position:relative;animation:result-modal-slide-in .2s ease}@keyframes result-modal-slide-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-modal__close{position:absolute;top:calc(var(--space-unit) * 3);right:calc(var(--space-unit) * 3);background:var(--color-bg);border:1px solid var(--color-border-subtle);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:background .15s,color .15s}.result-modal__close:hover{background:var(--color-border-subtle);color:var(--color-text)}.result-modal__title{font-size:1.25rem;font-weight:700;margin:0 0 calc(var(--space-unit) * 4) 0;color:var(--color-text)}.result-modal__hint{font-size:.75rem;color:var(--color-text-muted);margin:0 0 calc(var(--space-unit) * 3) 0;font-style:italic}.result-modal__slider{position:relative;width:100%;aspect-ratio:16 / 10;max-height:450px;overflow:hidden;border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border-subtle);background:var(--color-bg);margin-bottom:calc(var(--space-unit) * 4);cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none}.result-modal__slider-img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.result-modal__slider-after{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.result-modal__slider-img--after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.result-modal__slider-line{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translate(-50%);box-shadow:0 0 6px #00000059;pointer-events:none;z-index:2}.result-modal__slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center;pointer-events:none}.result-modal__slider-arrows{font-size:1rem;font-weight:700;color:var(--color-text-secondary);letter-spacing:.1em}.result-modal__slider-label{position:absolute;bottom:calc(var(--space-unit) * 2);font-size:.6875rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;background:#0000008c;color:#fff;padding:2px 8px;border-radius:4px;pointer-events:none;z-index:3}.result-modal__slider-label--before{left:calc(var(--space-unit) * 2)}.result-modal__slider-label--after{right:calc(var(--space-unit) * 2)}.result-modal__split{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 4)}.result-modal__split-pane{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border-subtle);background:var(--color-bg)}.result-modal__split-img{width:100%;height:100%;display:block;object-fit:contain}.result-modal__split-label{position:absolute;bottom:calc(var(--space-unit) * 2);left:calc(var(--space-unit) * 2);font-size:.6875rem;text-transform:uppercase;font-weight:700;letter-spacing:.05em;background:#0000008c;color:#fff;padding:2px 8px;border-radius:4px;pointer-events:none}.result-modal__stats{display:flex;align-items:center;justify-content:center;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 4);flex-wrap:wrap;text-align:center}.result-modal__stat{display:flex;flex-direction:column;gap:2px}.result-modal__stat-label{font-size:.6875rem;text-transform:uppercase;font-weight:700;color:var(--color-text-secondary);letter-spacing:.04em}.result-modal__stat-value{font-size:.8125rem;color:var(--color-text)}.result-modal__stat-sep{margin:0 4px;color:var(--color-text-muted)}.result-modal__stat-arrow{font-size:1.25rem;color:var(--color-text-muted);font-weight:300}.result-modal__stat--savings{margin-left:0}.result-modal__savings{color:var(--color-success);font-weight:600}.result-modal__info{font-size:.8125rem;color:var(--color-text-secondary);font-style:italic;margin:0 0 calc(var(--space-unit) * 3) 0}.result-modal__actions{display:flex;flex-direction:column}.result-modal__download-btn{width:100%;min-height:52px;font-size:1rem;font-weight:600;letter-spacing:.02em;justify-content:center;background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 4px 14px #06b6d44d,0 1px 3px #0000001a;transition:background .2s,box-shadow .2s,transform .1s}.result-modal__download-btn:hover{background:var(--gradient-primary-hover);box-shadow:0 6px 20px #06b6d466,0 2px 6px #0000001f;transform:translateY(-1px)}.result-modal__download-btn:active{transform:translateY(0);box-shadow:0 2px 8px #06b6d440}.result-modal__error{color:var(--color-error);font-size:.75rem;margin-top:calc(var(--space-unit) * 2)}@media(max-width:640px){.result-modal{max-width:100%;padding:calc(var(--space-unit) * 4)}.result-modal__split{grid-template-columns:1fr}.result-modal__stats{flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2)}.result-modal__stat-arrow{display:none}.result-modal__stat--savings{margin-left:0;margin-top:0}.result-modal__actions{flex-direction:column}.result-modal__download-btn{width:100%}}.dashboard{max-width:1120px;margin:0 auto;padding:calc(var(--space-unit) * 5) calc(var(--space-unit) * 3)}.dashboard__header{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 5)}.dashboard__title{flex:1;font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.01em}.dashboard__header .btn svg{vertical-align:-2px;margin-right:4px}.dashboard__error{background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626);border:1px solid var(--color-error, #dc2626);border-radius:var(--radius-lg);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3);font-size:.875rem}.dashboard__bento{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--space-unit) * 5);align-items:start}.dashboard__bento-left,.dashboard__bento-right{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 5)}.dashboard__bento-card{background:var(--color-surface, #fff);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:var(--radius-xl, 16px);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard__bento-card .usage-summary{border:none;border-radius:0;margin-bottom:0;padding:calc(var(--space-unit) * 5)}.dashboard__bento-card .api-keys{border:none;border-radius:0;margin-bottom:0;margin-top:0;padding:calc(var(--space-unit) * 5);border-top:none}.dashboard__bento-card .billing-section{border:none;border-radius:0;margin-bottom:0}.dashboard__bento-card--history{padding:calc(var(--space-unit) * 5)}.dashboard__upsell{background:linear-gradient(135deg,#eff6ff,#f0f0ff,#faf5ff);border:1.5px solid rgba(37,99,235,.25);border-radius:var(--radius-xl, 16px);padding:calc(var(--space-unit) * 7);position:relative;overflow:hidden;box-shadow:0 4px 24px #2563eb1a,0 1px 4px #7c3aed14}.dashboard__upsell:before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:radial-gradient(circle,rgba(139,92,246,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.dashboard__upsell-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a78bfa,#c084fc);border-radius:10px;color:#fff;margin-bottom:calc(var(--space-unit) * 3)}.dashboard__upsell-title{font-size:1.25rem;font-weight:800;margin:0 0 calc(var(--space-unit) * 1.5) 0;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard__upsell-desc{font-size:.875rem;color:var(--color-text-secondary, #666);margin:0 0 calc(var(--space-unit) * 3) 0;line-height:1.5}.dashboard__upsell-features{list-style:none;margin:0 0 calc(var(--space-unit) * 4) 0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.dashboard__upsell-features li{font-size:.8125rem;color:var(--color-text, #1a1a1a);padding-left:20px;position:relative}.dashboard__upsell-features li:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:700}.dashboard__upsell-cta{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:100px;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.dashboard__upsell-cta:hover{opacity:.92;transform:translateY(-1px)}.dashboard__upsell .upgrade-btn-wrapper .btn{width:100%;justify-content:center;padding:12px 28px;font-size:.9375rem;font-weight:700;background:#2563eb;border-color:#2563eb;border-radius:100px;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px #2563eb40}.dashboard__upsell .upgrade-btn-wrapper .btn:hover{background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.dashboard__upsell .upgrade-btn-wrapper{display:flex;width:100%}.dashboard__history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 3)}.dashboard__history-title{font-size:1rem;font-weight:600;margin:0}.dashboard__history-count{font-size:.75rem;color:var(--color-text-secondary, #666);background:var(--color-surface-muted, #f3f4f6);padding:2px 10px;border-radius:100px;font-weight:500}.dashboard__loading{text-align:center;padding:calc(var(--space-unit) * 8) calc(var(--space-unit) * 2);color:var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2)}.dashboard__loading-spinner{width:24px;height:24px;border:2.5px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #2563eb);border-radius:50%;animation:dashboard-spin .7s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(var(--space-unit) * 7) calc(var(--space-unit) * 4)}.dashboard-empty-state__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:50%;margin-bottom:calc(var(--space-unit) * 3)}.dashboard-empty-state__title{font-size:1.125rem;font-weight:700;color:var(--color-text, #1a1a1a);margin:0 0 calc(var(--space-unit) * 1.5) 0}.dashboard-empty-state__hint{font-size:.875rem;color:#9ca3af;margin:0 0 calc(var(--space-unit) * 4) 0;max-width:280px;line-height:1.6}.dashboard-empty-state__btn{border-radius:100px;padding:8px 24px;font-size:.875rem}.dashboard__list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.dashboard-card{display:flex;align-items:center;gap:calc(var(--space-unit) * 2.5);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:var(--radius, 8px);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 2.5);background:var(--color-surface, #fff);transition:box-shadow .15s,border-color .15s}.dashboard-card:hover{border-color:var(--color-border, #d1d5db);box-shadow:0 1px 4px #0000000a}.dashboard-card--selected{border-color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 4%,var(--color-surface, #fff))}.dashboard-card__checkbox-label{display:flex;align-items:center;cursor:pointer;flex-shrink:0}.dashboard-card__checkbox{width:16px;height:16px;accent-color:var(--color-primary, #2563eb);cursor:pointer;margin:0}.dashboard-card__thumb{width:40px;height:40px;border-radius:6px;overflow:hidden;background:var(--color-surface-alt, #f1f5f9);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border, #e2e8f0);flex-shrink:0}.dashboard-card__thumb .dashboard-file__thumb{width:100%;height:100%;object-fit:cover}.dashboard-card__thumb .dashboard-file__format-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.5625rem;font-weight:700}.dashboard-card__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dashboard-card__info-top{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);min-width:0}.dashboard-card__filename{font-size:.8125rem;font-weight:600;color:var(--color-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dashboard-card__operation{font-size:.6875rem;font-weight:500;color:var(--color-text-muted, #64748b);background:var(--color-surface-alt, #f1f5f9);padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.dashboard-card__info-bottom{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);font-size:.75rem;color:var(--color-text-secondary, #999);flex-wrap:wrap}.dashboard-card__date,.dashboard-card__sizes{white-space:nowrap}.dashboard-card__sizes:before{content:"·";margin-right:calc(var(--space-unit) * 1.5)}.dashboard-card__error{color:var(--color-error, #dc2626);font-size:.75rem}.dashboard-card__progress{color:var(--color-primary, #2563eb);font-size:.75rem;font-weight:500}.dashboard-card__right{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);flex-shrink:0}.dashboard-card__actions{display:flex;gap:calc(var(--space-unit) * 1);align-items:center}.dashboard-card__actions .btn--xs{display:inline-flex;align-items:center;justify-content:center;gap:0;font-size:0;padding:5px;border-radius:100px;width:28px;height:28px}.dashboard-card__delete-btn{color:var(--color-text-secondary, #999);background:#f3f4f6;border:1px solid transparent}.dashboard-card__delete-btn:hover{color:#fff;background:var(--color-error, #dc2626);border-color:var(--color-error, #dc2626)}.dashboard-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:100px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.dashboard-badge--queued{background:#f3f4f6;color:#6b7280}.dashboard-badge--processing{background:#dbeafe;color:#2563eb}.dashboard-badge--completed{background:#d1fae5;color:#065f46}.dashboard-badge--failed{background:#fef2f2;color:#dc2626}.dashboard-retention{font-size:.6875rem;color:var(--color-text-secondary, #999);white-space:nowrap}.dashboard-retention--soon{color:#d97706;font-weight:500}.dashboard-retention--expired{color:var(--color-error, #dc2626);font-weight:500}.dashboard__stat-card{display:flex;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4)}.dashboard__stat-icon{font-size:1.75rem;line-height:1}.dashboard__stat-info{display:flex;flex-direction:column}.dashboard__stat-value{font-size:1.5rem;font-weight:700;color:var(--color-text, #111)}.dashboard__stat-label{font-size:.75rem;color:var(--color-text-muted, #64748b)}.dashboard__bulk-bar{display:flex;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 2) 0;border-bottom:1px solid var(--color-border, #e2e8f0);margin-bottom:calc(var(--space-unit) * 2);flex-wrap:wrap}.dashboard__select-all{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);cursor:pointer;font-size:.8125rem;color:var(--color-text-muted, #64748b);-webkit-user-select:none;user-select:none}.dashboard__select-all input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary, #2563eb);cursor:pointer}.dashboard__bulk-actions{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-left:auto}.dashboard__bulk-count{font-size:.75rem;color:var(--color-primary, #2563eb);font-weight:500}@media(max-width:820px){.dashboard__bento{grid-template-columns:1fr}}@media(max-width:640px){.dashboard{padding:calc(var(--space-unit) * 2)}.dashboard__title{font-size:1.25rem}.dashboard__bento-card--history{padding:calc(var(--space-unit) * 4)}.dashboard-card{flex-wrap:wrap}.dashboard-card__info{flex-basis:calc(100% - 90px)}.dashboard-card__right{margin-left:auto}}.api-keys{margin-top:calc(var(--space-unit) * 6);padding-top:calc(var(--space-unit) * 4);border-top:1px solid var(--color-border)}.api-keys__header{margin-bottom:calc(var(--space-unit) * 3)}.api-keys__title{font-size:1rem;font-weight:600;margin:0 0 calc(var(--space-unit) * 1) 0}.api-keys__subtitle{font-size:.6875rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.api-keys__error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3);font-size:.875rem}.api-keys__loading{text-align:center;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 2);color:var(--color-text-secondary);font-size:.875rem}.api-keys__empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(var(--space-unit) * 7) calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4)}.api-keys__empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:50%;margin-bottom:calc(var(--space-unit) * 3)}.api-keys__empty-title{font-size:1.125rem;font-weight:700;color:var(--color-text, #1a1a1a);margin:0 0 calc(var(--space-unit) * 1.5) 0}.api-keys__empty-hint{font-size:.875rem;color:#9ca3af;margin:0;max-width:280px;line-height:1.6}.api-keys__limit-notice{font-size:.8125rem;color:var(--color-text-secondary);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);background:#f9fafb;border-radius:var(--radius);margin-bottom:calc(var(--space-unit) * 3)}.api-keys__create-form{display:flex;gap:calc(var(--space-unit) * 3);align-items:flex-end;flex-wrap:nowrap;margin-bottom:calc(var(--space-unit) * 6)}.api-keys__create-form .btn{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);font-size:.875rem;line-height:1.25;white-space:nowrap;height:38px}.api-keys__name-input{flex:1;min-width:180px;height:38px;box-sizing:border-box;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;line-height:1.25;font-family:inherit;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .15s}.api-keys__name-input:focus{border-color:var(--color-primary)}.api-keys__name-input:disabled{opacity:.6}.api-keys__validation-error{width:100%;font-size:.8125rem;color:var(--color-error)}.api-keys__reveal{background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius);padding:calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4)}.api-keys__reveal-header{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 2);font-size:.9375rem}.api-keys__reveal-warning{font-size:.8125rem;color:var(--color-warning);font-weight:500;margin-bottom:calc(var(--space-unit) * 3)}.api-keys__reveal-key{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);overflow-x:auto}.api-keys__reveal-value{flex:1;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.8125rem;word-break:break-all;-webkit-user-select:all;user-select:all}.api-keys__copy-btn{flex-shrink:0}.api-keys__reveal-example{margin-bottom:calc(var(--space-unit) * 3)}.api-keys__reveal-example-label{font-size:.8125rem;color:var(--color-text-secondary);display:block;margin-bottom:calc(var(--space-unit) * 1)}.api-keys__reveal-code{background:#1e293b;color:#e2e8f0;border-radius:var(--radius-md);padding:calc(var(--space-unit) * 3);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;overflow-x:auto;margin:0;white-space:pre-wrap;word-break:break-all}.api-keys__list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.api-keys__row{display:flex;align-items:center;gap:calc(var(--space-unit) * 2.5);padding:calc(var(--space-unit) * 2.5) calc(var(--space-unit) * 3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-wrap:wrap;transition:background .15s}.api-keys__row:hover{background:#f9fafb}.api-keys__row--revoked{opacity:.55}.api-keys__row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5)}.api-keys__row-name{font-weight:500;font-size:.875rem}.api-keys__row-prefix code{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;color:var(--color-text-secondary)}.api-keys__row-meta{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.api-keys__row-date{font-size:.75rem;color:var(--color-text-secondary)}.api-keys__row-status{font-size:.75rem;font-weight:500;padding:1px 6px;border-radius:999px}.api-keys__row-status--active{background:#dcfce7;color:#16a34a}.api-keys__row-status--revoked{background:#f3f4f6;color:#6b7280}.api-keys__row-actions{flex-shrink:0;display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.api-keys__revoke-btn{color:var(--color-error);font-size:.8125rem}.api-keys__confirm-group{display:flex;align-items:center;gap:calc(var(--space-unit) * 1);font-size:.8125rem}.api-keys__confirm-text{color:var(--color-error);font-weight:500}.api-keys__revoke-yes{color:var(--color-error)}@media(max-width:640px){.api-keys__row{flex-direction:column;align-items:flex-start}.api-keys__row-meta{gap:calc(var(--space-unit) * 1)}.api-keys__reveal-key{flex-direction:column;align-items:stretch}.api-keys__create-form{flex-direction:column}.api-keys__name-input{min-width:unset;width:100%}}.auth-page{display:flex;flex-direction:column;align-items:center;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 3);max-width:480px;margin:0 auto}.auth-page__card{width:100%;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-xl);padding:calc(var(--space-unit) * 6);box-shadow:var(--shadow-sm)}.auth-page__title{font-size:1.5rem;font-weight:700;margin:0 0 calc(var(--space-unit) * 1) 0}.auth-page__subtitle{color:var(--color-text-secondary, #64748b);font-size:.875rem;margin:0 0 calc(var(--space-unit) * 4) 0}.auth-page__value-prop{background:var(--color-bg, #f8fafc);border-radius:var(--space-unit);padding:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 4)}.auth-page__value-title{font-size:.875rem;font-weight:600;margin:0 0 calc(var(--space-unit) * 1.5) 0}.auth-page__value-list{margin:0;padding-left:calc(var(--space-unit) * 3);font-size:.8125rem;color:var(--color-text-secondary, #64748b);line-height:1.6}.auth-page__error{background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626);padding:calc(var(--space-unit) * 2);border-radius:var(--space-unit);font-size:.875rem;margin-bottom:calc(var(--space-unit) * 3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-unit)}.auth-page__error-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:0;line-height:1}.auth-page__form{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.auth-page__field{display:flex;flex-direction:column;gap:calc(var(--space-unit) * .5)}.auth-page__label{font-size:.8125rem;font-weight:500;color:var(--color-text, #1e293b)}.auth-page__input{padding:calc(var(--space-unit) * 2.5) calc(var(--space-unit) * 3);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius);font-size:.875rem;background:var(--color-surface, #fff);color:var(--color-text, #1e293b);transition:border-color .15s,box-shadow .15s}.auth-page__input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.auth-page__submit{margin-top:calc(var(--space-unit) * 1);width:100%;justify-content:center}.auth-page__switch{text-align:center;font-size:.875rem;color:var(--color-text-secondary, #64748b);margin:calc(var(--space-unit) * 3) 0 0}.auth-page__switch-link{color:var(--color-primary, #2563eb);text-decoration:none;font-weight:500}.auth-page__switch-link:hover{text-decoration:underline}.auth-page__back{text-align:center;font-size:.8125rem;margin:calc(var(--space-unit) * 2) 0 0}.auth-page__back a{color:var(--color-text-secondary, #64748b);text-decoration:none}.auth-page__back a:hover{color:var(--color-primary, #2563eb)}.auth-page__forgot{text-align:center;font-size:.8125rem;margin:calc(var(--space-unit) * 2) 0 0}.auth-page__google-wrapper{display:flex;justify-content:center;margin:calc(var(--space-unit) * 2) 0 0}.auth-page__google-unavailable{margin:calc(var(--space-unit) * 2) 0 0;padding:calc(var(--space-unit) * 2);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);color:var(--color-text-secondary, #64748b);font-size:.8125rem;text-align:center}.auth-page__divider{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin:calc(var(--space-unit) * 3) 0;color:var(--color-text-secondary, #64748b);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em}.auth-page__divider:before,.auth-page__divider:after{content:"";flex:1;height:1px;background:var(--color-border, #e2e8f0)}.auth-page__success{text-align:center;padding:calc(var(--space-unit) * 4) 0}.auth-page__success-icon{font-size:2.5rem;margin-bottom:calc(var(--space-unit) * 3)}.auth-page__success-text{font-size:.9375rem;font-weight:500;color:var(--color-text);margin:0 0 calc(var(--space-unit) * 2);line-height:1.5}.auth-page__success-hint{font-size:.8125rem;color:var(--color-text-secondary);margin:0}@media(max-width:640px){.auth-page{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 2)}.auth-page__card{padding:calc(var(--space-unit) * 3)}}.route-loading{display:flex;align-items:center;justify-content:center;min-height:200px;padding:calc(var(--space-unit) * 4)}.route-loading__spinner{width:32px;height:32px;border:3px solid var(--color-border-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:route-spin .8s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}.footer{border-top:1px solid var(--color-border-subtle);margin-top:auto;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 4);color:var(--color-text-muted);font-size:.8125rem}.footer__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--space-unit) * 6);max-width:960px;margin:0 auto}.footer__heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text);margin:0 0 calc(var(--space-unit) * 3) 0}.footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.footer__link{color:var(--color-text-secondary);text-decoration:none;transition:color .2s;font-size:.8125rem}.footer__link:hover{color:var(--color-primary)}.footer__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:calc(var(--space-unit) * 5);padding-top:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle)}.footer__copy{font-size:.75rem;color:var(--color-text-muted)}.footer__bottom .lang-switcher{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);max-width:min(100%,720px);background:transparent;padding:0}.footer__bottom .lang-switcher__btn{min-height:32px;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 1.75);white-space:normal;text-align:center}@media(max-width:640px){.footer__inner{grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 4)}.footer{padding:calc(var(--space-unit) * 5) calc(var(--space-unit) * 3)}.footer__bottom{flex-direction:column;gap:calc(var(--space-unit) * 2)}.footer__bottom .lang-switcher{justify-content:center;gap:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2.5);width:100%}.footer__bottom .lang-switcher__btn{font-size:.6875rem;padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 1.5)}}.legal-page{max-width:720px;margin:0 auto;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 3)}.legal-page__card{background:var(--color-surface, #fff);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:calc(var(--space-unit) * 5);box-shadow:var(--shadow-sm)}.legal-page__title{font-size:1.5rem;font-weight:700;margin:0 0 calc(var(--space-unit) * 4) 0}.legal-page__content{font-size:.9375rem;line-height:1.7;color:var(--color-text, #1e293b)}.legal-page__content h2{font-size:1.125rem;font-weight:600;margin:calc(var(--space-unit) * 4) 0 calc(var(--space-unit) * 2) 0}.legal-page__content p{margin:0 0 calc(var(--space-unit) * 2) 0}.legal-page__content ul{margin:0 0 calc(var(--space-unit) * 2) 0;padding-left:calc(var(--space-unit) * 3)}.legal-page__content li{margin-bottom:var(--space-unit)}.legal-page__content code{background:var(--color-bg, #f8fafc);padding:.1em .3em;border-radius:3px;font-size:.85em}.legal-page__back{text-align:center;font-size:.8125rem;margin:calc(var(--space-unit) * 3) 0 0}.legal-page__back a{color:var(--color-text-secondary, #64748b);text-decoration:none}.legal-page__back a:hover{color:var(--color-primary, #2563eb)}@media(max-width:640px){.legal-page{padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 2)}.legal-page__card{padding:calc(var(--space-unit) * 3)}}.api-page{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 8);padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 3)}.api-page__hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2)}.api-page__badge{display:inline-block;padding:calc(var(--space-unit) * .5) calc(var(--space-unit) * 2);border-radius:100px;background:var(--color-primary-light);color:var(--color-primary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.api-page__title{font-size:2.25rem;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.025em;line-height:1.2}.api-page__subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin:0;line-height:1.5;max-width:600px}.api-page__section{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.api-page__section-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.api-page__use-cases{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.api-page__use-cases li{padding-left:calc(var(--space-unit) * 3);position:relative;font-size:.9375rem;color:var(--color-text-secondary);line-height:1.5}.api-page__use-cases li:before{content:"→";position:absolute;left:0;color:var(--color-primary);font-weight:600}.api-page__flow{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 3)}.api-page__step{display:flex;gap:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface)}.api-page__step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.8125rem;font-weight:600}.api-page__step-title{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--space-unit) * .5)}.api-page__step-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:0 0 calc(var(--space-unit));line-height:1.4}.api-page__step-method{display:inline-block;padding:calc(var(--space-unit) * .25) calc(var(--space-unit));background:var(--color-bg);border-radius:var(--radius-sm);font-size:.75rem;font-family:monospace;color:var(--color-primary)}.api-page__async-note{font-size:.8125rem;color:var(--color-text-secondary);margin:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);background:var(--color-bg);border-radius:var(--radius);border-left:3px solid var(--color-primary);line-height:1.5}.api-page__quickstart{padding-left:calc(var(--space-unit) * 4);margin:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.api-page__quickstart li{font-size:.9375rem;color:var(--color-text-secondary);line-height:1.5}.api-page__auth-box{padding:calc(var(--space-unit) * 3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.api-page__auth-title{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0}.api-page__auth-example{display:block;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);background:var(--color-bg);border-radius:var(--radius-sm);font-family:monospace;font-size:.8125rem;color:var(--color-primary);overflow-x:auto}.api-page__auth-note{font-size:.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.api-page__examples-desc{font-size:.875rem;color:var(--color-text-secondary);margin:0}.api-page__code-header{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 2);flex-wrap:wrap}.api-page__lang-tabs{display:flex;gap:calc(var(--space-unit));flex-wrap:wrap}.api-page__copy-btn{padding:calc(var(--space-unit) * .75) calc(var(--space-unit) * 2);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);font-size:.75rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.api-page__copy-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.api-page__lang-tab{padding:calc(var(--space-unit)) calc(var(--space-unit) * 2);border:1px solid var(--color-border-subtle);border-radius:var(--radius);background:var(--color-surface);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.api-page__lang-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.api-page__lang-tab--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.api-page__code{margin:0;padding:0;border-radius:var(--radius-lg);overflow:hidden;max-height:480px;overflow-y:auto}.api-page__code code{display:block;padding:calc(var(--space-unit) * 3);font-family:Fira Code,JetBrains Mono,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.6;white-space:pre;overflow-x:auto}.api-page__ops-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 3)}.api-page__op{padding:calc(var(--space-unit) * 3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface)}.api-page__op h3{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--space-unit))}.api-page__op p{font-size:.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.api-page__formats{padding:calc(var(--space-unit) * 3);background:var(--color-bg);border-radius:var(--radius)}.api-page__formats-title{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 calc(var(--space-unit))}.api-page__formats p{font-size:.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.api-page__pricing-intro{font-size:.875rem;color:var(--color-text-secondary);margin:0}.api-page__plans{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--space-unit) * 3)}.api-page__plan{padding:calc(var(--space-unit) * 4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.api-page__plan--pro{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.api-page__plan-name{font-size:1rem;font-weight:700;color:var(--color-text);margin:0}.api-page__plan-price{font-size:1.5rem;font-weight:800;color:var(--color-primary)}.api-page__plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--space-unit))}.api-page__plan-features li{font-size:.8125rem;color:var(--color-text-secondary);padding-left:calc(var(--space-unit) * 3);position:relative;line-height:1.4}.api-page__plan-features li:before{content:"✓";position:absolute;left:0;color:var(--color-success, #22c55e);font-weight:600}.api-page__plan-cta{margin-top:auto;text-align:center;font-size:.875rem}.api-page__quota-note{font-size:.8125rem;color:var(--color-text-secondary);margin:0;font-style:italic}.api-page__table{width:100%;border-collapse:collapse;font-size:.8125rem}.api-page__table th,.api-page__table td{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);text-align:left;border-bottom:1px solid var(--color-border-subtle)}.api-page__table th{font-weight:600;color:var(--color-text);background:var(--color-bg)}.api-page__table td{color:var(--color-text-secondary)}.api-page__rl-note{font-size:.8125rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.api-page__constraints{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.api-page__constraints li{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);background:var(--color-bg);border-radius:var(--radius);font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4;border-left:3px solid var(--color-border)}.api-page__cta{text-align:center;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 3);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit) * 2)}.api-page__cta-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0}.api-page__cta-desc{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:400px}.api-page__cta-buttons{display:flex;gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 2)}.api-page__cta-btn{text-decoration:none;min-width:160px;text-align:center}.api-page__spec-links{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:calc(var(--space-unit) * 3);text-align:center}.api-page__spec-actions{display:flex;gap:calc(var(--space-unit) * 2);justify-content:center;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2)}.api-page__spec-btn{text-decoration:none;text-align:center;white-space:normal;word-break:break-word;padding-left:calc(var(--space-unit) * 4);padding-right:calc(var(--space-unit) * 4)}.api-docs-page{max-width:1200px;margin:0 auto;padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 3)}.api-docs-page__header{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3);flex-wrap:wrap}.api-docs-page__back{color:var(--clr-primary);text-decoration:none;font-size:.875rem}.api-docs-page__back:hover{text-decoration:underline}.api-docs-page__title{font-size:1.5rem;font-weight:700;flex:1;margin:0}.api-docs-page__links{display:flex;gap:var(--space-unit)}.api-docs-page__spec-link{font-size:.8125rem;color:var(--clr-primary);text-decoration:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.25rem .75rem}.api-docs-page__spec-link:hover{background:var(--clr-surface)}.api-docs-page__loading{padding:calc(var(--space-unit) * 4);text-align:center;color:var(--clr-text-muted)}.api-docs-page__error{padding:calc(var(--space-unit) * 3);background:var(--clr-error-bg, #fff0f0);border:1px solid var(--clr-error, #dc3545);border-radius:var(--radius-md);text-align:center;margin-bottom:calc(var(--space-unit) * 2)}.api-docs-page__error a{color:var(--clr-primary)}.api-docs-page__swagger{min-height:400px}@media(max-width:640px){.api-page{gap:calc(var(--space-unit) * 5);padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 2)}.api-page__title{font-size:1.75rem}.api-page__flow,.api-page__ops-grid,.api-page__plans{grid-template-columns:1fr}.api-page__cta-buttons{flex-direction:column;width:100%}.api-page__cta-btn{min-width:unset;width:100%}.api-page__spec-actions{flex-direction:column}.api-page__spec-btn{min-width:unset;width:100%}.api-docs-page__header{flex-direction:column;align-items:flex-start}}.plan-badge{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:100px;white-space:nowrap}.plan-badge--free{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:var(--color-text-secondary, #666);border:1px solid var(--color-border, #ddd)}.plan-badge--pro{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none;box-shadow:0 1px 4px #2563eb4d}.usage-summary{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 8px);padding:calc(var(--space-unit, 4px) * 4);margin-bottom:calc(var(--space-unit, 4px) * 4)}.usage-summary--loading{color:var(--color-text-secondary, #666);font-size:.875rem}.usage-summary--free{border-color:#f3f4f6}.usage-summary--free .usage-summary__label{color:#d1d5db}.usage-summary--free .usage-summary__plan-label{color:#9ca3af}.usage-summary__header{display:flex;align-items:center;gap:calc(var(--space-unit, 4px) * 2);margin-bottom:calc(var(--space-unit, 4px) * 3)}.usage-summary__plan-label{font-size:.8125rem;color:var(--color-text-secondary, #666)}.usage-summary__quotas{display:flex;flex-direction:column;gap:calc(var(--space-unit, 4px) * 4);margin-bottom:calc(var(--space-unit, 4px) * 5)}.usage-summary__quota{display:flex;flex-direction:column;gap:calc(var(--space-unit, 4px) * 3)}.usage-summary__stat-header{display:flex;align-items:center;justify-content:space-between}.usage-summary__info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--space-unit, 4px) * 3)}.usage-summary__info{display:flex;flex-direction:column;gap:2px}.usage-summary__label{font-size:.75rem;color:#9ca3af}.usage-summary__value{font-size:1.5rem;font-weight:700;color:var(--color-text, #1a1a1a);letter-spacing:-.02em}.usage-summary__bar{height:8px;width:100%;background:var(--color-border, #e5e7eb);border-radius:100px;overflow:hidden}.usage-summary__bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #2563EB),#60a5fa);border-radius:100px;transition:width .3s ease}.usage-summary__bar-fill--warning{background:linear-gradient(90deg,#dc2626,#f87171)}.usage-summary__upgrade-hint{margin-top:calc(var(--space-unit, 4px) * 3);font-size:.8125rem;color:var(--color-text-secondary, #666);padding:calc(var(--space-unit, 4px) * 2) calc(var(--space-unit, 4px) * 3);background:#f0f7ff;border-radius:var(--radius, 8px);border-left:3px solid var(--color-primary, #2563EB);display:flex;align-items:center;gap:calc(var(--space-unit, 4px) * 2);flex-wrap:wrap}.usage-summary__upgrade-link{color:var(--color-primary, #2563EB);font-weight:600;text-decoration:none;white-space:nowrap}.usage-summary__upgrade-link:hover{text-decoration:underline}.usage-summary__billing-notice{margin-top:calc(var(--space-unit, 4px) * 2);font-size:.8125rem;color:var(--color-text-secondary, #666);padding:calc(var(--space-unit, 4px) * 2) calc(var(--space-unit, 4px) * 3);background:#fff7ed;border-radius:var(--radius, 8px);border-left:3px solid #f59e0b}.usage-summary__value--muted{font-weight:400;color:var(--color-text-secondary, #666);font-size:.8125rem}@media(max-width:480px){.usage-summary__info-grid{grid-template-columns:1fr 1fr}}.upgrade-btn-wrapper{display:inline-flex;flex-direction:column;align-items:center;gap:calc(var(--space-unit, 4px) * 2)}.upgrade-btn__interval-toggle{display:inline-flex;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 8px);overflow:hidden}.upgrade-btn__interval{padding:calc(var(--space-unit, 4px) * 1.5) calc(var(--space-unit, 4px) * 3);font-size:.8125rem;font-weight:500;border:none;background:transparent;cursor:pointer;color:var(--color-text-secondary, #6b7280);transition:background .15s,color .15s}.upgrade-btn__interval:hover:not(:disabled){background:var(--color-surface-hover, #f3f4f6)}.upgrade-btn__interval--active{background:var(--color-primary, #2563eb);color:#fff}.upgrade-btn__interval--active:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.upgrade-btn[aria-busy=true]{cursor:wait;opacity:.7}.upgrade-btn--success{color:var(--color-success, #16a34a);font-weight:600;font-size:.875rem}.upgrade-btn__error{color:var(--color-error, #dc2626);font-size:.75rem}.upgrade-btn__price{font-size:1.5rem;font-weight:800;color:var(--color-text, #1a1a1a);text-align:center;line-height:1.2}.upgrade-btn__price-main{display:block;font-size:1.5rem}.upgrade-btn__price-equiv{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #6b7280)}.upgrade-btn__save-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-radius:100px;vertical-align:middle;line-height:1.5}.upgrade-btn__semantics{font-size:.75rem;color:var(--color-text-secondary, #6b7280);text-align:center}.billing-section{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius, 8px);padding:calc(var(--space-unit, 4px) * 4);margin-bottom:calc(var(--space-unit, 4px) * 4)}.billing-section__header{display:flex;align-items:center;gap:calc(var(--space-unit, 4px) * 2);margin-bottom:calc(var(--space-unit, 4px) * 2)}.billing-section__title{font-size:.875rem;font-weight:600;color:var(--color-text, #1a1a1a)}.billing-section__status{display:inline-block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:100px;white-space:nowrap}.billing-section__status--active{background:#dcfce7;color:#166534}.billing-section__status--canceled{background:#fef3c7;color:#92400e}.billing-section__status--expired{background:#fee2e2;color:#991b1b}.billing-section__status--past_due{background:#fff7ed;color:#9a3412}.billing-section__details{display:flex;flex-direction:column;gap:calc(var(--space-unit, 4px) * 2)}.billing-section__details--warning{padding:calc(var(--space-unit, 4px) * 2) calc(var(--space-unit, 4px) * 3);background:#fff7ed;border-radius:var(--radius, 8px);border-left:3px solid #f59e0b}.billing-section__details--canceled{padding:calc(var(--space-unit, 4px) * 2) calc(var(--space-unit, 4px) * 3);background:#fffbeb;border-radius:var(--radius, 8px);border-left:3px solid #f59e0b}.billing-section__details--expired{padding:calc(var(--space-unit, 4px) * 2) calc(var(--space-unit, 4px) * 3);background:#fef2f2;border-radius:var(--radius, 8px);border-left:3px solid #dc2626}.billing-section__period{font-size:.8125rem;color:var(--color-text-secondary, #666);margin:0}.billing-section__warning{font-size:.8125rem;color:#9a3412;margin:0}.billing-section__notice,.billing-section__free-hint{font-size:.8125rem;color:var(--color-text-secondary, #666);margin:0}.billing-section__actions{display:flex;align-items:center;gap:calc(var(--space-unit, 4px) * 2);flex-wrap:wrap}.billing-section__cancel-btn{color:var(--color-text-secondary, #666);font-size:.75rem}.billing-section__confirm{margin-top:calc(var(--space-unit, 4px) * 2);padding:calc(var(--space-unit, 4px) * 3);background:#fefce8;border:1px solid #fde047;border-radius:var(--radius, 8px);font-size:.8125rem}.billing-section__confirm p{margin:0 0 calc(var(--space-unit, 4px) * 2) 0}.billing-section__confirm--success{background:#dcfce7;border-color:#86efac}.billing-section__confirm--error{background:#fef2f2;border-color:#fca5a5}.billing-section__confirm-actions{display:flex;gap:calc(var(--space-unit, 4px) * 2)}.billing-section__confirm-yes{background:#dc2626;border-color:#dc2626;color:#fff}.billing-section__confirm-yes:hover{background:#b91c1c;border-color:#b91c1c}.billing-page{max-width:1120px;margin:0 auto;padding:calc(var(--space-unit) * 6) calc(var(--space-unit) * 4)}.billing-page__loading{color:var(--color-text-secondary, #666);font-size:.875rem;text-align:center;padding:calc(var(--space-unit) * 10) 0}.billing-page__header{margin-bottom:calc(var(--space-unit) * 6)}.billing-page__back{display:inline-block;font-size:.8125rem;color:var(--color-primary, #2563eb);text-decoration:none;margin-bottom:calc(var(--space-unit) * 2);font-weight:500}.billing-page__back:hover{text-decoration:underline}.billing-page__title{font-size:1.75rem;font-weight:800;margin:0 0 calc(var(--space-unit) * 1) 0;letter-spacing:-.02em;color:var(--color-text, #111)}.billing-page__subtitle{font-size:.9375rem;color:var(--color-text-secondary, #6b7280);margin:0;line-height:1.5}.billing-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--space-unit) * 5);align-items:start}.billing-page__col{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 5)}.billing-page__narrow{max-width:640px;display:flex;flex-direction:column;gap:calc(var(--space-unit) * 5)}.billing-card{background:var(--color-surface, #fff);border:1px solid var(--color-border-subtle, #e5e7eb);border-radius:var(--radius-xl, 16px);padding:calc(var(--space-unit) * 5) calc(var(--space-unit) * 6);box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.billing-card--upsell{background:linear-gradient(135deg,#eff6ff,#f0f0ff,#faf5ff);border:1.5px solid rgba(37,99,235,.25);box-shadow:0 4px 24px #2563eb14}.billing-card--success{text-align:center;border-color:#86efac;background:#f0fdf4}.billing-card__header{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3)}.billing-card__title{font-size:.9375rem;font-weight:700;color:var(--color-text, #111);margin:0;letter-spacing:-.01em}.billing-card__badge{display:inline-block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:100px;white-space:nowrap}.billing-card__badge--active{background:#dcfce7;color:#166534}.billing-card__badge--canceled{background:#fef3c7;color:#92400e}.billing-card__badge--expired{background:#fee2e2;color:#991b1b}.billing-card__badge--past_due{background:#fff7ed;color:#9a3412}.billing-card__badge--free{background:#f3f4f6;color:#6b7280}.billing-card__plan-row{display:flex;align-items:baseline;gap:calc(var(--space-unit) * 3);margin-bottom:calc(var(--space-unit) * 3)}.billing-card__plan-name{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--color-text, #111)}.billing-card__plan-name--pro{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.billing-card__plan-name--free{color:var(--color-text-secondary, #6b7280)}.billing-card__price{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.billing-card__detail-rows{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.billing-card__detail{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--space-unit) * 2) 0;border-bottom:1px solid var(--color-border-subtle, #f3f4f6)}.billing-card__detail:last-child{border-bottom:none}.billing-card__detail-label{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.billing-card__detail-value{font-size:.875rem;font-weight:600;color:var(--color-text, #111)}.billing-card__notice{font-size:.8125rem;line-height:1.5;padding:calc(var(--space-unit) * 3);border-radius:var(--radius, 8px);margin-top:calc(var(--space-unit) * 2)}.billing-card__notice--warning{background:#fffbeb;color:#92400e;border-left:3px solid #f59e0b}.billing-card__notice--error{background:#fef2f2;color:#991b1b;border-left:3px solid #dc2626}.billing-card__notice--info{background:#f0f7ff;color:#1e40af;border-left:3px solid #3b82f6}.billing-card__free-desc{font-size:.875rem;color:var(--color-text-secondary, #6b7280);line-height:1.5}.billing-card__actions{display:flex;align-items:center;gap:calc(var(--space-unit) * 3);flex-wrap:wrap;margin-top:calc(var(--space-unit) * 3)}.billing-card__actions-notice{width:100%;margin:0;font-size:.92rem;color:var(--color-text-secondary, #888);line-height:1.5}.billing-card__action-btn{min-width:160px;text-align:center;text-decoration:none;font-weight:600;font-size:.875rem}.billing-card__action-btn--danger{color:#dc2626;border-color:#fca5a5}.billing-card__action-btn--danger:hover{background:#fef2f2;border-color:#dc2626}.billing-card__usage-items{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 5)}.billing-card__usage-item{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.billing-card__usage-header{display:flex;justify-content:space-between;align-items:center}.billing-card__usage-label{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.billing-card__usage-value{font-size:1.25rem;font-weight:700;color:var(--color-text, #111);letter-spacing:-.02em}.billing-card__usage-value--muted{font-weight:400;color:var(--color-text-secondary, #666);font-size:.8125rem}.billing-card__usage-bar{height:6px;width:100%;background:var(--color-border, #e5e7eb);border-radius:100px;overflow:hidden}.billing-card__usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #2563EB),#60a5fa);border-radius:100px;transition:width .3s ease}.billing-card__usage-bar-fill--warning{background:linear-gradient(90deg,#dc2626,#f87171)}.billing-card__limits{padding-top:calc(var(--space-unit) * 3);border-top:1px solid var(--color-border-subtle, #f3f4f6)}.billing-card__limits-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary, #9ca3af);margin:0 0 calc(var(--space-unit) * 3) 0}.billing-card__limits-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--space-unit) * 3)}.billing-card__limit{display:flex;flex-direction:column;gap:2px}.billing-card__limit-label{font-size:.75rem;color:#9ca3af}.billing-card__limit-value{font-size:.9375rem;font-weight:600;color:var(--color-text, #111)}.billing-card__limit-value--check{color:#16a34a}.billing-card__upsell-desc{font-size:.875rem;color:var(--color-text-secondary, #6b7280);line-height:1.5;margin:0 0 calc(var(--space-unit) * 3) 0}.billing-card__upsell-features{list-style:none;padding:0;margin:0 0 calc(var(--space-unit) * 4) 0}.billing-card__upsell-features li{position:relative;padding-left:calc(var(--space-unit) * 5);padding-bottom:calc(var(--space-unit) * 2);font-size:.875rem;color:var(--color-text, #111)}.billing-card__upsell-features li:before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}.manage-billing__desc{font-size:.875rem;color:var(--color-text-secondary, #6b7280);line-height:1.6;margin:0 0 calc(var(--space-unit) * 3) 0}.manage-billing__capabilities{list-style:none;padding:0;margin:0}.manage-billing__capabilities li{position:relative;padding:calc(var(--space-unit) * 2) 0 calc(var(--space-unit) * 2) calc(var(--space-unit) * 5);font-size:.875rem;color:var(--color-text, #111);border-bottom:1px solid var(--color-border-subtle, #f3f4f6)}.manage-billing__capabilities li:last-child{border-bottom:none}.manage-billing__capabilities li:before{content:"→";position:absolute;left:0;color:var(--color-primary, #2563eb);font-weight:600}.manage-billing__footer{text-align:center;padding:calc(var(--space-unit) * 2) 0}.manage-billing__cancel-link{font-size:.8125rem;color:var(--color-text-secondary, #9ca3af);text-decoration:none}.manage-billing__cancel-link:hover{color:#dc2626;text-decoration:underline}.cancel-page__consequences{list-style:none;padding:0;margin:0}.cancel-page__consequence{display:flex;align-items:flex-start;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 3) 0;font-size:.875rem;line-height:1.5;border-bottom:1px solid var(--color-border-subtle, #f3f4f6)}.cancel-page__consequence:last-child{border-bottom:none}.cancel-page__consequence--info{color:var(--color-text, #111)}.cancel-page__consequence--warning{color:#92400e}.cancel-page__consequence-icon{font-size:1rem;flex-shrink:0;width:24px;text-align:center}.cancel-page__actions{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);align-items:stretch}.cancel-page__keep-btn{text-align:center;text-decoration:none;font-weight:700;font-size:.9375rem;padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 5)}.cancel-page__cancel-btn{text-align:center;color:#dc2626;border-color:#fecaca;font-weight:500;font-size:.875rem}.cancel-page__cancel-btn:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.cancel-page__cancel-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-page__success-icon{width:48px;height:48px;background:#dcfce7;color:#16a34a;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin:0 auto calc(var(--space-unit) * 3) auto}.cancel-page__success-text{font-size:.9375rem;color:var(--color-text-secondary, #6b7280);line-height:1.5;margin:0 0 calc(var(--space-unit) * 4) 0}@media(max-width:820px){.billing-page__grid{grid-template-columns:1fr}.billing-page{padding:calc(var(--space-unit) * 4) calc(var(--space-unit) * 3)}}@media(max-width:480px){.billing-page__title{font-size:1.5rem}.billing-card{padding:calc(var(--space-unit) * 4)}.billing-card__plan-name{font-size:1.5rem}.billing-card__limits-grid{grid-template-columns:1fr}.billing-card__actions{flex-direction:column;align-items:stretch}.cancel-page__actions{padding:0 calc(var(--space-unit) * 2)}}.playground{max-width:800px;margin:0 auto;padding:calc(var(--space-unit) * 3);display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.playground__header{text-align:center}.playground__nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--space-unit) * 2)}.playground__back{color:var(--clr-primary);text-decoration:none;font-size:.875rem}.playground__back:hover{text-decoration:underline}.playground__nav-link{color:var(--clr-primary);text-decoration:none;font-size:.875rem}.playground__nav-link:hover{text-decoration:underline}.playground__title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.playground__subtitle{color:var(--clr-text-muted);font-size:.9375rem;margin:0}.playground__steps{display:flex;justify-content:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 2) 0}.playground__step-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.playground__step-dot{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;background:var(--clr-surface, #f5f5f5);color:var(--clr-text-muted);border:2px solid var(--clr-border);transition:all .15s}.playground__step-dot--active{background:var(--clr-primary);color:#fff;border-color:var(--clr-primary)}.playground__step-dot--done{background:var(--clr-success, #22c55e);color:#fff;border-color:var(--clr-success, #22c55e)}.playground__step-label{font-size:.6875rem;color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.03em}.playground__notice{background:var(--clr-surface, #f5f5f5);border:1px solid var(--clr-border);border-radius:var(--radius-md, 8px);padding:calc(var(--space-unit) * 2);font-size:.8125rem;color:var(--clr-text-muted)}.playground__notice strong{display:block;margin-bottom:.5rem;color:var(--clr-text);font-size:.875rem}.playground__notice ul{margin:0;padding-left:1.25rem;list-style:disc}.playground__notice li{margin-bottom:.25rem}.playground__body{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.playground__section{background:#fff;border:1px solid var(--clr-border);border-radius:var(--radius-md, 8px);padding:calc(var(--space-unit) * 3);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.05))}.playground__section--result{border-color:var(--clr-success, #22c55e);border-width:2px}.playground__section--error{border-color:var(--clr-error, #dc3545);border-width:2px}.playground__section-title{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:600;margin:0 0 calc(var(--space-unit) * 2)}.playground__section-num{width:1.75rem;height:1.75rem;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;flex-shrink:0}.playground__key-form{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.playground__key-hint{margin:0;font-size:.875rem;color:var(--clr-text-muted)}.playground__key-input-row{display:flex;gap:var(--space-unit)}.playground__key-input{flex:1;padding:.5rem .75rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm, 4px);font-family:monospace;font-size:.875rem;min-height:44px}.playground__key-input:focus{outline:2px solid var(--clr-primary);outline-offset:-1px;border-color:var(--clr-primary)}.playground__key-btn{min-height:44px;white-space:nowrap}.playground__key-error{color:var(--clr-error, #dc3545);font-size:.8125rem;font-weight:500}.playground__key-security{margin:0;font-size:.75rem;color:var(--clr-text-muted);font-style:italic}.playground__key-valid{display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.playground__key-status{font-weight:600;font-size:.875rem}.playground__key-status--ok{color:var(--clr-success, #22c55e)}.playground__key-change{background:none;border:none;color:var(--clr-primary);cursor:pointer;font-size:.8125rem;text-decoration:underline;padding:0}.playground__file-row{display:flex;align-items:center;gap:var(--space-unit);margin-bottom:calc(var(--space-unit) * 2);flex-wrap:wrap}.playground__file-hidden{display:none}.playground__file-btn{min-height:44px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playground__file-info{font-size:.8125rem;color:var(--clr-text-muted)}.playground__config{margin-bottom:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2);background:var(--clr-surface, #f5f5f5);border-radius:var(--radius-sm, 4px)}.playground__config-title{font-size:.875rem;font-weight:600;margin:0 0 calc(var(--space-unit) * 1.5)}.playground__config-row{display:flex;gap:calc(var(--space-unit) * 2);flex-wrap:wrap;align-items:flex-start}.playground__config-label{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;font-weight:500;min-width:140px}.playground__config-select{padding:.375rem .5rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm, 4px);font-size:.8125rem;min-height:36px}.playground__config-range{width:100%;min-width:100px;accent-color:var(--clr-primary)}.playground__config-value{font-size:.75rem;color:var(--clr-text-muted);text-align:right}.playground__config-number{padding:.375rem .5rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm, 4px);font-size:.8125rem;width:120px;min-height:36px}.playground__upload-btn,.playground__process-btn{min-height:44px;min-width:180px}.playground__upload-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem}.playground__info-label{font-weight:500;color:var(--clr-text-muted)}.playground__info-value{font-family:monospace;font-size:.8125rem;background:var(--clr-surface, #f5f5f5);padding:.125rem .5rem;border-radius:var(--radius-sm, 4px);word-break:break-all}.playground__polling-indicator{display:flex;align-items:center;gap:.75rem;padding:calc(var(--space-unit) * 1.5);background:var(--clr-surface, #f5f5f5);border-radius:var(--radius-sm, 4px);font-size:.875rem}.playground__spinner{width:1.25rem;height:1.25rem;border:2px solid var(--clr-border);border-top-color:var(--clr-primary);border-radius:50%;animation:playground-spin .8s linear infinite;flex-shrink:0}@keyframes playground-spin{to{transform:rotate(360deg)}}.playground__progress{color:var(--clr-text-muted)}.playground__result-badge{display:inline-block;background:var(--clr-success, #22c55e);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm, 4px);font-weight:600;font-size:.875rem;margin-bottom:calc(var(--space-unit) * 2)}.playground__result-file{display:flex;align-items:center;gap:calc(var(--space-unit) * 1.5);padding:calc(var(--space-unit) * 1.5);background:var(--clr-surface, #f5f5f5);border-radius:var(--radius-sm, 4px);margin-bottom:var(--space-unit);flex-wrap:wrap}.playground__result-name{font-weight:500;font-size:.875rem;word-break:break-all}.playground__result-size{font-size:.8125rem;color:var(--clr-text-muted);flex:1}.playground__download-btn{min-height:36px;font-size:.8125rem;text-decoration:none}.playground__reset-btn{margin-top:calc(var(--space-unit) * 2)}.playground__error-msg{background:var(--clr-error-bg, #fff0f0);color:var(--clr-error, #dc3545);padding:calc(var(--space-unit) * 2);border-radius:var(--radius-sm, 4px);font-size:.875rem;margin-bottom:var(--space-unit)}.playground__error-cta{margin-top:calc(var(--space-unit) * 2);padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);background:#f0f7ff;border-radius:var(--radius-sm, 4px);border-left:3px solid var(--color-primary, #2563EB)}.playground__error-hint{font-size:.8125rem;color:var(--color-text-secondary, #666);margin:0 0 calc(var(--space-unit) * 1.5) 0;line-height:1.4}.playground__error-action{display:inline-block;font-size:.8125rem;font-weight:600;text-decoration:none}.playground__raw{border:1px solid var(--clr-border);border-radius:var(--radius-md, 8px);overflow:hidden}.playground__raw-toggle{display:block;width:100%;padding:calc(var(--space-unit) * 1.5);background:var(--clr-surface, #f5f5f5);border:none;font-size:.8125rem;font-weight:500;cursor:pointer;text-align:left;color:var(--clr-text)}.playground__raw-toggle:hover{background:#eee}.playground__raw-entries{max-height:500px;overflow-y:auto}.playground__raw-entry{border-top:1px solid var(--clr-border);padding:calc(var(--space-unit) * 1.5)}.playground__raw-header{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;margin-bottom:.5rem;flex-wrap:wrap}.playground__raw-header code{font-size:.75rem;background:var(--clr-surface, #f5f5f5);padding:.125rem .375rem;border-radius:3px}.playground__raw-status{font-weight:600;color:var(--clr-success, #22c55e)}.playground__raw-status--error{color:var(--clr-error, #dc3545)}.playground__raw-body{margin:0;padding:calc(var(--space-unit) * 1.5);background:#1e1e2e;color:#cdd6f4;border-radius:var(--radius-sm, 4px);font-size:.75rem;line-height:1.5;overflow-x:auto;max-height:200px}.playground__raw-body code{white-space:pre-wrap;word-break:break-all}@media(max-width:640px){.playground{padding:calc(var(--space-unit) * 2);gap:calc(var(--space-unit) * 2)}.playground__title{font-size:1.375rem}.playground__steps{gap:calc(var(--space-unit) * 1.5)}.playground__step-label{display:none}.playground__config-row{flex-direction:column}.playground__config-label{min-width:100%}.playground__key-input-row{flex-direction:column}.playground__result-file{flex-direction:column;align-items:flex-start}}.security-card{padding:calc(var(--space-unit) * 5)}.security-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 4)}.security-card__title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary, #111827);margin:0}.security-card__title--danger{color:var(--color-danger, #dc2626)}.security-card__body{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3)}.security-card__social-info{display:flex;align-items:center;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4);background:var(--color-surface-alt, #f9fafb);border-radius:var(--radius-md, 8px)}.security-card__social-icon{flex-shrink:0;color:var(--color-text-secondary, #6b7280)}.security-card__social-text{margin:0;color:var(--color-text, #374151);font-size:.875rem;line-height:1.5}.security-card__form{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 3);max-width:400px}.security-card__label{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1);font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #6b7280)}.security-card__input{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, 8px);font-size:.9rem;background:var(--color-surface, #fff);color:var(--color-text-primary, #111827);transition:border-color .15s}.security-card__input:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 3px #6366f11a}.security-card__error{color:var(--color-danger, #dc2626);font-size:.85rem}.security-card__success{color:var(--color-success, #16a34a);font-size:.85rem}.security-card__session-list{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1.5)}.security-card__session{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 3);border-radius:var(--radius-md, 8px);background:var(--color-surface-alt, #f9fafb)}.security-card__session--current{border-left:3px solid var(--color-primary, #6366f1)}.security-card__session-info{display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.security-card__session-browser{font-weight:600;color:var(--color-text-primary, #111827);font-size:.875rem}.security-card__session-ip{color:var(--color-text-tertiary, #9ca3af);font-size:.75rem}.security-card__session-status{font-size:.8rem;color:var(--color-text-secondary, #6b7280)}.security-card--danger{border-color:color-mix(in srgb,var(--color-danger, #dc2626) 40%,transparent);border-width:1px;border-style:solid}.security-card__danger-text{margin:0;color:var(--color-text-secondary, #6b7280);font-size:.875rem;line-height:1.6}.security-card__delete-btn{background:var(--color-danger, #dc2626);color:#fff;border:none;cursor:pointer;align-self:flex-start;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 5);border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:600;transition:background .15s}.security-card__delete-btn:hover{background:#b91c1c}.dashboard__bento--single{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 4);max-width:100%;align-items:stretch}.account-menu__item--active{background:var(--color-primary-bg, rgba(99, 102, 241, .08));color:var(--color-primary, #6366f1);font-weight:600}.account-menu__divider{height:1px;background:var(--color-border, #e5e7eb);margin:calc(var(--space-unit) * 1) 0}.api-keys-page__header-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--space-unit) * 3);flex-wrap:wrap}.api-keys-page__docs-link{font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #6b7280);text-decoration:none;display:inline-flex;align-items:center;gap:calc(var(--space-unit) * 1);transition:color .15s}.api-keys-page__docs-link:hover{color:var(--color-primary, #6366f1);text-decoration:underline}.api-keys-page__notice{display:flex;align-items:flex-start;gap:calc(var(--space-unit) * 3);padding:calc(var(--space-unit) * 4);background:var(--color-info-bg, #eff6ff);border:1px solid var(--color-info-border, #bfdbfe);border-radius:var(--radius-md, 8px);margin-bottom:calc(var(--space-unit) * 2)}.api-keys-page__notice-icon{flex-shrink:0;font-size:1.1rem;line-height:1;margin-top:2px}.api-keys-page__notice-text{margin:0;font-size:.85rem;color:var(--color-text-secondary, #6b7280);line-height:1.5}.security-card__title-icon{margin-right:calc(var(--space-unit) * 1.5);font-size:1.1em}.security-card__social-content{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.security-card__social-hint{margin:0;font-size:.8rem;color:var(--color-text-tertiary, #9ca3af)}.security-card__input--error{border-color:var(--color-danger, #dc2626)}.security-card__input--error:focus{border-color:var(--color-danger, #dc2626);box-shadow:0 0 0 3px #dc26261a}.security-card__field-error{color:var(--color-danger, #dc2626);font-size:.78rem;margin-top:calc(var(--space-unit) * .5)}.security-card__session-left{display:flex;align-items:center;gap:calc(var(--space-unit) * 2)}.security-card__session-icon{font-size:1.3rem;line-height:1}.security-card__session-details{display:flex;flex-direction:column;gap:2px}.security-card__session-right{text-align:right}.security-card__session-badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--color-surface-alt, #f3f4f6);color:var(--color-text-secondary, #6b7280)}.security-card__session-badge--active{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.security-card__danger-content{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 2)}.security-card__danger-list{margin:0;padding-left:calc(var(--space-unit) * 5);color:var(--color-text-secondary, #6b7280);font-size:.8125rem;line-height:1.7}.security-card__confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:calc(var(--space-unit) * 4)}.security-card__confirm-dialog{background:var(--color-surface, #fff);border-radius:var(--radius-lg, 12px);padding:calc(var(--space-unit) * 6);max-width:440px;width:100%;box-shadow:0 20px 60px #00000026}.security-card__confirm-input-group{display:flex;flex-direction:column;gap:calc(var(--space-unit) * 1);margin:calc(var(--space-unit) * 3) 0}.security-card__confirm-input-group label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #6b7280)}.security-card__confirm-actions{display:flex;gap:calc(var(--space-unit) * 2);justify-content:flex-end;margin-top:calc(var(--space-unit) * 4)}@media(max-width:640px){.security-card{padding:calc(var(--space-unit) * 4)}.security-card__form{max-width:100%}.security-card__session{flex-direction:column;align-items:flex-start;gap:calc(var(--space-unit) * 2)}.security-card__session-right{text-align:left}.api-keys-page__header-row{flex-direction:column;align-items:flex-start}.security-card__confirm-dialog{padding:calc(var(--space-unit) * 4)}.security-card__confirm-actions{flex-direction:column}.security-card__confirm-actions .btn{width:100%}}.toast{font-family:inherit;font-size:.875rem;line-height:1.5;border-radius:var(--radius-xl, 16px);box-shadow:0 8px 30px #0000001f;padding:calc(var(--space-unit) * 3) calc(var(--space-unit) * 4);max-width:380px}.toast--success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.toast--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
