
/* snowooball lab — Korean / English / Japanese site navigation */
.nav-links .lang-switch{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid #dce8e3;border-radius:100px;background:#f5f7f3;flex-shrink:0;white-space:nowrap}
.nav-links .lang-switch a{font-size:11px;font-weight:750;color:#688485;padding:7px 8px;border-radius:100px;width:auto;line-height:1;transition:background .2s}
.nav-links .lang-switch a.is-active{background:#4f90a0;color:#fff}
.nav-links .lang-switch a:hover:not(.is-active){background:#e2ece7;color:#315d65}
.footer-snow-orbs{position:relative;display:block!important;width:50px;height:42px;line-height:1}
.footer-snow-orbs i{position:absolute;border-radius:50%}
.footer-snow-orbs i:nth-child(1){width:25px;height:25px;background:#9dbfd6;left:11px;top:0}
.footer-snow-orbs i:nth-child(2){width:24px;height:24px;background:#afd4cd;left:2px;top:15px}
.footer-snow-orbs i:nth-child(3){width:24px;height:24px;background:#9cbfa7;left:23px;top:15px}
html:lang(en) body,html:lang(ja) body{word-break:normal;overflow-wrap:break-word}
html:lang(ja) body{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',sans-serif}
html:lang(en) .hero-v2-headline, html:lang(ja) .hero-v2-headline{letter-spacing:-.045em!important}
html:lang(en) .hero-v2-headline{font-size:clamp(48px,5vw,76px)!important}
html:lang(ja) .hero-v2-headline{font-size:clamp(38px,4vw,62px)!important}
html:lang(ja) .hero-v2-sub{font-size:clamp(19px,2.3vw,28px)}
html:lang(en) .manifesto-grid h2,html:lang(ja) .manifesto-grid h2{letter-spacing:-.04em}
@media(max-width:1100px){.nav-shell{gap:15px}.nav-links{gap:12px}.brand-lab>span:last-child{font-size:17px}.nav-links a{font-size:12px}}
@media(max-width:950px){.site-header{height:75px}.nav-toggle{display:flex;margin-left:0}.nav-links{display:none;position:absolute;left:0;right:0;top:74px;background:#f9f7f1;padding:14px 24px 23px;box-shadow:0 16px 25px #183e4420;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid #dbe8e1}.nav-links.is-open{display:flex}.nav-links>a{width:100%;padding:13px 8px;font-size:14px}.nav-links .lang-switch{margin-top:12px}.nav-cta{margin-left:auto}}
@media(max-width:600px){html:lang(en) .hero-v2-headline{font-size:clamp(37px,8.8vw,54px)!important}html:lang(ja) .hero-v2-headline{font-size:clamp(31px,7.8vw,46px)!important}.brand-lab small{max-width:170px}.nav-cta{font-size:10px;padding:10px 12px}.nav-shell{gap:8px}}

/* Japanese field-guide hero: keep the intended two-line rhythm */
html:lang(ja) .guide-heading-area h1.ja-manual-heading {
  font-size: clamp(25px, 3.3vw, 50px);
  letter-spacing: -0.055em;
  line-height: 1.35;
}
html:lang(ja) .ja-manual-heading .ja-manual-heading-first {
  display: inline-block;
  white-space: nowrap;
  color: inherit;
}
html:lang(ja) .ja-manual-heading .ja-manual-heading-accent { color: #4a8da3; }
@media (max-width: 380px) {
  html:lang(ja) .guide-heading-area h1.ja-manual-heading { font-size: 22px; }
}

/* v8.3: Japanese manifesto line breaks — no stranded final kana */
html:lang(ja) .manifesto-grid h2 .ja-manifesto-last {
  display: inline-block;
  white-space: nowrap;
}
@media (max-width: 600px) {
  html:lang(ja) .manifesto-grid h2 {
    font-size: clamp(24px, 7.4vw, 40px);
    letter-spacing: -.04em;
  }
}

/* v8.4 — Official snowooball lab contact, all three language homepages */
.contact-section{background:#f9f7f1;padding-top:100px;padding-bottom:112px;scroll-margin-top:84px}
.contact-card{position:relative;display:grid;grid-template-columns:205px minmax(0,1fr);gap:38px;align-items:center;overflow:hidden;background:#edf4f0;border:1px solid #dceae3;border-radius:30px;padding:62px 70px;box-shadow:0 18px 55px rgba(60,94,91,.055)}
.contact-card:after{content:"";position:absolute;pointer-events:none;right:-85px;top:-85px;width:320px;height:320px;background:radial-gradient(circle,rgba(188,217,224,.47),transparent 67%);border-radius:50%}
.contact-illustration{position:relative;width:177px;height:177px;display:grid;place-items:center;background:linear-gradient(145deg,#fefdf9 5%,#d9eaf0 100%);border:1px solid #dbe9e5;border-radius:43%;box-shadow:0 16px 30px rgba(57,105,107,.09);transform:rotate(-7deg)}
.contact-letter{font-size:83px;filter:drop-shadow(0 7px 7px rgba(64,90,93,.08));transform:rotate(7deg)}
.contact-sparkle{position:absolute;right:2px;top:3px;font-size:33px;color:#b3c9a8;transform:rotate(8deg)}
.contact-small-dot{position:absolute;left:13px;bottom:12px;font-size:14px;color:#a7d3dc}
.contact-copy{position:relative;z-index:1;min-width:0;max-width:740px}
.contact-copy .section-kicker{display:inline-flex;gap:14px;color:#769b96}
.contact-copy h2{font-size:clamp(29px,3.35vw,45px);line-height:1.35;letter-spacing:-.035em;color:#315d65;margin:17px 0 23px;overflow-wrap:break-word}
.contact-heading-whale{font-size:.72em;vertical-align:middle;white-space:nowrap}
.contact-copy p{font-size:14px;line-height:1.93;color:#668079;margin:10px 0}
.contact-copy .contact-question{font-weight:750;font-size:17px;color:#3e706f;margin-bottom:15px}
.contact-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:25px 0 22px}
.contact-button{font-size:13px;text-decoration:none;white-space:normal}
.contact-email{font-size:13px;font-weight:730;color:#437d88;text-decoration:underline;text-decoration-color:#a4c7c9;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-copy .contact-closing{margin:23px 0 0;font-size:13px;color:#839a8f;line-height:1.9}
.contact-closing strong{font-weight:750;color:#578b90;font-size:15px}
.download-warning-note{display:flex;align-items:baseline;gap:7px;max-width:580px;margin-top:10px!important;font-size:11px!important;line-height:1.75!important;color:#748e87!important}
.download-warning-note a{color:#356977;font-weight:800;text-decoration:underline}
@media(max-width:900px){.contact-card{grid-template-columns:130px minmax(0,1fr);gap:27px;padding:45px 35px}.contact-illustration{width:122px;height:122px;border-radius:35px}.contact-letter{font-size:60px}.contact-sparkle{font-size:23px}}
@media(max-width:650px){.contact-section{padding-top:65px;padding-bottom:75px}.contact-card{display:block;padding:30px 23px 36px;border-radius:22px}.contact-illustration{width:75px;height:75px;border-radius:24px;margin-bottom:27px}.contact-letter{font-size:40px}.contact-sparkle{font-size:17px}.contact-copy h2{font-size:clamp(28px,7vw,38px);margin:14px 0 21px}.contact-copy p{font-size:13px;line-height:1.85}.contact-copy .contact-question{font-size:15px}.contact-actions{gap:15px}.contact-email{font-size:13px}.download-warning-note{display:block}}


/* v8.5 — Clear, directly clickable email CTAs (all language homepages) */
.nav-links .nav-contact-link{color:#2d788a;font-weight:800}
.nav-links .nav-contact-link:hover{color:#184e60}
.download-warning-note{display:flex;align-items:flex-start;gap:8px;margin-bottom:9px!important}
.download-warning-note>span:first-child{flex:0 0 auto}
.download-help-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;padding:12px 17px;margin-top:7px;color:#2e6b7b!important;background:#f9fffc;border:1.5px solid #a8c9cb;border-radius:99px;font-size:13px;font-weight:800;text-decoration:none;box-shadow:0 3px 12px #477d8430;transition:background .2s,transform .2s,border-color .2s}
.download-help-link:hover{background:#fff;border-color:#6199a7;transform:translateY(-2px)}
.download-help-link:focus-visible,.contact-mail-card:focus-visible{outline:3px solid #317d96;outline-offset:4px}
.contact-mail-card{display:flex;align-items:center;gap:16px;width:100%;max-width:690px;padding:19px 19px;margin:24px 0 17px;background:#fffefa;color:#305d6b;text-decoration:none;border:2px solid #a2c6ce;border-radius:18px;box-shadow:0 8px 22px rgba(46,110,120,.10);transition:transform .2s,box-shadow .2s,border-color .2s}
.contact-mail-card:hover{transform:translateY(-3px);border-color:#438fa5;box-shadow:0 13px 30px rgba(46,110,120,.18)}
.contact-mail-symbol{width:52px;height:52px;flex:0 0 52px;border-radius:15px;display:grid;place-items:center;background:#e3f2f3;color:#377c94;font-size:29px}
.contact-mail-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.contact-mail-info small{font-size:11px;letter-spacing:.01em;font-weight:760;color:#65909a}
.contact-mail-info strong{font-size:clamp(16px,1.65vw,22px);letter-spacing:-.035em;color:#285e72;overflow-wrap:anywhere}
.contact-mail-action{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-width:116px;padding:13px 17px;color:white;background:#316e7c;border-radius:12px;font-size:13px;font-weight:790;box-shadow:0 5px 12px rgba(49,110,124,.13)}
.contact-mail-card:hover .contact-mail-action{background:#205563}
@media(max-width:900px){.contact-mail-card{gap:12px;padding:15px}.contact-mail-symbol{width:42px;height:42px;flex-basis:42px;font-size:23px}.contact-mail-action{min-width:0;padding:12px}}
@media(max-width:650px){.download-help-link{font-size:12px;line-height:1.55;padding:11px 14px;text-align:center}.contact-mail-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px 12px;padding:14px;margin:22px 0}.contact-mail-symbol{width:36px;height:36px;font-size:21px;border-radius:10px}.contact-mail-info{min-width:0;gap:3px}.contact-mail-info strong{font-size:clamp(14px,4vw,19px)}.contact-mail-info small{font-size:10px;line-height:1.55}.contact-mail-action{grid-column:1/-1;min-height:46px;width:100%;justify-content:center;margin-top:6px;font-size:13px}.contact-copy .contact-closing{margin-top:22px}}

/* v8.6: same opaque, gently hand-drawn three-orb logo in every footer.
   Stacking order: blue (bottom) -> pale aqua -> sage (top). */
.site-footer .footer-logo-orbs{display:block;position:relative;width:66px;height:61px;line-height:1;margin:0 0 10px}
.site-footer .footer-logo-orbs i{display:block;position:absolute;border-radius:55% 50% 48% 54%;box-shadow:0 2px 8px #4895ad22}
.site-footer .footer-logo-orbs i:nth-child(1){width:38px;height:38px;left:14px;top:0;right:auto;background:#73b6df;z-index:1}
.site-footer .footer-logo-orbs i:nth-child(2){width:37px;height:37px;left:0;top:23px;right:auto;background:#b3e4e4;z-index:2}
.site-footer .footer-logo-orbs i:nth-child(3){width:36px;height:36px;left:30px;top:23px;right:auto;background:#bed7be;z-index:3}

/* v8.7 — always-visible, low-profile mobile language selector. Both main pages and manuals. */
.mobile-language-row{display:none}
@media(max-width:950px){
  html{scroll-padding-top:122px}
  .site-header{height:auto;min-height:75px}
  .site-header .nav-shell{height:75px}
  .nav-links{top:100%}
  .nav-links .lang-switch{display:none!important}
  .mobile-language-row{display:block;background:#fffdf8;border-top:1px solid #e5e9df}
  .mobile-language-inner{display:flex;align-items:center;justify-content:flex-end;gap:13px;min-height:40px;width:calc(100% - 44px);max-width:1190px;margin:0 auto}
  .mobile-language-caption{font-size:10px;color:#819795;letter-spacing:.025em;font-weight:740}
  .mobile-lang-switch{display:flex;gap:3px;padding:3px;border-radius:99px;background:#edf2ee;border:1px solid #dce7df}
  .mobile-lang-switch a{display:grid;place-items:center;min-height:29px;min-width:39px;padding:4px 9px;color:#617c7a;border-radius:99px;font-size:11px;font-weight:780;line-height:1;text-decoration:none}
  .mobile-lang-switch a.is-active{background:#3b7584;color:#fff}
  .mobile-lang-switch a:focus-visible{outline:2px solid #3b7584;outline-offset:3px}
  .contact-section{scroll-margin-top:128px}
  .scene-spark{display:none!important}
}
@media(max-width:370px){
  .mobile-language-inner{width:calc(100% - 30px)}
  .mobile-language-caption{font-size:10px}
  .mobile-language-inner{gap:8px}
  .mobile-lang-switch a{min-width:36px;padding:4px 6px}
}
/* Keep the manual's horizontally scrollable section tabs inside the screen. */
@media(max-width:830px){
  .manual-page .guide-shell{grid-template-columns:minmax(0,1fr)}
  .manual-page .guide-aside,.manual-page .guide-body{min-width:0}
  .manual-page .guide-aside-inner{max-width:100%;overflow-x:auto}
}


/* v8.8 — User-first copy and responsive mobile navigation */
#features .mw-copy-headline {line-height:1.33;letter-spacing:-.04em}
#features .mw-copy-headline>span {display:block}
#features .mw-copy-intro {color:#29484b}
#features .mw-copy-accent {color:#457d88;font-weight:750;font-style:normal}
html:lang(en) #features .mw-copy-headline {font-size:clamp(31px,3.1vw,47px)}
html:lang(ja) #features .mw-copy-headline {font-size:clamp(25px,2.95vw,43px);letter-spacing:-.06em;line-height:1.5}
#features .step-card h3 {line-height:1.5}
.header-mobile-language{display:none}
@media(max-width:950px) {
  /* One compact header: no download CTA or a second language bar. */
  .site-header{height:75px;min-height:75px}
  .site-header .nav-shell{height:75px;gap:9px}
  .site-header .nav-cta{display:none!important}
  .site-header .mobile-language-row{display:none!important}
  .header-mobile-language{display:flex;align-items:center;flex:none;margin-left:auto}
  .header-mobile-language .mobile-lang-switch{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #dce7df;background:#edf2ee;border-radius:99px}
  .header-mobile-language .mobile-lang-switch a{min-height:33px;min-width:39px;padding:8px 7px;display:grid;place-items:center;font-size:11px;font-weight:800;line-height:1;color:#617c7a;text-decoration:none;border-radius:99px}
  .header-mobile-language .mobile-lang-switch a.is-active{color:#fff;background:#3b7584}
  .header-mobile-language .mobile-lang-switch a:focus-visible{outline:2px solid #3b7584;outline-offset:3px}
  .nav-links{top:100%}
  .nav-links .lang-switch{display:none!important}
  .nav-toggle{flex:0 0 39px;width:39px;height:39px;margin:0 0 0 1px}
  html{scroll-padding-top:84px}
  .contact-section{scroll-margin-top:84px}
}
@media(max-width:480px){
  .site-header .nav-shell{gap:6px;padding-left:16px;padding-right:16px}
  .site-header .brand{gap:6px;min-width:0}
  .site-header .brand .snow-orbs{transform:scale(.83);transform-origin:left center;margin-right:-7px}
  .site-header .brand>span:last-child{font-size:16px;letter-spacing:-.6px;white-space:nowrap}
  .site-header .brand small{font-size:7px;letter-spacing:0;white-space:nowrap}
  .header-mobile-language .mobile-lang-switch a{min-width:36px;min-height:32px;padding:7px 6px}
  .nav-toggle{width:36px;height:36px;flex-basis:36px}
  #features .mw-copy-headline{font-size:clamp(27px,7vw,37px)}
  html:lang(ja) #features .mw-copy-headline{font-size:clamp(23px,6.2vw,34px)}
}
@media(max-width:360px){
  .site-header .nav-shell{padding-left:8px;padding-right:8px}
  .site-header .brand small{display:none}
  .site-header .brand>span:last-child{font-size:14.5px}
  .header-mobile-language .mobile-lang-switch a{min-width:33px;font-size:10px;padding:6px 4px}
  .nav-toggle{width:34px;height:34px;flex-basis:34px}
}

/* v8.9 — find the actual app installation help before emailing */
.download-install-help{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin:12px 0 2px;padding:10px 14px;text-decoration:none;color:#2e7181;font-size:13px;font-weight:850;background:#fffefa;border:2px solid #b2d2d2;border-radius:12px;line-height:1.7;transition:background .2s,transform .2s;box-shadow:0 4px 12px #47868a18}
.download-install-help:hover{background:#e5f4f0;transform:translateY(-1px)}
.download-install-help:focus-visible{outline:3px solid #2781a1;outline-offset:3px}
@media(max-width:650px){.download-install-help{font-size:12px;line-height:1.65}}
