:root{
  --ink:#0B1220; --ink-2:#2D3E50; --muted:#5b6b7e;
  --bg:#F6F8FB; --surface:#FFFFFF; --border:rgba(15,23,42,.10);
  --accent:#007a8a; --accent-dark:#006064; --accent-deep:#004d57;
  --accent-light:#b2ebf2; --accent-bg:rgba(0,122,138,.06);
  --warn:#b45309; --radius:16px;
  --grad:linear-gradient(135deg,#007a8a,#0ea5b7);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg);line-height:1.7}
.site-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--border)}
.brand{font-weight:800;letter-spacing:.04em}
.brand span{color:var(--accent);font-weight:700;margin-left:6px}
.badge-poc{font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 12px}
main{max-width:1040px;margin:0 auto;padding:24px}
.hero{text-align:center;padding:48px 0 24px}
.hero h1{font-size:clamp(28px,5vw,46px);line-height:1.25;margin:0 0 16px;font-weight:800}
.hero .hl{color:var(--accent)}
.lead{color:var(--ink-2);font-size:17px;margin:0 auto 32px;max-width:640px}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:680px;margin:0 auto;box-shadow:0 8px 30px rgba(11,18,32,.06);text-align:left}
.panel label{display:block;font-weight:700;font-size:14px;margin-bottom:8px}
.input-row{display:flex;gap:10px}
#company{flex:1;padding:14px 16px;border:1px solid var(--border);border-radius:12px;font-size:16px}
#company:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.btn-primary{background:var(--grad);color:#fff;border:0;border-radius:12px;padding:0 22px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}
.btn-primary:disabled{opacity:.55;cursor:not-allowed}
.btn-ghost{background:transparent;border:1px solid var(--border);border-radius:10px;padding:8px 14px;font-size:14px;cursor:pointer;color:var(--ink-2)}
.sub-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap}
.note{font-size:12px;color:var(--muted)}
.status{max-width:680px;margin:20px auto;text-align:center;color:var(--ink-2);font-size:15px}
.spinner{display:inline-block;width:18px;height:18px;border:3px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;vertical-align:-3px;margin-right:8px}
@keyframes spin{to{transform:rotate(360deg)}}
.status.error{color:var(--warn)}
/* result */
.result-bar{display:flex;align-items:center;justify-content:space-between;margin:24px 0 16px;flex-wrap:wrap;gap:12px}
.result-title{font-size:20px;font-weight:800}
.slides{display:flex;flex-direction:column;gap:20px}
.slide{aspect-ratio:16/9;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:5% 6%;box-shadow:0 6px 24px rgba(11,18,32,.07);overflow:hidden;position:relative;display:flex;flex-direction:column}
.slide .draft-tag{position:absolute;top:14px;right:18px;font-size:11px;color:var(--muted)}
.slide h2{font-size:clamp(20px,3.2vw,30px);margin:0 0 4px;color:var(--accent-deep)}
.slide .subhead{color:var(--muted);font-size:14px;margin-bottom:14px}
.slide ul{margin:8px 0 0;padding-left:1.2em}
.slide li{margin:8px 0;font-size:clamp(14px,2vw,18px)}
.slide b{color:var(--accent-dark)}
.slide .hlmark{background:var(--accent-light);padding:0 4px;border-radius:4px}
/* title slide */
.slide.t-title{justify-content:center;align-items:flex-start;background:linear-gradient(135deg,#003d45,#007a8a);color:#fff;border:0}
.slide.t-title h2{color:#fff;font-size:clamp(26px,4.5vw,40px)}
.slide.t-title .date{color:var(--accent-light);margin-top:10px;font-weight:600}
/* agenda */
.slide.t-agenda ol{counter-reset:a;list-style:none;padding:0;margin:10px 0 0}
.slide.t-agenda li{counter-increment:a;display:flex;align-items:center;gap:14px;border-bottom:1px dashed var(--border);padding:10px 0}
.slide.t-agenda li::before{content:counter(a,decimal-leading-zero);color:var(--accent);font-weight:800;font-size:20px}
/* section */
.slide.t-section{justify-content:center;background:var(--accent-bg)}
.slide.t-section .secno{color:var(--accent);font-weight:800;font-size:18px}
/* cards */
.slide .cardgrid{display:grid;gap:14px;margin-top:12px}
.slide .cardgrid.c2{grid-template-columns:1fr 1fr}
.slide .cardgrid.c3{grid-template-columns:1fr 1fr 1fr}
.slide .card{background:var(--accent-bg);border:1px solid var(--accent-light);border-radius:10px;padding:14px}
.slide .card .ct{font-weight:800;color:var(--accent-dark);margin-bottom:6px;font-size:15px}
.slide .card .cd{font-size:13px;color:var(--ink-2)}
/* compare */
.slide .cmp{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}
.slide .cmp .col{border:1px solid var(--border);border-radius:10px;padding:14px}
.slide .cmp .col h4{margin:0 0 8px;font-size:14px;color:var(--accent-deep)}
.slide .cmp .right{background:var(--accent-bg);border-color:var(--accent-light)}
/* process */
.slide .steps{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.slide .step{flex:1;min-width:110px;background:var(--accent-bg);border-radius:10px;padding:12px;font-size:13px;position:relative}
.slide .step .sn{color:var(--accent);font-weight:800}
/* closing */
.slide.t-closing{justify-content:center;align-items:center;text-align:center;background:linear-gradient(135deg,#003d45,#006064);color:#fff;border:0}
.slide.t-closing p{font-size:clamp(16px,2.4vw,22px);max-width:80%}
.sources{margin:24px 0;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px}
.sources h3{margin:0 0 8px;font-size:14px}
.sources a{color:var(--accent-dark);font-size:13px;word-break:break-all}
.sources li{margin:4px 0}
.next-step{margin:24px 0;padding:20px;border:1px dashed var(--accent-light);border-radius:12px;background:var(--accent-bg)}
.next-step h3{margin:0 0 8px;font-size:15px;color:var(--accent-deep)}
.next-step ul{margin:0;padding-left:1.2em;color:var(--ink-2)}
.site-foot{text-align:center;color:var(--muted);font-size:12px;padding:32px}
@media(max-width:640px){.input-row{flex-direction:column}.slide .cmp,.slide .cardgrid.c2,.slide .cardgrid.c3{grid-template-columns:1fr}}
/* print */
@media print{
  .site-head,.hero,.site-foot,.result-bar,.sources,.next-step,#status{display:none!important}
  body{background:#fff}
  main{max-width:none;padding:0}
  .slides{gap:0}
  .slide{break-after:page;box-shadow:none;border-radius:0;border:0;height:100vh;aspect-ratio:auto}
}
