:root{
  --ink:#17385d; --soft:#eef5ff; --line:#dbe7f5; --blue:#2e83d7;
  --shadow:0 12px 35px rgba(32,70,110,.12);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f8fbff,#edf5ff);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
button,textarea{font:inherit}
.app{width:min(980px,100%);margin:auto;min-height:100vh;padding:16px}
.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}
.brand{font-size:28px;font-weight:900;font-style:italic;color:#ff682c}.brand span{color:var(--ink);font-weight:700;font-size:20px;margin-left:5px}
.status{font-size:12px;color:#66809b}.dot{display:inline-block;width:8px;height:8px;background:#34bf72;border-radius:50%;margin-right:6px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;padding:25px;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}
.mascot-wrap{text-align:center}.mascot{width:235px;height:235px;margin:auto;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff3dc,#ffd9b5 58%,#efbd8c);position:relative;box-shadow:inset 0 -10px 20px rgba(130,75,30,.08),0 15px 35px rgba(65,90,120,.15);transition:.25s}
.eye{position:absolute;top:75px;width:56px;height:70px;background:white;border:4px solid #c8d8e9;border-radius:50%}.eye.left{left:48px}.eye.right{right:48px}.eye span{position:absolute;width:28px;height:40px;background:#112f4c;border-radius:50%;left:10px;top:11px;box-shadow:7px -5px 0 #58a6e6}.brow{position:absolute;top:54px;width:58px;height:10px;background:#4a3026;border-radius:50%}.brow.left{left:47px}.brow.right{right:47px}.nose{position:absolute;left:50%;top:133px;width:8px;height:28px;background:#c88763;border-radius:5px;transform:translateX(-50%)}.mouth{position:absolute;left:50%;top:164px;width:55px;height:28px;transform:translateX(-50%);border-bottom:6px solid #6c3928;border-radius:0 0 50px 50px}.cheek{position:absolute;top:152px;width:48px;height:20px;background:#f5a9a5;border-radius:50%;opacity:.45}.cheek.left{left:27px}.cheek.right{right:27px}.mascot-caption{font-size:11px;letter-spacing:3px;margin-top:14px;color:#7790aa}
.script{font-family:cursive;font-size:31px}.intro h1{font-size:38px;line-height:1.05;margin:8px 0}.intro p{font-size:17px;line-height:1.55;color:#58718d}
.chat{margin:18px 0;display:flex;flex-direction:column;gap:12px}.bubble{max-width:78%;padding:14px 17px;border-radius:20px;line-height:1.45;box-shadow:0 4px 16px rgba(45,80,110,.07)}.bubble.ai{align-self:flex-start;background:white;border:1px solid var(--line)}.bubble.user{align-self:flex-end;background:#dceeff}.typing{opacity:.65}
.emotion-bar{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 12px}.emotion{min-width:68px;border:1px solid var(--line);background:white;border-radius:15px;padding:8px 6px;color:var(--ink);cursor:pointer}.emotion.active{outline:2px solid #82b9ea}.emotion small{display:block;font-size:10px;margin-top:4px}
.composer{background:white;border:1px solid var(--line);border-radius:22px;padding:10px;box-shadow:var(--shadow)}textarea{width:100%;border:0;outline:0;resize:none;padding:10px;color:var(--ink);background:transparent}.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.actions button{border:1px solid var(--line);background:#f7fbff;border-radius:14px;padding:9px 11px;color:var(--ink);cursor:pointer}.actions .send{margin-left:auto;background:var(--blue);color:white;border:0;width:44px;height:44px;font-size:21px}
footer{text-align:center;color:#8296aa;font-size:11px;padding:18px}
@media(max-width:700px){.hero{grid-template-columns:1fr;text-align:center}.mascot{width:205px;height:205px}.intro h1{font-size:30px}.intro p{font-size:15px}.bubble{max-width:90%}.actions button span{display:none}.actions button{padding:10px}.actions .send{margin-left:0}}
