:root{
  --bg:#080512;
  --panel:#171126;
  --card:rgba(255,255,255,.055);
  --line:rgba(184,164,255,.22);
  --text:#f7f2ff;
  --muted:#b9afd4;
  --green:#7cf5e0;
  --purple:#8b6ef2;
  --pink:#ff6b9d;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif}
body{background:radial-gradient(circle at 22% 8%,rgba(124,245,224,.16),transparent 26%),radial-gradient(circle at 88% 16%,rgba(255,107,157,.12),transparent 22%),var(--bg)}
a{color:inherit}
.wrap{width:min(920px,100%);margin:0 auto;padding:18px 14px 92px}
.top{display:flex;align-items:center;gap:12px;padding:14px 2px 18px}
.logo{width:58px;height:58px;border-radius:22px;background:url("/apple-touch-icon.png") center/cover no-repeat;box-shadow:0 0 26px rgba(124,245,224,.4);flex:0 0 auto}
h1{font-size:30px;line-height:1.05;margin:0;font-weight:950}
.sub{margin:7px 0 0;color:var(--muted);line-height:1.55;font-size:14px}
.card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));box-shadow:0 20px 70px rgba(0,0,0,.26);padding:18px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tile{display:block;text-decoration:none;border:1px solid var(--line);border-radius:20px;background:var(--card);padding:16px;min-height:96px}
.tile b{display:block;font-size:18px;margin-bottom:6px}
.tile span{display:block;color:var(--muted);line-height:1.55;font-size:13px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 10px max(10px,env(safe-area-inset-bottom));background:rgba(8,5,18,.88);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.nav a{text-align:center;text-decoration:none;padding:10px 6px;border:1px solid transparent;border-radius:16px;color:var(--muted);font-weight:850;font-size:13px}
.nav a.active{color:var(--text);border-color:rgba(124,245,224,.35);background:rgba(124,245,224,.08)}
.btn{appearance:none;border:0;border-radius:17px;padding:15px 18px;background:linear-gradient(135deg,var(--green),var(--purple),var(--pink));color:#061016;text-decoration:none;font-weight:950;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;min-height:52px}
.btn.secondary{background:rgba(255,255,255,.065);color:var(--text);border:1px solid var(--line)}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.input,.textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.07);color:var(--text);padding:14px 15px;font:inherit;outline:none}
.textarea{min-height:120px;resize:vertical;line-height:1.55}
.input:focus,.textarea:focus{border-color:rgba(124,245,224,.55);box-shadow:0 0 0 3px rgba(124,245,224,.08)}
.hint,.msg{color:var(--muted);line-height:1.65;font-size:14px}
.msg.error{color:#ff7da7}.msg.ok{color:var(--green)}
.list{display:grid;gap:10px}
.item{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:14px}
.item b{display:block;margin-bottom:5px}
.item small{color:var(--muted);line-height:1.55}
.chat{display:grid;gap:12px}
.bubble{max-width:86%;border:1px solid var(--line);border-radius:18px;padding:13px 14px;line-height:1.65;white-space:pre-wrap}
.bubble.user{margin-left:auto;background:linear-gradient(135deg,rgba(139,110,242,.5),rgba(255,107,157,.36))}
.bubble.bot{background:rgba(255,255,255,.055)}
.composer{position:fixed;left:0;right:0;bottom:66px;z-index:19;display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;background:rgba(8,5,18,.86);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.composer .input{min-height:52px}
.hero-bg{position:relative;overflow:hidden}
.hero-bg:before{content:"";position:absolute;inset:0;background:url("/icons/gobao-hero.webp") center/cover no-repeat;opacity:.2;filter:saturate(1.1);pointer-events:none}
.hero-bg>*{position:relative}
@media(max-width:720px){
  .wrap{padding-left:16px;padding-right:16px}
  .grid,.actions{grid-template-columns:1fr}
  h1{font-size:27px}
  .composer{bottom:66px}
}
