[hidden]{display:none!important}
html{--pwa-paper:#fff;--pwa-ink:#393642;--pwa-dim:#77777d;--pwa-soft:#f5f5f4;--pwa-line:#eae9e8}
@media(prefers-color-scheme:dark){html{--pwa-paper:#1f2023;--pwa-ink:#f5f4f2;--pwa-dim:#b2b2b8;--pwa-soft:#2c2d31;--pwa-line:#3d3e42}}
#tail-v7 .t-login-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;position:absolute;z-index:2;top:calc(18px + env(safe-area-inset-top));left:25px;right:18px}
#tail-v7 .t-login-brand .t-brand{position:static}
html[data-pwa-installed] [data-act="install-pwa"]{display:none!important}
.pwa-dialog,.pwa-banner{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:var(--pwa-ink);background:var(--pwa-paper);box-sizing:border-box}
.pwa-dialog{width:calc(100% - 40px);max-width:360px;max-height:calc(100dvh - 48px);border:1px solid var(--pwa-line);border-radius:26px;padding:28px;overflow:auto;box-shadow:0 18px 80px #0002}
.pwa-dialog::backdrop{background:#0005}
.pwa-dialog img{width:64px;height:64px;border-radius:17px}
.pwa-dialog h2{font-size:22px;line-height:1.4;font-weight:600;margin:20px 0 10px}
.pwa-dialog p,.pwa-dialog li{font-size:14px;line-height:1.9;color:var(--pwa-dim)}
.pwa-dialog ol{padding-left:20px;margin:18px 0}.pwa-dialog li{padding-left:3px;margin:6px 0}
.pwa-dialog .pwa-local-note{border-top:1px solid var(--pwa-line);padding-top:14px;font-size:12px;margin-top:20px}
.pwa-dialog button,.pwa-banner button{font:inherit;min-height:44px;cursor:pointer;border:0}
.pwa-dialog button:focus-visible,.pwa-banner button:focus-visible{outline:2px solid var(--pwa-ink);outline-offset:3px}
.pwa-dialog .pwa-primary{width:100%;border-radius:24px;padding:12px 16px;background:var(--pwa-ink);color:var(--pwa-paper);font-size:15px}
.pwa-dialog .pwa-close{position:absolute;right:14px;top:12px;width:44px;padding:0;border-radius:50%;background:transparent;color:var(--pwa-dim);font-size:26px;font-weight:300}
.pwa-dialog .pwa-primary:disabled{opacity:.5;cursor:wait}
.pwa-banner{position:fixed;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:calc(100% - 32px);max-width:420px;padding:10px 12px 10px 16px;border:1px solid var(--pwa-line);border-radius:18px;box-shadow:0 5px 25px #0001;z-index:50;font-size:13px;line-height:1.6;display:flex;align-items:center;gap:10px}
.pwa-banner span{flex:1}.pwa-banner button{background:var(--pwa-soft);color:var(--pwa-ink);font-size:13px;border-radius:12px;padding:6px 12px;flex:none}.pwa-banner .pwa-later{background:transparent;padding:6px}
#pwa-network{justify-content:center;background:var(--pwa-ink);color:var(--pwa-paper);font-size:13px;text-align:center;pointer-events:none}
#tail-v7 .t-connection-empty{text-align:center;padding:64px 0 48px}#tail-v7 .t-connection-empty h1{font-size:24px}#tail-v7 .t-connection-empty p{font-size:14px;line-height:1.9;color:var(--t-dim);margin:16px 0 24px}
/* Shared text-entry rhythm and focus treatment across pages and dialogs. */
#tail-v7 #t-main:not([data-screen="login"]) :is(input,textarea,select),#tail-v7 .t-overlay :is(input,textarea,select){font-family:inherit;font-size:17px;font-weight:400;line-height:28px;letter-spacing:0;color:var(--t-ink);caret-color:light-dark(#466b91,#b6d3ef)}
#tail-v7 #t-main:not([data-screen="login"]) :is(input,textarea)::placeholder,#tail-v7 .t-overlay :is(input,textarea)::placeholder{color:var(--t-dim);opacity:1}
#tail-v7 :is(.t-field,.s-dialog) :is(input:not([type="file"]),textarea,select){border:1px solid var(--t-line);border-radius:12px;background:var(--t-soft);padding:11px 13px;min-height:48px}
#tail-v7 #t-main:not([data-screen="login"]) :is(input,textarea,select):focus-visible,#tail-v7 .t-overlay :is(input,textarea,select):focus-visible{outline:2px solid light-dark(#597a9d,#b6d3ef);outline-offset:2px}
/* A quiet cool canvas after sign-in; the login palette stays independent. */
#tail-v7 .t-phone:has(#t-main:not([data-screen="login"])){
  --t-canvas:light-dark(#f2f6fa,#19212c);
  --t-ink:light-dark(#273548,#edf3fa);
  --t-dim:light-dark(#5c6d83,#a6b6ca);
  --t-line:light-dark(#dde6f0,#354457);
  --t-soft:light-dark(#e8eff6,#263346);
  --t-lilac:light-dark(#e6edf7,#2e3c52);
  --t-sand:light-dark(#eaf1f7,#2b3a48);
  --t-accent:light-dark(#dce9f6,#a8c9e8);
  --t-on-accent:light-dark(#29435e,#1c3046);
  background:var(--t-canvas);
}
#tail-v7 .t-phone:has(#t-main:not([data-screen="login"])) .t-footer{background:light-dark(#f9fbfe,#1e2938)}
#tail-v7 .t-phone:has(#t-main:not([data-screen="login"])) .t-chat-composer{background:light-dark(#fff,#263346);box-shadow:0 2px 14px light-dark(#486b9410,#0002);border:1px solid var(--t-line)}
@media(max-width:600px),(max-width:1024px) and (max-height:500px),(display-mode:standalone){
  html,body{height:100%;overflow:hidden;background:var(--pwa-paper)}
  #tail-v7{position:fixed;top:var(--pwa-viewport-top,0px);left:0;right:0;height:var(--pwa-viewport-height,100dvh);min-height:0}
  #tail-v7 .t-stage{height:100%;padding:0;min-height:0;background:none}
  #tail-v7 .t-phone{height:100%;min-height:0;width:100%;max-width:760px;margin:0 auto;border:0;border-radius:0;box-shadow:none;overflow:hidden}
  #tail-v7 .t-header{flex:none;padding-top:calc(16px + env(safe-area-inset-top));padding-left:max(21px,env(safe-area-inset-left));padding-right:max(21px,env(safe-area-inset-right));min-height:70px}
  #tail-v7 .t-main{scroll-padding:12px 0 16px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding-left:max(21px,env(safe-area-inset-left));padding-right:max(21px,env(safe-area-inset-right))}
  #tail-v7 #t-main:not(.t-main){flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
  #tail-v7 #t-main[data-screen="login"]{scroll-padding:16px 0 calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
  #tail-v7 .t-login-field{scroll-margin:16px 0 24px}
  #tail-v7 .t-login-field input{line-height:1.5;outline-offset:4px}
  #tail-v7 .t-login-form{padding-bottom:calc(35px + env(safe-area-inset-bottom))}
  #tail-v7 #t-main[data-screen="login"]:focus-within .t-login-photo{height:clamp(72px,18dvh,112px)}
  #tail-v7 #t-main[data-screen="login"]:focus-within .t-login-form{padding-top:20px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  #tail-v7 #t-main[data-screen="login"]:focus-within .t-login-form h1{font-size:24px;margin-bottom:16px}
  #tail-v7 .t-main[data-screen="home"]{padding-top:calc(24px + env(safe-area-inset-top))}
  #tail-v7 .t-main:has(.t-chat){display:flex;overflow:hidden;padding-bottom:12px}
  #tail-v7 .t-chat{flex:1;width:100%;min-height:0;gap:14px}
  #tail-v7 .t-chat-messages{min-height:0;overflow-y:auto;overscroll-behavior:contain}
  #tail-v7 .t-chat-empty{min-height:100%;box-sizing:border-box;padding:20px 0}
  #tail-v7 .t-chat-empty h1{margin:0}
  #tail-v7 .t-chat-composer{flex:none}
  #tail-v7 .t-footer{flex:none;padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right))}
  #tail-v7 .t-overlay{position:fixed;top:var(--pwa-viewport-top,0px);bottom:auto;height:var(--pwa-viewport-height,100dvh);box-sizing:border-box;min-height:0;overflow-y:auto;padding-top:calc(40px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  #tail-v7 .t-overlay .t-dialog{max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding:12px 0 16px}
  #tail-v7 input,#tail-v7 select,#tail-v7 textarea{font-size:16px;scroll-margin:12px 0 16px}
  html[data-pwa-editing] #tail-v7 .t-footer,html[data-pwa-editing] #pwa-update{display:none}
  html[data-pwa-editing] #tail-v7 .t-overlay{padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}
  html[data-pwa-editing] #tail-v7 textarea,html[data-pwa-editing] #tail-v7 #s-body{min-height:min(96px,max(56px,calc(var(--pwa-viewport-height,100dvh) - 150px)));max-height:max(56px,calc(var(--pwa-viewport-height,100dvh) - 150px))}
  html[data-pwa-editing] #tail-v7 .t-chat-composer textarea{min-height:36px;max-height:max(36px,min(112px,calc(var(--pwa-viewport-height,100dvh) - 140px)))}
  html[data-pwa-editing] #tail-v7 .t-chat-composer:has(.t-uploads:not(:empty)) textarea{max-height:max(36px,min(112px,calc(var(--pwa-viewport-height,100dvh) - 230px)))}
  html[data-pwa-editing] #tail-v7 .t-chat-composer .t-uploads{flex-wrap:nowrap;overflow-x:auto;margin:0 7px 6px}
  html[data-pwa-editing] #tail-v7 .t-chat-composer .t-uploads:empty{margin:0}
  html[data-pwa-editing] #tail-v7 .t-chat-composer .t-uploads figure{flex:none}
  #tail-v7>p{display:none}
}

/* Input surfaces are always white, independent of the page or system theme. */
#tail-v7 .t-phone :is(input:not([type="hidden"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="range"]):not([type="color"]),textarea,select){
  background-color:#fff!important;
  background-image:none!important;
  color:#273548!important;
  caret-color:#465c76;
  color-scheme:light;
}
#tail-v7 .t-phone :is(input,textarea)::placeholder{color:#657184!important;opacity:1}
#tail-v7 .t-phone input:is(:autofill,:-webkit-autofill){-webkit-text-fill-color:#273548;box-shadow:0 0 0 1000px #fff inset}
