:root{--orange:#ee4d2d;--orange-dark:#d83a1b;--ink:#17212b;--muted:#68727e;--bg:#f7f5f2;--card:rgba(255,255,255,.96);--line:#e9e6e2;--danger:#b42318;--success:#087a52;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 12% 0%,rgba(238,77,45,.11),transparent 28rem),var(--bg);color:var(--ink)}body{min-height:100vh}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px}.generator-shell{place-items:start center}.card{width:min(100%,520px);background:var(--card);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:0 20px 60px rgba(47,38,30,.12)}.wide-card{width:min(100%,860px)}.brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.brand img{width:68px;height:68px;border-radius:18px;object-fit:cover}.brand h1{margin:0;font-size:25px}.brand p{margin:5px 0 0;color:var(--muted);font-size:13px}.grid{display:grid;gap:14px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#58636f;text-transform:uppercase;letter-spacing:.04em}input,textarea{width:100%;border:1px solid #ddd8d2;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink);outline:none}textarea{min-height:155px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(238,77,45,.12)}button{border:0;border-radius:14px;padding:13px 16px;font:inherit;font-weight:850;cursor:pointer}.primary{background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff}.gold{background:linear-gradient(135deg,#ffb134,#ff8a00);color:#301c00}.ghost{background:#efedea;color:#3b4651}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;margin-bottom:18px;border-radius:14px;background:#efedea}.tabs button{background:transparent;color:#6b737c}.tabs button.active{background:#fff;color:var(--orange-dark);box-shadow:0 2px 8px rgba(0,0,0,.07)}.status{display:none;margin-top:14px;border-radius:13px;padding:12px 14px;font-size:13px;line-height:1.45}.status.show{display:block}.status.error{background:#fff0f0;border:1px solid #ffd0d0;color:var(--danger)}.status.ok{background:#e9fbf4;border:1px solid #b7ecd8;color:var(--success)}.status.info{background:#fff3ef;border:1px solid #f5cabe;color:#9b351f}.muted{color:var(--muted);line-height:1.55}.hidden{display:none!important}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.actions>*{flex:1 1 150px}.section{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.section h2{margin:0 0 12px;font-size:16px}.preview{display:grid;grid-template-columns:120px 1fr;gap:9px 14px;padding:14px;border-radius:14px;background:#faf8f5;font-size:13px}.preview b{color:#5e6770}.codebox{word-break:break-all}.loading-card{text-align:center}.loading-logo{width:88px;height:88px;border-radius:22px;object-fit:cover}.loader{width:38px;height:38px;margin:18px auto;border:4px solid #eee;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:560px){.row{grid-template-columns:1fr}.card{padding:20px;border-radius:22px}.brand h1{font-size:21px}.preview{grid-template-columns:1fr;gap:4px}.preview span{margin-bottom:8px}}
