:root{--paper:#f5efe5;--ink:#17221c;--forest:#315b45;--sage:#d9e2d6;--peach:#efb995;--white:#fffdf9;--muted:#6f756f;--line:rgba(23,34,28,.12)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper)}body{min-height:100dvh;background-image:radial-gradient(circle at 20% 10%,rgba(239,185,149,.25),transparent 35%),radial-gradient(circle at 90% 90%,rgba(49,91,69,.14),transparent 40%)}button,input,textarea{font:inherit}.shell{min-height:100dvh;display:grid;place-content:center;padding:24px}.chat-card{width:min(680px,calc(100vw - 32px));height:min(760px,calc(100dvh - 100px));min-height:520px;background:rgba(255,253,249,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:0 28px 80px rgba(41,49,44,.14);display:flex;flex-direction:column;overflow:hidden}.chat-header,.thread-header{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}h1,h2,p{margin:0}.chat-header h1,.login-card h1,.conversation-list-panel h1{font:600 25px/1.1 Fraunces,serif}.chat-header p,.thread-header p{font-size:13px;color:var(--muted);margin-top:4px}.avatar{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;font:600 23px Fraunces,serif;color:var(--white);background:var(--forest);box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}.avatar.dark{margin:auto}.status-dot{display:inline-block;width:8px;height:8px;background:#56a56d;border-radius:50%;margin-right:5px}.messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.message{display:flex;flex-direction:column;max-width:78%}.message.outgoing{align-self:flex-end;align-items:flex-end}.message.incoming{align-self:flex-start}.bubble{padding:12px 16px;border-radius:18px 18px 18px 5px;background:var(--sage);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.outgoing .bubble{background:var(--forest);color:var(--white);border-radius:18px 18px 5px}.bubble img{display:block;max-width:100%;border-radius:10px;background:white}.message time{font-size:10px;color:var(--muted);margin:5px 5px 0}.composer{display:flex;align-items:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--line);background:rgba(255,253,249,.75)}textarea,input{width:100%;border:1px solid var(--line);border-radius:16px;background:white;color:var(--ink);padding:12px 15px;outline:none;resize:none}textarea:focus,input:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(49,91,69,.1)}.send-button,.draw-button,.icon-button{border:0;cursor:pointer;display:grid;place-items:center;flex:none}.send-button{width:46px;height:46px;border-radius:50%;background:var(--forest);color:white}.send-button svg{width:23px;fill:currentColor}.send-button:disabled{opacity:.5}.notice{min-height:18px;text-align:center;color:var(--muted);font-size:12px;padding:0 16px 8px}.human-note{text-align:center;margin-top:14px;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hidden{display:none!important}
.operator-body{background:var(--white)}.login-card{width:min(430px,calc(100% - 32px));margin:12vh auto;padding:36px;background:var(--paper);border-radius:25px;text-align:center;box-shadow:0 20px 60px rgba(20,40,29,.12)}.login-card h1{margin:16px 0 8px}.login-card p{color:var(--muted);line-height:1.5}.login-card form{display:grid;gap:10px;margin-top:24px}.primary-button{border:0;border-radius:14px;background:var(--forest);color:white;padding:13px 18px;font-weight:600;cursor:pointer}.inbox{height:100dvh;display:grid;grid-template-columns:340px 1fr}.conversation-list-panel{border-right:1px solid var(--line);overflow:auto;background:var(--paper)}.conversation-list-panel>header{height:78px;padding:22px;display:flex;align-items:center;justify-content:space-between}.icon-button{font-size:24px;background:transparent}.conversation-item{width:100%;text-align:left;border:0;border-top:1px solid var(--line);padding:16px 20px;background:transparent;cursor:pointer}.conversation-item:hover,.conversation-item.active{background:var(--white)}.conversation-item strong,.conversation-item span{display:block}.conversation-item span{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.thread-panel{min-width:0;display:flex;flex-direction:column;height:100dvh}.thread-header{height:78px}.thread-header h2{font-size:17px}.back-button{display:none;border:0;background:transparent;font-size:24px}.operator-composer{padding-bottom:max(14px,env(safe-area-inset-bottom))}.draw-button{width:46px;height:46px;border-radius:50%;background:var(--peach);font-size:25px}.drawing-dialog{padding:0;border:0;border-radius:22px;width:min(620px,calc(100% - 20px));overflow:hidden;background:var(--paper)}.drawing-dialog::backdrop{background:rgba(12,20,16,.7)}.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px}.drawing-toolbar button{border:0;background:transparent;color:var(--forest)}#drawingCanvas{display:block;width:100%;height:55dvh;background:white;touch-action:none}.drawing-dialog>.primary-button{display:block;margin:14px auto;width:calc(100% - 28px)}
@media(max-width:700px){.shell{padding:0}.chat-card{width:100vw;height:100dvh;min-height:0;border-radius:0}.human-note{display:none}.chat-header{padding-top:max(18px,env(safe-area-inset-top))}.inbox{display:block}.conversation-list-panel{height:100dvh;border:0}.thread-panel{display:none}.inbox.thread-open .conversation-list-panel{display:none}.inbox.thread-open .thread-panel{display:flex}.back-button{display:block}.message{max-width:86%}}
.user-app{height:100dvh;display:grid;grid-template-columns:280px minmax(0,680px);justify-content:center;gap:18px;padding:24px}.user-app .chat-card{width:100%;height:calc(100dvh - 48px)}.user-sidebar{background:rgba(245,239,229,.9);border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(20,40,29,.08)}.user-sidebar>header{display:flex;align-items:center;justify-content:space-between;padding:20px}.user-sidebar h1{font:600 23px Fraunces,serif}.user-sidebar .primary-button{padding:8px 13px}.user-sidebar .conversation-list{flex:1;overflow:auto}.sign-out-button{border:0;border-top:1px solid var(--line);background:transparent;padding:16px;color:var(--muted);cursor:pointer}.empty-state{margin:auto;text-align:center;color:var(--muted);padding:30px;line-height:1.5}
@media(max-width:700px){.user-app{display:block;padding:0}.user-app .chat-card{height:100dvh}.user-sidebar{display:none;height:100dvh;border-radius:0}.user-app.show-sidebar .user-sidebar{display:flex}.user-app.show-sidebar .chat-card{display:none}}
.secondary-button{border:2px solid var(--forest);border-radius:14px;background:transparent;color:var(--forest);padding:11px 18px;font-weight:600;cursor:pointer}
.header-actions{display:flex;align-items:center;gap:6px}.icon-button.notifications-on{color:#22834b}.icon-button.notifications-on::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#39b866;transform:translate(8px,-8px)}.icon-button{position:relative}
.text-button{border:0;background:transparent;color:var(--forest);padding:8px;cursor:pointer;text-decoration:underline}.auth-icon{font-size:54px;line-height:1;margin-bottom:8px}.auth-card .primary-button{width:100%}.auth-card form{margin-top:20px}.auth-card a{display:inline-block;margin-top:14px;color:var(--forest)}
.avatar{display:block;object-fit:contain;background:transparent;box-shadow:0 3px 12px rgba(8,28,28,.2)}.auth-logo{display:block;width:78px;height:78px;object-fit:contain;margin:0 auto 12px}
.public-login{width:min(620px,calc(100% - 28px));margin:4vh auto;padding:30px;max-height:92dvh;overflow:auto}.tech-manifesto{text-align:left;margin:22px 0 4px;padding:20px;border:1px solid rgba(49,91,69,.2);border-radius:19px;background:rgba(255,253,249,.72)}.tech-kicker{display:inline-block;padding:5px 9px;border-radius:99px;background:var(--forest);color:white;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.tech-manifesto h2{font:600 24px/1.1 Fraunces,serif;margin:13px 0 8px}.tech-manifesto>p{font-size:13px;line-height:1.55}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.tech-grid article{padding:11px;border-radius:13px;background:var(--sage)}.tech-grid strong,.tech-grid span{display:block}.tech-grid strong{font-size:12px}.tech-grid span{font-size:10px;line-height:1.4;color:var(--muted);margin-top:4px}.tech-manifesto .tech-footnote{margin-top:14px;font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--forest)}
@media(max-width:560px){.public-login{margin:0;width:100%;max-height:none;min-height:100dvh;border-radius:0;padding:24px 18px}.tech-grid{grid-template-columns:1fr}.tech-manifesto{padding:16px}.tech-manifesto h2{font-size:21px}}
