:root{color-scheme:dark;--bg:#090b0d;--panel:#12171c;--line:#293139;--text:#f1f3f4;--muted:#98a4ad;--red:#ff493d;--cyan:#68e0e8}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(circle at 50% -10%,#20272d,var(--bg) 55%);font:14px system-ui,sans-serif}.portal-shell{width:min(900px,calc(100% - 28px));margin:0 auto;padding:32px 0 60px}.portal-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:rgba(18,23,28,.94);box-shadow:0 20px 70px #0006}.login-card{max-width:440px;margin:12vh auto 0}.eyebrow{margin:0 0 6px;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase}h1,h2{margin:0 0 8px}h1{font-size:28px}h2{font-size:17px}.portal-card>p{color:var(--muted);line-height:1.5}.login-card form,.tab-panel form{display:grid;gap:14px;margin-top:20px}.login-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.login-block p{margin:0}.owner-link{margin:20px 0 0;text-align:center}.owner-link a{color:var(--cyan)}label{display:grid;gap:7px}label>span{font-size:12px;color:#cbd2d7;font-weight:700}input,textarea{width:100%;border:1px solid #3b454e;border-radius:5px;padding:11px;background:#0b0e11;color:var(--text);font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 2px #ff493d22}button{border:1px solid #ff6c62;border-radius:5px;padding:11px 15px;background:var(--red);color:#090909;font:inherit;font-weight:800;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.secondary{border-color:#3b454e;background:#1a2026;color:var(--text)}.hidden{display:none!important}.error{color:#ffaaa4!important}.muted{color:var(--muted);line-height:1.5}.portal-header,.section-heading,.chat-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-header{margin-bottom:22px}.portal-header h1{margin-bottom:2px}.portal-header small{color:var(--muted)}.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{border:1px solid var(--line);background:#11161b;color:var(--muted)}.tabs button.selected{border-color:var(--red);background:#281514;color:var(--text)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chat-log{min-height:180px;max-height:420px;overflow:auto;display:grid;align-content:start;gap:9px;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:6px;background:#0b0e11}.chat-message{max-width:86%;padding:9px 11px;border-radius:6px;white-space:pre-wrap;line-height:1.45}.chat-message.user{justify-self:end;background:#3a1d1a}.chat-message.assistant{justify-self:start;background:#1b252b}.chat-footer small{color:var(--muted)}.result-image{display:block;width:100%;height:auto;max-height:640px;margin-top:16px;object-fit:contain;border:1px solid var(--line);border-radius:6px}.model-result{display:inline-flex;margin-top:16px;padding:12px 15px;border:1px solid var(--cyan);border-radius:5px;color:var(--cyan);text-decoration:none;font-weight:800}.owner-panel{margin-top:12px}.owner-workspace{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#0b0e11}.owner-workspace>div:first-child{display:flex;justify-content:space-between;gap:8px}.owner-workspace small{color:var(--muted)}.owner-assets{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px;margin-top:10px}.owner-assets img,.owner-assets video,.owner-assets a{display:grid;place-items:center;width:100%;height:76px;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#151b20;color:var(--cyan);object-fit:cover;text-decoration:none}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:16px}.library-item{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#0b0e11}.library-item img,.library-item video{display:block;width:100%;height:170px;object-fit:cover}.library-item small{display:block;padding:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.portal-shell{padding-top:16px}.portal-card{padding:15px}.field-row{grid-template-columns:1fr 1fr;gap:12px}.portal-header{align-items:flex-start}.tabs{overflow:auto}.tabs button{flex:0 0 auto;padding:10px 7px}.chat-message{max-width:96%}}
