:root{color-scheme:dark;--bg:#111214;--surface:#191a1d;--field:#141518;--line:#303136;--text:#efeff1;--muted:#a2a3ad;--accent:#c0f16a;--error:#ff9a9a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow-x:hidden}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible,.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.muted,.hint{color:var(--muted)}.topbar{max-width:1200px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{font-size:20px;font-weight:650;letter-spacing:-.6px}.brand span{color:var(--muted);font-weight:450;margin-left:5px}.header-actions{display:flex;align-items:center;gap:26px}.daily{display:flex;flex-direction:column;gap:3px;text-align:right}.daily span{font-size:12px;color:var(--muted)}.daily strong{font-size:16px;font-weight:550;font-variant-numeric:tabular-nums}.secondary,.primary{border-radius:8px;min-height:44px;border:1px solid var(--line);padding:11px 16px;font-size:14px;font-weight:550;display:inline-flex;gap:8px;align-items:center;justify-content:center}.secondary{background:transparent;color:var(--text)}.secondary:hover{background:#242529;text-decoration:none}.primary{background:var(--accent);color:#18220b;border-color:var(--accent);width:100%;font-size:16px;min-height:50px}.primary:hover:not(:disabled){background:#cdf589}main{max-width:1200px;margin:auto;padding:32px 32px 18px}.workspace{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:48px}.editor,.results{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}h1,h2{font-size:17px;line-height:1.4;font-weight:550;letter-spacing:-.3px;margin:0}.section-heading>.muted{font-size:13px}label{display:block;font-size:14px;margin:0 0 9px;font-weight:500}input:not([type=file]),textarea,select{width:100%;min-height:46px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:12px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:110px;line-height:1.55}input::placeholder,textarea::placeholder{color:#777983}.dropzone{height:206px;border:1px dashed #41434a;background:var(--surface);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:0}.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:#1e231a}.dropzone>span{display:flex;align-items:center;gap:9px;flex-direction:column;font-size:12px;color:var(--muted);padding:16px;text-align:center}.dropzone strong{font-size:14px;color:var(--text);font-weight:500}.upload-symbol{font-size:30px;font-weight:200;color:var(--muted);line-height:1.3;margin-bottom:3px}.dropzone img{width:100%;height:100%;object-fit:contain}.image-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:45px;margin-bottom:12px;font-size:12px}.image-meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{background:none;border:0;color:var(--muted);padding:10px 0;min-height:44px;font-size:14px}.text-button:hover{color:var(--text)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.hint{font-size:12px;line-height:1.6;margin:10px 0 0}.hint a{text-decoration:underline}.advanced{border-bottom:1px solid var(--line);margin-top:10px}.advanced summary{font-size:14px;color:var(--muted);cursor:pointer;min-height:46px;padding:12px 0}.advanced-content{display:grid;padding:7px 0 20px;gap:4px}.advanced-content label:not(:first-child){margin-top:14px}input[type=file]{font-size:13px;width:100%;min-height:44px}input::file-selector-button{background:#292a30;border:1px solid var(--line);border-radius:5px;color:var(--text);padding:10px;margin-right:10px}.generate-actions{padding-top:20px;padding-bottom:4px;background:var(--bg)}.cost-summary{display:flex;align-items:center;justify-content:space-between;gap:15px}.cost-summary>div{display:flex;flex-direction:column;gap:5px}.cost-summary .muted{font-size:12px}.cost-summary strong{font-size:26px;font-weight:550;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.cost-summary>span{text-align:right}#pricingNote{margin-bottom:16px;min-height:19px}.message{font-size:13px;line-height:1.5;margin:10px 0;min-height:20px;color:var(--muted);overflow-wrap:anywhere}.message.error{color:var(--error)}.result-area{aspect-ratio:4/3;background:#0b0c0e;border:1px solid #25262b;border-radius:10px;overflow:hidden;display:grid;place-items:center}.empty-result{display:flex;flex-direction:column;gap:14px;align-items:center;color:#8c8e98;font-size:14px}.empty-result svg{width:48px;height:48px;color:#666973}.result-area video{width:100%;height:100%;max-height:540px;object-fit:contain}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px}.history-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px}.history-heading h2{font-size:14px}.history-heading span{font-size:12px}.history-empty{font-size:13px;padding:18px 0}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border-top:1px solid var(--line);padding:10px 0;align-items:center}.history-row button{background:none;text-align:left;border:0;color:var(--text);padding:0;min-height:44px;min-width:0;font-size:13px;display:flex;flex-direction:column;justify-content:center;gap:5px}.history-row button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row small{font-size:12px;color:var(--muted)}.history-price{text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.history-price small{display:block;margin-top:4px;font-size:11px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0 0;margin-top:28px;color:var(--muted);font-size:12px}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:24px;width:430px;max-width:calc(100vw - 28px)}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog .section-heading{margin-bottom:22px}.icon-button{background:transparent;border:0;color:var(--muted);font-size:27px;min-width:44px;min-height:44px;margin:-10px -10px -10px 0}.danger{color:var(--error);margin:8px auto 0;display:block}#spendNote{margin-top:14px}#resultStatus{max-width:60%;text-align:right}
@media(max-width:900px){.workspace{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}main{padding:26px 24px}.topbar{padding:22px 24px}.header-actions{gap:16px}}
@media(max-width:700px){.topbar{padding:16px;gap:10px}.brand{font-size:18px;display:flex;flex-direction:column;gap:1px}.brand span{margin:0;font-size:13px;letter-spacing:0}.header-actions{gap:14px}.daily strong{font-size:14px}.header-actions .secondary{padding:10px;min-width:44px}.header-actions .secondary span{display:none}.workspace{grid-template-columns:1fr;gap:28px}main{padding:22px 16px calc(18px + env(safe-area-inset-bottom))}.dropzone{height:180px}.results{border-top:1px solid var(--line);padding-top:24px}.cost-summary strong{font-size:25px}.section-heading{margin-bottom:16px}.generate-actions{position:sticky;bottom:0;z-index:2;padding-bottom:calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.advanced{border-bottom:0}.result-area{aspect-ratio:4/3}footer{font-size:12px;gap:10px;flex-wrap:wrap}dialog{padding:22px;max-height:85dvh}textarea{min-height:100px}.controls{gap:12px}#pricingNote{margin-bottom:12px}}
.elapsed{font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;margin:0 0 12px}.elapsed:empty{display:none}
@media(prefers-reduced-motion:no-preference){button,.dropzone{transition:background .15s,border-color .15s}}
