:root{color-scheme:dark;--bg:#151217;--panel:#211a23;--line:#463747;--text:#f4edf2;--muted:#c3b4c1;--gold:#dfc59e;--accent:#d796ae;--danger:#ffb5b5;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(900px 600px at 80% -20%,#46304855,transparent),var(--bg);color:var(--text)}
a{color:#ffe2bb}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.56;cursor:default}
.shell{max-width:900px;margin:auto;padding:0 22px}
.header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);min-height:95px;gap:14px}
.logo{display:flex;gap:12px;align-items:center}.sparkle{font-size:40px;color:var(--gold);font-family:Georgia,serif}
.logo>div{display:flex;flex-direction:column;letter-spacing:.18em;gap:3px}.brand{font-size:13px;font-weight:700;color:var(--gold)}.subbrand{font-size:10px;color:var(--muted)}
.hidden{display:none!important}
h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,6vw,57px);line-height:1.09;letter-spacing:-.018em;margin:14px 0 20px}h1 em{color:var(--gold);font-style:normal}h2{font-size:23px;letter-spacing:-.02em;margin:0 0 18px}
p{line-height:1.6}.intro{padding:48px 0 28px}.intro>p:last-child{max-width:670px;color:var(--muted);font-size:16px}
.eyebrow{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.19em;margin:0}
.panel{border:1px solid var(--line);background:var(--panel);padding:28px;border-radius:18px;box-shadow:0 10px 48px #0003}
.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:186px;border:1px dashed #a4879e;border-radius:15px;background:#392e3a5d;text-align:center;padding:22px;cursor:pointer}
.file-drop:hover{border-color:var(--gold)}.file-drop input{max-width:100%;width:100%;font-size:13px;color:var(--muted);margin-top:8px}.file-drop input::file-selector-button{background:#584054;color:#fff;border:0;border-radius:7px;padding:9px 10px;margin-right:10px}.file-title{font-size:18px;font-weight:700}.upload-icon{border-radius:50%;background:#876a8255;width:42px;height:42px;display:grid;place-items:center;font-size:26px;color:var(--gold)}
.muted,.hint{color:var(--muted);font-size:13px}.hint{margin:4px 0 0;line-height:1.5}
.field-group{border:0;padding:20px 0 10px;margin:15px 0 0}.field-group legend{padding-top:22px;font-size:16px;font-weight:700}.radio-option,.check-option{display:flex;gap:12px;align-items:start;padding:13px;border-radius:12px;margin:5px 0 9px;border:1px solid var(--line);cursor:pointer}.radio-option:hover,.check-option:hover{background:#ffffff08}.radio-option input,.check-option input{width:18px;height:18px;accent-color:var(--gold);flex-shrink:0;margin-top:3px}.radio-option span,.check-option span{display:flex;flex-direction:column;gap:6px}.radio-option small,.check-option small{font-size:13px;color:var(--muted);line-height:1.4}.check-option{margin:18px 0 20px}
.primary{background:var(--gold);border:0;border-radius:11px;color:#241b22;font-weight:800;padding:15px 20px;width:100%;font-size:15px}.primary:hover{background:#f1dcb8}.secondary{color:var(--gold);border:1px solid #a68c9a;background:#332832;border-radius:10px;padding:10px 13px;font-weight:700}.text-button{color:var(--muted);background:transparent;border:0;padding:8px}.error{color:var(--danger);font-size:13px}
.login-panel{max-width:500px;margin:95px auto 0}.login-panel p{color:var(--muted)}.login-panel label{display:block;margin:22px 0 8px}.login-panel input{width:100%;padding:14px;background:#110e12;border:1px solid var(--line);border-radius:10px;color:#fff;margin-bottom:18px}
.progress-wrap{margin-top:17px}.progress-track{height:8px;background:#3f3340;border-radius:9px;overflow:hidden}#upload-progress{width:0;background:var(--gold);height:100%;transition:width .2s}.progress-wrap span{font-size:13px;color:var(--muted);display:block;margin-top:9px}
.history{padding:55px 0 40px}.history-title{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:20px}.history-title h2{margin:8px 0 0}.jobs{display:flex;flex-direction:column;gap:13px}.job{padding:19px;border:1px solid var(--line);border-radius:14px;background:#211a23}.job-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.job h3{font-size:16px;margin:0 0 7px;overflow-wrap:anywhere}.job .date{color:var(--muted);font-size:12px}.job .status{font-size:12px;color:var(--gold);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.job p{font-size:13px;color:var(--muted);margin:14px 0}.job .ai-error{color:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.actions a,.actions button{font-size:13px;text-decoration:none;padding:10px 12px;border-radius:8px;background:#473847;color:#fff;border:1px solid #654e66;font-weight:600}.actions .download{color:#241b22;background:var(--gold);border-color:var(--gold)}.actions .delete{background:transparent;border-color:#875869;color:#ffcaca}.preview{width:100%;max-height:300px;background:#000;margin-top:18px;border-radius:10px}footer{border-top:1px solid var(--line);color:#9f8d9d;padding:30px 0 50px;text-align:center;font-size:12px}
@media(max-width:540px){.shell{padding:0 14px}.header{min-height:78px}.panel{padding:18px}.intro{padding:35px 2px 22px}.history{padding-top:38px}.logo>div{letter-spacing:.09em}.brand{font-size:12px}.subbrand{font-size:9px}.job-head{flex-wrap:wrap}.login-panel{margin-top:50px}}

.hsp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.hsp-row label{display:block}.hsp-row select,.history-settings textarea{display:block;width:100%;padding:10px;margin-top:6px;border:1px solid #d8c4b7;border-radius:8px;background:white;color:#291d28}
.history-settings textarea{font:inherit;font-size:13px;resize:vertical}.history-settings summary{cursor:pointer;font-weight:700;color:#671d38}
.title-result{border:1px solid #d8c4b7;border-radius:10px;background:#fffaf7;padding:12px;margin:12px 0}.title-result h4{font-family:Georgia,serif;font-size:19px;margin:7px 0;color:#641a35;line-height:1.3}
@media(max-width:550px){.hsp-row{grid-template-columns:1fr}}
