/* Shared manual design language aligned with the corporate-site candidate. */
:root{
  --red:#c90f18;
  --red-deep:#a50912;
  --red-soft:#f6e8ea;
  --ink:#161315;
  --soft:#5f5a57;
  --muted:#5f5a57;
  --line:#ddd8d4;
  --bg:#f5f4f2;
  --panel:#fff;
  --cream:#fbfaf8;
  --navy:#0f1318;
  --shadow:0 18px 50px rgba(16,18,22,.08);
  --radius:4px;
}

body{
  color:var(--ink);
  background:#fff;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  font-size:18px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{width:min(calc(100% - 48px),1180px)}
.site-header{background:rgba(255,255,255,.98);backdrop-filter:none}
.header-inner{min-height:68px}
.brand img{width:235px;max-width:min(55vw,235px)}
.btn{border-radius:4px}
.hero{
  padding:54px 0 50px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.hero::after{display:none}
.hero h1{font-size:clamp(46px,4.25vw,62px);line-height:1.18;letter-spacing:-.05em}
.hero-lead{font-size:clamp(18px,1.65vw,21px);line-height:1.76}
.feature-pills span{font-size:14px}
.browser-shot{border-radius:4px;background:var(--bg)}
.browser-shot img{border-radius:2px}
.toc-wrap{top:68px}
.toc a{padding:7px 14px;font-size:14px}
.section{padding:56px 0}
.section-soft{background:var(--bg)}
.section-dark{background:var(--navy)}
.section-head{
  position:relative;
  max-width:none;
  margin-bottom:28px;
  padding-left:24px;
}
.section-head::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:8px;
  height:84px;
  background:var(--red);
}
.section-kicker{
  margin:0 0 5px;
  font-size:13px;
  line-height:1;
  letter-spacing:.22em;
}
.section h2{
  font-size:clamp(32px,4vw,48px);
  line-height:1.14;
  letter-spacing:-.05em;
}
.section-head p{
  max-width:1100px;
  margin-top:0;
  font-size:18px;
  line-height:1.62;
}
.section h2,.manual-copy h3,.quick-card h3,.use-card h3,
.metric-card strong,.rule-card strong,.limit-card strong,.device-note strong{
  line-break:strict;
  word-break:auto-phrase;
  text-wrap:balance;
}
.section p,.quick-card p,.quick-action p,.manual-copy p,.check-list li,
.control-table td,.use-card p,.metric-card p,.rule-card small,
.limit-card p,.device-note p,.faq-list details p,.revision-list p{
  line-break:strict;
  word-break:auto-phrase;
  text-wrap:pretty;
}

.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.quick-card{
  padding:24px 26px;
  border-color:var(--line);
  border-radius:4px;
  box-shadow:0 10px 24px rgba(16,18,22,.05);
}
.mode-tag{
  display:block;
  margin:0 0 12px;
  color:var(--red);
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.12em;
}
.quick-card h3{margin:0 0 10px;font-size:25px;line-height:1.22;letter-spacing:-.03em}
.quick-card p{font-size:18px;line-height:1.68;text-wrap:balance}
.quick-action{
  display:grid;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:24px;
  margin-top:16px;
  padding:20px 24px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  box-shadow:0 10px 24px rgba(16,18,22,.04);
}
.quick-action>div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
  transform:translateY(-2px);
}
.quick-action-label{display:block;margin:0;color:var(--red);font-size:13px;font-weight:900;line-height:1;letter-spacing:.08em}
.quick-action h3{margin:0;font-size:24px;line-height:1.22;letter-spacing:-.03em}
.quick-action p{margin:0;color:var(--muted);font-size:18px;line-height:1.68}

.manual-block{gap:40px;margin-top:38px}
.manual-copy h3{line-height:1.28;letter-spacing:-.04em}
.manual-copy p,.check-list li,.notice,.use-card p,.faq-list details p{font-size:17px}
.check-list{margin-top:16px}
.check-list li{padding-block:6px}
.notice{
  margin-top:20px;
  padding:17px 20px;
  border:1px solid #eadcdf;
  border-radius:4px;
  background:#fbf7f7;
}
.notice strong{color:var(--red-deep)}
.section-dark .notice{color:var(--ink);background:#fff4df}
.section-dark .notice strong{color:var(--ink)}
.two-shots{margin-top:28px}
.shot-card{border-radius:4px;box-shadow:0 10px 24px rgba(16,18,22,.05)}
.shot-card img{border-radius:2px}
.shot-card figcaption{font-size:14px}
.control-table{margin-top:22px;border-radius:4px}
.control-table th,.control-table td{padding:14px 17px}
.control-table th{font-size:16px}
.control-table td{font-size:17px}
.use-grid{gap:16px}
.use-card{padding:22px 24px;border-radius:4px;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.use-card h3{font-size:24px}
.metric-card,.rule-card,.limit-card,.device-note{
  border-radius:4px;
  border-color:var(--line);
  box-shadow:0 10px 24px rgba(16,18,22,.04);
}
.section-dark .limit-card{border-color:rgba(255,255,255,.16);box-shadow:none}
.faq-list{gap:10px}
.faq-list details{border-radius:4px}
.faq-list summary{padding-block:16px;font-size:18px}
.faq-list details p{margin-bottom:17px}
.spec-details{margin-top:22px;border-radius:4px}
.spec-details-title{font-size:18px}
.spec-details-hint{font-size:14px}
.cta{padding:48px 0;background:var(--red)}

.revision-section{padding:0 0 56px;background:var(--bg)}
.revision-details{overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#fff}
.revision-details summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:19px 58px 19px 22px;
  cursor:pointer;
  list-style:none;
}
.revision-details summary::-webkit-details-marker{display:none}
.revision-details summary::after{
  content:"＋";
  position:absolute;
  top:50%;
  right:22px;
  color:var(--red);
  font-size:24px;
  line-height:1;
  transform:translateY(-50%);
}
.revision-details[open] summary::after{content:"−"}
.revision-kicker,.revision-title{display:block}
.revision-kicker{margin-bottom:3px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.18em;line-height:1.2}
.revision-title{color:var(--ink);font-size:19px;font-weight:800;line-height:1.35}
.revision-latest{flex:0 0 auto;color:var(--muted);font-size:14px;font-weight:600}
.revision-body{border-top:1px solid var(--line)}
.revision-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.revision-list li{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;padding:22px;border-bottom:1px solid var(--line)}
.revision-list li:last-child{border-bottom:0}
.revision-list time{color:var(--soft);font-size:14px;font-weight:700;line-height:1.65}
.revision-list strong{display:block;font-size:17px;line-height:1.6}
.revision-list p{margin:5px 0 0;color:var(--soft);font-size:16px;line-height:1.75}

@media(max-width:760px){
  body{font-size:17px}
  .container{width:calc(100% - 32px)}
  .header-inner{min-height:64px}
  .brand img{width:210px;max-width:62vw}
  .toc-wrap{top:64px}
  .toc a{font-size:13px}
  .hero{padding:34px 0 38px}
  .hero h1{font-size:clamp(34px,9vw,46px);line-height:1.2}
  .hero-lead{font-size:17px;line-height:1.75}
  .section{padding:38px 0}
  .section-head{margin-bottom:22px;padding-left:18px}
  .section-head::before{width:6px;height:72px}
  .section-kicker{margin-bottom:4px;font-size:12px}
  .section h2{font-size:clamp(30px,8.2vw,40px);line-height:1.16}
  .section-head p{margin-top:0;font-size:17px;line-height:1.62}
  .quick-grid{grid-template-columns:1fr}
  .quick-card{padding:20px}
  .quick-card h3{font-size:23px}
  .quick-card p,.quick-action p{font-size:17px}
  .quick-action{grid-template-columns:1fr;gap:8px;margin-top:14px;padding:17px 18px}
  .quick-action h3{font-size:22px}
  .manual-block{gap:18px;margin-top:26px}
  .notice{margin-top:17px;padding:15px 16px}
  .use-card{padding:20px}
  .use-card h3{font-size:22px}
  .faq-list summary{padding-block:15px;font-size:17px}
  .cta{padding:40px 0}
}

@media(max-width:600px){
  .revision-section{padding-bottom:40px}
  .revision-details summary{align-items:flex-start;flex-direction:column;gap:3px;padding:16px 50px 16px 16px}
  .revision-title{font-size:18px}
  .revision-latest{font-size:13px}
  .revision-details summary::after{right:16px}
  .revision-list li{grid-template-columns:1fr;gap:4px;padding:18px 16px}
  .revision-list strong{font-size:16px}
  .revision-list p{font-size:15px}
}

/* v9: deterministic, phrase-aware heading wraps across all manuals */
.hero h1,
.section h2,
.quick-card h3,
.quick-action h3,
.manual-copy h3,
.use-card h3,
.cta h2{
  line-break:strict;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.heading-phrase{
  display:inline-block;
  white-space:nowrap;
}
@supports (word-break:auto-phrase){
  .hero h1,
  .section h2,
  .quick-card h3,
  .quick-action h3,
  .manual-copy h3,
  .use-card h3,
  .cta h2{
    word-break:auto-phrase;
  }
}
@media(max-width:340px){
  .hero h1.heading-compact-mobile{font-size:30px}
  .section h2.heading-compact-mobile{font-size:26px}
}

@media(max-width:760px){
  .manual-block,
  .manual-block.reverse{
    grid-template-columns:minmax(0,1fr);
    min-width:0;
  }
  .manual-block > *{
    min-width:0;
    max-width:100%;
  }
  .control-table{
    width:100%;
    max-width:100%;
    table-layout:fixed;
  }
}

@media(max-width:480px){
  .header-inner{gap:8px}
  .brand img{
    width:170px;
    max-width:55vw;
  }
  .header-actions{min-width:0}
}
