:root{--font-size: 16px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--font-weight-medium: 500;--font-weight-normal: 400;--background: #f8f8f7;--foreground: #1f2023;--card: #ffffff;--card-foreground: #1f2023;--popover: #ffffff;--popover-foreground: #1f2023;--page-background: #f1f3f3;--surface-subtle: #eef1f1;--surface-elevated: rgba(255, 255, 255, .96);--primary: #0b7f9b;--primary-foreground: #ffffff;--secondary: #e7f3f6;--secondary-foreground: #086b83;--accent: #d8edf2;--accent-foreground: #1f2023;--muted: #e9ecec;--muted-foreground: #69737b;--destructive: #d4183d;--destructive-foreground: #ffffff;--border: #d2d4d5;--input: #d2d4d5;--input-background: #ffffff;--switch-background: #c8cbcd;--ring: #0b7f9b;--radius: .625rem;--shadow-soft: 0 16px 38px -28px rgba(12, 15, 18, .18);--shadow-card: 0 14px 32px -26px rgba(12, 15, 18, .12);--shadow-card-hover: 0 18px 38px -24px rgba(12, 15, 18, .18);--chart-1: #0b7f9b;--chart-2: #1496b4;--chart-3: #8f9499;--chart-4: #b9bbbd;--chart-5: #066a84;--sidebar: #ebeeee;--sidebar-foreground: #1f2023;--sidebar-primary: #0b7f9b;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #f8fbfb;--sidebar-accent-foreground: #1f2023;--sidebar-border: #d2d4d5;--sidebar-ring: #0b7f9b}.dark{--page-background: #151b1e;--background: #1a2125;--foreground: #f2f5f6;--card: #20282d;--card-foreground: #f2f5f6;--popover: #20282d;--popover-foreground: #f2f5f6;--surface-subtle: #1a2226;--surface-elevated: rgba(28, 36, 41, .94);--primary: #2b9db6;--primary-foreground: #ffffff;--secondary: #1f2c31;--secondary-foreground: #dce7eb;--muted: #202a2f;--muted-foreground: #a6b0b7;--accent: rgba(43, 157, 182, .16);--accent-foreground: #f2f5f6;--destructive: #e2556c;--destructive-foreground: #ffffff;--border: #2e3940;--input: #2e3940;--input-background: #20282d;--switch-background: #4b545a;--ring: #3db1cb;--shadow-soft: 0 16px 42px -30px rgba(0, 0, 0, .42);--shadow-card: 0 16px 34px -28px rgba(0, 0, 0, .3);--shadow-card-hover: 0 22px 44px -26px rgba(0, 0, 0, .38);--chart-1: #2b9db6;--chart-2: #3db1cb;--chart-3: #8f9499;--chart-4: #b9bbbd;--chart-5: #1e7f95;--sidebar: #161d20;--sidebar-foreground: #f2f5f6;--sidebar-primary: #2b9db6;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #202a2f;--sidebar-accent-foreground: #f2f5f6;--sidebar-border: #2e3940;--sidebar-ring: #3db1cb}*,*:before,*:after{box-sizing:border-box;border-color:var(--border);outline-color:color-mix(in srgb,var(--ring) 50%,transparent)}html{font-size:var(--font-size)}body{margin:0;min-height:100vh;color:var(--foreground);background:radial-gradient(circle at top,color-mix(in srgb,var(--primary) 18%,transparent) 0%,transparent 26%),linear-gradient(180deg,var(--background) 0%,var(--page-background) 100%);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{color:var(--foreground);letter-spacing:-.03em}h1{font-size:clamp(1.75rem,1.25rem + 1.2vw,2.4rem);font-weight:500;line-height:1.1}h2{font-size:clamp(1.3rem,1.05rem + .62vw,1.8rem);font-weight:500;line-height:1.18}h3{font-size:1.125rem;font-weight:500;line-height:1.28}h4{font-size:1rem;font-weight:500;line-height:1.35}p{line-height:1.6}label{font-size:.95rem;font-weight:var(--font-weight-medium);line-height:1.4}button,input,textarea,select{font:inherit}::selection{background:#0b7f9b2e}.pb-safe{padding-bottom:max(1rem,var(--safe-area-bottom))}.pt-safe{padding-top:max(.5rem,var(--safe-area-top))}@keyframes brandmark-reveal{0%{opacity:0;transform:translateY(8px) scale(.985);filter:blur(3px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes brandmark-shimmer{0%{transform:translate(-145%)}55%{transform:translate(145%)}to{transform:translate(145%)}}.brandmark-reveal{animation:brandmark-reveal .82s cubic-bezier(.2,.82,.2,1) both}.brandmark-shimmer:after{content:"";position:absolute;top:-8%;right:-18%;bottom:-8%;left:-18%;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.05) 42%,rgba(255,255,255,.58) 50%,rgba(43,157,182,.16) 54%,transparent 64%);mix-blend-mode:screen;pointer-events:none;animation:brandmark-shimmer 5.8s ease-in-out 1.15s infinite}.dark .brandmark-shimmer:after{background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.02) 42%,rgba(255,255,255,.18) 50%,rgba(43,157,182,.12) 54%,transparent 64%)}@media (prefers-reduced-motion: reduce){.brandmark-reveal,.brandmark-shimmer:after{animation:none}}#root,.app{min-height:100vh}.app-header{background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-soft);padding:2rem 1.5rem 1.75rem;text-align:center}.app-header h1{margin:0;font-size:clamp(1.75rem,1.25rem + 1.2vw,2.4rem);color:var(--primary);font-weight:500;letter-spacing:-.03em}.subtitle{margin:.4rem 0 0;color:var(--muted-foreground);font-size:.95rem}.app-main{max-width:720px;margin:3rem auto;padding:0 1rem}.btn-primary{display:inline-block;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius);padding:.65rem 1.75rem;font-size:1rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:filter .15s,box-shadow .15s;text-decoration:none;box-shadow:var(--shadow-card)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--shadow-card-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--primary);border:1.5px solid var(--border);border-radius:var(--radius);padding:.6rem 1.4rem;font-size:.95rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:background .12s,border-color .12s}.btn-ghost:hover{background:var(--secondary);border-color:var(--primary)}.upload-wrapper{background:var(--card);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow-card);text-align:center}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:2.5rem 1rem;cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:1.5rem;background:var(--surface-subtle)}.drop-zone:hover,.drop-zone.dragging{border-color:var(--primary);background:var(--secondary)}.drop-icon{font-size:2.5rem;margin-bottom:.5rem}.drop-hint p{margin:.3rem 0;color:var(--foreground)}.allowed-types{font-size:.85rem;color:var(--muted-foreground)}.file-info{display:flex;flex-direction:column;gap:.3rem;align-items:center}.file-name{font-weight:var(--font-weight-medium);font-size:1.05rem;color:var(--foreground)}.file-size{color:var(--muted-foreground);font-size:.9rem}.model-selector{margin:0 0 1.25rem;text-align:left}.model-label{display:block;font-size:.85rem;font-weight:var(--font-weight-medium);color:var(--muted-foreground);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.model-select-wrap{display:flex;flex-direction:column;gap:.5rem}.model-select{width:100%;padding:.55rem 2rem .55rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--input-background);color:var(--foreground);font-size:.95rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2369737b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .15s}.model-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 20%,transparent)}.model-badges{display:flex;flex-wrap:wrap;gap:.4rem}.model-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:var(--font-weight-medium)}.model-badge-size{background:var(--muted);color:var(--muted-foreground)}.model-badge-params{background:var(--secondary);color:var(--secondary-foreground)}.model-badge-fastest{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.model-badge-slowest{background:color-mix(in srgb,var(--destructive) 10%,transparent);color:var(--destructive)}.model-loading{font-size:.9rem;color:var(--muted-foreground);padding:.5rem 0}.model-error{font-size:.88rem;color:var(--destructive)}.model-error-hint{color:var(--muted-foreground)}.poller{text-align:center;padding:3rem 1rem;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card)}.poller p{color:var(--foreground);margin:.4rem 0}.poller-step{font-size:1rem;font-weight:var(--font-weight-medium)}.poller-hint{font-size:.85rem;color:var(--muted-foreground)}.progress-track{width:100%;max-width:360px;height:6px;background:var(--muted);border-radius:999px;margin:.9rem auto .5rem;overflow:hidden}.progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .4s ease}.spinner{width:48px;height:48px;border:3px solid var(--muted);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1.2rem}@keyframes spin{to{transform:rotate(360deg)}}.correction-list{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.correction-header{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface-subtle)}.correction-header h2{margin:0;font-size:1.05rem;color:var(--foreground)}.bulk-actions{display:flex;gap:.6rem}.cards{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.card{border:1.5px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem;background:var(--card);transition:border-color .12s,box-shadow .12s;box-shadow:var(--shadow-soft)}.card-approved{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--secondary) 60%,var(--card))}.card-rejected{border-color:color-mix(in srgb,var(--destructive) 25%,transparent);background:color-mix(in srgb,var(--destructive) 4%,var(--card));opacity:.7}.card-diff{font-size:1.05rem;margin-bottom:.4rem}.diff-del{color:var(--destructive);text-decoration:line-through;background:color-mix(in srgb,var(--destructive) 8%,transparent);padding:0 3px;border-radius:3px}.diff-ins{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);padding:0 3px;border-radius:3px;font-style:normal}.card-context{font-size:.85rem;color:var(--muted-foreground);margin-bottom:.35rem;font-style:italic}.card-reason{font-size:.88rem;color:var(--foreground);margin-bottom:.5rem;opacity:.8}.card-toggle{display:flex;align-items:center;gap:.4rem;font-size:.88rem;cursor:pointer;color:var(--muted-foreground);-webkit-user-select:none;user-select:none}.card-toggle input{cursor:pointer;accent-color:var(--primary)}.apply-bar{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;border-top:1px solid var(--border);background:var(--surface-subtle)}.apply-bar span{color:var(--muted-foreground);font-size:.9rem}.no-corrections{text-align:center;padding:3rem 1rem;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card)}.download-wrapper{text-align:center;background:var(--card);border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow-card)}.download-icon{font-size:3rem;margin-bottom:1rem}.download-wrapper h2{margin:0 0 .5rem}.download-wrapper>p{color:var(--muted-foreground);margin-bottom:1.5rem}.btn-download{margin-bottom:.8rem}.download-wrapper .btn-ghost{display:block;margin-top:.6rem}.error-panel{text-align:center;background:var(--card);border-radius:var(--radius);padding:3rem;box-shadow:var(--shadow-card)}.error-icon{font-size:2.5rem;margin-bottom:1rem}.error-panel h2{margin:0 0 .5rem;color:var(--destructive)}.error-detail{color:var(--muted-foreground);margin-bottom:1.5rem}.error-msg{color:var(--destructive);font-size:.9rem;margin-top:.5rem}
