/* Shared appearance and language controls. The default Japanese light design stays intact. */
:root[data-theme=light]{color-scheme:light;--paper:#f7f7f2;--ink:#24252a;--muted:#666862;--line:#ddded6;--bg:#fafafa;--surface:#fff;--ink-sub:#666;--line-soft:#e4e4e4;--link:#0645ad;--brand:#11161e;--brand-ink:#11161e;--th-bg:#eee;--shadow:0 1px 3px #0000000a;--control-bg:#fff;--control-ink:#24252a;--control-line:#d2d7ce}
:root[data-theme=dark]{color-scheme:dark;--paper:#181c1a;--ink:#f0f2ea;--muted:#b8c1b6;--line:#414b43;--green:#8bc7a3;--rose:#d794b0;--olive:#cadc85;--purple:#b9abe8;--bg:#181c1a;--surface:#232a25;--ink-sub:#b8c1b6;--line-soft:#414b43;--link:#a4c9ff;--brand:#f0f2ea;--brand-ink:#f0f2ea;--th-bg:#2d362f;--shadow:0 1px 3px #0005;--control-bg:#232a25;--control-ink:#f0f2ea;--control-line:#59655b}
.preferences-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:40px;padding:7px 10px;border:1px solid var(--control-line);border-radius:5px;background:transparent;color:var(--control-ink);font:inherit;font-size:11px;font-weight:500;line-height:1.4;cursor:pointer;white-space:nowrap}.preferences-trigger>span:first-child{font-size:17px}.preferences-trigger:hover{background:var(--control-bg)}
#preferences-dialog{position:fixed;inset:88px max(28px,calc((100vw - 1240px)/2)) auto auto;box-sizing:border-box;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 104px);overflow:auto;margin:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--control-bg);color:var(--control-ink);box-shadow:0 18px 60px #0002;font:inherit;--choice-bg:#edf2e9;--choice-border:#81967b;--choice-ink:#34482f;--segment-bg:#f1f2ed}
[data-theme=dark] #preferences-dialog{--choice-bg:#354332;--choice-border:#8fa984;--choice-ink:#e0ecd6;--segment-bg:#1a211c;box-shadow:0 18px 60px #0005}
#preferences-dialog::backdrop{background:#0002;backdrop-filter:blur(2px)}
.preferences-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}
#preferences-title{font-size:17px;font-weight:600;line-height:1.5;letter-spacing:0;border:0;padding:0;margin:0}
.preferences-close{display:grid;place-items:center;width:30px;height:30px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.preferences-close:hover{background:var(--segment-bg);color:var(--control-ink)}
.preferences-close svg{width:18px;height:18px}
.preferences-group{min-width:0;margin:0;padding:0;border:0}
.preferences-group+.preferences-group{margin-top:26px}
.preferences-group legend{padding:0;margin-bottom:12px;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.04em}
.language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.preference-option{position:relative;display:block;min-width:0;margin:0;cursor:pointer}
.preference-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.language-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:10px 13px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500}
.preference-check{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;opacity:0}
.preference-check svg{width:16px;height:16px}
.preference-option input:checked+.language-choice{background:var(--choice-bg);border-color:var(--choice-border);color:var(--choice-ink)}
.preference-option input:checked+.language-choice .preference-check{opacity:1}
.preference-option:hover .language-choice{border-color:var(--choice-border)}
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;border-radius:13px;background:var(--segment-bg)}
.theme-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:68px;padding:8px 4px;box-sizing:border-box;border:1px solid transparent;border-radius:9px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.4;text-align:center}
.theme-choice svg{width:21px;height:21px}
.preference-option input:checked+.theme-choice{background:var(--control-bg);border-color:var(--line);color:var(--control-ink);box-shadow:0 2px 5px #00000008}
.preference-option:hover .theme-choice{color:var(--control-ink)}
#preferences-dialog button:focus-visible,.preference-option input:focus-visible+span,.preferences-trigger:focus-visible{outline:2px solid var(--choice-border,#75ad8b);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.language-choice,.theme-choice{transition:background .16s,border-color .16s,color .16s}.preference-check{transition:opacity .16s}}
.header-inner{gap:18px}.hero-actions{flex-wrap:wrap}.hero-copy,.contact-inner>div,.intro>div{min-width:0}.hero h1{white-space:normal}html:lang(en) .hero h1{font-size:clamp(34px,3.15vw,47px);line-height:1.3}html:lang(en) h1,html:lang(en) h2,html:lang(en) h3{letter-spacing:-.035em}html:lang(ko) body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}html:lang(zh) body{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}.product-heading>span{white-space:normal;text-align:right}html:not(:lang(ja)) .product-description{max-width:none}.scene-tabs button{white-space:normal;line-height:1.6}.demo-tabs button{min-width:0}.demo-list li>*{min-width:0}.demo-list li span{max-width:56%;text-align:right}.week-grid b{white-space:normal;line-height:1.4}html:not(:lang(ja)) .product-preview{min-height:198px;height:auto}html:not(:lang(ja)) .site-preview{min-height:198px}html:not(:lang(ja)) .creative-preview{height:220px}html:not(:lang(ja)) .sample-site{min-height:156px;height:auto}html:not(:lang(ja)) .sample-site strong{font-size:24px}.contact-inner{flex-wrap:wrap}.contact-action{max-width:100%}.contact-button,.live-chat-action .button{white-space:normal}.presentation-bar>span{max-width:52vw;white-space:normal;line-height:1.5}.stage-top>span:first-child{overflow-wrap:anywhere}.result-heading{flex-wrap:wrap}.result-heading .status-chip{max-width:100%}
@media(max-width:1180px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner>.button{margin-left:auto}.header-inner{gap:12px}.hero{gap:28px}.hero-foot{flex-wrap:wrap}.hero h1{font-size:36px}}
@media(max-width:680px){.header-inner{gap:8px}.header .brand img{width:112px}.header-inner>.button{font-size:9px;padding:8px;gap:5px;min-height:38px}.header-inner>.button span{display:none}.preferences-trigger{min-height:38px;padding:6px 7px;gap:5px;font-size:10px}.preferences-trigger>span:first-child{font-size:16px}.menu-toggle{flex-shrink:0;width:27px}.header .shell{width:calc(100% - 28px)}#preferences-dialog{top:80px;right:16px}.hero h1,html:lang(en) .hero h1{font-size:clamp(30px,8vw,38px)}.hero-foot{gap:10px;font-size:9px}.hero-foot span+span{padding-left:10px}.contact-inner h2{font-size:27px}.contact-button{gap:20px}.brand-strip a>span{text-align:center;padding-inline:5px;line-height:1.6}html:not(:lang(ja)) .product-preview{min-height:190px}.product-heading{align-items:start}.footer-links{line-height:1.7}html:not(:lang(ja)) .sample-site strong{font-size:22px}.site-head .brand .brand-lockup{width:135px}.site-head .wrap{gap:12px}.site-head nav{font-size:12px;gap:12px}.site-head .preferences-trigger{margin-left:auto}.site-head nav{order:2;width:100%}.wrap table{font-size:13px}.wrap th{white-space:normal}.wrap th,.wrap td{overflow-wrap:anywhere;padding:8px}}
/* Dark surfaces are explicit: photos and the approved ecosystem map keep their colors. */
[data-theme=dark] .header{background:#181c1af2}[data-theme=dark] .button,[data-theme=dark] .confirm-button{background:#e7ecdf;color:#20271f;border-color:#e7ecdf}[data-theme=dark] .button:hover,[data-theme=dark] .confirm-button:hover:not(:disabled){background:#cddcbd;color:#20271f}[data-theme=dark] .confirm-button:disabled{background:#354a39;color:#c1e5c9}
[data-theme=dark] .demo-stage{background:#242f27;border-color:#455147}[data-theme=dark] .demo-window,[data-theme=dark] .product-card,[data-theme=dark] .scene-panel{background:#202722;border-color:var(--line)}[data-theme=dark] .demo-tabs{background:#262e27;border-color:var(--line)}[data-theme=dark] .demo-tabs button{color:#bcc7b5}[data-theme=dark] .demo-tabs button[aria-selected=true]{background:#35422d!important;color:#f0f2ea;border-bottom-color:var(--green)}[data-theme=dark] .demo-avatar,[data-theme=dark] .user-bubble{background:#36422f;color:#eef1e7}[data-theme=dark] .result-card{border-color:#4a5546}[data-theme=dark] .status-chip{background:#3a482c;color:#dfedb5}[data-theme=dark] .draft-copy{background:#2b342b}[data-theme=dark] .demo-list li,[data-theme=dark] .demo-bottom{border-color:#414b3c}
[data-theme=dark] :is(.stage-top,.demo-header div>span,.assistant-copy,.result-desc,.demo-bottom,.demo-bottom button,.stage-bottom,.stage-bottom b,.demo-disclaimer,.demo-list li span){color:#b9c6ae}[data-theme=dark] .demo-label{border-color:#5e6e55}[data-theme=dark] .brand-strip{background:#202620}[data-theme=dark] .brand-strip a>span{color:#bec7b7}[data-theme=dark] .word-conversation:after{background:#526b42}[data-theme=dark] .hero-foot span+span{border-color:#55604c}
[data-theme=dark] .product-heading>span{color:#b6c0b0}[data-theme=dark] .hub-connection{border-color:var(--line)}[data-theme=dark] .hub-connection p{color:#bdc7b6}[data-theme=dark] .connection-label small{background:#374032;color:#c4ceb9}[data-theme=dark] .section-note{color:#b8c2ab}[data-theme=dark] .site-preview{background:#2a392e}[data-theme=dark] .browser-bar{background:#3a473c;color:#d5e0ce}[data-theme=dark] .sample-site{background:#2c332b;color:#f0f1e6}[data-theme=dark] .chat-preview{background:#3a2932}[data-theme=dark] .customer-message,[data-theme=dark] .shop-response>div{background:#4b3541;color:#f4e9ef}[data-theme=dark] .shop-response span,[data-theme=dark] .preview-caption{color:#e2bace}[data-theme=dark] .sns-preview{background:#303924}[data-theme=dark] .week-grid>div{background:#252f22;border-color:#566443}[data-theme=dark] .week-grid .active-day{background:#404c2d;border-color:#a4b376}[data-theme=dark] .week-title>span,[data-theme=dark] .week-grid>div>span,[data-theme=dark] .week-grid small{color:#c3d0ac}
[data-theme=dark] .print-feature{background:#30281f;border-color:#655140}[data-theme=dark] .print-copy>p:not(.feature-kicker){color:#d7c7b6}[data-theme=dark] .print-copy .product-heading>span,[data-theme=dark] .feature-kicker{color:#efb582}[data-theme=dark] .print-tags span{border-color:#927051;color:#eed0af}[data-theme=dark] .print-button{background:#c76129;color:white;border-color:#c76129}[data-theme=dark] .print-button:hover{background:#ad4b19;color:white}[data-theme=dark] .print-journey{background:#3a2e22;border-color:#685240}[data-theme=dark] .print-journey span{color:#f4b57c}[data-theme=dark] .print-journey small,[data-theme=dark] .print-scope{color:#d8c5ae}[data-theme=dark] .print-scope{border-color:#685240}[data-theme=dark] .print-journey li+li{border-color:#685240}
[data-theme=dark] .extended-card{background:#252d23;border-color:var(--line)}[data-theme=dark] .extended-category,[data-theme=dark] .extended-card>span{color:#c1cdaa}[data-theme=dark] .extended-card>p:not(.extended-category){color:#bcc6b2}[data-theme=dark] .extended-category small{background:#3b4530;color:#e2e8d1}[data-theme=dark] .extended-card>a{border-color:#4b5741}
[data-theme=dark] .hub-section{background:#222629;color:#f6f7ef}[data-theme=dark] .scene-story{background:#303c2b}[data-theme=dark] .scene-story .eyebrow,[data-theme=dark] .scene-story>p:not(.eyebrow),[data-theme=dark] .scene-note{color:#c7d6b7}[data-theme=dark] .scene-tabs button{color:#b7c3aa}[data-theme=dark] .scene-tabs button[aria-selected=true]{color:#eff4e6;border-color:#b8d39e}[data-theme=dark] .scene-flow li+li{border-color:var(--line)}[data-theme=dark] .scene-flow b,[data-theme=dark] .flow-number{color:#c0d3a6}[data-theme=dark] .flow-number{border-color:#667a51}
[data-theme=dark] .start-section{background:#252d24}[data-theme=dark] .start-grid>li{border-color:#69775d}[data-theme=dark] .start-grid>li>span{color:#bfd0aa}[data-theme=dark] .pricing-note{color:#c0cbb4}[data-theme=dark] .pricing-note b{color:#e0e9d6}[data-theme=dark] .faq-list details>p{color:#becab2}[data-theme=dark] .faq-list summary>span{color:#bbcfa4}
[data-theme=dark] .contact-section{background:#2b3a2b}[data-theme=dark] .contact-inner p:not(.eyebrow),[data-theme=dark] .contact-action>span,[data-theme=dark] .copy-email,[data-theme=dark] .partner-line p{color:#c4d4b8}[data-theme=dark] .partner-line{border-color:#556b49}[data-theme=dark] .copy-email{border-color:#90a77c}[data-theme=dark] .footer-top p,[data-theme=dark] .footer-links,[data-theme=dark] .footer-bottom,[data-theme=dark] .footer-bottom button{color:#b8c7aa}[data-theme=dark] .presentation-bar{background:#273122;color:#f1f4e9;border-color:#536346}

[data-theme=dark] .demo-tabs img{opacity:1}
[data-theme=dark] .skip{background:#e7ecdf;color:#20271f}
@media(max-width:680px){.presenting .presentation-bar{bottom:88px}}

/* Shared editorial typography: preserve CJK punctuation and avoid short last lines. */
html:lang(ja),html:lang(zh),html:lang(ko){line-break:strict;word-break:normal;overflow-wrap:break-word}
html:lang(ja){word-break:auto-phrase}
html:lang(ko),html:lang(ko) body{word-break:keep-all}
:is(p,li,dd,dt,figcaption,blockquote,th,td,.user-bubble){text-wrap:pretty;overflow-wrap:break-word}
/* CJK character-based wrapping needs balanced lines, not Latin word-count widow control. */
html:is(:lang(ja),:lang(zh),:lang(ko)) :is(p,li,dd,dt,figcaption,blockquote,th,td,.user-bubble){text-wrap:balance}
:is(h1,h2,h3,h4,h5,h6){text-wrap:balance;overflow-wrap:break-word}
.wrap :is(th,td){overflow-wrap:break-word}
:is(.email-address,.box .mail,code){word-break:normal;overflow-wrap:anywhere}

/* Explicit editorial lines must each rebalance on narrow screens. A bare <br>
   prevents Chromium from balancing the text that follows it. */
.copy-line{display:block;text-wrap:inherit}
.table-scroll{max-width:100%;overflow-x:auto;margin-block:1em;overscroll-behavior-inline:contain}
.table-scroll table{margin:0;min-width:460px}
.table-scroll-wide table{min-width:640px}
.table-scroll-wide :is(th,td):first-child{min-width:11em}
.table-scroll:focus-visible{outline:2px solid var(--green,#4f8c68);outline-offset:4px}
@media(max-width:680px){.copy-line-wide{display:inline}}
@media(max-width:380px){
  .case-office-gallery{grid-template-columns:1fr}
  .case-stores{grid-template-columns:1fr;gap:16px}
  .case-stores li{display:grid;grid-template-columns:24px 1fr;column-gap:12px;align-items:baseline}
  .case-stores b{margin:0}
  .case-stores small{grid-column:2}
}

/* Transparent wrappers preserve copy/accessibility text and protect Chinese words. */
saku-text{display:inline}
saku-word{display:inline;white-space:nowrap}
