/* Original public-page styles live in assets; these rules replace runtime layout. */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { color: #0a0b0d; }
button, a, [role="button"] { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid #0052ff; outline-offset: 4px; }
[hidden] { display: none !important; }
[data-testid="main-nav"] { display: block; position: sticky; top: 0; z-index: 100; background: #fff; }
[class*="MainNav__StickyWrapper"] { position: static !important; }
[class*="TrapdoorContentWrapper__Wrapper"], [class*="TrapdoorContentWrapper__Overlay"] { display: none; }
[data-testid="main-nav"].company-open [class*="TrapdoorContentWrapper__Wrapper"] { display: flex; visibility: visible; opacity: 1; pointer-events: auto; }
[data-testid="main-nav"].company-open [class*="TrapdoorContentWrapper__Overlay"] { display: flex; pointer-events: auto; opacity: 1; }
[data-testid="main-nav"].category-open [class*="TrapdoorContentWrapper__Overlay"] { display: flex; pointer-events: auto; opacity: 1; }
[data-testid="main-nav"] [class*="MainNav__LanguageSelectorButtonWrapper"] { flex: 0 0 auto; }
[data-testid="main-nav"] [class*="MainNav__LinksWrapper"] { align-items: center; }
.nav-category { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 14px; border: 0; border-radius: 8px; background: transparent; color: #0a0b0d; font: inherit; font-size: 14px; font-weight: 700; white-space: nowrap; }
.nav-category::after, [data-testid="main-nav-link-company"]::after { content: ''; width: 6px; height: 6px; margin-left: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.nav-category[aria-expanded="true"]::after, [data-testid="main-nav-link-company"][aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
.nav-category:hover, .nav-category[aria-expanded="true"] { background: #eef0f3; }
.nav-category-panel { position: absolute; top: 100%; left: 0; right: 0; z-index: 4; box-sizing: border-box; padding: 32px max(32px, calc((100% - 1280px) / 2)); max-height: calc(100dvh - 80px); overflow-y: auto; background: #fff; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; box-shadow: 0 18px 32px #0a0b0d18; }
.nav-category-panel h2 { margin: 0 0 20px; font-size: 22px; line-height: 1.4; }
.nav-category-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 24px; }
.nav-category-links a { display: block; padding: 16px; border-radius: 12px; color: #0a0b0d; font-size: 16px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.nav-category-links a:hover { color: #0052ff; background: #f5f8ff; }
[data-testid="main-nav"].company-open [class*="TrapdoorContentWrapper__Wrapper"] { flex-direction: column; max-height: calc(100dvh - 80px) !important; }
.company-extra-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 0 32px 32px; }
.company-extra-links a { color: #0a0b0d; font-size: 14px; line-height: 1.5; padding: 12px; border-radius: 8px; }
.company-extra-links a:hover { background: #f5f8ff; color: #0052ff; }
[data-testid="dynamic-footer-rich-text"] { line-height: 1.6; }
[data-testid="dynamic-footer-rich-text"] p { line-height: 1.6 !important; }
.menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border: 0; border-radius: 50%; background: #eef0f3; color: #0a0b0d; }
.menu-toggle svg { width: 22px; height: 22px; }
.mobile-menu { position: fixed; top: calc(68px + env(safe-area-inset-top, 0px)); right: 0; bottom: 0; left: 0; z-index: 99; background: white; padding: 20px 24px max(32px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-menu a, .mobile-menu summary { display: block; padding: 18px 0; border-bottom: 1px solid #e5e7eb; color: #0a0b0d; font-size: 20px; font-weight: 600; }
.mobile-menu summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.mobile-menu summary::after { content: '+'; }
.mobile-menu details[open] summary::after { content: '−'; }
.mobile-menu details a { padding: 13px 16px; font-size: 16px; font-weight: 400; }
.mobile-menu .menu-account { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.mobile-menu .menu-account a { text-align: center; font-size: 16px; border: 0; border-radius: 28px; background: #eef0f3; }
.mobile-menu .menu-account a:last-child { color: white; background: #0052ff; }
.static-dialog { box-sizing: border-box; width: min(560px, calc(100% - 32px)); max-height: 85vh; max-height: 85dvh; overflow: auto; border: 1px solid #e5e7eb; border-radius: 24px; padding: 32px; color: #0a0b0d; background: white; box-shadow: 0 12px 60px #0002; }
.static-dialog::backdrop { background: #0a0b0d66; }
.static-dialog h2 { margin: 8px 48px 24px 0; font-size: 26px; line-height: 1.3; }
.static-dialog p { line-height: 1.7; color: #5b616e; margin: 14px 0; }
.static-dialog .close-dialog { position: absolute; top: 20px; right: 20px; border: 0; border-radius: 50%; background: #eef0f3; width: 36px; height: 36px; font-size: 24px; }
.static-dialog a { color: #0052ff; text-decoration: underline; }
.static-dialog .dialog-links { display: grid; gap: 16px; }
.static-dialog .dialog-primary { display: block; padding: 14px; margin-top: 24px; background: #0052ff; color: white; text-align: center; border-radius: 28px; text-decoration: none; }
.static-dialog summary { padding: 16px 0; cursor: pointer; line-height: 1.5; font-weight: 600; }
.static-dialog details { border-bottom: 1px solid #e5e7eb; }
.static-notice { padding: 12px 24px; font-size: 12px; line-height: 1.6; color: #5b616e; background: #eef0f3; text-align: center; }
@media (max-width: 1199px) {
 [data-testid="main-nav"] { height: calc(68px + env(safe-area-inset-top, 0px)); padding-top: env(safe-area-inset-top, 0px); }
 [data-testid="main-nav"] [class*="MainNav__LinksWrapper"], [data-testid="main-nav"] [aria-label="search"], [data-testid="main-nav"] [aria-label="言語を選択"] { display: none !important; }
 [data-testid="main-nav"] [class*="CDXContainer"] { width: 100%; max-width: none; padding: 12px 20px; gap: 8px; align-items: center; min-height: 68px; }
 [data-testid="main-nav"] [class*="LogoWrapper__Wrapper"] { margin-right: auto; flex-shrink: 0; }
 [data-testid="main-nav"] [class*="MainNav__LanguageSelectorButtonWrapper"] { display: flex; gap: 8px; margin: 0; }
 [data-testid="main-nav"] [data-testid="header-home-link"] img { width: 36px; height: 36px; }
 [data-testid="main-nav"] [data-testid="header-sign-in-button"], [data-testid="main-nav"] [data-testid="header-get-started-button"] { padding: 12px 18px; min-width: auto; height: 44px; white-space: nowrap; }
 .menu-toggle { display: flex; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] { grid-template-columns: minmax(0, 1fr) !important; width: 100%; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] > div { min-width: 0; border-right: 0; }
}
@media (max-width: 600px) {
 html { scroll-padding-top: 84px; }
 [data-testid="main-nav"] [class*="CDXContainer"] { padding-left: 16px; padding-right: 16px; }
 [data-testid="main-nav"] + header { padding: 24px 20px; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] > div > div > div { padding-left: 20px; padding-right: 20px; }
 img[src*="monad-3x1"] { min-height: 116px; object-fit: cover; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] p { overflow-wrap: anywhere; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] ._4-_sm7rau { padding-left: 20px; padding-right: 20px; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] ._-4--1g6vl32 { margin-left: -20px; margin-right: -20px; min-width: 0; }
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] > div > div > div:nth-child(2),
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] > div > div > div:nth-child(3),
 [style*="--desktop-gridTemplateColumns:2fr 1fr"] > div > div > div:nth-child(4) { padding-left: 0; padding-right: 0; }
 footer [id="footer-site-index-inner"] { padding: 48px 20px 32px; }
 .static-dialog { padding: 24px; border-radius: 20px; }
 .static-dialog h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
