:root{--bg:#070713;--panel:#111025;--panel2:#1a1730;--line:#342e4b;--text:#faf7ff;--muted:#bdb4d2;--accent:#f0ebff;--purple:#7868ff;--cyan:#42e8ff;--pink:#ff4ab7}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}
.galaxy-bg{position:fixed;inset:0;z-index:-5;overflow:hidden;background:linear-gradient(130deg,#050613,#09071a 55%,#02030d)}
.nebula{position:absolute;border-radius:999px;filter:blur(60px);opacity:.45;animation:floatNebula 13s ease-in-out infinite alternate}
.n1{width:520px;height:520px;background:var(--purple);left:8%;top:18%}.n2{width:620px;height:620px;background:linear-gradient(135deg,var(--cyan),var(--pink));right:0;bottom:-15%;animation-duration:17s}
.stars,.stars:before,.stars:after{position:absolute;inset:-100px;content:"";background-image:radial-gradient(#ffffffaa 1px,transparent 1.2px);background-size:42px 42px;animation:starMove 34s linear infinite}.s2{background-size:73px 73px;opacity:.35;animation-duration:55s}
@keyframes starMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(-180px,140px,0)}}@keyframes floatNebula{to{transform:translate3d(60px,-35px,0) scale(1.06)}}
.app-shell{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:100dvh}
.sidebar{border-right:1px solid var(--line);background:rgba(8,7,22,.82);backdrop-filter:blur(22px);padding:24px 20px;display:flex;flex-direction:column;gap:16px;z-index:9}
.brand{display:flex;align-items:center;gap:13px}.brand b{display:block;font-size:18px}.brand span,.top-title span{display:block;color:var(--muted);font-size:13px}.orb{width:44px;height:44px;border-radius:999px;background:linear-gradient(135deg,#48e0ff,#8e59ff,#ff4eb8);box-shadow:0 0 35px #7d5cffaa}.orb.big{width:80px;height:80px;margin:auto}
.new-chat,.login-btn,.send,.modal-card button,.primary-link,.admin-btn{border:0;border-radius:16px;padding:12px 16px;font-weight:850;background:var(--accent);color:#13101e;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.new-chat{width:100%}
.stat-card{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:21px;padding:16px;color:#e9e3ff;line-height:1.55}.muted{color:var(--muted);font-size:13px}
.history-head{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.history-head button{background:#211d35;color:#fff;border:1px solid var(--line);border-radius:10px;padding:5px 9px}.history-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:3px}.history-item{border:1px solid var(--line);background:rgba(255,255,255,.045);color:#eee;border-radius:15px;padding:11px;text-align:left;width:100%;display:flex;justify-content:space-between;gap:10px}.history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item small{color:#9d94b8}.history-item.active{border-color:#8f82ff;background:#2a2447}.history-del{color:#ffb4d4;background:transparent;border:0}
.main{min-width:0;display:flex;flex-direction:column;min-height:100dvh}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 24px;background:rgba(8,7,22,.56);backdrop-filter:blur(22px);position:sticky;top:0;z-index:7}.top-title{line-height:1.2}.login-btn{margin-left:0}.admin-short{margin-left:auto;color:#d8d0ee;text-decoration:none;border:1px solid var(--line);padding:10px 13px;border-radius:14px;background:#151329}.hamb{display:none;background:#211d35;color:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 11px}
.chat-area{flex:1;overflow:auto;padding:48px max(18px,12vw) 125px;display:flex;flex-direction:column;gap:18px;position:relative}
.welcome{max-width:850px;margin:0 auto;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(0,216,255,.07));border:1px solid rgba(255,255,255,.15);border-radius:28px;padding:34px;box-shadow:inset 0 0 70px rgba(0,225,255,.08),0 25px 80px #0005}.welcome h1{margin:0 0 16px;font-size:30px;letter-spacing:-.03em}.welcome p{margin:0;line-height:1.7}.spark{width:38px;height:38px;display:grid;place-items:center;border-radius:15px;background:#24203d;margin-bottom:12px;box-shadow:0 0 25px #7c65ff55}
.orbit-wrap{position:relative;width:150px;height:150px;margin:0 auto -8px;opacity:.95}.planet-core{position:absolute;inset:47px;border-radius:999px;background:radial-gradient(circle at 30% 30%,#fff,#59e4ff 23%,#7c62ff 55%,#ff4ba9);box-shadow:0 0 40px #69dcff}.orbit{position:absolute;inset:20px;border:1px solid rgba(255,255,255,.25);border-radius:50%;animation:spin 6s linear infinite}.orbit i{position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;top:-5px;left:50%;box-shadow:0 0 18px #fff}.o2{inset:8px;transform:rotate(40deg);animation-duration:9s}.o3{inset:34px;transform:rotate(-20deg);animation-duration:4.5s}@keyframes spin{to{rotate:360deg}}
.msg{max-width:min(850px,94%);padding:16px 18px;border:1px solid var(--line);border-radius:23px;line-height:1.67;white-space:pre-wrap;word-break:break-word;box-shadow:0 12px 35px #0003}.msg.user{align-self:flex-end;background:linear-gradient(135deg,#30265f,#25305f)}.msg.ai{align-self:flex-start;background:rgba(255,255,255,.07)}.msg.loading{opacity:.8}
.composer{position:fixed;left:calc(310px + 50%);transform:translateX(-50%);bottom:22px;width:min(980px,calc(100vw - 360px));background:rgba(20,17,38,.90);border:1px solid #4a4268;border-radius:26px;padding:12px;display:flex;gap:10px;align-items:flex-end;backdrop-filter:blur(22px);box-shadow:0 20px 60px #0009;z-index:8}
textarea{flex:1;resize:none;max-height:170px;background:transparent;border:0;outline:0;color:#fff;padding:12px 4px;line-height:1.45}textarea::placeholder{color:#8f87a5}.plus{width:46px;height:46px;border-radius:17px;border:0;background:#28233e;color:#fff;font-size:27px}.plus-wrap{position:relative}.plus-menu{display:none;position:absolute;bottom:56px;left:0;background:#17142a;border:1px solid var(--line);border-radius:18px;padding:8px;width:235px;box-shadow:0 20px 55px #000a}.plus-menu.show{display:block}.plus-menu button{width:100%;text-align:left;background:transparent;color:#fff;border:0;padding:12px;border-radius:13px}.plus-menu button:hover{background:#28233e}
.modal{display:none;position:fixed;inset:0;background:#000a;z-index:50;place-items:center;padding:18px}.modal.show{display:grid}.modal-card{width:min(680px,100%);background:#141127;border:1px solid #403855;border-radius:26px;padding:30px;position:relative;box-shadow:0 30px 100px #000b}.close{position:absolute;right:16px;top:12px;background:transparent!important;color:#fff!important;font-size:31px;padding:0!important}.modal-card input{width:100%;margin:8px 0 12px;background:#211d35;color:#fff;border:1px solid #50476a;border-radius:16px;padding:15px}.row{display:flex;gap:10px;flex-wrap:wrap}#authMsg{line-height:1.55;color:#ffd7e8;word-break:break-word}#authMsg a{color:#fff}
.verify-page{min-height:100vh;display:grid;place-items:center}.verify-card{width:min(640px,92vw);background:#141127dd;border:1px solid #403855;border-radius:30px;padding:35px;text-align:center;box-shadow:0 30px 100px #0009}
.admin-body{padding:22px;background:#070713;color:#fff}.admin-wrap{max-width:1200px;margin:auto}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-card,.admin-table{background:#141127;border:1px solid #403855;border-radius:22px;padding:18px;box-shadow:0 15px 50px #0004}.admin-card b{font-size:28px;display:block}.admin-table{margin-top:18px;overflow:auto}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #332d48;padding:10px;text-align:left}th{color:#cfc7e8}.danger{background:#ff4b7c!important;color:white!important}.admin-login{min-height:100vh;display:grid;place-items:center}.admin-login form{width:min(420px,92vw);background:#141127;border:1px solid #403855;border-radius:25px;padding:25px}.admin-login input{width:100%;padding:13px;border-radius:14px;border:1px solid #50476a;background:#211d35;color:#fff;margin:8px 0 12px}
@media(max-width:900px){.app-shell{display:block}.sidebar{position:fixed;left:-320px;top:0;bottom:0;width:300px;transition:.25s;box-shadow:20px 0 60px #0008}.sidebar.open{left:0}.hamb{display:inline-block}.topbar{height:64px;padding:0 12px}.admin-short{display:none}.chat-area{padding:24px 12px 125px}.welcome{padding:24px}.welcome h1{font-size:24px}.composer{left:10px;right:10px;bottom:10px;transform:none;width:auto;border-radius:22px}.msg{max-width:98%;font-size:15px}.admin-grid{grid-template-columns:repeat(2,1fr)}.orbit-wrap{width:120px;height:120px}.planet-core{inset:38px}}
@media(max-width:480px){.brand b{font-size:16px}.top-title span{display:none}.welcome h1{font-size:22px}.composer{gap:7px;padding:8px}.plus{width:41px;height:41px}.send{font-size:14px;padding:10px 12px}textarea{font-size:14px}.modal-card{padding:24px 15px}.admin-grid{grid-template-columns:1fr}.stat-card{font-size:14px}}


/* login kanan fix */
.topbar .login-btn{margin-left:auto!important}
.profile-orb{border:0;background:transparent;padding:0;border-radius:999px;line-height:0}.profile-pop{display:none;position:absolute;top:78px;left:20px;z-index:40;background:#17142a;border:1px solid var(--line);border-radius:18px;padding:8px;width:230px;box-shadow:0 20px 55px #000a}.profile-pop.show{display:block}.profile-pop button{width:100%;text-align:left;background:transparent;color:#fff;border:0;padding:12px;border-radius:13px;font-weight:800}.profile-pop button:hover{background:#28233e}.profile-preview{display:grid;place-items:center;margin:5px 0 15px}.modal-card label{display:block;margin:10px 0 4px;color:#d8d0ee;font-size:13px}.modal-card select{width:100%;margin:8px 0 12px;background:#211d35;color:#fff;border:1px solid #50476a;border-radius:16px;padding:15px}.verify-badge{margin:-6px 0 8px}.verified{color:#5cffad;font-weight:900}.unverified{color:#ffd84d;font-weight:900}.profile-actions{display:none}.profile-actions.show{display:flex}#profileMsg,#privacyMsg{line-height:1.55;color:#ffd7e8;word-break:break-word}#privacyMsg a,#profileMsg a{color:#fff}.orb{background-size:cover;background-position:center}
@media(max-width:900px){.profile-pop{position:fixed;top:76px;left:18px}.sidebar.open .profile-pop{display:none}}
