@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--background:#e9ece8;--foreground:#141816;--card:#f4f5f2;--card-foreground:#141816;--primary:#1f3d36;--primary-foreground:#f3f6f2;--secondary:#d7ddd6;--secondary-foreground:#1a2420;--muted:#dde2db;--muted-foreground:#5a655f;--accent:#c45c26;--accent-foreground:#fff8f3;--destructive:#b42318;--border:#c5cdc4;--ring:#1f3d36;--radius:.5rem;--font-heading:"Fraunces", "Songti SC", "Noto Serif SC", serif;--font-sans:"Source Sans 3", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;--paper:var(--background);--ink:var(--foreground);--display:var(--font-heading);--body:var(--font-sans);font-family:var(--font-sans);color:var(--foreground);background-color:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.45}*,:before,:after{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100svh;color:var(--foreground);margin:0}#root{min-height:100svh}button,input{font:inherit}a{color:inherit}.app{min-height:100svh;color:var(--foreground);flex-direction:column;display:flex}.site-header{border-bottom:1px solid color-mix(in oklab, var(--border) 80%, transparent);background:color-mix(in oklab, var(--card) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;max-width:72rem;height:3.5rem;margin:0 auto;padding:0 1rem;display:flex}@media (width>=640px){.site-header__inner{padding:0 1.5rem}}.site-header__brand{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--foreground);font-size:1.125rem;text-decoration:none}.site-header__nav{align-items:center;gap:.75rem;font-size:.875rem;display:flex}.site-header__link{color:var(--muted-foreground);text-decoration:none;transition:color .15s}.site-header__link:hover{color:var(--foreground)}.site-header__cta{border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);justify-content:center;align-items:center;padding:.375rem .75rem;text-decoration:none;transition:background .15s;display:inline-flex}.site-header__cta:hover{background:color-mix(in oklab, var(--primary) 90%, black)}.main{flex-direction:column;gap:1.25rem;width:min(45rem,100% - 2rem);margin:1.5rem auto 3rem;display:flex}@media (width>=640px){.main{margin-top:2rem}}.dropzone{border:1.5px dashed color-mix(in oklab, var(--primary) 35%, var(--border));border-radius:calc(var(--radius) * 1.4);text-align:center;cursor:pointer;background:color-mix(in oklab, var(--card) 85%, transparent);padding:2.4rem 1.25rem;transition:border-color .15s,background .15s,transform .15s}.dropzone:hover,.dropzone--over{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 6%, var(--card));transform:translateY(-1px)}.dropzone--disabled{opacity:.55;pointer-events:none}.dropzone__title{margin:0;font-size:1.1rem;font-weight:600}.dropzone__hint{color:var(--muted-foreground);margin:.45rem 0 0;font-size:.85rem}.settings{border-radius:calc(var(--radius) * 1.4);background:color-mix(in oklab, var(--card) 92%, transparent);border:1px solid color-mix(in oklab, var(--border) 80%, transparent);flex-direction:column;gap:1rem;padding:1.1rem 1.15rem 1.25rem;display:flex}.settings__banner{border-radius:var(--radius);background:color-mix(in oklab, var(--primary) 8%, transparent);color:var(--primary);margin:0;padding:.65rem .8rem;font-size:.85rem;line-height:1.4}.settings__block{flex-direction:column;gap:.45rem;display:flex}.settings__row{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.92rem;font-weight:600;display:flex}.settings__estimate{color:var(--muted-foreground);font-size:.82rem;font-weight:500}.settings__ends{color:var(--muted-foreground);justify-content:space-between;font-size:.75rem;display:flex}.settings__label{font-size:.92rem;font-weight:600}.settings__hint{color:var(--muted-foreground);margin:0;font-size:.78rem;line-height:1.4}.settings__custom{color:var(--muted-foreground);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.settings__custom input{border:1px solid var(--border);border-radius:var(--radius);min-width:0;font:inherit;background:var(--card);color:var(--foreground);flex:1;padding:.45rem .6rem}input[type=range]{width:100%;accent-color:var(--primary)}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{appearance:none;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);font:inherit;cursor:pointer;color:var(--foreground);padding:.35rem .75rem;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.chip--on{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.chip:disabled{opacity:.55;cursor:not-allowed}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.15rem .1rem;display:flex}.toolbar__progress{color:var(--muted-foreground);font-size:.9rem}.toolbar__actions{flex-wrap:wrap;gap:.45rem;display:flex}.btn{appearance:none;border-radius:var(--radius);min-height:2.5rem;font:inherit;cursor:pointer;border:none;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);color:var(--primary-foreground)}.btn--primary:hover:not(:disabled){background:color-mix(in oklab, var(--primary) 90%, black)}.btn--ghost{background:color-mix(in oklab, var(--card) 70%, transparent);color:var(--foreground);border:1px solid color-mix(in oklab, var(--foreground) 25%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn--ghost:hover:not(:disabled){background:var(--card)}.file-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.file-row{border-radius:calc(var(--radius) * 1.2);background:color-mix(in oklab, var(--card) 90%, transparent);border:1px solid color-mix(in oklab, var(--border) 70%, transparent);grid-template-columns:48px 1fr auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.file-row__thumb{object-fit:cover;border-radius:var(--radius);background:var(--muted);width:48px;height:48px}.file-row__meta{min-width:0}.file-row__name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.file-row__sizes{color:var(--muted-foreground);flex-wrap:wrap;align-items:baseline;gap:.25rem;margin-top:.15rem;font-size:.8rem;display:flex}.file-row__result{color:var(--primary);font-weight:600}.file-row__arrow{opacity:.5}.file-row__note,.file-row__error{margin-top:.2rem;font-size:.75rem}.file-row__note{color:var(--muted-foreground)}.file-row__error{color:var(--destructive)}.file-row__bar{background:color-mix(in oklab, var(--primary) 12%, transparent);border-radius:999px;height:4px;margin-top:.4rem;overflow:hidden}.file-row__bar-fill{background:var(--primary);height:100%;transition:width .15s}.file-row__actions{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.badge{border-radius:var(--radius);background:var(--muted);color:var(--muted-foreground);padding:.15rem .45rem;font-size:.7rem;font-weight:600}.badge--done{background:color-mix(in oklab, var(--primary) 14%, transparent);color:var(--primary)}.badge--processing{background:color-mix(in oklab, var(--accent) 16%, transparent);color:#8a3d12}.badge--error{background:color-mix(in oklab, var(--destructive) 12%, transparent);color:var(--destructive)}.link-btn{appearance:none;font:inherit;color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.link-btn--muted{color:var(--muted-foreground);text-decoration:none}.site-footer{text-align:center;color:var(--muted-foreground);margin-top:auto;padding:1.25rem 1rem 2rem;font-size:.8rem}.site-footer a{color:var(--primary);text-underline-offset:2px}@media (width<=560px){.file-row{grid-template-columns:48px 1fr}.file-row__actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end;align-items:center}}
