[v-cloak]{display:none}
:root{--fit-line:#eee;--fit-safe-bg:#e6fffa;--fit-safe:#2c7a7b;--fit-safe-line:#b2f5ea;--fit-warning-bg:#fffaf0;--fit-warning:#c05621;--fit-warning-line:#fbd38d;--fit-danger-bg:#fff5f5;--fit-danger:#c53030;--fit-danger-line:#feb2b2;--fit-card-shadow:0 10px 30px rgba(0,0,0,.05);--fit-form-shadow:0 10px 40px rgba(0,0,0,.05);--fit-result-shadow:0 4px 10px rgba(0,0,0,.1)}
html{scroll-behavior:smooth;scroll-padding-top:110px}.fit-main{max-width:1120px;margin:auto;padding:0 32px 80px}.related a{color:var(--primary-color)}
.intro{margin-right:-32px;padding:36px 0 24px}.intro h1{font-size:clamp(34px,5vw,48px);font-weight:800;line-height:1.35;letter-spacing:.02em}.intro h1 small{display:block;margin-top:7px;color:var(--text-sub);font-size:clamp(16px,2.4vw,21px);font-weight:700;letter-spacing:0}.intro-copy{margin-top:18px}.tagline{font-size:20px;font-weight:700;margin-bottom:8px}.intro-subtitle{margin:18px 0 8px;font-size:18px;font-weight:700}.intro-copy>p:not(.tagline){font-size:15px;line-height:1.9;color:var(--text-sub)}.intro-copy>p:not(.tagline)+p{margin-top:8px}
.tool-stage{margin-top:0;padding:28px;background:var(--bg-light);border-radius:16px}.drop-zone{background:#fff;border:2px solid transparent;border-radius:16px;box-shadow:var(--fit-card-shadow);padding:30px;text-align:center;transition:border-color .2s,background-color .2s,transform .2s}.drop-zone.dragging{background:#e9faff;border-color:var(--primary-color);transform:scale(1.005)}.drop-zone.registered{animation:upload-flash 1s ease-out}.drop-icon{display:inline-block;width:56px;height:56px;object-fit:contain;margin-bottom:12px}.drop-zone h2{font-size:20px}.drop-title{font-size:13px;color:var(--text-sub);margin:5px 0 18px}.upload-message{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;color:var(--primary-color);font-size:14px;font-weight:700}.drop-zone .muted{margin-top:14px}.muted,.limits,.field-help{font-size:12px;color:var(--text-sub)}.tool-benefits{display:flex;justify-content:center;gap:10px 22px;flex-wrap:wrap;margin:17px 0 0;padding:0;list-style:none;color:var(--text-sub);font-size:12px}.tool-benefits li{display:flex;align-items:center;gap:7px}.tool-benefits i{color:var(--primary-color)}.limits{margin:12px 4px 24px;line-height:1.8}@keyframes upload-flash{0%{border-color:var(--primary-color);background:#e9faff;box-shadow:0 0 0 0 rgba(0,174,239,.42)}45%{border-color:var(--primary-color);background:#f4fcff;box-shadow:0 0 0 10px rgba(0,174,239,.16),0 14px 36px rgba(0,174,239,.22)}100%{border-color:transparent;background:#fff;box-shadow:var(--fit-card-shadow)}}
.fit-main button,.fit-main input,.fit-main select{font-family:inherit}.fit-main .btn{font-size:14px;min-height:46px}.fit-main .btn i{margin-right:8px}.fit-main .btn:hover{transform:translateY(-1px)}.fit-main .btn:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 6px rgba(0,0,0,.08)}.fit-main .btn:disabled{background:#eee;color:#888;border-color:#eee;cursor:not-allowed;transform:none;box-shadow:none}.fit-main :is(button,a,summary,input,select):focus-visible{outline:3px solid var(--primary-color);outline-offset:4px}.btn-small{padding:9px 20px;min-height:40px!important}.text-button{border:0;background:transparent;color:var(--text-sub);font-size:13px;font-weight:700;padding:8px;cursor:pointer}.text-button:hover:not(:disabled){color:var(--primary-color)}.text-button:disabled{opacity:.45;cursor:not-allowed}
.settings{margin:0;padding:34px 38px 38px;border:1px solid #f0f0f0;border-radius:30px;background:#fff;box-shadow:var(--fit-form-shadow);min-width:0}.settings-title{margin:0 0 24px;font-size:24px;font-weight:800}.field{min-width:0}.field-label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.field-help{margin-top:9px;line-height:1.75}.mode-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#eee;margin-bottom:18px}.mode-tab{flex:1;min-width:0;border:0;border-radius:10px;background:transparent;color:var(--text-sub);padding:12px 5px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.mode-tab[aria-pressed=true]{background:#fff;color:var(--primary-color);box-shadow:0 2px 5px rgba(0,0,0,.1);animation:preset-bounce .3s cubic-bezier(.4,0,.2,1)}.mode-tab:active{transform:scale(.95);animation:none}@media(hover:hover){.mode-tab:hover{transform:scale(1.03)}}@keyframes preset-bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.form-input{width:100%;height:54px;padding:0 15px;border:2px solid var(--input-border);border-radius:12px;background:#fcfcfc;color:var(--text-main);font-size:16px;appearance:none;transition:all .3s ease}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 4px var(--input-focus-ring);background:#fff}.form-input::placeholder{color:#aaa}.capacity-row{display:grid;grid-template-columns:minmax(120px,1fr) 105px auto;align-items:center;gap:10px}.unit-select{padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--text-sub) 50%),linear-gradient(135deg,var(--text-sub) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.capacity-row>span{font-size:14px;font-weight:700;color:var(--text-sub)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.unit-field{position:relative}.unit-field input{padding-right:64px}.unit-field span{position:absolute;right:18px;top:17px;font-size:14px;font-weight:700;color:var(--text-sub)}.error{margin-top:7px;color:var(--fit-danger);font-size:13px;overflow-wrap:anywhere}
.check-options{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:20px}.check-row{position:relative;display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:700;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.check-row input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.checkbox-wrapper{position:relative;display:inline-block;flex:0 0 24px;width:24px;height:24px;border-radius:7px;transition:transform .2s ease}.checkbox-bg{position:absolute;inset:0;border:2px solid var(--primary-color);border-radius:7px;background:#fff;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.checkbox-icon{position:absolute;inset:0;margin:auto;width:80%;height:80%;color:#fff;transform:scale(0);transition:transform .2s ease}.check-path{stroke-dasharray:40;stroke-dashoffset:40;transition:stroke-dashoffset .3s ease .1s}.check-row input:checked+.checkbox-wrapper .checkbox-bg{background:var(--primary-color);border-color:var(--primary-color)}.check-row input:checked+.checkbox-wrapper .checkbox-icon{transform:scale(1)}.check-row input:checked+.checkbox-wrapper .check-path{stroke-dashoffset:0}.check-row input:checked+.checkbox-wrapper{animation:checkbox-bounce .3s cubic-bezier(.4,0,.2,1)}.check-row input:focus-visible+.checkbox-wrapper .checkbox-bg{outline:2px solid var(--primary-color);outline-offset:3px;box-shadow:0 0 0 4px var(--input-focus-ring)}@media(hover:hover){.check-row:hover .checkbox-wrapper{transform:scale(1.05)}}.check-row:active .checkbox-wrapper{transform:scale(.95)}@keyframes checkbox-bounce{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.advanced{margin-top:24px;border-radius:12px;background:var(--bg-light);font-size:14px}.advanced summary{padding:17px 20px;cursor:pointer;font-weight:700}.advanced-panel{padding:0 20px 20px}.color-label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.color-label input{width:52px;height:38px;padding:3px;border:1px solid var(--input-border);border-radius:8px;background:#fff}
.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.run{min-width:320px;padding:16px 28px!important;font-size:16px!important}.progress-text{min-height:25px;margin:14px 0;text-align:center;color:var(--text-sub);font-size:13px}
.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;margin-top:24px;padding:32px 20px;border:1px solid var(--fit-line);border-radius:16px;background:#fff;box-shadow:var(--fit-card-shadow);text-align:center}.loading-bars{display:flex;justify-content:center;align-items:center;width:100px;height:100px;gap:6px}.loading-bars span{width:4px;height:50px;border-radius:999px;background:var(--primary-color);animation:loading-wave .9s ease-in-out infinite}.loading-bars span:nth-child(2){background:var(--accent-pink);animation-delay:-.8s}.loading-bars span:nth-child(3){background:var(--accent-yellow);animation-delay:-.7s}.loading-bars span:nth-child(4){background:var(--accent-pink);animation-delay:-.6s}.loading-bars span:nth-child(5){background:var(--primary-color);animation-delay:-.5s}.loading-screen strong{font-size:17px}.loading-screen p{margin-top:10px;color:var(--text-sub);font-size:13px;line-height:1.8}.loading-screen progress{width:min(420px,100%);margin-top:20px;accent-color:var(--primary-color)}@keyframes loading-wave{0%,40%,100%{transform:scaleY(.05)}20%{transform:scaleY(1)}}
.alert{display:flex;align-items:flex-start;gap:12px;border:1px solid;padding:18px;border-radius:8px;font-size:13px;line-height:1.8}.alert strong{display:block;font-size:14px;margin-bottom:2px}.alert i{margin-top:4px}.alert.safe{background:var(--fit-safe-bg);color:var(--fit-safe);border-color:var(--fit-safe-line)}.alert.warning{background:var(--fit-warning-bg);color:var(--fit-warning);border-color:var(--fit-warning-line)}.alert.danger{background:var(--fit-danger-bg);color:var(--fit-danger);border-color:var(--fit-danger-line)}.notice{margin-bottom:24px;white-space:pre-line}
.results{margin-top:54px}.list-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}.list-heading>div:first-child{display:flex;align-items:baseline;gap:18px}.section-no{font:700 13px/1.5 ui-monospace,monospace;color:var(--primary-color)}.list-heading h2,.section-head h2{font-size:26px;font-weight:800}.list-heading h2 small,.section-head h2 small{margin-left:10px;color:var(--text-sub);font-size:13px;font-weight:400}.row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.file-list{border:1px solid var(--fit-line);border-radius:16px;overflow:hidden;background:#fff}.result{border-bottom:1px solid var(--fit-line)}.result:last-child{border:0}.file-row{display:flex;align-items:center;gap:14px;padding:18px 20px}.file-row>i{font-size:23px;color:var(--primary-color)}.file-info{flex:1;min-width:0}.file-info h3{display:block;font-size:14px;overflow-wrap:anywhere}.file-info small{font-size:12px;color:var(--text-sub)}.status-pill{position:relative;overflow:hidden;isolation:isolate;padding:4px 9px;border-radius:4px;background:var(--fit-safe-bg);color:var(--fit-safe);font-size:11px;white-space:nowrap;font-weight:700}.status-pill.wait{background:#eee;color:#666}.status-pill.failed{background:var(--fit-danger-bg);color:var(--fit-danger)}.status-pill.complete::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.95) 50%,transparent 75%);transform:translateX(-140%);animation:status-shine 3s ease-in-out infinite}@keyframes status-shine{0%,15%{transform:translateX(-140%);opacity:0}25%{opacity:1}55%{transform:translateX(140%);opacity:1}65%,100%{transform:translateX(140%);opacity:0}}.item-alert{margin:0 20px 20px}.retry{margin:0 20px 20px}.result-body{padding:4px 20px 24px;border-top:1px solid var(--fit-line);background:var(--bg-light)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.comparison figure{min-width:0;margin:0}.comparison figcaption{margin-bottom:8px;color:var(--text-sub);font-size:12px}.preview{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden;border:1px solid #e5e5e5;border-radius:12px;background:repeating-conic-gradient(#eef3f5 0 25%,#fff 0 50%) 0/16px 16px}.preview img{max-width:100%;max-height:100%;object-fit:contain}.result-note{margin-bottom:14px}.result-summary{display:flex;flex-direction:column;align-items:center;padding:24px;border-radius:12px;background:linear-gradient(135deg,var(--accent-yellow),#fcd34d);box-shadow:var(--fit-result-shadow);text-align:center}.result-summary>span{font-size:13px;font-weight:700}.result-summary strong{font-size:36px;line-height:1.3;font-weight:800}.result-summary small{font-size:13px;color:#555}.result-meta{margin:12px 0}.result-body>.alert{margin:14px 0}.result-body>.row-actions{margin-top:18px;justify-content:center}
.size-change{display:grid;grid-template-columns:auto 18px auto;grid-template-areas:"before arrow after" "rate rate rate";align-items:center;flex:0 0 auto;gap:2px 10px;min-width:230px}.size-value{display:flex;flex-direction:column}.size-value.before{grid-area:before;align-items:flex-end}.size-value.after{grid-area:after}.size-value small{color:var(--text-sub);font-size:10px;line-height:1.3}.size-value strong{font-size:16px;line-height:1.45;white-space:nowrap}.size-value.after strong{color:var(--primary-color)}.size-arrow{grid-area:arrow;color:#aaa;font-size:13px}.size-rate{grid-area:rate;color:var(--fit-safe);font-size:11px;font-weight:700;text-align:center}.size-change.is-pending{grid-template-columns:auto;grid-template-areas:"before";min-width:76px}.size-change.is-pending .size-value{align-items:flex-start}.file-info .result-note{margin:4px 0 0;color:var(--text-sub);font-size:11px;line-height:1.6}.status-pill.stale{background:var(--fit-warning-bg);color:var(--fit-warning)}.download-button{margin-left:auto;white-space:nowrap}
.single-preview{margin:0;padding:22px 20px 24px;border-top:1px solid var(--fit-line);background:var(--bg-light)}.single-preview figcaption{margin-bottom:10px;font-size:14px;font-weight:700}.preview-button{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--text-main);cursor:zoom-in}.preview-button .preview{max-height:520px;background-color:#fff;transition:border-color .2s,box-shadow .2s}.preview-button:hover .preview{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--input-focus-ring)}.preview-action{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:var(--primary-color);font-size:12px;font-weight:700}.single-preview>p{margin-top:7px;color:var(--text-sub);font-size:12px;text-align:center}
.guide{margin-top:58px;border-top:1px solid var(--fit-line)}.guide-section{padding:38px 0 46px;border-bottom:1px solid var(--fit-line)}.section-head{display:flex;align-items:baseline;gap:22px;margin-bottom:22px}.guide-section>p{max-width:900px;color:var(--text-sub);font-size:14px;line-height:1.9}.guide-section>p+p{margin-top:12px}.guide-subtitle{margin:28px 0 10px;font-size:18px}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{counter-increment:step;display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--fit-line)}.steps li:last-child{border:0}.steps li:before{content:counter(step,decimal-leading-zero);display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--accent-yellow);font-size:12px;font-weight:800}.steps strong{font-size:14px}.steps p{margin-top:5px;color:var(--text-sub);font-size:13px;line-height:1.8}.capacity-table-wrap{max-width:760px;margin:22px 0;overflow-x:auto;border:1px solid var(--fit-line);border-radius:16px;background:#fff}.capacity-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.capacity-table th,.capacity-table td{padding:13px 18px;border-bottom:1px solid var(--fit-line);text-align:left}.capacity-table thead th{background:var(--bg-light);font-weight:700}.capacity-table tbody th{width:34%;white-space:nowrap;color:var(--primary-color)}.capacity-table tbody tr:last-child th,.capacity-table tbody tr:last-child td{border-bottom:0}.faq-list{overflow:hidden;border:1px solid var(--fit-line);border-radius:16px;background:#fff}.faq-list details{border-bottom:1px solid var(--fit-line)}.faq-list details:last-child{border:0}.faq-list summary{display:flex;align-items:center;gap:14px;padding:20px 24px;cursor:pointer;list-style:none;font-size:14px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .q{color:var(--primary-color);font-size:18px}.faq-list summary:after{content:"";width:12px;height:12px;margin-left:auto;flex-shrink:0;background:linear-gradient(#666,#666) center/12px 2px no-repeat,linear-gradient(#666,#666) center/2px 12px no-repeat}.faq-list details[open]{background:var(--bg-light)}.faq-list details[open] summary:after{background:linear-gradient(#666,#666) center/12px 2px no-repeat}.faq-list details p{margin:0 24px 22px 52px;color:var(--text-sub);font-size:14px;line-height:1.9}.related{display:flex;flex-wrap:wrap;gap:24px;font-size:14px;font-weight:700}.related a{text-decoration:underline;text-underline-offset:4px}
dialog{width:92vw;max-width:1200px;max-height:92vh;padding:22px;border:1px solid var(--fit-line);border-radius:16px;font-family:inherit}dialog::backdrop{background:#17293c99}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.result-heading h2{font-size:20px}.full-image{overflow:auto;max-height:68vh;margin-top:12px}.full-image img{display:block;max-width:none}.footer img{object-fit:contain}.phrase{display:inline-block}
@media(max-width:760px){.fit-main{padding:0 20px 48px}.intro{margin-right:-20px;padding:28px 0 20px}.intro h1{font-size:36px}.tagline{font-size:18px}.intro-copy>p:not(.tagline){font-size:13px}.tool-stage{margin:0 -4px;padding:20px}.drop-zone{padding:24px 18px}.tool-benefits{align-items:flex-start;flex-direction:column;width:max-content;max-width:100%;margin-right:auto;margin-left:auto;text-align:left}.settings{padding:26px 20px 28px;border-radius:24px}.settings-title{font-size:21px}.settings-grid,.check-options{grid-template-columns:1fr;gap:22px}.check-options{gap:14px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr}.capacity-row{grid-template-columns:minmax(95px,1fr) 88px auto}.capacity-row>span{font-size:12px}.actions{margin-top:22px}.run{width:100%;min-width:0}.list-heading{align-items:flex-start;flex-direction:column}.list-heading .row-actions{width:100%;justify-content:space-between}.file-row{align-items:flex-start;flex-wrap:wrap}.file-info{min-width:calc(100% - 48px)}.status-pill{margin-left:37px}.remove-button{margin-left:auto}.comparison{gap:10px}.comparison figcaption{font-size:11px}.result-body{padding-right:14px;padding-left:14px}.result-summary strong{font-size:32px}.single-preview{padding-right:14px;padding-left:14px}.section-head{gap:12px}.section-head h2,.list-heading h2{font-size:23px}.section-head h2 small{display:block;margin:3px 0 0}.guide-section{padding:30px 0 36px}.faq-list summary{padding:18px 16px}.faq-list details p{margin-right:16px;margin-left:44px}}
@media(max-width:760px){.file-row>i,.file-info{order:1}.status-pill,.remove-button{order:2}.size-change{order:3;flex:1 1 210px;margin-left:37px}.download-button{order:3;margin-left:auto}}
@media(max-width:400px){.fit-main{padding-right:16px;padding-left:16px}.intro{margin-right:-16px}.tool-stage{padding:14px}.settings{padding-right:16px;padding-left:16px}.capacity-row{grid-template-columns:1fr 78px}.capacity-row>span{grid-column:1/-1}.fit-main .btn{padding-right:22px;padding-left:22px}.file-row{padding-right:14px;padding-left:14px}.status-pill{margin-left:0}.comparison{grid-template-columns:1fr}.result-body>.row-actions .btn{width:100%}}
@media(max-width:400px){.size-change{flex-basis:100%;min-width:0;margin-left:0}.download-button{width:100%;margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fit-main *{animation:none!important;transition:none!important}.check-row:hover .checkbox-wrapper,.check-row:active .checkbox-wrapper,.mode-tab:hover,.mode-tab:active{transform:none}.loading-bars span{transform:scaleY(.45)}.status-pill.complete::before{opacity:0}}
