
:root{--bg:#eff3f8;--panel:#ffffff;--ink:#0f172a;--muted:#475569;--line:#d7e1ee;--blue:#1d4ed8;--blue2:#2563eb;--soft:#f8fbff;--warn:#fff7ed;--warnline:#fed7aa;--danger:#fef2f2;--dangerline:#fecaca;}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)} a{text-decoration:none;color:inherit}
.wrap{max-width:1700px;margin:0 auto;padding:24px 18px 48px}.grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:18px;align-items:start}.panel{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:28px;box-shadow:0 10px 32px rgba(15,23,42,.06)}.side,.rail{padding:24px}.main{display:grid;gap:18px}.hero{padding:28px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-weight:800}.title{font-size:clamp(2.25rem,4vw,4.2rem);line-height:1.02;margin:10px 0 14px;font-weight:900;letter-spacing:-.04em}.copy{color:var(--muted);font-size:1rem;line-height:1.8;max-width:920px}.nav{display:grid;gap:8px;margin-top:18px}.nav a{padding:12px 14px;border-radius:16px;font-weight:700;color:#1e293b}.nav a:hover,.nav a.active{background:var(--soft);border:1px solid #bfdbfe;color:#0f172a}.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.btn,.btn2{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:16px;font-weight:800}.btn{background:linear-gradient(135deg,var(--blue2),#1e40af);color:#fff;box-shadow:0 12px 24px rgba(37,99,235,.24)}.btn2{background:#fff;border:1px solid #cbd5e1;color:#0f172a}.cards{display:grid;gap:18px}.cards.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:22px}.metric{font-size:42px;font-weight:900;letter-spacing:-.04em;margin-top:10px}.card h3{font-size:1.5rem;line-height:1.15;margin:10px 0 8px}.card p,.small{color:var(--muted);line-height:1.8}.section{padding:24px}.section.warn{background:linear-gradient(135deg,var(--danger),#fff7ed);border-color:var(--warnline)}.kpi{background:#eef6ff;border:1px solid #dbeafe;border-radius:22px;padding:18px;margin-top:18px}.footer{margin-top:24px;color:#64748b;font-size:.95rem}.source{font-size:.9rem;color:#64748b;line-height:1.7}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:14px}.logo{font-weight:900;letter-spacing:-.03em}.notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:22px;padding:16px;margin-top:18px}.bullet{display:grid;gap:10px;margin-top:16px}.bullet div{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:18px}
@media (max-width:1100px){.grid{grid-template-columns:1fr}.cards.cols3,.cards.cols2{grid-template-columns:1fr}.wrap{padding:16px}.title{font-size:2.3rem}}

.brand{display:flex;flex-direction:column;gap:2px}.tagline{font-size:.95rem;color:#475569;font-weight:600}.topbar .small{white-space:nowrap}.hero .copy strong{color:#0f172a}.cards.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.statline{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-weight:700}.statline:first-child{border-top:none;padding-top:0}.spark{display:grid;gap:10px;margin-top:14px}.spark .row{display:grid;grid-template-columns:180px 1fr 70px;gap:12px;align-items:center}.spark .bar{height:12px;border-radius:999px;background:#dbeafe;overflow:hidden}.spark .bar span{display:block;height:100%;background:linear-gradient(135deg,var(--blue2),#1e40af)}.timeline{display:grid;gap:12px;margin-top:16px}.timeline .step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.muted-kpi{background:#f8fafc;border:1px solid var(--line);border-radius:20px;padding:16px}.btns .btn2.active{background:var(--soft);border:1px solid #bfdbfe}.footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer strong{color:#0f172a}.topnote{background:#eef6ff;border:1px solid #dbeafe;border-radius:18px;padding:14px 16px;margin-top:12px}.table{width:100%;border-collapse:collapse;margin-top:14px}.table th,.table td{padding:12px 10px;border-top:1px solid var(--line);text-align:left}.table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#2563eb}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;font-weight:700;font-size:.85rem}.source-list{display:grid;gap:10px;margin-top:14px}.source-list div{padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:16px}.signline{font-size:.95rem;color:#475569}.logo .name{font-weight:900;letter-spacing:-.03em;font-size:1.08rem}.logo .tag{font-size:.92rem;color:#475569;font-weight:700}.panel h3{margin:10px 0 8px}.hero .title.smalltitle{font-size:clamp(2rem,3.6vw,3.5rem)}
@media (max-width:1100px){.cards.cols4{grid-template-columns:1fr}.spark .row{grid-template-columns:1fr}.topbar .small{white-space:normal}}


.topbar-actions{display:flex;align-items:center;gap:12px}
.mobile-nav-toggle{display:none;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:16px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:800;box-shadow:0 6px 18px rgba(15,23,42,.08)}
.mobile-nav-toggle:focus-visible,.mobile-drawer-close:focus-visible,.nav a:focus-visible,.btn:focus-visible,.btn2:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.mobile-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.52);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:80}
.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:min(88vw,360px);background:rgba(255,255,255,.98);border-right:1px solid var(--line);box-shadow:0 28px 72px rgba(15,23,42,.24);padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-100%);transition:transform .22s ease;z-index:90;display:grid;grid-template-rows:auto 1fr auto;gap:16px}
.mobile-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mobile-drawer-close{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:10px 12px;border-radius:14px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-weight:800}
.mobile-drawer-nav{display:grid;gap:10px;overflow:auto;padding-right:2px}
.mobile-drawer-nav a{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#f8fafc;font-weight:800;color:#1e293b}
.mobile-drawer-nav a.active{background:var(--soft);border-color:#bfdbfe;color:#0f172a}
.mobile-drawer-note{border:1px solid #bfdbfe;background:#eff6ff;border-radius:20px;padding:14px}
body.nav-open{overflow:hidden}
body.nav-open .mobile-drawer-backdrop{opacity:1;pointer-events:auto}
body.nav-open .mobile-drawer{transform:translateX(0)}

@media (max-width:1100px){
  .topbar{align-items:flex-start}
  .topbar-actions{width:100%;justify-content:space-between;flex-wrap:wrap}
  .mobile-nav-toggle{display:inline-flex}
  .grid{grid-template-columns:1fr}
  .side{display:none}
  .main{order:1}
  .rail{order:2}
  .hero,.section,.card,.side,.rail{padding:20px}
  .btn,.btn2{width:100%;min-height:46px}
  .btns{gap:10px}
  .table,.table tbody,.table tr,.table td,.table th{display:block;width:100%}
  .table thead{display:none}
  .table tr{padding:14px 0;border-top:1px solid var(--line)}
  .table td{border-top:none;padding:6px 0}
}

@media (max-width:720px){
  .wrap{padding:14px max(12px,env(safe-area-inset-left,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px))}
  .topbar{margin-bottom:12px}
  .topbar-actions{align-items:center}
  .topbar .small{font-size:.92rem;line-height:1.6}
  .hero,.section,.card,.rail{border-radius:24px;padding:18px}
  .title,.hero .title.smalltitle{font-size:clamp(1.9rem,8vw,2.6rem)}
  .metric{font-size:34px}
  .source-list div,.timeline .step,.bullet div,.notice{border-radius:16px}
  .footer{padding-bottom:max(4px,env(safe-area-inset-bottom,0px))}
}


.panel{overflow:hidden}
.mobile-drawer,.mobile-drawer-backdrop{visibility:hidden;pointer-events:none}
.mobile-drawer[aria-hidden="false"],.mobile-drawer-backdrop[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.mobile-drawer[aria-hidden="true"]{transform:translateX(-110%);opacity:0}
.mobile-drawer[aria-hidden="false"]{transform:translateX(0);opacity:1}
.mobile-drawer-backdrop[aria-hidden="true"]{opacity:0}
.mobile-drawer-backdrop[aria-hidden="false"]{opacity:1}
.mobile-drawer-close{display:none}
.mobile-drawer-nav a{display:block;line-height:1.3}
.mobile-drawer-nav a:hover{background:#eef6ff;border-color:#93c5fd}
.mobile-nav-toggle[data-open="true"]{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}

@media (max-width:1100px){
  .mobile-drawer-close{display:inline-flex}
  .mobile-drawer{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mobile-drawer-header h2{max-width:9ch}
  .mobile-drawer-note{margin-top:4px}
  .topbar{position:sticky;top:0;z-index:20;padding:10px 0 6px;background:linear-gradient(180deg,var(--bg) 80%,rgba(239,243,248,0))}
}

@media (max-width:720px){
  .topbar{gap:12px}
  .brand{max-width:14rem}
  .logo .name{font-size:1rem;line-height:1.15}
  .tagline{font-size:.9rem}
  .mobile-nav-toggle{min-width:108px}
  .mobile-drawer{width:min(86vw,340px);padding:18px 14px calc(22px + env(safe-area-inset-bottom,0px))}
  .mobile-drawer-nav a{padding:13px 14px;border-radius:14px}
}


/* final hardening */
.grid{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:18px;align-items:start}
.side,.rail{position:sticky;top:20px}
.nav a,.mobile-drawer-nav a{word-break:normal;overflow-wrap:anywhere}
.nav a[aria-current="page"],.mobile-drawer-nav a[aria-current="page"]{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 0 rgba(255,255,255,.6)}
.mobile-drawer,.mobile-drawer-backdrop{transition:transform .24s ease,opacity .2s ease,visibility 0s linear .2s}
.mobile-drawer[aria-hidden="false"],.mobile-drawer-backdrop[aria-hidden="false"]{transition-delay:0s}
.mobile-drawer-nav a{min-height:48px;display:flex;align-items:center}
.mobile-drawer-header h2{overflow-wrap:anywhere}
.topbar{position:relative}
@media (max-width:1100px){
  .grid{grid-template-columns:1fr}
  .side,.rail{position:static;top:auto}
}
@media (max-width:720px){
  .wrap{max-width:100%}
  .grid{gap:14px}
  .mobile-drawer-nav{gap:8px}
}


/* mobile-only recovery pass */
@media (min-width: 901px){
  .grid{grid-template-columns:280px minmax(0,1fr) 280px !important;}
  .side,.rail{display:block !important;position:sticky !important;top:20px !important;}
  .mobile-nav-toggle,.mobile-drawer,.mobile-drawer-backdrop{display:none !important;}
  body.nav-open{overflow:auto !important;}
}

@media (max-width: 900px){
  .wrap{max-width:100%;padding:14px max(12px,env(safe-area-inset-left,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px));}
  .grid{grid-template-columns:minmax(0,1fr) !important;gap:14px !important;}
  .side{display:none !important;}
  .main{display:grid;order:1;min-width:0;}
  .rail{display:block !important;order:2;position:static !important;top:auto !important;}
  .cards.cols2,.cards.cols3,.cards.cols4{grid-template-columns:minmax(0,1fr) !important;}
  .hero,.section,.card,.rail{padding:18px !important;border-radius:24px;}
  .title,.hero .title.smalltitle{font-size:clamp(1.9rem,8vw,2.6rem) !important;}
  .copy,.small,.card p,.source,.table td,.table th{overflow-wrap:anywhere;}
  .btns{display:grid !important;grid-template-columns:minmax(0,1fr);gap:10px !important;}
  .btn,.btn2{width:100% !important;min-height:46px !important;}
  .topbar{position:sticky;top:0;z-index:20;padding:10px 0 6px;background:linear-gradient(180deg,var(--bg) 80%,rgba(239,243,248,0));align-items:flex-start;}
  .topbar-actions{width:100%;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
  .mobile-nav-toggle{display:inline-flex !important;min-width:108px;}
  .mobile-drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.52);z-index:80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;}
  .mobile-drawer{display:grid;position:fixed;top:0;left:0;bottom:0;width:min(86vw,340px);max-width:340px;background:rgba(255,255,255,.98);border-right:1px solid var(--line);box-shadow:0 28px 72px rgba(15,23,42,.24);padding:18px 14px calc(22px + env(safe-area-inset-bottom,0px));grid-template-rows:auto 1fr auto;gap:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:90;transform:translateX(-110%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .24s ease,opacity .2s ease,visibility 0s linear .2s;}
  .mobile-drawer-close{display:inline-flex !important;}
  .mobile-drawer-nav{display:grid;gap:8px;overflow:auto;padding-right:2px;}
  .mobile-drawer-nav a{display:flex;align-items:center;min-height:48px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#f8fafc;font-weight:800;color:#1e293b;line-height:1.3;}
  .mobile-drawer-nav a.active,.mobile-drawer-nav a[aria-current="page"]{background:var(--soft);border-color:#bfdbfe;color:#0f172a;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 1px 0 rgba(255,255,255,.6);}
  .mobile-drawer-note{margin-top:4px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:20px;padding:14px;}
  body.nav-open{overflow:hidden !important;}
  body.nav-open .mobile-drawer-backdrop,
  .mobile-drawer-backdrop[aria-hidden="false"]{opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transition-delay:0s;}
  body.nav-open .mobile-drawer,
  .mobile-drawer[aria-hidden="false"]{transform:translateX(0) !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;transition-delay:0s;}
  .mobile-drawer[aria-hidden="true"],.mobile-drawer-backdrop[aria-hidden="true"]{transition-delay:.2s;}
  .table,.table tbody,.table tr,.table td,.table th{display:block;width:100%;}
  .table thead{display:none;}
  .table tr{padding:14px 0;border-top:1px solid var(--line);}
  .table td{border-top:none;padding:6px 0;}
}
