:root{--bg0: #070a10;--bg1: #0b1220;--card: rgba(18, 26, 35, .72);--text: #e8eef6;--muted: rgba(190, 206, 224, .78);--accent: #66d9ff;--accent2: #9b7bff;--danger: #ff6a6a;--border: rgba(255, 255, 255, .1);--glow: rgba(102, 217, 255, .22)}html,body{height:100%;background:radial-gradient(900px 500px at 20% 10%,rgba(102,217,255,.18),transparent 60%),radial-gradient(800px 500px at 85% 20%,rgba(155,123,255,.18),transparent 60%),radial-gradient(900px 700px at 60% 120%,rgba(102,217,255,.1),transparent 60%),linear-gradient(180deg,var(--bg0),var(--bg1));color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}.container{max-width:920px;margin:0 auto;padding:16px}.container:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.1) 50%,transparent 51%),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.08) 50%,transparent 51%),radial-gradient(1px 1px at 70% 30%,rgba(255,255,255,.06) 50%,transparent 51%),radial-gradient(1px 1px at 90% 60%,rgba(255,255,255,.06) 50%,transparent 51%);opacity:.6}.nav{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.navlink{text-decoration:none;color:var(--muted);padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,color .12s ease}.navlink.active{color:var(--text);border-color:#66d9ff8c;box-shadow:0 0 0 1px #66d9ff1f,0 0 24px #66d9ff24}.navlink:hover{transform:translateY(-1px);border-color:#9b7bff59}.card{border:1px solid var(--border);border-radius:16px;background:var(--card);padding:14px;box-shadow:0 0 0 1px #ffffff05,0 20px 80px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.title{font-size:18px;font-weight:600;letter-spacing:.2px}.muted{color:var(--muted);font-size:13px}.error{color:var(--danger);margin-top:10px;white-space:pre-wrap}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:#ffffff08;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.lang{display:flex;gap:10px}.link{background:#ffffff08;border:1px solid var(--border);color:var(--muted);padding:6px 10px;border-radius:12px;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease,color .12s ease}.link:hover{transform:translateY(-1px);border-color:#66d9ff73;box-shadow:0 0 0 1px #66d9ff1a,0 0 18px #66d9ff1a;color:var(--text)}.row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}.input{flex:1;background:#0003;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:12px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.input:focus{border-color:#66d9ff8c;box-shadow:0 0 0 3px #66d9ff1f}.btn{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f;border:none;border-radius:14px;padding:12px 14px;font-weight:600;box-shadow:0 0 0 1px #ffffff0f,0 10px 30px #66d9ff1a;transition:transform .12s ease,filter .12s ease}.btn:disabled{opacity:.6}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.select{background:#0003;color:var(--text);border:1px solid var(--border);border-radius:14px;padding:10px}.chatShell{margin-top:12px;border:1px solid var(--border);border-radius:18px;background:#00000029;box-shadow:inset 0 0 0 1px #ffffff05,0 18px 70px #00000047;overflow:hidden}.chatList{display:flex;flex-direction:column;gap:10px;min-height:320px;max-height:56vh;overflow:auto;padding:12px 12px 10px;scroll-behavior:smooth}.chatEmpty{border:1px dashed rgba(255,255,255,.14);border-radius:16px;padding:14px;background:#ffffff08}.chatEmptyTitle{font-weight:800;letter-spacing:.6px;margin-bottom:6px;color:#e8eef6eb}.chatMsg{display:flex}.chatMsg.user{justify-content:flex-end}.chatMsg.ai{justify-content:flex-start}.chatBubble{max-width:min(720px,88%);border-radius:18px;border:1px solid var(--border);padding:10px 12px;white-space:pre-wrap;line-height:1.42}.chatMsg.user .chatBubble{background:linear-gradient(135deg,#66d9ff2e,#9b7bff1a);box-shadow:0 0 0 1px #66d9ff14,0 0 26px #66d9ff14}.chatMsg.ai .chatBubble{background:#ffffff0a;box-shadow:0 0 0 1px #ffffff08}.chatMeta{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;color:#becee0d1;font-size:12px}.chatRole{font-weight:700;letter-spacing:.3px}.chatTime{opacity:.8}.chatText{font-size:14px}.chatGenerating{font-size:12px;color:#becee0eb;margin-bottom:6px;letter-spacing:.2px}.chatBubble.thinking{position:relative;overflow:hidden;border-color:#66d9ff59;box-shadow:0 0 0 1px #66d9ff1a,0 0 26px #66d9ff1a;animation:thinking-pulse 1.25s ease-in-out infinite}.chatBubble.thinking:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 0%,rgba(102,217,255,.1) 22%,rgba(155,123,255,.1) 35%,transparent 55%);transform:translate(-60%);animation:thinking-shimmer 1.35s linear infinite;pointer-events:none}.chatBubble.thinking>*{position:relative;z-index:1}@keyframes thinking-shimmer{0%{transform:translate(-60%)}to{transform:translate(60%)}}@keyframes thinking-pulse{0%,to{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.07);transform:translateY(-1px)}}.chatComposer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border-top:1px solid rgba(255,255,255,.08);background:#ffffff05;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.chatInput{width:100%;resize:none;background:#00000038;color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px;outline:none;min-height:44px;max-height:140px;overflow:auto;transition:border-color .12s ease,box-shadow .12s ease}.chatInput:focus{border-color:#66d9ff8c;box-shadow:0 0 0 3px #66d9ff1f}.chatSendBtn{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:16px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111f;box-shadow:0 0 0 1px #ffffff0f,0 10px 30px #66d9ff1a;transition:transform .12s ease,filter .12s ease,opacity .12s ease}.chatSendBtn:disabled{opacity:.55}.chatSendBtn:hover{transform:translateY(-1px);filter:brightness(1.05)}.typingDots{display:inline-flex;align-items:center;gap:6px;padding:2px 0}.typingDots>span{width:7px;height:7px;border-radius:999px;background:#e8eef6b3;box-shadow:0 0 0 1px #ffffff0f;animation:typing-bounce 1.05s infinite ease-in-out}.typingDots>span:nth-child(2){animation-delay:.12s;opacity:.85}.typingDots>span:nth-child(3){animation-delay:.24s;opacity:.7}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px}.tile{border:1px solid var(--border);border-radius:16px;padding:12px;background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.tileTitle{font-weight:700}.price{margin-top:8px;font-weight:700}.chatList::-webkit-scrollbar{width:10px}.chatList::-webkit-scrollbar-thumb{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:999px}.chatList::-webkit-scrollbar-thumb:hover{background:#ffffff24}.appHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--border);border-radius:16px;background:#ffffff08;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 0 1px #ffffff05,0 18px 70px #00000073}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brandText{display:flex;flex-direction:column;line-height:1.1}.brandName{font-weight:800;letter-spacing:.6px;font-size:16px}.brandSub{font-size:12px}.statusPills{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pill{display:inline-flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#0000002e;box-shadow:0 0 0 1px #ffffff05}@media (max-width: 640px){.appHeader{flex-direction:column;align-items:stretch}.brand{min-width:0}.statusPills{justify-content:space-between}}
