:root{color:#f7f4ea;background:#08090d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(245,164,35,.22),transparent 28rem),linear-gradient(135deg,#08090d,#121722 48%,#15110d)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.login-shell,.app-shell{min-height:100vh}.login-shell{display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,460px);padding:38px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#0b0d14d1;box-shadow:0 24px 70px #0000006b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark{display:grid;width:54px;height:54px;place-items:center;color:#1b1303;border-radius:8px;background:linear-gradient(135deg,#ffce67,#f59d20)}.eyebrow{margin:22px 0 6px;color:#f8b84d;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1{margin:0;color:#fff9ea;font-size:clamp(28px,5vw,46px);line-height:1.08;letter-spacing:0}.login-form,.generator-form{display:grid;gap:16px;margin-top:28px}label,legend{color:#ded7c8;font-size:14px;font-weight:700}.password-row{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff0f}.password-row svg{color:#f7bd52;flex:0 0 auto}input,textarea{width:100%;color:#fffaf0;border:0;outline:0;background:transparent}textarea{min-height:152px;padding:16px;resize:vertical;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff0f;line-height:1.7}textarea:focus,.password-row:focus-within{border-color:#ffbe54e6;box-shadow:0 0 0 3px #ffbe5429}.primary-button,.ghost-button,.download-button,.mode-switch button,.ratio-group button,.history-strip button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;border:0;cursor:pointer;text-decoration:none}.primary-button{min-height:52px;padding:0 18px;color:#1b1303;background:linear-gradient(135deg,#ffd36d,#f19b1d);font-weight:800;box-shadow:0 16px 40px #e98f193d}.primary-button:disabled{cursor:not-allowed;opacity:.55}.error-text{margin:0;color:#ffb2a6;font-size:14px;line-height:1.6}.spin{animation:spin 1s linear infinite}.app-shell{padding:30px}.topbar{display:flex;max-width:1180px;margin:0 auto 26px;align-items:flex-end;justify-content:space-between;gap:18px}.topbar .eyebrow{margin-top:0}.ghost-button{min-height:42px;padding:0 16px;color:#f4ead8;border:1px solid rgba(255,255,255,.14);background:#ffffff0f}.workspace{display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:22px;max-width:1180px;margin:0 auto}.tool-panel,.result-panel{border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#0a0c12d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tool-panel{padding:20px}.result-panel{display:grid;gap:14px;padding:18px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d}.mode-switch button{min-height:44px;color:#cfc6b5;background:transparent;font-weight:700}.mode-switch button.active{color:#211606;background:#f7bd52}.upload-box input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.upload-box label{display:flex;min-height:78px;align-items:center;justify-content:center;gap:10px;padding:14px;color:#f8e8c3;border:1px dashed rgba(255,205,116,.52);border-radius:8px;background:#ffbe5414;cursor:pointer;text-align:center}.ratio-group{display:grid;gap:10px;margin:0;padding:0;border:0}.ratio-group div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ratio-group button{min-height:42px;color:#e8dfd1;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;font-weight:800}.ratio-group button.selected{color:#211606;border-color:#ffc75e;background:#ffc75e}.result-stage{position:relative;display:grid;min-height:610px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),#0d1018;background-size:26px 26px}.result-stage img{max-width:100%;max-height:74vh;object-fit:contain}.download-button{position:absolute;right:16px;bottom:16px;min-height:44px;padding:0 15px;color:#1b1303;background:#ffc75e;font-weight:800;box-shadow:0 16px 30px #00000047}.empty-state{display:grid;gap:12px;place-items:center;color:#b7ad9c}.empty-state p{margin:0;font-weight:700}.history-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.history-strip button{aspect-ratio:1;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:#ffffff0f}.history-strip img{width:100%;height:100%;object-fit:cover}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){.app-shell{padding:20px}.topbar{align-items:flex-start;flex-direction:column}.workspace{grid-template-columns:1fr}.result-stage{min-height:420px}}@media(max-width:520px){.login-panel{padding:26px}.mode-switch,.ratio-group div,.history-strip{grid-template-columns:1fr 1fr}.mode-switch button{font-size:13px}}
