:root{--bg: var(--surface-page);--panel: var(--surface-card);--panel-2: var(--surface-sunken);--raised: var(--surface-raised);--border: var(--line-1);--border-strong: var(--line-2);--text: var(--ink-1);--text-dim: var(--ink-2);--text-faint: var(--ink-3);--accent: var(--accent-primary);--mark: var(--accent-tool);--on-mark: var(--ink-on-accent-tool);--danger: var(--red);--ok: var(--green);--radius: var(--radius-lg)}body{background:var(--bg);color:var(--text);min-height:100vh}.hidden,[hidden]{display:none!important}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;max-width:64rem;margin:0 auto;padding:var(--space-4) var(--page-margin) var(--space-2)}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand h1{font:var(--type-app-title);letter-spacing:var(--tracking-title);margin:0}.brand-mark{flex:none;width:20px;height:20px;border-radius:var(--radius-sm);background:var(--surface-inverse);position:relative;overflow:hidden}.brand-mark:before{content:"";position:absolute;left:4px;top:5px;width:8px;height:8px;border:2px solid var(--ink-inverse);border-radius:1px}.brand-mark:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;background:var(--ink-inverse);border-radius:1px}.header-right{display:flex;align-items:center;gap:var(--space-3)}.layout{max-width:64rem;margin:0 auto;padding:var(--space-3) var(--page-margin) var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.dropzone{display:block}.dropzone p{margin:0}.dropzone-compact{padding:var(--space-3) var(--space-4)}.dropzone-compact .us-filedrop-label{font-size:var(--text-body)}.dropzone-compact .us-filedrop-hint{display:none}.us-filedrop.is-over{border-color:var(--accent);background:var(--panel);box-shadow:var(--shadow-md)}.batch{padding:var(--space-4)}.batch-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.batch-title{font:var(--weight-semibold) var(--text-title-3) / 1.3 var(--font-display);margin:0}.batch-count{font:var(--weight-regular) var(--text-micro) / 1 var(--font-mono);color:var(--text-faint);margin-left:var(--space-2)}.batch-actions{display:flex;gap:var(--space-2)}.batch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.row{padding:var(--space-3);border:var(--border-thin) solid var(--border);border-radius:var(--radius-default);background:var(--panel-2)}.row-main{display:flex;align-items:flex-start;gap:var(--space-3)}.row-thumb{flex:none;width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);border:var(--border-hairline) solid var(--border);background:var(--surface-sunken);transition:transform var(--duration-base) var(--ease-standard)}.row-text{min-width:0;flex:1}.row-name{margin:0;font-weight:var(--weight-medium);overflow-wrap:anywhere}.row-meta{margin:2px 0 0;font:var(--weight-regular) var(--text-micro) / 1.4 var(--font-mono);color:var(--text-faint)}.row-right{display:flex;align-items:center;gap:var(--space-2);flex:none}.row-status{font:var(--weight-medium) var(--text-micro) / 1 var(--font-mono);color:var(--text-dim);white-space:nowrap}.row-status[data-state=done]{color:var(--ok)}.row-status[data-state=error]{color:var(--danger)}.row-status[data-state=converting]{color:var(--mark);font-weight:var(--weight-semibold)}.row-bar{margin-top:var(--space-2);height:4px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:var(--border-hairline) solid var(--border);overflow:hidden}.row-bar-fill{height:100%;width:0;background:var(--mark);transition:width var(--duration-fast) var(--ease-standard)}.row-error{margin:var(--space-2) 0 0;font-size:var(--text-body-sm);color:var(--danger)}.row-result{margin:var(--space-2) 0 0;font:var(--weight-regular) var(--text-micro) / 1.5 var(--font-mono);color:var(--text-dim);overflow-wrap:anywhere}.row-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-3) var(--space-2) 0;border-top:var(--border-thin) solid var(--border)}.edit-preview{position:relative;align-self:start;overflow:visible;--preview-ratio: 1;aspect-ratio:var(--preview-ratio);max-height:17rem;max-width:100%;margin-inline:auto;border-radius:var(--radius-default);background:var(--surface-sunken);border:var(--border-hairline) solid var(--border);background-image:linear-gradient(45deg,var(--surface-sunken) 25%,transparent 25%,transparent 75%,var(--surface-sunken) 75%),linear-gradient(45deg,var(--surface-sunken) 25%,transparent 25%,transparent 75%,var(--surface-sunken) 75%);background-size:16px 16px;background-position:0 0,8px 8px;background-color:var(--surface-card)}.edit-canvas{display:block;width:100%;height:100%;border-radius:var(--radius-default)}.edit-controls{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.edit-group{min-width:0}.edit-group .us-label{display:block;margin-bottom:var(--space-2)}.edit-rotate{display:flex;align-items:center;gap:var(--space-2)}.rotate-label{font:var(--weight-regular) var(--text-micro) / 1 var(--font-mono);color:var(--text-faint);margin-left:var(--space-1)}.edit-crop-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.edit-crop-head .us-label{margin-bottom:0}.edit-group-meta .field-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-3);margin-top:var(--space-3)}.edit-group-meta .field .us-label{font-size:var(--text-micro);margin-bottom:var(--space-1)}.edit-group-meta .radio-row{gap:var(--space-3)}.crop-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:var(--space-2)}.crop-field{display:flex;flex-direction:column;gap:2px;min-width:0}.crop-field span{font:var(--weight-medium) var(--text-nano) / 1 var(--font-sans);color:var(--text-dim);text-transform:uppercase;letter-spacing:var(--tracking-label)}.crop-field .us-input{width:100%;font-family:var(--font-mono);font-size:var(--text-body-sm);padding:var(--space-2)}.crop-size{margin:var(--space-2) 0 0;color:var(--text-faint);font-family:var(--font-mono)}.crop-overlay{position:absolute;inset:0;touch-action:none;cursor:crosshair}.crop-shade{position:absolute;background:var(--surface-inverse);opacity:.55;pointer-events:none}.crop-frame{position:absolute;border:2px solid var(--mark);cursor:move;box-shadow:0 0 0 1px var(--surface-card)}.crop-grip{position:absolute;width:14px;height:14px;background:var(--mark);border:1px solid var(--surface-card);border-radius:var(--radius-sm)}.crop-grip-nw{top:-7px;left:-7px;cursor:nwse-resize}.crop-grip-ne{top:-7px;right:-7px;cursor:nesw-resize}.crop-grip-sw{bottom:-7px;left:-7px;cursor:nesw-resize}.crop-grip-se{bottom:-7px;right:-7px;cursor:nwse-resize}.crop-grip-n{top:-7px;left:50%;margin-left:-7px;cursor:ns-resize}.crop-grip-s{bottom:-7px;left:50%;margin-left:-7px;cursor:ns-resize}.crop-grip-w{left:-7px;top:50%;margin-top:-7px;cursor:ew-resize}.crop-grip-e{right:-7px;top:50%;margin-top:-7px;cursor:ew-resize}.output-bar{display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.output-format{flex:1 1 20rem;min-width:0}.output-format .us-select{width:100%}.output-quality{flex:1 1 18rem;min-width:0;display:flex;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap}.output-quality .field{flex:1 1 9rem;min-width:0}.output-quality .us-select{width:100%}.quality-slider{width:100%;accent-color:var(--mark)}.output-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.folder-name{font:var(--weight-regular) var(--text-micro) / 1 var(--font-mono);color:var(--text-faint);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overall{flex:1 0 100%;display:flex;align-items:center;gap:var(--space-3)}.overall-track{flex:1;height:8px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:var(--border-hairline) solid var(--border);overflow:hidden}.overall-fill{height:100%;width:0;background:var(--mark);transition:width var(--duration-fast) var(--ease-standard)}.overall-label{font:var(--weight-medium) var(--text-micro) / 1 var(--font-mono);color:var(--text-dim);white-space:nowrap}.advanced{border:var(--border-thin) solid var(--border);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow-sm)}.advanced-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);cursor:pointer;list-style:none;border-radius:var(--radius)}.advanced-summary::-webkit-details-marker{display:none}.adv-title{font:var(--weight-semibold) var(--text-title-3) / 1.3 var(--font-display)}.adv-count{font:var(--weight-regular) var(--text-micro) / 1 var(--font-mono);color:var(--text-faint)}.adv-count-on{color:var(--text-dim);font-weight:var(--weight-semibold)}.advanced-summary:after{content:"";flex:none;width:8px;height:8px;border-right:2px solid var(--text-dim);border-bottom:2px solid var(--text-dim);transform:rotate(45deg) translateY(-2px);transition:transform var(--duration-base) var(--ease-standard)}.advanced[open] .advanced-summary:after{transform:rotate(-135deg) translateY(-2px)}.advanced-body{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-5)}.adv-group-title{font:var(--weight-semibold) var(--text-body) / 1.3 var(--font-sans);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-thin) solid var(--border);color:var(--text-dim)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--space-4)}.field{min-width:0}.field-wide{grid-column:1 / -1}.field .us-select,.field .us-input{width:100%}.field .us-label{display:block;margin-bottom:var(--space-2)}.field-hint{margin:var(--space-2) 0 0;font:var(--weight-regular) var(--text-micro) / 1.45 var(--font-sans);color:var(--text-faint)}.field-off .us-label,.field-off .switch-text,.field-off .field-hint{opacity:.55}.radio-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.name-parts{display:flex;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.logo-pick{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.logo-name{font:var(--weight-regular) var(--text-micro) / 1 var(--font-mono);color:var(--text-faint)}.logo-enable{margin-bottom:var(--space-4)}.matte-input{width:5rem;height:2.5rem;padding:var(--space-1);cursor:pointer}.field .us-input.matte-input{width:5rem}.us-switch .switch-text{font-weight:var(--weight-medium)}.advanced-locked{opacity:.6}.toast{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);background:var(--raised);border:var(--border-thin) solid var(--border-strong);border-radius:var(--radius-default);padding:var(--space-3) var(--space-4);font-size:var(--text-body-sm);max-width:min(46rem,calc(100vw - 2rem));box-shadow:var(--shadow-lg);z-index:50}.toast.error{border-color:var(--danger);color:var(--danger)}.donate-root{position:relative}.donate-trigger{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--weight-medium) var(--text-micro) / 1 var(--font-sans);color:var(--text-dim);background:none;border:var(--border-thin) solid var(--border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;transition:var(--transition-default)}.donate-pop{position:absolute;right:0;top:calc(100% + var(--space-2));width:18rem;padding:var(--space-4);background:var(--panel);border:var(--border-thin) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60}.donate-pop h3{font-size:var(--text-body);margin:0 0 var(--space-1)}.donate-sub{color:var(--text-dim);font-size:var(--text-body-sm);margin:0 0 var(--space-3)}.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.amount-grid button{padding:var(--space-3) 0;font:var(--weight-medium) var(--text-body-sm) / 1 var(--font-sans);color:var(--text);background:var(--panel-2);border:var(--border-thin) solid var(--border);border-radius:var(--radius-default);cursor:pointer;transition:var(--transition-default)}.amount-grid button.active{border-color:var(--accent);color:var(--accent);font-weight:var(--weight-semibold)}.donate-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.donate-row .cur-input{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;padding:0 var(--space-3);background:var(--panel-2);border:var(--border-thin) solid var(--border);border-radius:var(--radius-default)}.donate-row .cur-symbol{color:var(--text-dim);font-size:var(--text-body-sm)}.donate-row .cur-input input{flex:1;min-width:0;border:none;outline:none;background:none;color:var(--text);font:inherit;font-size:var(--text-body-sm);padding:var(--space-2) 0}.donate-row .cur-select{flex:0 0 5.6rem;border:var(--border-thin) solid var(--border);border-radius:var(--radius-default);background:var(--panel-2);color:var(--text);font:inherit;font-size:var(--text-body-sm);padding:var(--space-2)}.donate-submit{width:100%;padding:var(--space-3);font:var(--weight-semibold) var(--text-body-sm) / 1 var(--font-sans);color:var(--ink-on-accent);background:var(--accent);border:var(--border-thin) solid var(--accent);border-radius:var(--radius-default);cursor:pointer;transition:var(--transition-default)}.donate-submit:disabled{opacity:.6;cursor:default}.donate-err{color:var(--danger);font-size:var(--text-micro);margin:var(--space-3) 0 0}.donate-note{color:var(--text-faint);font-size:var(--text-nano);margin:var(--space-3) 0 0;text-align:center}.page-content{max-width:56rem;margin:var(--space-8) auto 0;padding:0 var(--page-margin);line-height:var(--leading-loose);color:var(--text-dim)}.page-content h2{color:var(--text);font-size:var(--text-title-2);margin:var(--space-8) 0 var(--space-3)}.page-content h2:first-child{margin-top:0}.page-content h3{color:var(--text);font-size:var(--text-body-lg);margin:var(--space-6) 0 var(--space-2)}.page-content p{margin:0 0 var(--space-4)}.page-content strong{color:var(--text);font-weight:var(--weight-semibold)}.page-content em{color:var(--text);font-style:normal;font-weight:var(--weight-medium)}.page-content ol,.page-content ul{margin:0 0 var(--space-4);padding-left:var(--space-6)}.page-content li{margin-bottom:var(--space-2)}.page-content a{color:var(--accent-link)}.table-scroll{overflow-x:auto;margin-bottom:var(--space-4)}.page-content table{border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--text-body-sm)}.page-content th,.page-content td{text-align:left;padding:var(--space-3);border-bottom:var(--border-thin) solid var(--border);vertical-align:top}.page-content th{color:var(--text);font-weight:var(--weight-semibold)}.page-content tbody td:first-child{color:var(--text);white-space:nowrap}.site-footer{max-width:56rem;margin:var(--space-8) auto 0;padding:var(--space-5) var(--page-margin);border-top:var(--border-thin) solid var(--border);color:var(--text-faint);font-size:var(--text-body-sm);text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5);margin-bottom:var(--space-3)}.site-footer a{color:var(--text-dim);text-decoration:none}.site-footer p{margin:0}@media(hover:hover)and (pointer:fine){.donate-trigger:hover{color:var(--text);border-color:var(--border-strong)}.amount-grid button:hover{border-color:var(--border-strong)}.site-footer a:hover{color:var(--accent-link)}.row:hover{border-color:var(--border-strong)}}@media(max-width:52rem){.row-panel{grid-template-columns:minmax(0,1fr)}}@media(max-width:40rem){.app-header{padding-bottom:var(--space-3)}.output-bar{align-items:stretch}.output-actions{justify-content:space-between}.output-actions .us-btn--lg{flex:1}.row-main{flex-wrap:wrap}.row-right{width:100%;justify-content:flex-end}.donate-pop{right:auto;left:50%;transform:translate(-50%)}}
