@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#10141b;--panel:#181e28;--ink:#eef2f6;--muted:#91a0b2;--line:#2a3442;--blue:#82c8ff;--green:#b5f5c5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans','Noto Sans KR',sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:11px;padding:12px 17px;background:var(--blue);color:#102638;font-weight:600;transition:opacity .15s}button:hover{opacity:.8}button:disabled{opacity:.45;cursor:wait}a{color:var(--blue);text-decoration:none}header{height:95px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:25px;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:16px}.brand span{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:2px}.header-right{display:flex;align-items:center;gap:20px}.badge{font-size:11px;color:var(--green);padding:8px 12px;border:1px solid #385245;border-radius:30px}.ghost{background:transparent;color:var(--muted);padding:8px}.outline{width:100%;background:transparent;border:1px solid var(--line);color:var(--blue)}main{padding:28px 36px;max-width:1700px;margin:auto;display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.25fr) minmax(260px,.85fr);gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:25px}.companion{position:relative;text-align:center;overflow:hidden;min-height:650px}.eyebrow{font-size:11px;letter-spacing:.8px;color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:8px}.face{width:240px;height:190px;margin:55px auto 25px;position:relative;border-radius:38px;background:#0e131b;border:1px solid #283647;box-shadow:0 16px 45px #080c1340;animation:breathe 5s ease-in-out infinite}.eyes{display:flex;gap:38px;justify-content:center;padding-top:56px}.eye{display:block;width:31px;height:46px;border-radius:15px;background:var(--blue);box-shadow:0 0 20px #80c8ff20;animation:blink 6s infinite}.mouth{position:absolute;width:26px;height:10px;border:2px solid var(--blue);border-top:0;border-radius:0 0 14px 14px;bottom:48px;left:107px}.cheek{position:absolute;width:21px;height:9px;border-radius:50%;background:#dd879950;top:115px;opacity:0}.cheek.a{left:48px}.cheek.b{right:48px}.face.happy .eye{height:22px;border-radius:20px 20px 5px 5px;margin-top:12px;transform:rotate(-6deg)}.face.happy .cheek{opacity:1}.face.thinking .eye{width:24px;height:35px;transform:translateX(9px)}.face.curious .eye.right{height:56px;transform:translateY(-8px)}.face.concerned .eye{transform:rotate(12deg);height:30px}.face.sleepy .eye{height:4px;margin-top:23px;animation:none}.face.surprised .mouth{height:18px;width:18px;border:2px solid var(--blue);border-radius:50%;left:110px}.greeting h1{font-size:25px;margin:12px 0}.greeting p{font-size:13px;line-height:1.9;color:var(--muted)}.quick-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:29px 0}.quick-actions button{font-size:12px;background:#233041;color:#c6d5e7;border:1px solid #34465c;padding:10px 12px}.companion-controls{display:flex;justify-content:center;gap:10px}.fine-print{font-size:11px;color:var(--muted);line-height:1.8}.companion>.fine-print{max-width:280px;margin:15px auto}.conversation{display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:650px;max-height:1000px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}h2{font-size:15px;margin:0}h3{font-size:14px}.section-heading>span{font-size:10px;color:var(--muted)}.messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:16px;padding-right:5px;padding-bottom:22px}.bubble{white-space:pre-wrap;line-height:1.85;padding:15px 18px;border-radius:15px;max-width:94%;font-size:13px}.bubble.assistant{background:#222c3a;align-self:flex-start}.bubble.user{background:#29405a;align-self:flex-end;color:#dfedff}.source-links{display:flex;flex-direction:column;gap:5px;font-size:11px;margin-top:12px;border-top:1px solid #405064;padding-top:10px}.composer{display:flex;align-items:flex-end;gap:9px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#121922}.composer textarea{flex:1;min-width:0;max-height:100px;background:transparent;color:var(--ink);border:0;outline:none;resize:none;line-height:1.6;padding:10px 3px}.composer button{font-size:12px;padding:11px 12px}.composer .mic{background:transparent;font-size:17px}.conversation>.fine-print{margin-bottom:0}aside{display:flex;flex-direction:column;gap:20px}.agenda{min-height:210px}.agenda .outline{margin-top:18px}.empty{font-size:12px;line-height:1.8;color:var(--muted)}.event{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.event-time{color:var(--blue);font-weight:600}.news{flex:1}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.tag{font-size:10px;color:#b7c8dc;border:1px solid #364455;padding:4px 9px;border-radius:30px}.news-card{padding:16px 0;border-bottom:1px solid var(--line)}.news-card a{color:var(--ink);font-size:13px;line-height:1.8;display:block}.news-card p{color:var(--muted);font-size:11px;line-height:1.7;margin:6px 0}.small{font-size:10px;white-space:nowrap}footer{max-width:1700px;margin:auto;padding:0 40px 23px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{width:min(570px,94vw);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:26px;max-height:90vh}dialog::backdrop{background:#05080cd0;backdrop-filter:blur(6px)}label{display:block;font-size:12px;color:#c5d0dc;margin:16px 0}label span{font-size:10px;color:var(--muted)}input{display:block;width:100%;margin-top:7px;background:#111822;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px}.columns{display:flex;gap:12px}.columns label{flex:1}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}hr{border:0;border-top:1px solid var(--line);margin:27px 0}.error{font-size:12px;color:#f0a6a6;padding:8px 0;line-height:1.5}.error:empty{display:none}.overlay{position:fixed;inset:0;background:#0a0e15f0;z-index:10;display:flex;align-items:center;justify-content:center}.overlay[hidden]{display:none}.login-card{max-width:410px;padding:35px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:24px}.login-card p{color:var(--muted);font-size:12px;line-height:1.8}.login-card button{width:100%;margin-top:18px}.brand-mark{font-size:65px;color:var(--blue);line-height:1}code{word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#preview{width:180px;border-radius:15px;margin:15px auto}.memory{display:flex;justify-content:space-between;gap:15px;padding:8px 0;font-size:12px}.memory button{padding:4px 7px;font-size:10px}@keyframes blink{0%,43%,46%,100%{scale:1 1}44%,45%{scale:1 .1}}@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:1100px){main{grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr)}aside{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.conversation{height:700px}}@media(max-width:700px){header{padding:0 20px;height:75px}.brand span{display:none}.badge{display:none}main{display:flex;flex-direction:column;padding:16px;gap:16px}.companion{min-height:0;padding:20px}.face{margin:25px auto 15px;width:220px;height:170px}.mouth{left:97px;bottom:38px}.eyes{padding-top:46px}.greeting h1{font-size:22px}.greeting p{display:none}.quick-actions{margin:20px 0}.companion>.fine-print{max-width:none}.conversation{height:600px;min-height:500px}aside{display:flex}.columns{gap:8px}footer{padding:0 20px 20px}.panel{padding:20px}}
