html{height:100%;height:100dvh}body{display:flex;flex-direction:column;overflow:hidden;height:100%;height:100dvh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--header-h);padding:0 var(--space-6);flex:none;border-bottom:1px solid var(--border);background:var(--surface-1);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:var(--space-3)}.brand-mark{width:36px;height:36px;flex:none;border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center}.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.45rem;letter-spacing:-.01em;line-height:1}.brand-sub{font-size:var(--text-2xs);color:var(--text-faint);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-top:3px;white-space:nowrap}.topbar-right{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.icon-btn{width:38px;height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--dur) var(--ease-out)}.icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.divider-v{width:1px;height:26px;background:var(--border)}.switch-label{white-space:nowrap}.chat{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.convo{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.convo-inner{max-width:var(--container-chat);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.intro{text-align:center;padding:var(--space-4) 0 var(--space-2);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.intro .avatar{width:72px;height:72px}.intro h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);line-height:1.1;letter-spacing:-.02em;margin:0;max-width:18ch}.intro h1 em{font-style:italic;color:var(--blue)}.intro p{margin:0;color:var(--text-muted);max-width:46ch;font-size:var(--text-md)}.suggest-row{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-2)}.day-sep{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-1) 0}.day-sep:before,.day-sep:after{content:"";height:1px;background:var(--hairline);flex:1}.day-sep span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-faint);letter-spacing:var(--tracking-wide);text-transform:uppercase}.composer-dock{flex:none;padding:var(--space-4) var(--space-6) var(--space-5);background:linear-gradient(0deg,var(--surface-0) 55%,transparent)}.composer-wrap{max-width:var(--container-chat);margin:0 auto}.site-footer{max-width:var(--container-chat);margin:var(--space-3) auto 0;padding:0 var(--space-1);display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.footer-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint);text-decoration:none;transition:color var(--dur) var(--ease-out);white-space:nowrap}.footer-link:hover{color:var(--text-muted)}.footer-link--linkedin:hover,[data-theme=light] .footer-link--linkedin:hover{color:#0a66c2}.footer-sep{width:3px;height:3px;border-radius:50%;background:var(--text-faint);opacity:.35;flex:none}.composer-hint{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-faint);padding:0 var(--space-1)}.composer-hint .sep{width:3px;height:3px;border-radius:50%;background:var(--text-faint);opacity:.5}.typing{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--text-sm);padding:0 var(--space-1) var(--space-2)}.typing .dots span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--role-avatar);margin-right:3px;animation:blink 1.2s infinite ease-in-out}.typing .dots span:nth-child(2){animation-delay:.2s}.typing .dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.streaming-cursor:after{content:"▋";animation:blink-cursor .8s infinite;color:var(--role-avatar)}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.error-msg{text-align:center;padding:var(--space-3) var(--space-4);background:#e0654f1f;border:1px solid rgba(224,101,79,.4);border-radius:var(--radius-md);color:var(--danger);font-size:var(--text-sm);margin:var(--space-2) 0}@media(max-width:640px){.topbar{padding:0 var(--space-4);gap:var(--space-2)}.brand-sub,.divider-v{display:none}.name-field input{width:90px}.switch-label{display:none}.convo-inner{padding:var(--space-6) var(--space-4) var(--space-4)}.composer-dock{padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.composer-hint .sep~span{display:none}.intro h1{font-size:var(--text-xl);max-width:22ch}.intro p{font-size:var(--text-base)}.composer textarea{font-size:max(1rem,var(--text-md));min-height:44px}.name-field input{font-size:1rem}.site-footer{gap:var(--space-3);margin-top:var(--space-2)}}@media(max-width:480px){.topbar{padding:0 var(--space-3);gap:var(--space-2)}.brand-name{display:none}.name-field input{width:68px}#resetBtn{display:none}.intro h1{font-size:var(--text-lg)}.suggest-row .chip{font-size:var(--text-xs);padding:4px var(--space-2)}.convo-inner{padding:var(--space-4) var(--space-3) var(--space-3);gap:var(--space-4)}.composer{border-radius:var(--radius-md)}.composer textarea{min-height:44px;padding:10px 4px}.site-footer{gap:var(--space-3);margin-top:var(--space-2)}}
