/* FreedomHub shared visual layer
   Direction: deep navy, burgundy, blush, and cyan. Matte surfaces, clear focus,
   modest radius, and restrained motion keep the utility hub easy to scan. */
:root{
  --fh-void:#101017;
  --fh-chrome:#0b0b10;
  --fh-surface:#1c1c28;
  --fh-surface-2:#252534;
  --fh-ink:#d7cdd2;
  --fh-strong:#f6e6ea;
  --fh-muted:#b8afb8;
  --fh-line:#403844;
  --fh-violet:#1ec1cb;
  --fh-mint:#57d3b4;
  --fh-danger:#ff8f9f;
  --fh-radius:10px;
  --fh-cyan:#1ec1cb;
  --fh-burgundy:#1a0a0f;
  --fh-blush:#f6e6ea;
}

html,
body.fh-app-body{
  background:var(--fh-void)!important;
  color:var(--fh-ink)!important;
  font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}

body.fh-app-body,
body.fh-app-body *{
  text-shadow:none!important;
}

body.fh-app-body a{color:var(--fh-cyan)}
body.fh-app-body a:hover{color:var(--fh-blush)}
body.fh-app-body .bg-static,
body.fh-app-body::before,
body.fh-app-body::after,
body.fh-home-body .wall{
  background-image:none!important;
  animation:none!important;
}

body.fh-app-body .fh-app-frame,
body.fh-app-body .fh-app-main,
body.fh-app-body .fh-root-launcher,
body.fh-app-body .fh-root-main{
  background:var(--fh-void)!important;
}

body.fh-app-body .fh-rail,
body.fh-home-body .side,
body.fh-root-rail,
body.fh-root-chrome{
  background:var(--fh-chrome)!important;
  border-color:var(--fh-line)!important;
}

body.fh-app-body .fh-rail-item,
body.fh-home-body .side .app,
body.fh-home-body .side .foot .fb,
.fh-root-rail-link,
.fh-root-brand{
  min-width:44px;
  min-height:44px;
  border-radius:8px!important;
  color:var(--fh-muted)!important;
  background:transparent!important;
}

.fh-root-tab,
.fh-root-tab *{
  text-decoration:none!important;
}

/* Tabs are split into a navigation target and a real close button so the
   active page, tab focus, and close action do not compete for one click. */
.fh-tab-main{
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  color:inherit!important;
  text-decoration:none!important;
}
.fh-tab-main>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fh-tab-close{
  display:grid;
  place-items:center;
  width:44px;
  min-width:44px;
  height:44px;
  margin-left:0!important;
  padding:0;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--fh-muted);
  cursor:pointer;
  font:inherit;
  line-height:1;
}
.fh-tab-close:hover,
.fh-tab-close:focus-visible{
  border-color:var(--fh-line);
  background:var(--fh-surface-2);
  color:var(--fh-blush);
}

body.fh-app-body .fh-rail-item:hover,
body.fh-app-body .fh-rail-item:focus-visible,
body.fh-app-body .fh-rail-item.is-current,
body.fh-home-body .side .app:hover,
body.fh-home-body .side .app:focus-visible,
body.fh-home-body .side .foot .fb:hover,
.fh-root-rail-link:hover,
.fh-root-rail-link:focus-visible,
.fh-root-rail-link.is-current,
.fh-root-brand:hover{
  background:var(--fh-surface)!important;
  border-color:var(--fh-cyan)!important;
  color:var(--fh-blush)!important;
}

body.fh-app-body .fh-rail-item.is-current,
.fh-root-rail-link.is-current{color:var(--fh-cyan)!important}
.fh-root-rail-link:focus-visible{outline:2px solid var(--fh-cyan)!important;outline-offset:2px!important}

body.fh-app-body .fh-rail-item::after{
  border-color:var(--fh-line)!important;
  border-radius:6px!important;
  background:var(--fh-surface-2)!important;
  color:var(--fh-blush)!important;
  box-shadow:none!important;
}

body.fh-app-body .fh-brand-mark,
body.fh-home-body .side .brand .bmono,
.fh-root-brand{
  border-color:var(--fh-cyan)!important;
  background:var(--fh-surface)!important;
  color:var(--fh-cyan)!important;
}

body.fh-app-body .fh-tab-strip,
body.fh-app-body .fh-toolbar,
.fh-root-toolbar{
  background:var(--fh-surface)!important;
  border-color:var(--fh-line)!important;
}

body.fh-app-body .fh-tab,
.fh-root-tab{
  border-color:var(--fh-line)!important;
  border-bottom-color:var(--fh-line)!important;
  border-radius:8px 8px 0 0!important;
  background:var(--fh-chrome)!important;
  color:var(--fh-muted)!important;
}

body.fh-app-body .fh-tab.is-active,
.fh-root-tab.is-active{
  border-color:var(--fh-line)!important;
  background:var(--fh-surface)!important;
  color:var(--fh-blush)!important;
}

body.fh-app-body .fh-new-tab,
body.fh-app-body .fh-tool-btn,
.fh-root-toolbar-btn,
.fh-root-new-tab,
.fh-root-chrome-btn{
  min-width:44px;
  min-height:44px;
  border-radius:7px!important;
  color:var(--fh-muted)!important;
  background:transparent!important;
}

body.fh-app-body .fh-new-tab:hover,
body.fh-app-body .fh-new-tab:focus-visible,
body.fh-app-body .fh-tool-btn:hover,
body.fh-app-body .fh-tool-btn:focus-visible,
.fh-root-toolbar-btn:hover,
.fh-root-toolbar-btn:focus-visible{
  background:var(--fh-surface-2)!important;
  border-color:var(--fh-line)!important;
  color:var(--fh-blush)!important;
}

body.fh-app-body .fh-route-display,
.fh-root-route{
  border-color:var(--fh-line)!important;
  border-radius:8px!important;
  background:var(--fh-void)!important;
  color:var(--fh-muted)!important;
  box-shadow:none!important;
}

body.fh-app-body .fh-route-display:focus-within,
.fh-root-route:focus-within{border-color:var(--fh-cyan)!important}

body.fh-app-body .fh-route-display>i,
body.fh-app-body .fh-address-go:hover,
body.fh-app-body .fh-address-go:focus-visible,
.fh-root-route>i{color:var(--fh-cyan)!important}

body.fh-app-body .fh-toolbar-link,
.fh-root-signin{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  border-radius:7px!important;
}

body.fh-app-body .fh-toolbar-link:hover,
body.fh-app-body .fh-toolbar-link.is-strong,
.fh-root-signin:hover{
  border-color:var(--fh-cyan)!important;
  color:var(--fh-blush)!important;
}

body.fh-app-body .page,
.fh-root-content{background:var(--fh-void)!important}

body.fh-app-body .card,
body.fh-app-body .glass-card,
body.fh-app-body .service-hero,
body.fh-app-body .service-card,
body.fh-app-body .mail-panel,
body.fh-app-body .ai-shell,
body.fh-app-body .plan,
body.fh-home-body .win,
body.fh-home-body .pop{
  background:var(--fh-surface)!important;
  border:1px solid var(--fh-line)!important;
  border-radius:var(--fh-radius)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

body.fh-app-body .card:hover,
body.fh-app-body .mail-item:hover,
body.fh-app-body .mail-item.active,
body.fh-home-body .win.active{
  border-color:var(--fh-cyan)!important;
  box-shadow:none!important;
  transform:none!important;
}

body.fh-app-body input,
body.fh-app-body textarea,
body.fh-app-body select,
body.fh-app-body .input,
body.fh-app-body .form-control{
  background:var(--fh-chrome)!important;
  border-color:var(--fh-line)!important;
  border-radius:8px!important;
  color:var(--fh-blush)!important;
  box-shadow:none!important;
}

body.fh-app-body input:focus,
body.fh-app-body textarea:focus,
body.fh-app-body select:focus,
body.fh-app-body .input:focus,
body.fh-app-body .form-control:focus{
  border-color:var(--fh-cyan)!important;
  box-shadow:none!important;
}

body.fh-app-body .btn-primary-custom,
body.fh-app-body .service-btn,
body.fh-app-body .card .btn,
body.fh-app-body .btn-nav,
body.fh-app-body .send,
body.fh-app-body .mail-compose,
body.fh-app-body #ai-go,
body.fh-app-body .btn1,
body.fh-vpn-page .btn{
  min-height:44px;
  background:var(--fh-cyan)!important;
  border:1px solid var(--fh-cyan)!important;
  border-radius:8px!important;
  color:#101017!important;
  box-shadow:none!important;
}

body.fh-app-body .btn-primary-custom:hover,
body.fh-app-body .service-btn:hover,
body.fh-app-body .card .btn:hover,
body.fh-app-body .send:hover,
body.fh-app-body .mail-compose:hover,
body.fh-app-body #ai-go:hover,
body.fh-vpn-page .btn:hover{
  background:var(--fh-blush)!important;
  border-color:var(--fh-blush)!important;
  color:var(--fh-burgundy)!important;
  transform:none!important;
}

body.fh-app-body .fh-root-launcher{
  font-family:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
}

.fh-root-rail{width:60px;min-width:60px;padding:14px 4px max(12px,env(safe-area-inset-bottom))!important;gap:6px!important}
.fh-root-main{min-width:0}
.fh-root-chrome{height:58px;min-height:58px;padding-inline:18px!important}
.fh-root-tab{min-width:230px;height:42px;padding-inline:13px!important;font-weight:600}
.fh-root-account{margin-bottom:7px!important}
.fh-root-content{padding:42px 30px 56px!important}
.fh-root-inner{max-width:1120px!important}
.fh-root-hero{
  align-items:flex-start!important;
  gap:0!important;
  padding:0 0 30px!important;
  text-align:left!important;
}
.fh-root-eyebrow{margin-bottom:10px!important;color:var(--fh-cyan)!important;letter-spacing:.12em!important}
.fh-root-hero h1{color:var(--fh-blush)!important;font-size:clamp(26px,3.3vw,42px)!important;letter-spacing:-.04em!important}
.fh-root-hero p{max-width:640px!important;margin:12px 0 0!important;color:var(--fh-muted)!important;line-height:1.65!important}
.fh-root-section-head{margin-bottom:12px!important}
.fh-root-section-head h2{color:var(--fh-blush)!important;letter-spacing:.09em!important}
.fh-root-section-head span{display:none!important}
.fh-root-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.fh-root-card{
  min-height:126px!important;
  padding:15px!important;
  border-radius:10px!important;
  background:var(--fh-surface)!important;
  border-color:var(--fh-line)!important;
}
.fh-root-card:hover,
.fh-root-card:focus-visible{background:var(--fh-surface-2)!important;border-color:var(--fh-cyan)!important;transform:none!important}
.fh-root-card-icon{width:36px!important;height:36px!important;margin-bottom:14px!important;border-color:var(--fh-line)!important;border-radius:7px!important;color:var(--fh-cyan)!important}
.fh-root-card strong{color:var(--fh-blush)!important}
.fh-root-card small{color:var(--fh-muted)!important}
.fh-root-community{margin-top:34px!important;padding-top:28px;border-top:1px solid var(--fh-line)}
.fh-root-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.fh-root-grid-secondary .fh-root-card{min-height:78px!important;display:grid!important;grid-template-columns:36px 1fr!important;grid-template-rows:auto auto!important;column-gap:12px!important;align-items:center!important}
.fh-root-grid-secondary .fh-root-card-icon{grid-row:1 / span 2;margin:0!important}
.fh-root-grid-secondary .fh-root-card small{margin-top:0!important}
.fh-root-footer{margin-top:36px!important;border-color:var(--fh-line)!important}
.fh-root-footer span{color:var(--fh-muted)!important}
.fh-root-footer span i{display:none!important}
.fh-root-footer a{color:var(--fh-muted)!important}

body.fh-app-body .premium-modal,
body.fh-home-body .pop-back{background:rgba(16,16,23,.94)!important;backdrop-filter:none!important}
body.fh-app-body .premium-modal-card{background:var(--fh-surface)!important;border-color:var(--fh-line)!important;box-shadow:none!important}
body.fh-app-body .fh-message-link{border-color:var(--fh-cyan)!important;border-radius:8px!important;background:var(--fh-surface)!important;color:var(--fh-blush)!important}
body.fh-app-body .fh-message-link:hover{background:var(--fh-cyan)!important;color:#101017!important}

body.fh-app-body .fh-messenger-page .messenger-shell,
body.fh-app-body .fh-messenger-page .messenger-sidebar,
body.fh-app-body .fh-messenger-page .chat-header,
body.fh-app-body .fh-messenger-page .composer,
body.fh-app-body .fh-ai-page .ai-nav,
body.fh-app-body .fh-ai-page .ai-sidebar,
body.fh-app-body .fh-ai-page .ai-chat-top,
body.fh-app-body .fh-ai-page .ai-composer{
  background:var(--fh-surface)!important;
  border-color:var(--fh-line)!important;
  box-shadow:none!important;
}
body.fh-app-body .fh-messenger-page .messages-container,
body.fh-app-body .fh-messenger-page .messenger-main,
body.fh-app-body .fh-messenger-page .composer-wrap,
body.fh-app-body .fh-ai-page .ai-workspace{background:var(--fh-void)!important;background-image:none!important}
body.fh-app-body .fh-messenger-page .chat-row.active,
body.fh-app-body .fh-messenger-page .chat-row:hover{background:var(--fh-surface-2)!important;border-color:var(--fh-cyan)!important}
body.fh-app-body .fh-messenger-page .message-bubble{background:var(--fh-surface-2)!important;box-shadow:none!important}
body.fh-app-body .fh-messenger-page .mine .message-bubble,
body.fh-app-body .fh-ai-page .ai-message.user{background:var(--fh-burgundy)!important;border-color:#6d3445!important}

body.fh-vpn-page .location-card{background:var(--fh-surface)!important;border-color:var(--fh-cyan)!important}
body.fh-vpn-page .btn.ghost{background:transparent!important;border-color:var(--fh-line)!important;color:var(--fh-ink)!important}
body.fh-vpn-page .badge{border-color:var(--fh-cyan)!important;border-radius:6px!important;color:var(--fh-cyan)!important}
body.fh-vpn-page .loc-btn:hover,
body.fh-vpn-page .loc-btn[aria-pressed="true"]{background:var(--fh-surface-2)!important;border-color:var(--fh-cyan)!important;transform:none!important}

body.fh-app-body *:focus-visible{outline:2px solid var(--fh-cyan)!important;outline-offset:3px!important}
body.fh-app-body *{scrollbar-color:#5a4b56 var(--fh-void)}
body.fh-app-body ::-webkit-scrollbar{width:9px;height:9px}
body.fh-app-body ::-webkit-scrollbar-track{background:var(--fh-void)}
body.fh-app-body ::-webkit-scrollbar-thumb{background:#5a4b56;border-radius:4px;border:2px solid var(--fh-void)}

@media(max-width:900px){
  .fh-root-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fh-root-content{padding-inline:22px!important}
}
@media(max-width:680px){
  .fh-root-rail{width:60px;min-width:60px;padding:12px 4px max(10px,env(safe-area-inset-bottom))!important;gap:5px!important}
  .fh-root-brand,.fh-root-rail-link{width:42px;height:42px}
  .fh-root-tab{min-width:190px}
  .fh-root-content{padding:30px 16px 48px!important}
  .fh-root-hero h1{font-size:27px!important}
  .fh-root-route{font-size:10px}
}
@media(max-width:430px){
  .fh-root-rail{width:56px;min-width:56px;padding-inline:3px!important}
  .fh-root-brand,.fh-root-rail-link{width:40px;height:40px}
  .fh-root-chrome{padding-inline:8px!important}
  .fh-root-tab{min-width:150px;padding-inline:9px!important;font-size:.74rem}
  .fh-root-toolbar{padding-inline:8px!important;gap:4px}
  .fh-root-toolbar-nav{display:none}
  .fh-root-grid,.fh-root-grid-secondary{grid-template-columns:1fr!important}
  .fh-root-footer{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  body.fh-app-body *,
  body.fh-app-body *::before,
  body.fh-app-body *::after{animation-duration:.01ms!important;transition:none!important}
}

/* Compact browser-workspace chrome: tabs scroll within their strip, while
   toolbar controls keep a usable hit area at narrow widths. */
body.fh-app-body .fh-tab-strip{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:#5a4b56 var(--fh-surface);
}
body.fh-app-body .fh-tab{
  flex:0 0 clamp(132px,18vw,220px);
  min-width:0;
  max-width:none;
  height:40px;
  padding-inline:8px;
}
body.fh-app-body .fh-tab.is-active,
.fh-root-tab{
  background:var(--fh-surface-2)!important;
  border-color:var(--fh-cyan)!important;
  color:var(--fh-blush)!important;
}
body.fh-app-body .fh-tab-actions{flex:0 0 auto}
.fh-root-chrome{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:#5a4b56 var(--fh-chrome);
}
.fh-root-tab{
  flex:0 0 clamp(150px,24vw,230px);
  min-width:0;
  max-width:none;
  height:auto;
  min-height:46px;
  padding-inline:8px!important;
}
body.fh-app-body .fh-toolbar,
.fh-root-toolbar{
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  flex-wrap:nowrap;
  scrollbar-width:thin;
  scrollbar-color:#5a4b56 var(--fh-surface);
}
body.fh-app-body .fh-toolbar-group,
body.fh-app-body .fh-tab-actions,
.fh-root-toolbar-nav{flex:0 0 auto}
body.fh-app-body .fh-route-display,
.fh-root-route{min-width:0}
body.fh-app-body .fh-tab-main:focus-visible,
body.fh-app-body .fh-tab-close:focus-visible,
body.fh-app-body .fh-new-tab:focus-visible,
body.fh-app-body .fh-tool-btn:focus-visible,
body.fh-app-body .fh-toolbar-link:focus-visible,
.fh-tab-main:focus-visible,
.fh-tab-close:focus-visible,
.fh-root-toolbar-btn:focus-visible,
.fh-root-new-tab:focus-visible,
.fh-root-chrome-btn:focus-visible{
  outline:2px solid var(--fh-cyan)!important;
  outline-offset:2px!important;
}
@media(max-width:520px){
  body.fh-app-body .fh-tab{flex-basis:clamp(116px,38vw,170px)}
  body.fh-app-body .fh-toolbar{gap:5px;padding-inline:6px}
  .fh-root-tab{flex-basis:clamp(132px,52vw,180px)}
}

/* The launcher is a search-and-shortcuts page, not a marketing landing page. */
body.fh-home-body .fh-root-content{display:flex;align-items:center;justify-content:center;padding:24px!important}
body.fh-home-body .fh-root-inner{max-width:720px!important;display:flex;flex-direction:column;align-items:center}
body.fh-home-body .fh-root-hero{width:100%;align-items:center!important;gap:0!important;padding:0!important;border:0!important;text-align:center!important}
body.fh-home-body .fh-root-hero h1{width:100%;text-align:center!important;font-size:clamp(36px,5vw,54px)!important;font-weight:700!important;letter-spacing:-.06em!important}
body.fh-home-body .fh-root-search{height:48px;margin:22px auto 12px;padding-inline:14px;border-radius:9px;background:var(--fh-burgundy)}
body.fh-home-body .fh-root-search:focus-within{border-color:var(--fh-cyan)}
@media(max-width:520px){body.fh-home-body .fh-root-content{padding:18px 12px!important}}
@media(max-height:720px){
  body.fh-app-body .fh-rail,.fh-root-rail{gap:0!important;padding-top:8px!important;padding-bottom:8px!important}
  .fh-rail-brand,.fh-rail-item,.fh-root-brand,.fh-root-rail-link{width:34px!important;height:34px!important;min-height:34px!important}
  .fh-rail-divider,.fh-root-rail-divider{margin:1px 0!important}
}

/* One compact shell scale for the launcher and PHP pages. The visible rail
   tile sits inside its link, leaving a larger area for mouse and touch input. */
body.fh-app-body .fh-rail,
.fh-root-rail{
  width:48px!important;
  min-width:48px!important;
  gap:1px!important;
  padding:5px 2px max(5px,env(safe-area-inset-bottom))!important;
}
body.fh-app-body .fh-rail-nav{gap:1px}
body.fh-app-body .fh-rail-brand,
body.fh-app-body .fh-rail-item,
.fh-root-brand,
.fh-root-rail-link{
  position:relative;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-color:transparent!important;
  background:transparent!important;
  font-size:14px;
  isolation:isolate;
}
body.fh-app-body .fh-rail-brand::before,
body.fh-app-body .fh-rail-item::before,
.fh-root-brand::before,
.fh-root-rail-link::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:-1;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
}
body.fh-app-body .fh-rail-brand::before,
.fh-root-brand::before{
  border-color:var(--fh-cyan);
  background:var(--fh-surface);
}
body.fh-app-body .fh-rail-item:is(:hover,:focus-visible,.is-current),
.fh-root-rail-link:is(:hover,:focus-visible,.is-current),
.fh-root-brand:hover{
  border-color:transparent!important;
  background:transparent!important;
}
body.fh-app-body .fh-rail-item:is(:hover,:focus-visible)::before,
.fh-root-rail-link:is(:hover,:focus-visible)::before,
.fh-root-brand:hover::before{
  border-color:var(--fh-line);
  background:var(--fh-surface);
}
body.fh-app-body .fh-rail-item.is-current::before,
.fh-root-rail-link.is-current::before{
  border-color:var(--fh-cyan);
  background:var(--fh-surface);
}
body.fh-app-body .fh-brand-mark{width:28px;height:28px;border:0!important;background:transparent!important}
body.fh-app-body .fh-brand-mark img,
.fh-root-brand img{width:15px;height:15px}
body.fh-app-body .fh-rail-item i,
.fh-root-rail-link i{font-size:13px}
body.fh-app-body .fh-nav-icon,
.fh-root-rail-link .fh-nav-icon{width:15px;height:15px}
body.fh-app-body .fh-rail-divider,
.fh-root-rail-divider{width:27px;margin:1px 0}
body.fh-app-body .fh-rail-item::after{left:42px}

body.fh-app-body .fh-tab-strip{height:38px;gap:3px;padding-inline:7px}
body.fh-app-body .fh-tab{height:31px;flex-basis:clamp(105px,15vw,165px);gap:5px;padding-inline:6px;font-size:.69rem}
body.fh-app-body .fh-tab-actions{padding-bottom:0}
.fh-root-chrome{height:38px;min-height:38px;gap:3px;padding-inline:7px!important}
.fh-root-tab{height:31px!important;min-height:31px;flex-basis:clamp(105px,15vw,165px);gap:5px;padding-inline:6px!important;font-size:.69rem}
.fh-tab-close{width:28px;min-width:28px;height:28px;font-size:14px}
body.fh-app-body .fh-new-tab,
.fh-root-new-tab{width:30px;min-width:30px;height:30px;min-height:30px;margin-bottom:1px;font-size:16px}
.fh-root-account{margin-bottom:2px!important}
body.fh-app-body .fh-toolbar,
.fh-root-toolbar{height:38px;min-height:38px;gap:5px;padding-inline:7px!important}
body.fh-app-body .fh-tool-btn,
.fh-root-toolbar-btn{width:30px;min-width:30px;height:30px;min-height:30px;font-size:17px}
body.fh-app-body .fh-route-display,
.fh-root-route{height:30px;font-size:10px}
body.fh-app-body .fh-toolbar-link,
.fh-root-signin{min-height:30px;padding:4px 7px;font-size:10px}
body.fh-app-body .page{padding:16px clamp(12px,2.5vw,28px) 26px}
body.fh-app-body.fh-messenger-page>.fh-app-frame .page,
body.fh-app-body.fh-ai-page>.fh-app-frame .page{padding:0}

body.fh-home-body .fh-root-inner{max-width:620px!important}
body.fh-home-body .fh-root-hero h1{font-size:clamp(28px,3.5vw,40px)!important}
body.fh-home-body .fh-root-search{width:min(100%,400px);height:40px;margin:14px auto 7px;padding-inline:10px}
body.fh-home-body .fh-root-search input{font-size:12px}
.fh-home-shortcuts{gap:5px;margin:6px 0 11px}
.fh-home-shortcuts a{min-width:62px;gap:5px;padding:6px 4px;font-size:10px}
.fh-home-shortcuts a i{width:38px;height:38px;font-size:14px}
.fh-home-all-apps{width:min(100%,400px);padding-top:8px}

@media(max-width:600px){
  body.fh-app-body .fh-tab-strip,.fh-root-chrome{height:48px;min-height:48px}
  body.fh-app-body .fh-tab,.fh-root-tab{height:44px!important;min-height:44px}
  .fh-tab-close{width:44px;min-width:44px;height:44px}
  body.fh-app-body .fh-new-tab,.fh-root-new-tab,
  body.fh-app-body .fh-tool-btn,.fh-root-toolbar-btn{width:44px;min-width:44px;height:44px;min-height:44px}
  body.fh-app-body .fh-toolbar,.fh-root-toolbar{height:52px;min-height:52px}
  body.fh-app-body .fh-route-display,.fh-root-route{height:44px}
  body.fh-app-body .fh-address-go{width:44px;height:44px;flex-basis:44px}
  body.fh-app-body .fh-toolbar-link,.fh-root-signin{min-height:44px}
  body.fh-home-body .fh-root-content{padding-inline:12px!important}
}
@media(max-height:720px) and (min-width:601px){
  body.fh-app-body .fh-rail-brand,
  body.fh-app-body .fh-rail-item,
  .fh-root-brand,
  .fh-root-rail-link{height:34px!important;min-height:34px!important}
  body.fh-app-body .fh-rail-brand::before,
  body.fh-app-body .fh-rail-item::before,
  .fh-root-brand::before,
  .fh-root-rail-link::before{inset:4px 8px}
}

/* Chat workspaces use the space left below the browser chrome. */
body.fh-app-body.fh-ai-page,
body.fh-app-body.fh-messenger-page{overflow:hidden;height:100dvh;min-height:0}
body.fh-app-body.fh-ai-page>.fh-app-frame .fh-browser-page,
body.fh-app-body.fh-messenger-page>.fh-app-frame .fh-browser-page{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}
body.fh-app-body.fh-ai-page>.fh-app-frame .ai-workspace{height:100%;min-height:0;flex:1 1 0}
body.fh-app-body.fh-messenger-page>.fh-app-frame .messenger-shell{height:100%;min-height:0;flex:1 1 0;max-width:none}
body.fh-app-body.fh-messenger-page>.fh-app-frame .messenger-main,
body.fh-app-body.fh-messenger-page>.fh-app-frame .messenger-sidebar{min-height:0}
body.fh-app-body.fh-messenger-page>.fh-app-frame .chat-list,
body.fh-app-body.fh-messenger-page>.fh-app-frame .messages-container{min-height:0;overflow-y:auto}

/* Match the welcome menu's compact browser dimensions on every tool page. */
@media(min-width:601px){
 body.fh-app-body .fh-tab-strip,.fh-root-chrome{height:38px;min-height:38px;}
 body.fh-app-body .fh-tab,.fh-root-tab{height:31px!important;min-height:31px;padding-inline:6px!important;}
 body.fh-app-body .fh-tab-close,.fh-root-tab-close{width:28px;min-width:28px;height:28px;min-height:28px;}
}
