:root{--bg:#090b10;--panel:#121720;--line:#27303d;--text:#eef2f7;--muted:#8d99aa;--accent:#75e4bf;--accent2:#8b7cff;--danger:#ff7885}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -20%,rgba(139,124,255,.10),transparent 35%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}body{min-height:100dvh}
.guest-shell{width:min(900px,100%);min-height:100dvh;margin:auto;display:flex;flex-direction:column;padding:0 14px calc(14px + env(safe-area-inset-bottom))}
header{height:68px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}.mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#07100e;font-weight:900}
.brand div{display:flex;flex-direction:column}.brand strong{font-size:13px;letter-spacing:.08em}.brand small{font-size:10px;color:var(--muted);margin-top:2px}
.lang{margin-left:auto;display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:#11161e}
.lang select{border:0;background:transparent;color:var(--text);outline:0;font-size:10px;font-weight:800}
.card{margin:auto;width:min(480px,100%);background:rgba(18,23,32,.95);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.38)}
.orb{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;margin:0 auto;background:linear-gradient(145deg,#2c3550,#151c28);border:1px solid #354157;font-size:28px}
.gate{text-align:center}.gate h1{margin:18px 0 8px;font-size:28px;letter-spacing:-.03em}.gate p{color:var(--muted);font-size:13px;line-height:1.5}
#pinForm{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}
input,textarea{width:100%;background:#0c1118;border:1px solid var(--line);border-radius:12px;color:var(--text);outline:0;padding:12px}
input:focus,textarea:focus{border-color:#47546a}
#pinForm button,.composer button,.idea-box button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent2),#7068e8);padding:0 16px;font-weight:800;font-size:11px}
.status{min-height:20px;margin-top:10px;font-size:11px;color:var(--muted)}.status.bad{color:#f0a5ad}.status.good{color:var(--accent)}
.gate>small{display:block;margin-top:10px;color:#697587;font-size:9px}
.chat{flex:1;min-height:0;display:flex;flex-direction:column}
.chat-head{height:64px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.chat-head>div{display:flex;flex-direction:column}.chat-head strong{font-size:14px}.chat-head small{font-size:10px;color:var(--muted);margin-top:3px}.ghost{margin-left:auto;border:1px solid var(--line);background:#11161e;border-radius:10px;padding:8px 11px;font-size:10px}
.messages{flex:1;overflow:auto;padding:24px 4px}.welcome{text-align:center;margin:9vh auto;color:var(--muted)}.welcome h2{color:var(--text);font-size:26px;margin:0 0 8px}
.msg{display:flex;margin:0 auto 15px;max-width:760px}.msg.user{justify-content:flex-end}.bubble{max-width:80%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;padding:11px 13px;border-radius:15px;background:#141a23;border:1px solid var(--line);font-size:13px}.user .bubble{background:#27243d;border-color:#393453}
.composer{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end;padding:7px;border:1px solid var(--line);border-radius:17px;background:#141a23}.composer textarea{resize:none;min-height:42px;max-height:150px;border:0;background:transparent;padding:10px}.composer button{height:42px}
.idea-box{margin-top:8px;border:1px solid var(--line);border-radius:12px;background:#10151c;padding:10px}.idea-box summary{cursor:pointer;font-size:11px;color:var(--muted)}.idea-box textarea{margin-top:9px;resize:vertical}.idea-box button{height:34px;margin-top:7px}.idea-box small{margin-left:8px;color:var(--muted)}
@media(max-width:600px){.card{padding:20px}.gate h1{font-size:24px}.messages{padding-top:14px}.bubble{max-width:88%}.composer{grid-template-columns:1fr 78px}.composer button{padding:0 8px}}
