/* A phone layout with its own rhythm, using the same Aster type and palette. */
.hero-mobile-lock{display:none}
.mobile-menu-glyph{width:19px;height:16px;position:relative;display:block}
.mobile-menu-glyph i{display:block;position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px;transition:transform .22s ease,top .22s ease}
.mobile-menu-glyph i:first-child{top:4px}.mobile-menu-glyph i:last-child{top:11px}
.mobile-nav-toggle[aria-expanded=true] .mobile-menu-glyph i:first-child{top:7px;transform:rotate(45deg)}
.mobile-nav-toggle[aria-expanded=true] .mobile-menu-glyph i:last-child{top:7px;transform:rotate(-45deg)}
.signup-service-notice:has(.ws-status:empty){display:none}
.signup-service-notice #signup-status{margin:0}
.signup-service-notice:has(#signup-retry:not([hidden])){border:1px solid var(--ws-edge);background:var(--ws-panel);border-radius:12px;padding:20px;margin-top:20px}
.signup-service-notice #signup-retry{margin-top:15px}
#signup-service-help:not([hidden]){display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px}
#signup-service-help a{display:inline-flex;align-items:center;min-height:44px;color:var(--ws-text);text-decoration:underline;text-underline-offset:4px;font-size:14px}
.signup-card[data-service=unavailable] form,.signup-card[data-service=unavailable] #signup-oauth,.signup-card[data-service=unavailable] .signup-included{display:none}
.signup-card[data-service=loading] .signup-submit{cursor:wait}
.signup-card .signup-submit:disabled{opacity:.65;cursor:not-allowed}

@media(max-width:980px){
  .p-nav-shell{height:76px;flex-wrap:nowrap;gap:12px}
  .mobile-nav-toggle{width:48px;min-width:48px;height:48px;min-height:48px;border-radius:12px;font-size:16px;flex:none}
  .mobile-nav-toggle>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .premium-header{--mobile-nav-top:76px}
  .premium-nav{position:absolute;top:calc(100% + 8px);left:12px;right:12px;width:auto;max-height:calc(100dvh - var(--mobile-nav-top) - 12px);padding:16px;border:1px solid var(--line);border-radius:16px;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:0 24px 60px #0005}
  .premium-nav>a,.nav-disclosure>summary{font-size:19px;min-height:56px;padding:14px 12px;border-radius:9px}
  .premium-nav>a:active,.nav-disclosure>summary:active{background:color-mix(in srgb,var(--lime) 10%,transparent)}
  .premium-nav .nav-chevron{width:18px;height:18px}
  .premium-nav .mega-panel{margin:8px 0 16px;border-radius:12px}
  .premium-nav .mega-grid{grid-template-columns:1fr;gap:4px}
  .premium-nav .mega-main{padding:20px 8px}
  .premium-nav .mega-main .p-kicker{font-size:12px;line-height:1.7;letter-spacing:.06em}
  .premium-nav .mega-item{min-height:88px;gap:12px;padding:15px 10px}
  .premium-nav .mega-item strong{font-size:18px;line-height:1.4}
  .premium-nav .mega-item>span>span{font-size:15px;line-height:1.65}
  .premium-nav .mega-item strong small{font-size:10px;display:table;margin:6px 0 0}
  .premium-nav .mega-icon{width:39px;height:39px}
  .premium-nav .mega-item-cue{display:none}
  .premium-nav .mega-feature{display:block;min-height:200px;padding:25px 20px}
  .premium-nav .mega-feature>strong{font-size:25px;max-width:220px;margin:18px 0 12px}
  .premium-nav .mega-feature>span:not(.p-tag){font-size:15px}
  .premium-nav .mega-mascot{width:86px;bottom:-15px;right:-6px;opacity:.6}
  .premium-nav .mega-bottom{font-size:14px;padding:14px 18px}
  .premium-nav .mega-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .premium-nav .mobile-audit-link:not(.mobile-signin-link){background:var(--lime);color:var(--ink);justify-content:center;margin-top:14px;font-size:17px;font-weight:650;border-radius:10px}
  body.nav-menu-open{overflow:hidden}
}

@media(max-width:740px){
  html{scroll-padding-top:100px}
  .premium-site{--gutter:22px;font-size:17px}
  .p-announcement a{font-size:13px;line-height:1.5;min-height:36px;padding:7px 16px}
  .p-nav-shell{padding-inline:18px;gap:10px}
  .premium-header .wordmark{font-size:33px;flex:none}
  .p-nav-actions{gap:0;margin-left:auto}
  .p-nav-actions .nav-start-audit{display:inline-flex;min-height:46px;font-size:15px;padding:11px 14px;border-radius:10px;white-space:nowrap}
  .p-nav-actions .nav-signin{display:none}
  .premium-nav .mobile-signin-link{display:flex;order:-1;color:var(--paper);border-bottom:1px solid var(--line);border-radius:0;margin-bottom:8px}
  .mobile-nav-toggle{order:3}
  .p-hero{padding-top:30px}
  .p-hero-copy{text-align:left}
  .p-release{font-size:11px;letter-spacing:.065em;min-height:36px;padding:9px 12px}
  .p-hero h1{font-size:clamp(2rem,9.95vw,3.8rem);line-height:1.14;letter-spacing:-.06em;margin-top:27px}
  .p-hero-tagline{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:1.12em;line-height:1.16;white-space:normal;margin-top:5px}
  .hero-word-stack{line-height:1.04;margin-top:0;padding-bottom:.05em}
  .p-hero h1 .hero-word{font-size:1.38em;font-weight:400;letter-spacing:-.045em}
  .hero-mobile-lock{display:block;position:absolute;right:7px;top:-14px;width:76px;transform:rotate(12deg);pointer-events:none}
  .hero-mobile-lock .mascot{display:block;width:100%}
  .hero-mobile-lock svg{overflow:visible}
  .hero-mobile-lock:before{content:"";position:absolute;inset:-12px;background:radial-gradient(ellipse,color-mix(in srgb,var(--lime) 18%,transparent),transparent 68%);z-index:-1}
  .p-hero-copy>p{font-size:17px;line-height:1.7;max-width:100%;margin:22px 0 0;text-wrap:pretty}
  .p-hero-actions{display:grid;grid-template-columns:1fr;gap:11px;padding:0;margin-top:25px}
  .p-hero-actions .p-button{font-size:17px;min-height:54px;padding:14px 18px;border-radius:10px;gap:11px}
  .p-hero-actions .p-button .github-logo{width:20px;height:20px}
  .p-hero-actions .p-button-secondary{min-height:50px;font-size:16px}
  .p-hero-assurance{font-size:13px;line-height:1.7;justify-content:flex-start;gap:7px 14px;margin-top:18px}
  .p-hero-atmosphere{height:700px;inset-inline:0}
  .p-code-field{opacity:.35;mask-image:linear-gradient(#000,rgba(0,0,0,.55) 72%,transparent)}
  .p-ambient-halo{width:100%;left:0}
  .p-product-stage{margin-top:35px;padding-top:22px}
  .p-stage-caption{font-size:11px;letter-spacing:.025em;align-items:center}
  .p-stage-caption>span:last-child{max-width:115px}
  .p-console .demo-toolbar{padding:16px;flex-wrap:wrap;gap:12px}
  .p-console .demo-repo{font-size:13px;overflow-wrap:anywhere}
  .p-console .demo-toolbar>.sample-label{font-size:10px}
  .p-console .demo-choices button{min-height:55px;padding:12px}
  .p-console .demo-choices strong{font-size:15px}
  .p-console .demo-detail h3{font-size:25px;line-height:1.3}
  .p-console .demo-detail>p:not(.demo-file),.p-console .demo-next p{font-size:16px;line-height:1.75}
  .p-console .demo-detail h4{font-size:15px}
  .p-console .demo-code pre{font-size:13px}
  .mini-code code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}
  .mini-code>div{flex-wrap:wrap;gap:8px}
  .mini-code-note{font-size:12px;overflow-wrap:anywhere}
  .p-console .demo-bottom>a{font-size:15px;min-height:46px;align-content:center}
  .p-stage-bottom,.p-console .demo-bottom>span{font-size:12px;line-height:1.7}
  .p-button{font-size:16px;min-height:50px;border-radius:9px}
  .p-kicker,.eyebrow{font-size:12px;line-height:1.7;letter-spacing:.08em}
  .p-capability p,.p-ai-copy>p:not(.p-kicker),.p-trust-grid p,.p-principle-band p,.p-faq-list p,.p-tick-list li,.fix-explanation p,.p-section-head>p,.p-footer-cta p:not(.p-kicker){font-size:16px;line-height:1.8}
  .p-capability a,.p-text-link{font-size:16px;min-height:46px;align-content:center}
  .p-faq-list summary{font-size:18px;line-height:1.6;min-height:64px}
  .provider-picker button{font-size:14px;min-height:46px;gap:7px}
  .provider-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .diff-view>div{grid-template-columns:14px minmax(0,1fr)}
  .diff-view code{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8}
  .fix-caption{font-size:14px}.fix-caption>span:last-child,.fix-validation{font-size:12px;line-height:1.7}
  .pricing-editorial .p-plan li,.pricing-editorial .plan-summary,.free-entry-heading p,.pricing-free-entry>ul{font-size:16px}
  .pricing-editorial .p-plan>.p-button{font-size:16px;min-height:52px}
  .plan-billing-note,.plan-allowances span,.pricing-disclosure{font-size:14px;line-height:1.75}
  .plan-allowances small,.plan-provider-footer>span,.free-entry-action>small{font-size:13px}
  .p-comparison{font-size:15px}
  .p-comparison tbody tr:not(.comparison-group)>th{font-size:14px;line-height:1.6}
  .billing-toggle button{font-size:16px;min-height:48px}
  .p-footer-links>div:not(:first-child)>a{font-size:16px;min-height:44px}
  .p-footer-bottom{font-size:12px;line-height:1.7}.p-footer-bottom>a{min-height:44px;font-size:13px;align-content:center}
  .theme-picker-trigger{font-size:14px;min-height:44px}
  .p-contact-form :is(input,textarea,select),.integration-search input,.model-search input{font-size:16px;min-height:48px}
  .p-button:active,.mobile-nav-toggle:active{transform:scale(.98)}
  .signup-story{height:112px;min-height:112px;padding:28px 22px;border-right:0;border-bottom:1px solid var(--ws-edge);justify-content:center;overflow:hidden}
  .signup-story .ws-brand{font-size:36px;width:max-content;position:relative;z-index:2}
  .signup-story-copy,.signup-proof,.signup-replay{display:none}
  .signup-orbit{position:absolute;width:100px;height:100px;min-height:0;right:24px;top:6px;bottom:auto;transform:none;opacity:1;margin:0}
  .signup-orbit>.ws-lock-art{width:68px;top:10px;left:16px}
  .signup-orbit>i{width:100px;height:76px;left:0;top:10px}
  .signup-orbit>i:nth-child(2){width:80px;height:100px;left:10px;top:0}
  .signup-main{padding:18px 22px 20px}
  .signup-top{font-size:14px;gap:14px;align-items:flex-start;flex-wrap:wrap}
  .signup-top>a,.signup-top>span>a{display:inline-flex;min-height:44px;align-items:center}
  .signup-top>span{line-height:1.65}
  .signup-top>span>a{margin-left:4px}
  .signup-mode-context{display:none}
  .signup-card{padding:24px 0;width:100%;margin:0 auto}
  .signup-card h2{font-size:40px;line-height:1.12;letter-spacing:-.05em}
  .signup-card h2 br{display:none}
  .signup-intro{font-size:17px;line-height:1.7}
  .signup-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:12px;line-height:1.6;margin-bottom:26px}
  .signup-steps li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
  .signup-steps li>span{width:28px;height:28px;min-width:28px}
  .signup-card label{font-size:16px;line-height:1.5;margin-top:20px}
  .signup-card input{font-size:16px;min-height:52px;border-radius:8px}
  .signup-card .ws-button{font-size:16px;min-height:52px;border-radius:9px}
  .signup-card .ws-status{font-size:16px;line-height:1.75}
  .signup-fine,.password-help{font-size:14px;line-height:1.75}
  .password-field button{font-size:14px;min-height:44px}
  .signup-footer{font-size:14px;gap:15px}.signup-footer>a{min-height:44px;display:inline-flex;align-items:center}
  .ws-topbar{min-height:74px;gap:7px;padding-inline:14px}
  #workspace-menu-toggle,.ws-topbar-actions .ws-home-link,.ws-topbar-actions .ws-signout{font-size:14px;min-height:44px;padding-inline:10px}
  .ws-main :is(input,select,textarea){font-size:16px;min-height:48px}
  .ws-main .ws-button,.ws-main .ws-text-button{font-size:16px;min-height:46px}
  .ws-main .ws-repo-choice strong,.ws-main .finding-row strong{font-size:16px;overflow-wrap:anywhere}
  .ws-main .ws-repo-choice small,.ws-main .finding-row small{font-size:14px}
  html[data-theme=light] .p-code-field{opacity:.52}
}

@media(min-width:481px) and (max-width:740px){
  .p-hero-copy{max-width:560px;margin-inline:auto}
  .p-hero h1{font-size:clamp(2.7rem,8.1vw,3.8rem)}
  .p-hero-actions{grid-template-columns:1fr 1fr}
  .p-hero-actions .p-button{font-size:16px;padding:12px}
  .hero-mobile-lock{width:96px;right:20px}
}
@media(max-width:360px){
  .premium-site{--gutter:18px}.p-nav-shell{padding-inline:14px;gap:8px}
  .premium-header .wordmark{font-size:29px}.p-nav-actions .nav-start-audit{font-size:14px;padding-inline:10px}
  .mobile-nav-toggle{width:44px;min-width:44px;height:46px}
  .hero-mobile-lock{width:61px;right:6px;top:-5px}
  .p-release{font-size:10px;letter-spacing:.04em}.p-hero-assurance{font-size:12px}
  .p-hero h1 .hero-word{font-size:1.34em}
  .signup-main{padding-inline:18px}.signup-steps{font-size:11px}.signup-card h2{font-size:36px}
  .ws-topbar{padding-inline:10px;gap:5px}.ws-topbar-actions{gap:5px}
  #workspace-menu-toggle,.ws-topbar-actions .ws-home-link,.ws-topbar-actions .ws-signout{font-size:13px;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu-glyph i{transition:none}
  .p-button:active,.mobile-nav-toggle:active{transform:none}
}
