:root{--bg:#111111;--surface:#191919;--raised:#252525;--input:#101010;--line:#303030;--muted:#b4b4b4;--subtle:#969696;--text:#fafafa;--accent:#3af580;--accent-hover:#62fa99;--on-accent:#08160d;--danger:#efb3a9;--warning:#e4bf91;--warning-bg:#302920;--warning-line:#685542;--mint:var(--accent);--font-body:"Plus Jakarta Sans",Arial,sans-serif;--font-mono:"DM Mono",ui-monospace,monospace;--radius-control:8px;--radius-panel:16px}
/* Quiet, visitor-first interface. */

::selection{background:var(--accent);color:var(--on-accent)}
body{background:var(--bg)}
.shell:before{display:none}
.header{height:88px;padding:0 48px;border:0}
.brand{font-family:var(--font-body);font-size:24px;font-weight:600;letter-spacing:-.7px;gap:10px}
.brand-icon{color:var(--accent)}.brand-icon svg{width:27px;height:27px}
h1,h2,h3,.panel h3{font-family:var(--font-body);letter-spacing:-.6px;font-weight:500}
.footer{border:0;padding:25px 48px;color:var(--subtle);font-size:12px;letter-spacing:0;justify-content:center}
.entry{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.85fr);align-items:center;gap:9%;width:min(1180px,88%);max-width:none;margin:0 auto;min-height:650px;padding:55px 0 100px;flex:1}
.entry-card{width:440px;max-width:100%;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.entry-card:before{display:none}
.entry h1{font-size:clamp(48px,5.5vw,78px);line-height:1.08;letter-spacing:-3.5px;margin:27px 0 27px;font-weight:400}
.entry h1 span{color:var(--accent);display:block}
.home-kicker{font-size:12px;letter-spacing:2px;color:var(--muted)}
.entry .intro{font-size:17px;line-height:1.8;color:var(--muted);max-width:410px}
.home-caption{display:flex;align-items:center;gap:14px;margin-top:58px;font-size:13px;color:var(--subtle)}
.home-caption span{height:1px;width:38px;background:var(--line)}
.entry .entry-card{width:100%;padding:36px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);box-shadow:0 18px 48px rgb(0 0 0 / 0.133)}
.entry-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-panel);color:var(--accent);margin-bottom:27px}
.entry h2{font-size:25px;letter-spacing:-.6px;line-height:1.3}
.entry .entry-form{margin-top:30px}


.sub{font-size:16px;line-height:1.65;color:var(--muted)}
.entry-form{margin-top:36px}label{font-size:14px;color:var(--text);font-weight:400}
input,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);padding:14px 16px;font-size:16px}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--muted) 7%, transparent)}
input::placeholder,textarea::placeholder{color:var(--subtle)}
#session-id{resize:none;min-height:110px;font-family:var(--font-mono);font-size:15px;line-height:1.75;letter-spacing:0;padding:17px 16px}
.input-meta{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--subtle)}
.primary{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-control);font-size:14px;font-weight:600;padding:15px 19px;box-shadow:none;transition:background .15s}
.primary:hover{background:var(--accent-hover);transform:none}
.entry-form .primary{margin-top:22px;min-height:49px}
.text-button{color:var(--muted);font-size:14px}.text-button:hover{color:var(--text)}
.secondary{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--text);font-size:14px}.secondary:hover{background:var(--raised)}
.error{color:var(--danger);font-size:13px}.hint{font-size:13px;color:var(--subtle);line-height:1.6}
.chat-wrap{width:min(880px,92%);margin:16px auto 40px}
.chat-topline{margin-bottom:18px;gap:18px}
.session-chip{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--subtle);overflow-wrap:anywhere}.session-chip small{font-family:var(--font-body);font-size:12px;letter-spacing:.6px}
.chat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);min-height:540px;box-shadow:none}
.chat-header{padding:22px 26px;background:var(--surface);border:0}
.avatar{background:var(--raised);color:var(--accent);border:0}.person strong{font-family:var(--font-body);font-size:16px;font-weight:500}.person small{font-size:12px;color:var(--muted)}
.timer{font-family:var(--font-mono);font-size:16px;background:var(--raised);border:1px solid var(--line);color:var(--accent);padding:9px 12px;border-radius:var(--radius-control)}.timer.urgent{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-line)}
.timer-track{height:2px;background:var(--raised)}.timer-track span{height:100%;display:block;background:var(--accent);transition:width 1s linear}
.countdown-note{background:none;color:var(--muted);border-bottom:1px solid var(--line);font-size:13px;display:flex;gap:8px;justify-content:center;align-items:center;padding:13px}.countdown-note svg{width:14px;height:14px}
.messages{padding:28px;min-height:260px;background:none}.date-separator{font-size:12px;color:var(--subtle);letter-spacing:.4px;margin-bottom:30px}
.bubble{font-size:16px;line-height:1.65;border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:3px 12px 12px 12px;padding:18px 21px;max-width:76%}
.message-time{font-size:12px;color:var(--subtle);margin-top:10px}
.composer{background:var(--surface);border-top:1px solid var(--line);padding:22px 25px}.compose-row textarea{background:var(--input);border-color:var(--line);font-size:16px;border-radius:var(--radius-control);line-height:1.5}.compose-note{font-size:12px;color:var(--subtle)}
.overlay{background:rgb(0 0 0 / 0.667);backdrop-filter:blur(5px)}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:38px 32px;max-width:420px;box-shadow:0 20px 70px rgb(0 0 0 / 0.400)}
.icon-tile,.modal .icon-tile,.state .icon-tile{background:var(--raised);border:1px solid var(--line);color:var(--accent);border-radius:var(--radius-panel)}.modal .icon-tile{width:52px;height:52px;margin-bottom:23px}.modal h2{font-size:26px;letter-spacing:-.6px}.modal .sub{font-size:16px;color:var(--muted);margin:15px 0 26px}.modal .hint{font-size:12px;color:var(--subtle)}.close{color:var(--muted)}.expiry-label{display:block;font-size:12px;letter-spacing:1px;color:var(--warning);margin-bottom:12px}
.state{min-height:530px}.state-inner{max-width:440px}.state-inner h2{font-size:26px}.state .mono{font:12px/1.8 var(--font-mono);color:var(--subtle);margin-top:24px}.spinner{border-color:var(--line);border-top-color:var(--accent)}.loading-line{background:var(--raised)}.loading-line:after{background:var(--accent)}
.login-card{width:390px;padding:32px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-panel);box-shadow:none}
.admin-wrap{width:min(1200px,92%);margin:24px auto 60px}.admin-title h1{font-size:30px;letter-spacing:-.8px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:1px}.eyebrow:before{display:none}.admin-title .sub{font-size:14px}
.admin-nav{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:26px 0}.admin-nav button{display:flex;gap:9px;background:none;border:0;border-bottom:2px solid transparent;padding:14px 3px;color:var(--subtle);font-size:14px}.admin-nav button small{font-size:12px;color:var(--subtle)}.admin-nav button.active{color:var(--text);border-color:var(--accent)}
.admin-grid{gap:24px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-panel);padding:26px}.panel h3{font-size:20px}.panel h3 .mono{font-size:12px;color:var(--subtle)}.session-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control)}.session-item.selected{border-color:var(--accent);background:var(--raised)}.item-head strong{font:13px/1.8 var(--font-mono);letter-spacing:0}.item-head .mono{font-size:12px;color:var(--muted)}.tag{background:var(--raised);color:var(--accent);font-size:12px}.item-message{font-size:14px;color:var(--muted)}.item-actions{border-color:var(--line)}.item-actions button{font-size:13px}
.admin-form textarea{font-size:14px;line-height:1.7}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.settings-grid .settings{margin:0}.settings-grid .panel{padding:26px}
.report-panel{margin:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-heading h3{margin:9px 0 0}.overline{font-size:12px;letter-spacing:1px;color:var(--muted)}.status-label{font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius-control);margin:25px 0 30px}.metrics>div{padding:22px;border-right:1px solid var(--line);min-width:0}.metrics>div:last-child{border:0}.metrics span{display:block;font-size:13px;color:var(--muted)}.metrics strong{display:block;font-size:36px;font-weight:400;margin-top:12px}.metrics .source-value{font-size:24px;overflow-wrap:anywhere}.report-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px}.period-card{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:22px}dl{margin:18px 0}dl>div{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin:14px 0}dt{color:var(--muted)}dd{margin:0;text-align:right}.referral-table>div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.table-heading{color:var(--subtle)}.check-row{font-size:14px}.toast{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-control)}
.device-required{max-width:480px;padding:30px;margin:12vh auto}.device-required .brand{margin-bottom:60px}.device-required h1{font-size:32px;letter-spacing:-1px}.device-required p{line-height:1.7;color:var(--muted)}
.reveal{animation-duration:.2s}
@media(max-width:800px){.settings-grid,.report-layout{grid-template-columns:1fr}.header{padding:0 24px}.entry{grid-template-columns:1fr;gap:38px;max-width:540px;min-height:450px;padding:30px 0 65px}.entry h1{font-size:58px;letter-spacing:-2.5px}.home-caption{margin-top:25px}.entry .entry-card{padding:28px}.footer{padding:20px 24px}.session-chip small{display:none}.chat-header{padding:20px}.admin-nav{gap:18px}}
@media(max-width:500px){.entry h1{font-size:46px;letter-spacing:-2px}.entry{padding-top:30px}.chat-topline{flex-wrap:wrap}.metrics>div{padding:14px}.metrics strong{font-size:28px}.metrics .source-value{font-size:18px}.bubble{max-width:88%}.footer{align-items:center}}
@media(prefers-reduced-motion:reduce){.timer-track span{transition:none}}

/* Shared interaction states on every route. */
input,textarea,.compose-row textarea{background:var(--input);border-color:var(--line)}
input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.entry-mark{background:var(--raised);border-color:var(--line);color:var(--accent)}
.primary:focus-visible,.secondary:focus-visible,.text-button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.primary:disabled{opacity:.45;transform:none}
.entry-help{margin-top:40px;max-width:410px;border-top:1px solid var(--line)}
.entry-help details{border-bottom:1px solid var(--line);padding:17px 0}
.entry-help summary{cursor:pointer;font-size:14px;color:var(--muted);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}
.entry-help summary::-webkit-details-marker{display:none}
.entry-help summary:after{content:'+';font-size:20px;line-height:1;color:var(--subtle)}
.entry-help details[open] summary:after{content:'−'}
.entry-help details[open] summary{color:var(--text)}
.entry-help summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
.entry-help p{font-size:14px;line-height:1.7;color:var(--muted);margin:13px 25px 0 0}
.field-heading{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:9px;gap:15px}
.field-heading label{margin:0}
.input-actions{display:flex;gap:12px}.input-actions .text-button{padding:4px 0;font-size:13px;color:var(--accent)}
.keyboard-hint{font-size:12px;color:var(--subtle);text-align:center;margin-top:15px}
.copy-id{font:12px var(--font-body);padding:6px 9px;border:1px solid var(--line);border-radius:var(--radius-control)}
.session-search{margin-bottom:22px}.session-search input{font-size:14px}.session-search .hint:empty{display:none}
.timer.urgent{color:var(--warning);background:var(--warning-bg);border-color:var(--warning-line)}
/* Reference layout: black surfaces, green actions, full-width messenger. */
html{scroll-behavior:smooth;scroll-padding-top:76px}
.header{height:60px;padding:0;border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0}
.header-inner{width:min(1104px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-size:18px;font-weight:700;letter-spacing:-.4px;gap:12px;white-space:nowrap}
.brand-icon svg{width:22px;height:22px}.brand-accent{color:var(--accent)}
.header nav,.footer nav{display:flex;align-items:center;gap:30px;font-size:14px;color:var(--muted)}
.header nav a,.footer nav a{position:relative;padding:7px 0;transition:color .24s ease}.header nav a:after,.footer nav a:after{content:'';position:absolute;right:0;bottom:1px;left:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.22,1,.36,1)}.header nav a:hover,.footer nav a:hover{color:var(--text)}.header nav a:hover:after,.footer nav a:hover:after{transform:scaleX(1);transform-origin:left}
.primary{border-radius:8px;min-height:44px;padding:13px 21px;font-size:15px}
.secondary{background:transparent;border-color:var(--line);border-radius:8px;min-height:44px;padding:12px 22px;font-size:15px;font-weight:600}
.secondary:hover{background:var(--raised)}
.content-width{width:min(1104px,calc(100% - 48px));margin:auto}
.hero{position:relative;overflow:hidden;text-align:center;min-height:528px;display:flex;align-items:center;justify-content:center;padding:88px 24px 96px;border-bottom:1px solid var(--line)}
.hero-glow{position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:850px;height:660px;background:radial-gradient(ellipse,rgba(58,245,128,.11),transparent 67%);pointer-events:none}
.hero-content{position:relative;max-width:900px}.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:5px 12px;border:1px solid #38463c;background:#ffffff04;border-radius:30px;font-size:12px;color:var(--muted)}
.hero-badge svg{width:14px;height:14px;color:var(--accent)}
.hero h1{font-size:60px;font-weight:800;line-height:1.02;letter-spacing:-2.3px;margin:28px 0 24px;color:var(--text)}
.hero h1 span{color:var(--accent);text-shadow:0 0 35px #3af58030}
.hero p{font-size:18px;line-height:1.6;color:var(--muted)}
.hero-actions{display:flex;justify-content:center;gap:12px;margin-top:36px}.hero-actions>*{min-width:154px;min-height:49px}
.landing-section{padding:96px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.section-intro{text-align:center;padding:0 24px;margin:0 auto 48px;max-width:960px}
.section-kicker{font-size:14px;font-weight:700;letter-spacing:.3px;color:var(--accent);margin-bottom:18px}
.section-intro h2{font-size:36px;font-weight:700;letter-spacing:-1px;line-height:1.2}
.section-intro>p:last-child:not(.section-kicker){font-size:16px;line-height:1.7;color:var(--muted);margin-top:16px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.feature-icon{width:44px;height:44px;border:1px solid #32466b;border-radius:12px;color:var(--accent);display:grid;place-items:center;margin-bottom:20px}
.feature-card h3{font-size:18px;line-height:1.4;font-weight:700;letter-spacing:-.3px;margin-bottom:10px}.feature-card p{font-size:14px;line-height:1.7;color:var(--muted)}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step-icons{display:flex;align-items:center;gap:14px;color:var(--accent);margin-bottom:20px}.step-icons b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:14px}
.faq-list{width:min(720px,calc(100% - 48px));margin:auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.faq-list details+details{border-top:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 20px;font-size:16px;font-weight:600;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{width:17px;height:17px;color:var(--subtle);transition:transform .42s cubic-bezier(.22,1,.36,1),color .3s ease}.faq-list details[open] summary svg{transform:rotate(180deg);color:var(--accent)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .52s cubic-bezier(.16,1,.3,1),opacity .35s ease;opacity:.25}.faq-list details[open] .faq-answer{grid-template-rows:1fr;opacity:1}.faq-answer>p{min-height:0;overflow:hidden;padding:0 20px 22px;font-size:14px;line-height:1.7;color:var(--muted)}
.compact-section{text-align:center}.compact-section .section-intro{margin-bottom:26px}.inline-button{display:inline-flex;gap:10px}
.support-card{max-width:576px;width:calc(100% - 48px);margin:auto;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--surface)}
.support-card>p{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px;margin-bottom:18px}.support-card>p svg{color:var(--accent);width:16px;height:16px}.support-row{display:flex;gap:12px;align-items:center}.support-row>span{background:var(--input);border:1px solid var(--line);border-radius:8px;padding:14px;font:13px var(--font-mono);flex:1}.support-row .primary{white-space:nowrap;font-size:14px}.support-card small{display:block;margin-top:17px;color:var(--muted);font-size:12px;line-height:1.5}
.footer{display:block;padding:40px 0 12px;border:0}.footer-inner{width:min(1104px,calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;margin:auto;gap:25px}.footer .brand{font-size:16px}.footer nav{gap:24px;font-size:13px}.footer .primary{min-height:40px;font-size:13px;padding:10px 18px}.footer>p{text-align:center;color:var(--subtle);font-size:12px;margin:32px 0 0}
.auth-shell>.header,.auth-shell>.footer{display:none}.authorization{min-height:100dvh;display:grid;place-items:center;padding:45px 24px}.authorization>section{width:390px;max-width:100%;text-align:center}.authorization h1{font-size:24px;font-weight:700;letter-spacing:-.5px;margin:0 0 20px}.authorization .sub{font-size:14px}.authorization form{text-align:left;margin-top:26px}.authorization #session-id{min-height:94px;font-size:14px}.authorization .primary{background:none;color:var(--accent);border:1px solid var(--accent);border-radius:24px;justify-content:center;width:100%;margin-top:22px}.authorization .primary:hover{background:#3af58010}.auth-back{display:inline-block;font-size:13px;color:var(--subtle);margin-top:23px}.authorization .input-meta{font-size:12px}
.messenger-shell{height:100dvh;min-height:0;overflow:hidden}.messenger-shell>.header,.messenger-shell>.footer{display:none}.messenger{display:grid;grid-template-columns:25% 1fr;min-height:0;height:100%;background:var(--bg)}
.chat-sidebar{display:flex;flex-direction:column;border-right:1px solid #272727;min-width:0;overflow:hidden}.account-row{height:52px;padding:5px 8px;display:flex;gap:8px;border-bottom:1px solid #252525;flex-shrink:0}.account-button{min-width:0;display:flex;align-items:center;gap:12px;border:1px solid #292929;border-radius:6px;background:none;color:var(--text);padding:5px 12px;flex:1;font-size:13px}.account-button>span:nth-child(2){text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1;text-align:left}.account-button svg{width:13px;color:var(--subtle)}.mini-avatar{border-radius:50%;background:#393939;color:#aaa;width:24px;height:24px;display:grid;place-items:center;font-size:12px;flex-shrink:0}.icon-button{border:0;background:none;color:var(--subtle);display:grid;place-items:center;min-width:36px;height:36px;padding:8px;border-radius:5px;flex-shrink:0}.icon-button:hover{background:var(--raised);color:var(--text)}.account-row>.icon-button{background:#252525}
.conversation-selected{display:flex;align-items:center;gap:12px;background:#252525;border-radius:5px;padding:9px 12px;margin:8px;min-width:0}.conversation-selected .avatar{background:#414141;color:#b7b7b7;width:48px;height:48px;flex-shrink:0}.conversation-selected>div:last-child{min-width:0}.conversation-selected strong{font-size:14px}.conversation-selected p{font-size:12px;color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%;margin-top:6px}.sidebar-support{margin-top:auto;border-top:1px solid #282828;min-height:53px;display:flex;align-items:center;gap:8px;padding:16px 20px;color:var(--accent);font-size:14px;font-weight:600}.sidebar-support svg{width:16px;height:16px}
.conversation-pane{display:flex;flex-direction:column;min-height:0;min-width:0}.conversation-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid #272727;gap:20px;flex-shrink:0}.conversation-header>strong{font-size:18px;letter-spacing:-.3px}.conversation-tools{display:flex;align-items:center;gap:4px}.conversation-header .timer{font-size:13px;background:none;border:0;color:var(--subtle);gap:6px;padding:6px 12px}.conversation-header .timer.urgent{color:var(--warning);background:var(--warning-bg)}.messenger .timer-track{height:1px;flex-shrink:0;background:#222}.messenger .messages{flex:1;min-height:0;overflow-y:auto;padding:28px 32px}.messenger .date-separator{margin-bottom:35px}.messenger .bubble{background:#252525;border-color:#303030;color:var(--text);font-size:15px;max-width:680px;line-height:1.7}.messenger .message-row>.avatar{background:#333;color:#aaa}.messenger .countdown-note{font-size:12px;border-top:1px solid #202020;border-bottom:0;padding:9px;color:#8a8a8a}.messenger .composer{padding:0;border-top:1px solid #292929;background:var(--bg);flex-shrink:0}.messenger .compose-row{gap:0;align-items:center}.messenger .compose-row textarea{background:#383838;border:0;border-radius:0;min-height:53px;max-height:120px;padding:17px 15px;font-size:14px;line-height:1.4}.messenger .compose-row>.icon-button{width:42px;height:53px}.messenger .send:not(:disabled){color:var(--accent)}
.message-search{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line)}.message-search input{font-size:14px;padding:9px;flex:1}.message-search>span{font-size:12px;color:var(--subtle);white-space:nowrap}.search-match{outline:2px solid var(--accent);outline-offset:3px}
.tool-overlay{backdrop-filter:none;background:#0009}.tool-modal{width:512px;max-width:100%;background:#111;border:1px solid #292929;border-radius:8px;padding:26px 24px;box-shadow:0 18px 70px #0005}.tool-modal h2{font-size:18px;font-weight:700;letter-spacing:-.4px;margin-bottom:12px}.tool-description{font-size:14px;line-height:1.6;color:#a1a1a1}.tool-footer{display:flex;justify-content:flex-end;margin-top:28px}.tool-footer button{min-height:36px;padding:8px 16px;font-size:13px;border-color:#292929;border-radius:6px}.retention-list{margin-top:16px}.retention-option{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:8px 12px;font-size:13px;color:#a1a1a1}.retention-option.selected{color:#f5f5f5}.retention-option svg{width:16px;height:16px;color:var(--accent)}.media-tabs{background:#191919;border-radius:8px;padding:4px;display:flex;margin-top:20px}.media-tabs button{background:none;border:0;color:#969696;font-size:14px;font-weight:600;padding:8px;display:flex;justify-content:center;gap:7px;align-items:center;flex:1;border-radius:5px}.media-tabs button[aria-selected=true]{background:#111;color:#eee}.media-tabs svg{width:16px;height:16px}.media-content{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:26px 0;color:#999;font-size:14px;overflow-wrap:anywhere}.media-content a{align-self:stretch;color:var(--accent)}
.admin-shell .header-inner{width:min(1200px,92%)}.admin-shell>.footer{border-top:1px solid var(--line)}.admin-nav button.active{color:var(--accent);border-color:var(--accent)}.tag{color:var(--accent)}.panel,.login-card,.modal{background:var(--surface);border-color:var(--line)}.icon-tile,.entry-mark{color:var(--accent)}
@media(max-width:1000px){.header nav{gap:16px}.hero h1{font-size:52px}.messenger{grid-template-columns:30% 1fr}.conversation-header .timer svg{display:none}.conversation-header{padding:8px 10px}.conversation-tools{gap:0}.messenger .bubble{max-width:85%}}
@media(max-width:760px){.header nav{display:none}.hero h1{font-size:42px}.hero p{font-size:16px}.wide-only{display:none}.landing-section{padding:65px 0}.feature-grid,.step-grid{grid-template-columns:1fr}.section-intro h2{font-size:28px}.hero{min-height:490px}.footer-inner{flex-wrap:wrap}.footer nav{gap:15px}.support-row{flex-direction:column;align-items:stretch}.messenger{grid-template-columns:190px minmax(0,1fr)}.conversation-header{height:auto;min-height:52px;flex-wrap:wrap;gap:3px}.conversation-header>strong{font-size:14px}.messenger .messages{padding:20px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Motion and finish pass. */
body{font-family:var(--font-body);letter-spacing:-.012em}
.shell{background:var(--bg)}
.home-shell .header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);transition:border-color .25s,background .25s}
.brand{font-weight:800;letter-spacing:-.055em;align-items:center}.brand>span:last-child{position:relative;top:0}.brand-icon{display:grid;place-items:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}.brand-icon svg{width:17px;height:17px}
.primary,.secondary,.icon-button,.feature-card,.step-grid .feature-card,.faq-list details,.authorization>section,.modal{transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .28s ease,background .28s ease,box-shadow .28s ease,color .28s ease}
.primary{position:relative;overflow:hidden;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 13%,transparent)}.primary:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 28%,#fff7 50%,transparent 72%);transform:translateX(-130%);transition:transform .6s ease}.primary:hover{transform:translateY(-2px);box-shadow:0 13px 32px color-mix(in srgb,var(--accent) 22%,transparent)}.primary:hover:before{transform:translateX(130%)}.secondary:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.hero{isolation:isolate}.hero-grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 80%);animation:grid-drift 16s linear infinite}.hero-orb{position:absolute;border-radius:50%;filter:blur(7px);pointer-events:none;mix-blend-mode:screen}.orb-one{width:420px;height:420px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 67%);top:-180px;right:11%;animation:orb-float 12s ease-in-out infinite}.orb-two{width:320px;height:320px;background:radial-gradient(circle,#328b5e20,transparent 68%);bottom:-130px;left:18%;animation:orb-float 15s ease-in-out -4s infinite reverse}
.hero-content{animation:hero-in .85s cubic-bezier(.16,1,.3,1) both}.hero h1{font-family:var(--font-body);font-weight:800;letter-spacing:-.07em;line-height:.98}.hero p{font-weight:500}.hero-signal{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:29px;font-size:12px;color:var(--subtle)}.hero-signal i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 42%,transparent);animation:signal-pulse 2.1s infinite}
.landing-section{position:relative}.section-intro h2{font-weight:800;letter-spacing:-.055em}.section-kicker{letter-spacing:.11em;font-size:12px}.feature-card{position:relative;overflow:hidden;min-height:205px}.feature-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--accent) 47%,var(--line));box-shadow:0 18px 42px #0004}.feature-card:hover .feature-icon{transform:rotate(-7deg) scale(1.08);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.feature-icon{transition:transform .35s cubic-bezier(.22,1,.36,1),background .35s,border-color .35s}.card-glint{position:absolute;inset:-45%;background:linear-gradient(120deg,transparent 42%,#fff1 49%,transparent 56%);transform:translateX(-52%) rotate(9deg);transition:transform .75s ease;pointer-events:none}.feature-card:hover .card-glint{transform:translateX(55%) rotate(9deg)}
.feature-card:active,.primary:active,.secondary:active,.icon-button:active{transform:translateY(1px) scale(.985)}.step-grid .feature-card{min-height:180px}.faq-list details:hover{background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.faq-list summary{transition:color .22s ease}.faq-list details[open] summary{color:var(--accent)}
.step-grid .feature-card{transition-duration:.42s}.step-grid .feature-card:hover{transform:translateY(-4px) scale(1.012)}.step-icons b{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}.step-grid .feature-card:hover .step-icons b{transform:rotate(7deg) scale(1.1);box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 8%,transparent)}.hero-signal{transition:letter-spacing .4s ease,color .4s ease}.hero:hover .hero-signal{letter-spacing:.035em;color:var(--text)}.faq-section{padding-bottom:110px}.faq-list details{overflow:hidden}.faq-list summary{position:relative}.faq-list details[open]{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--accent) 62%,transparent)}.app-download{border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:8px}.app-download svg{width:16px;height:16px}.landing .primary,.landing .secondary{will-change:transform}.feature-card:nth-child(3n+2){transition-timing-function:cubic-bezier(.16,1,.3,1)}
.reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.is-visible{opacity:1;transform:none}.feature-card.reveal-on-scroll:nth-child(2){transition-delay:.08s}.feature-card.reveal-on-scroll:nth-child(3){transition-delay:.16s}.feature-card.reveal-on-scroll:nth-child(4){transition-delay:.04s}.feature-card.reveal-on-scroll:nth-child(5){transition-delay:.12s}.feature-card.reveal-on-scroll:nth-child(6){transition-delay:.2s}
.authorization{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 34%),var(--bg)}.authorization>section{padding:38px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:0 26px 80px #0006;animation:hero-in .6s cubic-bezier(.16,1,.3,1) both}.authorization-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;margin:0 auto 21px;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.authorization-mark svg{width:26px;height:26px}.authorization h1{font-weight:800}.authorization .primary{border-radius:10px;background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.messenger{animation:messenger-in .4s cubic-bezier(.16,1,.3,1) both}.conversation-selected{transition:background .25s ease,transform .25s ease}.conversation-selected:hover{background:#2b2b2b;transform:translateX(2px)}.messenger .bubble{animation:message-in .45s cubic-bezier(.22,1,.36,1) .14s both}.conversation-header .timer{font-family:var(--font-mono)}.tool-modal,.modal{animation:modal-pop .32s cubic-bezier(.16,1,.3,1) both}.completion-overlay{transition:background .22s ease,backdrop-filter .22s ease}.completion-overlay.is-closing{background:transparent;backdrop-filter:blur(0)}.modal.is-completing{animation:completion-out .17s cubic-bezier(.55,0,1,.45) both}.modal.download-complete{animation:completion-in .5s cubic-bezier(.16,1,.3,1) both}.download-complete>*{animation:completion-item .46s cubic-bezier(.16,1,.3,1) both}.download-complete>:nth-child(2){animation-delay:.04s}.download-complete>:nth-child(3){animation-delay:.08s}.download-complete>:nth-child(4){animation-delay:.12s}.download-complete>:nth-child(5){animation-delay:.16s}.download-complete>:nth-child(6){animation-delay:.2s}.success-icon{background:color-mix(in srgb,var(--accent) 14%,transparent)!important;color:var(--accent)!important}.download-steps{display:grid;gap:10px;margin:22px 0 25px;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.5}.download-steps li{transition:color .2s ease}.download-steps li::marker{color:var(--accent);font-weight:800}.messenger .composer{transition:box-shadow .25s ease}.messenger .composer:focus-within{box-shadow:0 -10px 30px color-mix(in srgb,var(--accent) 7%,transparent)}.messenger .compose-row textarea{transition:background .2s ease}.messenger .compose-row textarea:focus{background:#414141}.timer-track span{box-shadow:0 0 10px color-mix(in srgb,var(--accent) 60%,transparent)}
.admin-shell .panel,.admin-shell .session-item{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.admin-shell .session-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));box-shadow:0 12px 28px #0003}.admin-shell .primary{box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 15%,transparent)}
.admin-shell .status-label{transition:background .25s ease,border-color .25s ease,color .25s ease}.admin-shell .status-label:not(:empty){background:color-mix(in srgb,var(--accent) 6%,transparent)}.admin-shell input:focus,.admin-shell textarea:focus{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 9%,transparent)}.admin-shell .item-actions .text-button{position:relative;transition:color .2s ease,transform .2s ease}.admin-shell .item-actions .text-button:hover{color:var(--accent);transform:translateX(2px)}.admin-shell .report-panel{background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 93%,var(--accent) 7%),var(--surface))}.admin-shell .metrics{overflow:hidden}.admin-shell .metrics strong{letter-spacing:-.045em}
.opening-content{display:grid;gap:9px;min-width:0}.opening-image{display:block;width:min(360px,72vw);max-height:340px;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--surface);animation:message-in .45s cubic-bezier(.22,1,.36,1) .2s both}.image-field input[type=file]{padding:11px;font-size:13px}.image-field input[type=file]::file-selector-button{margin-right:12px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--raised);color:var(--text);font:600 12px var(--font-body);cursor:pointer}.image-preview{display:flex;align-items:flex-start;gap:12px;margin-top:13px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--input)}.image-preview img{width:74px;height:56px;object-fit:cover;border-radius:6px}.image-preview .text-button{padding:7px 4px;color:var(--muted)}
.profile-avatar{position:relative;flex-shrink:0}.profile-avatar .avatar{margin:0}.profile-avatar i{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border:2px solid #252525;border-radius:50%;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)}.presence-label{display:inline-block;font-size:11px;font-weight:600;letter-spacing:0;color:var(--subtle);margin-left:7px;vertical-align:middle;transform:translateY(-1px)}.message-meta{display:flex;align-items:center;justify-content:space-between;width:min(680px,72vw);margin-top:7px;padding:0 8px 0 2px}.message-meta .message-time,.message-meta .message-status{width:auto;margin:0;padding:0}.countdown-note button{border:0;background:none;color:var(--accent);font:600 12px var(--font-body);padding:0 0 0 7px}.countdown-note button:hover{text-decoration:underline}
.presence-label{font-weight:600}.typing-row{display:flex;align-items:flex-end;gap:10px;margin-top:18px;animation:message-in .28s cubic-bezier(.22,1,.36,1) both}.typing-bubble{display:flex;align-items:center;gap:5px;padding:13px 16px;background:#252525;border:1px solid #303030;border-radius:14px 14px 14px 3px}.typing-bubble i{width:5px;height:5px;border-radius:50%;background:var(--subtle);animation:typing-dot 1.05s ease-in-out infinite}.typing-bubble i:nth-child(2){animation-delay:.15s}.typing-bubble i:nth-child(3){animation-delay:.3s}.follow-up-row{margin-top:18px}.follow-up-row .avatar{background:#333;color:#aaa}.message-status{margin:8px 0 0 42px;font-size:11px;color:var(--accent);opacity:.75}.message-status[hidden]{display:none}@keyframes typing-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
.opening-content{display:flex;flex-direction:column;align-items:flex-start;gap:0}.opening-image{margin-top:9px}.message-meta{margin-top:5px;min-height:15px}.presence-label{margin-left:0;font-size:11px;letter-spacing:.01em}.session-search-panel{padding:0 8px 9px;animation:search-panel-in .18s ease-out both}.session-search-panel[hidden]{display:none}.session-search-panel input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--input);color:var(--text);outline:none}.session-search-panel input:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}@keyframes search-panel-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.brand-accent{display:inline-grid;place-items:center;width:.7em;margin-left:.14em;vertical-align:middle;font-size:.82em;line-height:1;transform:translateY(-.04em)}.device-required .brand>span{color:var(--accent);display:inline-block;margin-left:.12em;transform:translateY(-.04em)}.admin-title{position:relative;overflow:hidden;padding:28px 30px;margin-bottom:22px;border:1px solid var(--line);border-radius:var(--radius-panel);background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--accent) 10%,transparent),transparent 32%),var(--surface)}.admin-title:after{content:'';position:absolute;width:220px;height:1px;right:28px;bottom:0;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.48}.admin-title h1{font-weight:800;letter-spacing:-.055em}.admin-title .sub{max-width:460px}.admin-nav{position:relative;margin:0 0 28px;padding:5px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 84%,transparent);gap:3px}.admin-nav button{position:relative;flex:1;justify-content:center;border:0;border-radius:8px;padding:12px 14px;transition:background .28s ease,color .28s ease,transform .28s cubic-bezier(.22,1,.36,1)}.admin-nav button:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 6%,transparent);transform:translateY(-1px)}.admin-nav button.active{background:color-mix(in srgb,var(--accent) 11%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,transparent)}.admin-nav button.active small{color:var(--accent)}.admin-shell .panel{animation:admin-panel-in .45s cubic-bezier(.16,1,.3,1) both}.admin-shell .panel:nth-child(2){animation-delay:.06s}.admin-shell .session-item{position:relative;overflow:hidden}.admin-shell .session-item:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 45%,#fff1 50%,transparent 55%);transform:translateX(-115%);transition:transform .7s ease;pointer-events:none}.admin-shell .session-item:hover:after{transform:translateX(115%)}.admin-shell .metrics>div{transition:background .26s ease}.admin-shell .metrics>div:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.admin-shell .settings.panel{transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s ease}.admin-shell .settings.panel:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}
@keyframes hero-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}@keyframes messenger-in{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}@keyframes message-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes modal-pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes completion-out{to{opacity:0;transform:translateY(-7px) scale(.985)}}@keyframes completion-in{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:none}}@keyframes completion-item{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes admin-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes grid-drift{to{background-position:64px 64px}}@keyframes orb-float{50%{transform:translate3d(22px,30px,0) scale(1.08)}}@keyframes signal-pulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(max-width:760px){.authorization>section{padding:28px 22px}.hero-grid{background-size:42px 42px}.feature-card{min-height:0}.hero-signal{margin-top:23px}.brand-icon{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal-on-scroll{opacity:1;transform:none}}

/* Each message owns its timestamp and delivery state. */
.opening-content{display:flex;width:fit-content;max-width:calc(100% - 40px)}
.message-card{display:grid;width:fit-content;max-width:min(680px,100%);min-width:100px;grid-template-columns:minmax(0,1fr);gap:4px}
.message-row>.message-card{max-width:min(680px,calc(100% - 40px))}
.messenger .message-card .bubble{width:100%;max-width:100%;margin:0}
.message-card .message-meta{display:flex;width:100%;min-width:0;align-items:center;margin:0;padding:0 2px;gap:18px;line-height:16px}
.message-card .message-meta .message-time{margin:0;font-size:11px;white-space:nowrap}
.message-card .message-meta .message-status{margin:0 0 0 auto;text-align:right;font-size:11px;white-space:nowrap}
.conversation-selected[hidden]{display:none}
.conversation-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;animation:reveal .4s ease both}
.loading-emblem{display:grid;place-items:center;width:54px;height:54px;margin-bottom:24px;color:var(--accent);border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.loading-emblem svg{width:27px;height:27px}
.conversation-loading h1{font-size:25px;font-weight:600;letter-spacing:-.6px;margin:0;line-height:1.4}
.conversation-loading p{font-size:13px;color:var(--muted);margin-top:12px}
.loading-progress{width:148px;height:2px;overflow:hidden;background:var(--line);margin-top:28px;border-radius:2px}
.loading-progress span{display:block;width:45%;height:100%;background:var(--accent);animation:load 1.6s ease-in-out infinite}
.conversation-loading.is-resuming h1{font-size:18px;font-weight:500}
.conversation-loading.is-resuming .loading-emblem{width:36px;height:36px;border:0;background:none;margin-bottom:16px}
.conversation-loading.is-resuming .loading-progress{width:96px;margin-top:20px}
.messenger .composer{padding:12px 20px 18px;background:var(--bg);border-top:0;box-shadow:none}
.messenger .composer:focus-within{box-shadow:none}
.messenger .compose-row{gap:5px;padding:7px;background:#1c1c1c;border:1px solid #353535;border-radius:16px;align-items:flex-end;transition:border-color .2s ease,box-shadow .2s ease}
.messenger .compose-row:focus-within{border-color:#58655d;box-shadow:0 0 0 3px #ffffff03}
.messenger .compose-row textarea,.messenger .compose-row textarea:focus{background:transparent;border:0;border-radius:0;box-shadow:none;min-height:42px;max-height:130px;padding:11px 8px;line-height:20px;font-size:14px;resize:none}
.messenger .compose-row>.icon-button{width:38px;height:42px;flex-shrink:0;border-radius:10px;color:#939a95;transition:background .18s ease,color .18s ease,transform .18s ease}
.messenger .compose-row>.icon-button:hover{background:#ffffff08;color:var(--text)}
.messenger .compose-row>.send{width:42px;background:#282e2a;opacity:1;color:#77847a}
.messenger .compose-row>.send:not(:disabled){background:var(--accent);color:#0d2013}
.messenger .compose-row>.send:not(:disabled):hover{transform:translateY(-1px);background:var(--accent-hover)}
.messenger .countdown-note{border:0;background:none;padding:10px 20px 0;font-size:11px}


/* Shared interaction geometry and motion. */
.session-search-panel,.message-search{display:flex;align-items:center;gap:8px;min-height:60px;margin:0;padding:10px 12px;border:0;border-bottom:1px solid var(--line);animation:search-panel-in .18s ease-out both;background:var(--bg)}
.session-search-panel[hidden],.message-search[hidden],.typing-row[hidden],.follow-up-row[hidden]{display:none}
.session-search-panel input,.message-search input{flex:1;min-width:0;width:100%;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);font-size:13px;line-height:normal;box-shadow:none}
.session-search-panel input:focus,.message-search input:focus{border-color:#52675b;box-shadow:0 0 0 2px #39ef8310}
.session-search-panel .icon-button,.message-search .icon-button{flex:0 0 30px;width:30px;height:30px;padding:6px;border-radius:7px;color:var(--muted)}
.session-search-panel .icon-button:hover,.message-search .icon-button:hover{background:var(--raised);color:var(--text)}
.session-search-panel>span,.message-search>span{font-size:11px;color:var(--subtle);white-space:nowrap}
.session-search-panel>span:empty,.message-search>span:empty{display:none}
.search-closing{animation:search-panel-out .14s ease-in both}
.overlay.is-closing{animation:overlay-out .18s ease-in both;pointer-events:none}
.overlay.is-closing .modal,.overlay.is-closing .tool-modal{animation:dialog-out .18s ease-in both}
.tool-footer .secondary,.media-tabs button{min-height:38px;border-radius:8px}
.shared-photo{display:block;max-width:100%;max-height:300px;object-fit:contain;border-radius:10px;margin:auto}
@keyframes overlay-out{to{opacity:0}}
@keyframes dialog-out{to{opacity:0;transform:translateY(5px) scale(.985)}}
@keyframes search-panel-out{to{opacity:0;transform:translateY(-3px)}}
.download-options select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--input);color:var(--text);font:inherit}.download-options [hidden]{display:none}.download-options .secondary{margin-top:12px}.download-options input[type=file]{font-size:12px}
/* All conversation avatars use the same size, colour and baseline. */
.messenger .messages .message-row>.avatar,.messenger .messages .typing-row>.avatar{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#333;color:#aaa;font-size:12px;line-height:1;border:0;margin:0}
.messenger .messages .message-row{align-items:flex-start;position:relative}
.messenger .messages .message-row>.avatar{align-self:flex-end;margin-bottom:20px}
.messenger .messages .typing-row{align-items:center}
.social-preview{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:var(--input);padding:16px;margin:18px 0;overflow:hidden}.social-preview img{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:5px;margin-bottom:12px}.social-preview img[hidden]{display:none}.social-preview strong{display:block;font-size:16px}.social-preview p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px}.messenger .messages .message-row>.avatar,.messenger .messages .typing-row>.avatar{width:30px;height:30px;flex:0 0 30px;background:#333;color:#aaa;font-size:12px}
