@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Space+Grotesk:wght@500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:14px 'DM Sans',sans-serif;background:var(--canvas)}button,input,select,textarea{font:inherit}button,a,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--line);outline-offset:3px}button{border:0;background:none}svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app{display:grid;grid-template-columns:78px 306px minmax(350px,1fr) 306px;height:100dvh;min-height:650px;max-width:1800px;margin:auto;background:var(--surface)}.rail{background:var(--rail);display:flex;align-items:center;flex-direction:column;padding:26px 0 23px;gap:45px}.brand{font:800 36px 'Space Grotesk',sans-serif;color:var(--on-accent);text-decoration:none;position:relative;line-height:1}.brand span{font:24px sans-serif;position:absolute;right:-11px;top:-4px;color:var(--muted)}.rail-button{width:44px;height:44px;border-radius:13px;color:var(--muted);display:grid;place-items:center}.rail-button.selected{color:var(--muted);background:var(--rail)}.rail-bottom{margin-top:auto;display:grid;gap:25px;justify-items:center}.self-avatar{border:2px solid var(--focus);border-radius:50%;background:var(--accent);color:var(--ink);font-size:12px;font-weight:700;width:37px;height:37px}.sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 20px 0}.wordmark{font:800 27px 'Space Grotesk',sans-serif;letter-spacing:-1.4px;margin:0 5px 38px}.wordmark span{color:var(--accent);margin-left:3px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:0 5px 24px}h1{font:750 23px 'Space Grotesk',sans-serif;margin:0;letter-spacing:-.8px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--muted)}.icon-button:hover{background:var(--light);color:var(--accent)}.lavender{background:var(--light);color:var(--accent)}.search{display:flex;align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:11px 12px;color:var(--muted);gap:8px}.search svg{width:17px;height:17px}.search input{min-width:0;flex:1;border:0;background:none;outline:none;font-size:12px;color:var(--ink)}.search kbd{font-size:15px}.list-label{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--muted);margin:28px 7px 15px;display:flex;justify-content:space-between}.list-label span{background:var(--tint);padding:1px 5px;border-radius:3px}.contacts{display:grid;gap:5px}.contact{display:flex;gap:11px;text-align:left;width:100%;padding:15px 11px;border-radius:11px;align-items:center}.contact.active{background:var(--tint)}.contact:hover{background:var(--canvas)}.avatar{height:43px;width:43px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;font:650 15px 'Space Grotesk',sans-serif;position:relative}.avatar::after{content:'';width:8px;height:8px;border:2px solid var(--surface);background:var(--accent);border-radius:50%;position:absolute;right:0;bottom:1px}.contact-info{min-width:0;flex:1}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.contact-name{font-size:12px;font-weight:700}.contact-time{font-size:9px;color:var(--muted)}.contact-preview{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0}.contact-language{font-size:9px;color:var(--muted)}.sidebar-note{margin:auto 6px 20px;padding-top:32px}.note-icon{color:var(--muted);font-size:32px;margin-bottom:12px}.sidebar-note strong{font-size:12px;font-weight:600}.sidebar-note p{font-size:12px;color:var(--muted);line-height:1.8;margin:9px 0 16px}.hello-cloud{display:flex;align-items:center;gap:6px}.hello-cloud span{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:10px;color:var(--muted);transform:rotate(-7deg)}.hello-cloud span:nth-child(2n){transform:rotate(6deg)}.sidebar-footer{border-top:1px solid var(--line);font-size:9px;color:var(--muted);padding:18px 0;display:flex;align-items:center;gap:6px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.sidebar-footer button{margin-left:auto;font-size:9px;color:var(--muted);padding:0}.thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface)}.thread-header{height:91px;display:flex;align-items:center;padding:0 30px;gap:13px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface)}.thread-header .avatar{width:42px;height:42px}.contact-heading h2{font:750 15px 'Space Grotesk',sans-serif;margin:0 0 6px}.contact-heading p{font-size:10px;color:var(--muted);margin:0}.details-toggle{margin-left:auto}.translation-banner{padding:13px 28px;background:var(--canvas);color:var(--muted);font-size:11px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line)}.spark{font-size:17px;color:var(--muted)}.translation-banner button{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.thread-content{overflow:auto;flex:1;min-height:0;padding:0 32px 25px;scroll-behavior:smooth}.conversation-intro{text-align:center;padding:38px 0 26px}.connection-symbol{display:flex;justify-content:center;align-items:center;margin-bottom:16px}.connection-symbol span{width:37px;height:37px;border-radius:11px;background:var(--tint);border:1px solid var(--line);color:var(--muted);font-size:18px;display:grid;place-items:center;transform:rotate(-8deg)}.connection-symbol span:last-child{background:var(--tint);color:var(--muted);border-color:var(--line);transform:rotate(8deg)}.connection-symbol i{font-style:normal;color:var(--muted);margin:0 8px}.conversation-intro h3{font:650 15px 'Space Grotesk',sans-serif;letter-spacing:-.3px;margin:0 0 7px}.conversation-intro p{color:var(--muted);font-size:11px;margin:0}.date-divider{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:9px;margin:0 0 28px}.date-divider:before,.date-divider:after{content:'';height:1px;flex:1;background:var(--line)}.message-row{display:flex;gap:9px;margin-bottom:22px;align-items:flex-end}.message-row .avatar{width:27px;height:27px;font-size:9px;margin-bottom:21px}.message-row .avatar:after{display:none}.message-row.outgoing{justify-content:flex-end}.message-body{max-width:83%;min-width:100px}.bubble{padding:14px 17px;background:var(--surface);border:1px solid var(--line);border-radius:14px 14px 14px 3px;font-size:13px;line-height:1.75;overflow-wrap:anywhere;box-shadow:0 2px 3px var(--shadow)}.outgoing .bubble{color:var(--on-accent);background:var(--accent);border:1px solid var(--focus);border-radius:14px 14px 3px 14px}.message-meta{display:flex;align-items:center;gap:7px;margin-top:6px;color:var(--muted);font-size:9px}.message-meta button{font-size:9px;color:var(--muted);padding:0}.outgoing .message-meta{justify-content:flex-end}.original{padding-top:10px;margin-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.outgoing .original{color:var(--muted);border-color:var(--line)}.pending{font-size:10px;color:var(--muted);margin-top:5px}.composer-area{flex-shrink:0;padding:16px 27px 20px;border-top:1px solid var(--line);background:var(--surface)}.suggestion-heading{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.suggestion-heading span{font-size:9px;font-weight:400;letter-spacing:0}.suggestions{display:flex;gap:6px;margin:10px 0 15px;flex-wrap:wrap}.suggestions button{border:1px solid var(--line);border-radius:20px;font-size:10px;padding:7px 11px;color:var(--muted)}.suggestions button:hover{background:var(--light);border-color:var(--line)}#composer{display:flex;gap:10px;align-items:flex-end;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:11px 12px 11px 15px}textarea{resize:none;flex:1;min-width:0;max-height:110px;border:0;outline:0;background:none;font-size:12px;line-height:1.8;color:var(--ink);padding:5px 0}textarea::placeholder{color:var(--muted)}.send{width:35px;height:35px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;border-radius:9px}.send:hover{background:var(--accent)}.send svg{height:17px;width:17px}.composer-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:var(--muted)}.details{border-left:1px solid var(--line);padding:33px 25px 22px;display:flex;flex-direction:column;background:var(--canvas);overflow:auto}.details-top{font-size:9px;letter-spacing:1.3px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.details-top>span:last-child{font-size:20px;color:var(--muted)}.details h2{font:650 29px/1.35 'Space Grotesk',sans-serif;letter-spacing:-1.2px;margin:29px 0 13px}.details-lead{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 28px}.language-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:17px}.language-card label{font-size:10px;font-weight:600;color:var(--muted)}.select-wrap{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:0 10px;margin-top:10px;color:var(--muted)}.select-wrap select{font-size:12px;border:0;padding:11px 6px;background:none;color:var(--ink);width:100%;outline:0}.language-card p{font-size:9px;color:var(--muted);line-height:1.6;margin:8px 0 0}.bridge-line{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0;color:var(--muted)}.bridge-line span{height:1px;background:var(--tint);flex:1}.bridge-line i{font-style:normal}.toggle-row{display:flex;align-items:center;gap:5px;margin:25px 0;cursor:pointer}.toggle-row strong{display:block;font-size:10px;font-weight:600;margin-bottom:6px}.toggle-row div>span{display:block;font-size:9px;color:var(--muted)}.toggle-row input{position:absolute;opacity:0;width:1px}.switch{margin-left:auto;background:var(--tint);height:19px;width:32px;border-radius:20px;padding:3px;flex-shrink:0}.switch:after{content:'';height:13px;width:13px;display:block;background:var(--surface);border-radius:50%;transition:transform .2s}.toggle-row input:checked+.switch{background:var(--accent)}.toggle-row input:checked+.switch:after{transform:translateX(13px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--line)}.perspective-button{width:100%;display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px;color:var(--muted);font-size:11px;background:var(--surface)}.perspective-button svg{width:16px;height:16px}.perspective-button span:last-child{margin-left:auto}.preview-note{color:var(--muted);text-align:center;font-size:10px;line-height:1.7;margin:11px 0 24px}.details-bottom{margin-top:auto;padding-top:25px;border-top:1px solid var(--line)}.demo-pill{font-size:8px;letter-spacing:1px;color:var(--muted);background:var(--tint);padding:5px 7px;border-radius:4px}.details-bottom p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:14px}.details-bottom button{font-size:10px;color:var(--muted);padding:0;display:flex;width:100%;justify-content:space-between;margin-top:15px}.mobile-back{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid var(--line);padding:32px;border-radius:20px;max-width:450px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 25px 100px var(--shadow)}dialog::backdrop{background:var(--overlay);backdrop-filter:blur(4px)}dialog h2{font:700 25px 'Space Grotesk',sans-serif;letter-spacing:-.6px}dialog p{font-size:13px;line-height:1.9;color:var(--muted)}dialog .contact{margin:7px 0}.modal-close{position:absolute;right:12px;top:12px;font-size:24px}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--rail);color:var(--on-accent);max-width:90vw;padding:14px 22px;border-radius:11px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:10}#toast.visible{transform:translate(-50%,0);opacity:1}.perspective-active .translation-banner{background:var(--tint);color:var(--muted)}.perspective-active .bubble{transition:background .2s}@media(min-width:1500px){.app{grid-template-columns:86px 330px minmax(400px,1fr) 330px}.thread-content{padding-left:55px;padding-right:55px}.conversation-intro{padding-top:55px;padding-bottom:40px}.message-row{margin-bottom:28px}}@media(max-width:1190px){.app{grid-template-columns:68px 265px minmax(350px,1fr)}.details{display:none}.details.open{display:flex;position:absolute;right:0;top:91px;bottom:0;width:306px;z-index:3;box-shadow:-20px 10px 60px var(--shadow)}.thread-header{padding-left:24px}.sidebar{padding-left:15px;padding-right:15px}}@media(max-width:740px){.app{grid-template-columns:57px minmax(0,1fr);min-height:0}.rail{padding-top:24px;gap:35px}.brand{font-size:30px}.brand span{font-size:20px}.sidebar{display:none}.thread{grid-column:2}.thread-header{height:80px;padding:0 14px;gap:9px}.mobile-back{display:grid;width:23px}.thread-header .avatar{width:34px;height:34px;font-size:11px}.contact-heading h2{font-size:13px}.contact-heading p{font-size:9px}.translation-banner{padding:10px 15px;font-size:10px;line-height:1.6}.translation-banner button{font-size:9px}.thread-content{padding:0 16px 16px}.conversation-intro{padding:28px 0 25px}.conversation-intro h3{font-size:12px}.conversation-intro p{font-size:10px}.bubble{font-size:12px;padding:11px 13px}.message-body{max-width:90%}.message-row .avatar{display:none}.composer-area{padding:13px 13px 16px}.suggestion-heading span,.caption-desktop{display:none}.suggestions{gap:4px}.suggestions button{font-size:9px;padding:6px 8px}.composer-caption{font-size:8px}.details.open{top:80px;width:min(306px,calc(100vw - 57px))}.show-contacts .sidebar{display:flex;grid-column:2}.show-contacts .thread{display:none}.sidebar-note{margin-top:auto}.wordmark{margin-bottom:25px}.message-row{margin-bottom:18px}.sidebar-footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Live application */
.app{grid-template-columns:78px 290px minmax(0,1fr);max-width:none;min-height:0}.sidebar{min-width:0}.contacts{display:block;overflow:auto}.contact{margin-bottom:6px;min-width:0}.contact-info strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-info>span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.contact .avatar{width:39px;height:39px}.avatar::after{display:none}.sidebar-note{display:grid;gap:12px}.sidebar-note>span{font-size:30px;color:var(--muted)}.sidebar-note strong{font-size:14px;line-height:1.7}.sidebar-note p{margin:0}.sidebar-footer{font-size:10px}.text-button{font-size:11px;padding:3px;color:var(--muted);white-space:nowrap}.sidebar-footer .text-button{margin-left:auto}.status-dot{width:6px;height:6px;background:var(--accent)}.status-dot.online{background:var(--accent)}.thread{grid-column:3}.thread-header h2{font:700 15px 'Space Grotesk',sans-serif;margin:0 0 5px}.thread-header p{font-size:10px;color:var(--muted);margin:0}.header-end{margin-left:auto}.thread-content{padding-top:24px}.thread-header{height:85px}.thread-content .avatar{width:28px;height:28px}.thread-content .message-body{max-width:80%;min-width:0}.sender-name{font-size:10px;color:var(--muted);margin:0 0 6px 3px}.message-meta{color:var(--muted)}.translation-banner{color:var(--muted)}.thread-header .avatar{flex-shrink:0}.translation-banner .text-button{margin-left:auto}.bubble{white-space:pre-wrap}.original{white-space:pre-wrap}.connection-symbol{font-size:24px;color:var(--muted);letter-spacing:9px}.empty-main{grid-column:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.empty-main h2{font:700 28px 'Space Grotesk',sans-serif;letter-spacing:-1px}.empty-main p{color:var(--muted);line-height:1.9;margin-bottom:25px}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:12px 17px;font-size:12px;color:var(--ink);text-decoration:none;min-height:42px}.button:hover{background:var(--tint)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover{background:var(--accent)}.button.subtle{background:none;border-color:transparent}.button.danger,.danger{color:var(--muted)}.wide{width:100%;margin:7px 0}.button:disabled,.send:disabled{cursor:default;opacity:.5}.page{grid-column:3;background:var(--canvas);padding:35px 40px;overflow:auto;min-width:0}.page h1{font-size:26px}.page h2{font:700 19px 'Space Grotesk',sans-serif;letter-spacing:-.5px}.page h3{font-size:14px}.page p{color:var(--muted);font-size:12px;line-height:1.8}.page-header{display:flex;align-items:center;gap:13px;margin-bottom:25px}.page-header h1{margin:7px 0 0}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.5px;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:20px}.panel>h2:first-child{margin-top:0}.panel form{max-width:550px}form label:not(.sr-only),.modal>label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);font-weight:600;margin:18px 0}input:not([type=checkbox]):not([type=hidden]),select,form textarea:not(#messageInput){padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);width:100%;font-size:13px}form textarea:not(#messageInput){min-height:100px}input[type=checkbox]{accent-color:var(--accent)}.panel .checkbox{flex-direction:row;align-items:center}.search input{border:0!important;padding:0!important;background:none!important;font-size:12px!important}.profile-button{padding:0;border-radius:50%}.profile-button .avatar{width:35px;height:35px;font-size:11px;background:var(--accent);color:var(--ink)}.profile-button .avatar:after{display:none}.rail-button .avatar{height:32px;width:32px}.details{display:flex;position:absolute;z-index:4;right:0;top:85px;bottom:0;width:320px;box-shadow:-15px 0 45px var(--shadow);background:var(--surface)}.details h2{font-size:23px;margin:20px 0}.details-top{align-items:center}.details h3{font-size:12px}.details .toggle-row{font-size:11px;justify-content:flex-start;gap:10px}.details .toggle-row input{position:static;opacity:1;width:auto}.member{display:flex;gap:10px;align-items:center;margin-bottom:18px}.member .avatar{width:30px;height:30px;font-size:10px}.member>div{min-width:0}.member strong{font-size:11px;display:block}.member span:not(.avatar){font-size:9px;color:var(--muted);display:block;margin-top:4px}.member>div:last-child:has(button){margin-left:auto;display:flex;flex-direction:column;align-items:flex-end}.fineprint{font-size:10px!important;line-height:1.8!important;color:var(--muted)!important}.empty-small{font-size:12px;line-height:1.9;padding:8px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.contact-card{display:flex;flex-direction:column;align-items:center;text-align:center}.contact-card h3{margin-bottom:0}.contact-card .button{width:100%;margin-top:8px}.table-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.table-row p{margin:6px 0}.table-row:last-child{border:0}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:22px}.metric>span{font-size:11px;color:var(--muted)}.metric>strong{display:block;font:700 29px 'Space Grotesk',sans-serif;margin:14px 0 8px;letter-spacing:-1px}.metric small{font-size:14px;color:var(--muted)}.metric p{margin:0;font-size:10px}.stat-line{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .checkbox,.form-grid button{grid-column:span 2}.form-grid button{justify-self:start}.form-grid label{min-width:0}.tabs{display:flex;gap:6px;margin-bottom:25px;border-bottom:1px solid var(--line)}.tab{padding:12px 18px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--muted);border-color:var(--focus)}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:9px;color:var(--muted);font-weight:600;padding:12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:10px;margin-top:5px}progress{appearance:none;width:100%;height:8px;margin:12px 0 0;border:0;border-radius:10px;background:var(--tint)}progress::-webkit-progress-bar{background:var(--tint);border-radius:10px}progress::-webkit-progress-value{background:var(--accent);border-radius:10px}.pill{font-size:9px;letter-spacing:1px;color:var(--muted);background:var(--tint);padding:7px 9px;border-radius:5px;white-space:nowrap}.error{color:var(--muted)!important;background:var(--canvas);padding:11px;border-radius:8px;font-size:12px;line-height:1.7}.connection-warning{padding:8px 20px;background:var(--tint);color:var(--muted);font-size:11px}.report{padding:18px 0;border-bottom:1px solid var(--line)}.report small{color:var(--muted);display:block;margin-bottom:8px}.report p{white-space:pre-wrap}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;background:var(--overlay);backdrop-filter:blur(5px);padding:20px}.modal{background:var(--surface);padding:32px;border:1px solid var(--line);border-radius:18px;max-width:470px;width:100%;max-height:90dvh;overflow:auto;position:relative;box-shadow:0 30px 100px var(--shadow)}.modal h2{font:700 25px 'Space Grotesk',sans-serif;letter-spacing:-.8px;margin:15px 0}.modal p{font-size:12px;color:var(--muted);line-height:1.9}.close{position:absolute;right:14px;top:10px;color:var(--muted);font-size:25px;width:30px;height:30px}.welcome{display:grid;grid-template-columns:1.1fr 1fr;min-height:100dvh}.welcome-art{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 12%;background:var(--tint);position:relative}.welcome-art:after{content:'あ';position:absolute;bottom:10%;right:12%;font-size:140px;color:var(--muted);transform:rotate(10deg);pointer-events:none}.brand-large{font:800 40px 'Space Grotesk',sans-serif;letter-spacing:-2px;margin-bottom:55px}.brand-large span{color:var(--muted)}.welcome-art h1{font:700 48px/1.25 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:23px 0}.welcome-art p{color:var(--muted);line-height:1.9;font-size:14px}.welcome-art .hello-cloud{margin-top:30px;z-index:1}.welcome-art .hello-cloud span{background:var(--canvas);border-color:var(--line);color:var(--muted)}.welcome-form{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:60px max(30px,15%);background:var(--surface)}.welcome-form h2{font:700 28px/1.4 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:24px 0 12px}.welcome-form>p{color:var(--muted);font-size:13px;line-height:1.9}.welcome-form form{width:100%}.welcome-form .wide{max-width:400px}.privacy-note{margin-top:45px;padding-top:24px;border-top:1px solid var(--line)}.privacy-note strong{font-size:11px}.privacy-note p{font-size:10px;line-height:1.9;color:var(--muted)}.center-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;min-height:100dvh}.center-state .brand-large{margin-bottom:25px}.center-state p{max-width:450px;color:var(--muted);line-height:1.9}.center-state .button{margin-top:15px}.owner-setup{margin:25px 0;font-size:11px;color:var(--muted);width:100%}.owner-setup summary{cursor:pointer}.owner-setup p{line-height:1.8}.owner-setup code{word-break:break-all;background:var(--canvas);padding:10px;display:block}.loading{padding:40px;color:var(--muted)}.view-admin .sidebar,.view-settings .sidebar,.view-contacts .sidebar{display:none}.view-admin .page,.view-settings .page,.view-contacts .page{grid-column:2/4}.page{max-width:1400px;width:100%;margin:auto;height:100%}.welcome-form button:focus-visible{outline-offset:4px}@media(min-width:1500px){.app{grid-template-columns:86px 320px minmax(0,1fr)}.thread-content{padding-left:7%;padding-right:7%}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.page{padding:28px 24px}.welcome-art{padding:50px 10%}.welcome-art h1{font-size:38px}.welcome-form{padding:45px 30px}.app{grid-template-columns:65px 255px minmax(0,1fr)}}@media(max-width:740px){.app{grid-template-columns:54px minmax(0,1fr);height:100dvh}.rail{grid-column:1;grid-row:1;gap:18px;padding-top:25px}.rail .brand{margin-bottom:15px}.rail-button{width:36px;height:40px}.sidebar{display:flex;grid-column:2;grid-row:1;padding:25px 16px 0}.thread,.empty-main{display:none;grid-column:2;grid-row:1}.mobile-thread .sidebar{display:none}.mobile-thread .thread{display:flex}.mobile-thread .empty-main{display:flex}.page,.view-admin .page,.view-settings .page,.view-contacts .page{grid-column:2;grid-row:1;display:block;padding:22px 16px}.page-header{flex-wrap:wrap;gap:8px}.page-header h1{font-size:22px}.page-header .header-end{font-size:9px}.page-header .button.header-end{width:100%;margin-top:10px}.panel{padding:18px}.thread-header{height:75px;padding:0 12px}.thread-header h2{font-size:13px}.thread-header>div{min-width:0}.thread-header h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.mobile-back{display:grid}.composer-caption>span:last-child{display:none}.message-row{margin-bottom:22px}.thread-content .message-body{max-width:94%}.details,.details.open{top:75px;width:calc(100vw - 54px);padding:22px}.details .member .avatar{display:grid}.welcome{display:block}.welcome-art{padding:35px 30px}.welcome-art h1{font-size:37px;margin:15px 0}.brand-large{font-size:30px;margin-bottom:28px}.welcome-art .hello-cloud,.welcome-art>p{display:none}.welcome-art:after{font-size:90px;bottom:8%}.welcome-form{padding:35px 30px}.welcome-form h2{font-size:24px}.privacy-note{margin-top:25px}.metrics{gap:9px}.metric{padding:15px}.metric>span{font-size:10px}.metric>strong{font-size:23px}.metric p{font-size:9px}.form-grid{grid-template-columns:1fr}.form-grid .checkbox,.form-grid button{grid-column:1}.tab{padding:11px 10px;font-size:11px}.contact-grid{grid-template-columns:1fr}.modal{padding:25px}.modal h2{font-size:23px}.modal-backdrop{padding:14px}.rail-bottom{gap:18px}td,th{padding:12px 8px}.sidebar-note{padding-top:10px}.sidebar-note>span{font-size:25px}.sidebar-note strong{font-size:13px}.conversation-intro{margin-top:25px}}

.composer-caption a{color:inherit;text-decoration:underline;text-underline-offset:2px}

.trial-note{font-size:11px!important;color:var(--muted)!important;line-height:1.8;background:var(--canvas);padding:10px 12px;border-radius:8px}
/* Contact cards: identity first, reading preference beside it, one main action. */
.contact-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:18px;margin-bottom:24px;align-items:start}
.contact-card{display:block;margin:0;padding:24px;text-align:left;border-radius:18px;min-width:0;border-color:var(--line);box-shadow:0 3px 12px var(--shadow)}
.contact-card-identity{display:flex;align-items:center;gap:15px;min-width:0}
.contact-card .avatar{width:58px;height:58px;flex-shrink:0;background:var(--light);color:var(--accent);border-radius:18px;font:700 20px 'Space Grotesk',sans-serif;border:1px solid var(--line)}
.contact-card-name{min-width:0;flex:1}
.contact-card .contact-card-name h3{font:700 18px/1.4 'Space Grotesk',sans-serif;letter-spacing:-.45px;margin:0 0 6px;overflow-wrap:anywhere;color:var(--ink)}
.contact-card-status{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.contact-card-status:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}
.contact-card-language{margin:23px 0 20px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px;line-height:1.6}
.contact-card-language>span{color:var(--muted);flex-shrink:0}
.contact-card-language strong{font-weight:550;color:var(--ink);text-align:right;overflow-wrap:anywhere}
.contact-card-actions{border-top:1px solid var(--line);padding-top:17px;display:flex;align-items:center;gap:10px}
.contact-card .button{margin:0;width:auto}
.contact-card .contact-message{flex:1;min-width:0;min-height:44px;border-radius:10px;font-size:12px;padding:11px 12px;gap:9px}
.contact-card .contact-message svg{height:17px;width:17px;flex-shrink:0}
.contact-card .contact-block{flex-shrink:0;font-size:11px;padding:11px 9px;min-height:44px;color:var(--muted)}
.contact-card .contact-block:hover{color:var(--muted);background:var(--canvas)}
.contact-card-blocked .avatar{color:var(--muted);background:var(--tint);border-color:var(--line)}
.contact-card-blocked .contact-card-status{color:var(--muted)}
.contact-card-blocked .contact-card-status:before{background:var(--accent)}
.contact-card-blocked .contact-message{background:var(--surface);color:var(--muted);border-color:var(--line)}
.contact-card-blocked .contact-message:hover{background:var(--light)}
@media(max-width:600px){.contact-grid{grid-template-columns:1fr;gap:14px}.contact-card{padding:21px;border-radius:16px}.contact-card .avatar{width:54px;height:54px;border-radius:16px;font-size:19px}.contact-card .contact-card-name h3{font-size:17px}.contact-card-language{margin:21px 0 18px}.contact-card-actions{padding-top:15px}}

/* Across / Conversation Loop. Shared semantic palette for every application state. */
:root{color-scheme:light;--ink:#193d38;--muted:#5c736b;--accent:#c74636;--on-accent:#fff;--sea:#168575;--line:#dce7df;--light:#e8f4ed;--tint:#e8f4ed;--surface:#fff;--canvas:#fff8f2;--rail:#183c36;--rail-ink:#dceee5;--rail-active:#31594d;--peach:#ffd4bf;--avatar-ink:#76422d;--focus:#168575;--shadow:#183c3615;--overlay:#132a2477;--warning:#fff3db;--warning-ink:#77521f;--danger:#a43b43;--danger-tint:#fff0ef;--logo-one:#d25340;--logo-two:#168575}
:root[data-theme=dark]{color-scheme:dark;--ink:#f2f2f2;--muted:#b0b0b0;--accent:#ededed;--on-accent:#121212;--sea:#d4d4d4;--line:#333;--light:#222;--tint:#222;--surface:#161616;--canvas:#090909;--rail:#050505;--rail-ink:#aaa;--rail-active:#292929;--peach:#353535;--avatar-ink:#eee;--focus:#ddd;--shadow:#00000040;--overlay:#00000099;--warning:#252525;--warning-ink:#ddd;--danger:#ddd;--danger-tint:#292929;--logo-one:#f3f3f3;--logo-two:#999}
body{background:var(--canvas)}.app,.sidebar,.thread-header,.composer-area,.welcome-form{background:var(--surface)}.thread,.page,.details,.welcome-art{background:var(--canvas)}
.brand,.brand-large,.wordmark{display:flex;align-items:center;gap:11px;letter-spacing:-1.5px;font-family:'Space Grotesk',sans-serif}.brand-large{font-size:40px;line-height:1;margin-bottom:50px}.logo-name{color:var(--ink)!important;position:static!important;font:inherit!important;letter-spacing:inherit}.logo-mark{display:inline-block;position:relative;width:45px;height:45px;flex-shrink:0;line-height:1;--logo-cutout:var(--surface)}.logo-mark:before,.logo-mark:after{content:'';position:absolute;box-sizing:border-box;width:70%;height:70%;border:6.5px solid var(--logo-one);left:2%;top:4%;border-radius:50% 50% 50% 14%}.logo-mark:after{border-color:var(--logo-two);left:auto;top:auto;right:2%;bottom:4%;border-radius:50% 14% 50% 50%;box-shadow:0 0 0 2px var(--logo-cutout)}
.rail .brand{height:42px;display:grid;place-items:center}.rail .logo-mark{width:37px;height:37px;--logo-cutout:var(--rail)}.rail .logo-mark:before,.rail .logo-mark:after{border-width:5.5px}.rail .brand span{position:relative;right:auto;top:auto;font:inherit;color:inherit}.rail{background:var(--rail)}.rail-button{color:var(--rail-ink)}.rail-button.selected,.rail-button:hover{background:var(--rail-active);color:#fff}.rail-button.theme-button{border:0;background:transparent}.rail-button.theme-button:hover{background:var(--rail-active)}.rail-bottom{gap:20px}.wordmark{font-size:26px;gap:9px}.wordmark .logo-mark{width:31px;height:31px}.wordmark .logo-mark:before,.wordmark .logo-mark:after{border-width:4.5px}.wordmark .logo-mark:after{box-shadow:0 0 0 1.5px var(--surface)}
.welcome-art{padding:65px 10%}.welcome-art .logo-mark{--logo-cutout:var(--canvas)}.welcome-art:after{content:'hello';font:700 clamp(80px,10vw,150px) 'Space Grotesk',sans-serif;letter-spacing:-9px;color:var(--tint);bottom:3%;right:8%;transform:rotate(-8deg)}.welcome-art h1{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(38px,4.4vw,62px);line-height:1.08;letter-spacing:-2.8px}.welcome-art h1 em{font-style:normal;color:var(--accent)}.welcome-art .eyebrow{color:var(--sea);font-size:10px;line-height:1.8}.welcome-art p{color:var(--muted)}.welcome-art .hello-cloud span{background:var(--tint);border-color:transparent;color:var(--ink);font-size:12px;border-radius:14px 14px 14px 3px;padding:9px 13px}.welcome-art .hello-cloud span:nth-child(2){background:var(--peach);color:var(--avatar-ink)}.welcome-art .hello-cloud{flex-wrap:wrap}.welcome-form{padding-left:12%;padding-right:12%}.welcome-form h2{font-weight:700}.welcome-theme{position:absolute;top:26px;right:26px}.theme-button{height:40px;width:40px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:13px;color:var(--ink);flex-shrink:0}.theme-button:hover{background:var(--tint)}.theme-button svg{width:18px;height:18px}.appearance-panel label{display:block;font-size:12px;margin:20px 0 10px;color:var(--muted)}.appearance-panel select{max-width:400px}
.avatar,.profile-button .avatar{background:var(--peach);color:var(--avatar-ink)}.contact.active,.contact:hover{background:var(--tint)}.button,.send{border-radius:12px}.button.primary,.send,.outgoing .bubble{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.button.primary:hover,.send:hover{background:var(--accent);filter:brightness(.93)}.button:hover{background:var(--tint)}.button.subtle{background:transparent}.button.danger,.danger{color:var(--danger)}.contact-language,.eyebrow,.text-button,.lavender,.translation-banner,.sidebar-note>span{color:var(--sea)}.translation-banner,.lavender,.contact-card .avatar{background:var(--tint)}.contact-card .avatar{color:var(--sea)}.contact-card .contact-block:hover{background:var(--danger-tint);color:var(--danger)}.contact-card-blocked .contact-card-status{color:var(--danger)}.contact-card-status:before{background:var(--sea)}.contact-card-blocked .contact-card-status:before{background:var(--muted)}.bubble{border-color:var(--line)}.outgoing .original{color:var(--on-accent);border-color:var(--on-accent)}.original{color:var(--muted)}.trial-note,.connection-warning{background:var(--warning);color:var(--warning-ink)!important}.error{background:var(--danger-tint);color:var(--danger)!important}.status-dot{background:var(--muted)}.status-dot.online{background:var(--sea)}.tab.active{border-color:var(--sea);color:var(--sea)}.pill,.demo-pill{background:var(--tint);color:var(--sea)}progress::-webkit-progress-value{background:var(--sea)}.fineprint{color:var(--muted)!important}#toast{background:var(--ink);color:var(--surface)}
@media(max-width:740px){.welcome-art{padding:35px 28px 30px}.welcome-art h1{font-size:42px;letter-spacing:-2px}.welcome-art:after{display:none}.brand-large{font-size:31px;margin-bottom:30px;gap:9px}.brand-large .logo-mark{width:38px;height:38px}.brand-large .logo-mark:before,.brand-large .logo-mark:after{border-width:5.5px}.welcome-theme{top:26px;right:22px}.welcome-form{padding:30px 28px}.rail .logo-mark{width:32px;height:32px}.rail .logo-mark:before,.rail .logo-mark:after{border-width:4.5px}.rail-bottom{gap:16px}.rail{gap:18px}.rail .brand{margin-bottom:0}}
/* Theme controls on the dark rail need rail contrast, independent of page theme. */
.rail .theme-button{color:var(--rail-ink)}
.rail .theme-button:hover,.rail .theme-button:focus-visible{color:#fff;background:var(--rail-active)}
/* Unread counts use shape and text as well as colour. */
.contact-info strong{position:relative;padding-right:33px}.unread-badge{position:absolute;right:0;top:0;min-width:19px;height:19px;border-radius:10px;padding:0 5px;background:var(--accent);color:var(--on-accent);font:600 10px/19px 'DM Sans',sans-serif;text-align:center}.rail-button{position:relative}.rail-unread{position:absolute;right:6px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--logo-one);box-shadow:0 0 0 2px var(--rail)}.notification-panel .button{margin:8px 0}.notification-panel p{max-width:650px}
/* Keep unread badges outside the name's ellipsis/clipping area. */
.contact .contact-info{min-width:0;flex:1}.contact-info strong{padding-right:0;position:static}.contact>.unread-badge{position:static;display:grid;place-items:center;align-self:center;flex-shrink:0;min-width:22px;height:22px;padding:0 6px;line-height:1;border-radius:12px;margin-left:2px}.rail-unread{right:5px;top:7px}
/* A quiet brand illustration replaces the tinted message canvas. */
.thread{position:relative;isolation:isolate;background:var(--surface)}
:root[data-theme=dark] .thread{background:var(--canvas)}
.thread:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#eef2ef;mask-image:url('/chat-pattern.svg');mask-size:300px 237.5px;mask-repeat:repeat;-webkit-mask-image:url('/chat-pattern.svg');-webkit-mask-size:300px 237.5px;-webkit-mask-repeat:repeat}
:root[data-theme=dark] .thread:before{background:#191919}
.thread-content{scroll-behavior:auto;overflow-anchor:none;min-height:0;background:transparent}
.message-list{display:flow-root;min-width:0}
.thread-header,.composer-area{flex-shrink:0}
@media(max-width:740px){.thread:before{mask-size:260px 205.83px;-webkit-mask-size:260px 205.83px}}
/* Presence always includes a text label, including in monochrome dark mode. */
.presence{display:inline-flex!important;align-items:center;gap:6px;color:var(--muted);font:500 11px/1.5 'DM Sans',sans-serif;white-space:nowrap}
.presence-dot{display:inline-block!important;width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#92999b;margin:0!important}
.presence-online .presence-dot{background:#218567}.presence-away .presence-dot{background:#bb821c}.presence-offline .presence-dot{background:transparent;border:1.5px solid #939b98}
:root[data-theme=dark] .presence-online .presence-dot{background:#eee}:root[data-theme=dark] .presence-away .presence-dot{background:linear-gradient(90deg,#aaa 50%,transparent 50%);border:1px solid #aaa}:root[data-theme=dark] .presence-offline .presence-dot{background:transparent;border-color:#777}
.contact-card-name>.presence{display:flex!important;margin-top:6px}.member .presence{margin-top:5px!important}.contact-info .presence{margin:0}.thread-header .presence{font-size:11px}
/* Familiar three-dot typing bubble; no unsent text leaves the composer. */
.typing-indicator{display:flex;align-items:center;gap:10px;margin:8px 0 16px 36px;min-height:36px}.typing-bubble{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:var(--tint);border:1px solid var(--line);border-radius:16px 16px 16px 3px;padding:12px 13px;flex-shrink:0}.typing-bubble i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:typing-dot 1.3s ease-in-out infinite}.typing-bubble i:nth-child(2){animation-delay:.16s}.typing-bubble i:nth-child(3){animation-delay:.32s}.typing-caption{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.typing-preview{color:var(--sea);font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes typing-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.typing-bubble i{animation:none;opacity:.8}}
@media(max-width:740px){.typing-indicator{margin-left:0;gap:8px}}
