:root{--dc-bg:#081014;--dc-panel:rgba(9,22,25,.84);--dc-line:rgba(103,232,146,.28);--dc-accent:#67e892;--dc-text:#edf6f3;--dc-muted:#93aaa5;--dc-warn:#f0c96a;--dc-bad:#ff8c8c}*{box-sizing:border-box}body{margin:0;color:var(--dc-text);background-color:var(--dc-bg);font-family:Inter,"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.dc-shell{width:min(1160px,calc(100% - 28px));margin:0 auto}.dc-hero{min-height:min(620px,calc(100svh - 48px));display:flex;flex-direction:column;justify-content:center;padding:70px 0 52px}.dc-kicker,.dc-label{margin:0;color:var(--dc-accent);font-size:.72rem;font-weight:850;letter-spacing:.16em}.dc-hero h1{margin:14px 0 18px;font-size:clamp(2.6rem,8.5vw,6.5rem);line-height:.92;letter-spacing:-.055em}.dc-hero h1 span{font-size:.4em;color:var(--dc-accent);vertical-align:top}.dc-lead{margin:0;font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:800}.dc-note,.dc-privacy{max-width:820px;color:#cbd9d5;line-height:1.8}.dc-privacy{font-size:.82rem;color:var(--dc-muted)}button{font:inherit}.dc-primary,.dc-secondary,.dc-test button{border:1px solid var(--dc-line);border-radius:10px;cursor:pointer;font-weight:850;letter-spacing:.04em}.dc-primary{align-self:flex-start;margin-top:20px;padding:13px 18px;background:var(--dc-accent);color:#07110c}.dc-secondary{padding:11px 15px;background:transparent;color:var(--dc-accent)}.dc-section{padding:52px 0;border-top:1px solid var(--dc-line)}.dc-section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.dc-section h2{margin:7px 0 6px;font-size:clamp(1.7rem,4vw,2.6rem)}.dc-section-head p:not(.dc-label){max-width:760px;color:var(--dc-muted);line-height:1.7}.dc-state{padding:7px 10px;border:1px solid var(--dc-line);border-radius:999px;color:var(--dc-muted);font-size:.72rem;font-weight:850}.dc-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dc-group,.dc-test{border:1px solid var(--dc-line);border-radius:15px;background:var(--dc-panel);overflow:hidden}.dc-group h3{margin:0;padding:15px 17px;border-bottom:1px solid var(--dc-line);font-size:.83rem;letter-spacing:.1em;color:var(--dc-accent)}.dc-rows{margin:0}.dc-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 17px;border-bottom:1px solid rgba(103,232,146,.1)}.dc-row:last-child{border:0}.dc-row dt{color:var(--dc-muted);font-size:.8rem}.dc-row dd{margin:0;text-align:right;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.dc-ok{color:var(--dc-accent)}.dc-warn{color:var(--dc-warn)}.dc-bad{color:var(--dc-bad)}.dc-test-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dc-test{padding:16px}.dc-test h3{margin:0 0 7px;font-size:.9rem}.dc-test p{min-height:42px;margin:0 0 13px;color:var(--dc-muted);font-size:.76rem;line-height:1.5}.dc-test footer{display:flex;gap:8px;align-items:center;justify-content:space-between}.dc-test button{padding:8px 11px;background:transparent;color:var(--dc-accent)}.dc-test-result{font-size:.68rem;font-weight:850;text-align:right;overflow-wrap:anywhere}.dc-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.dc-report{margin:0;max-height:560px;overflow:auto;padding:18px;border:1px solid var(--dc-line);border-radius:15px;background:rgba(3,10,12,.86);color:#cfe0db;white-space:pre-wrap;word-break:break-word;font-size:.76rem;line-height:1.6}.n3-labnote{margin-top:20px;margin-bottom:56px}@media(max-width:800px){.dc-groups{grid-template-columns:1fr}.dc-test-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dc-hero{min-height:560px}.dc-test-grid{grid-template-columns:1fr}.dc-section-head{display:block}.dc-state{display:inline-block;margin-top:8px}.dc-row{grid-template-columns:1fr}.dc-row dd{text-align:left}}

.dc-run-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dc-run-done{font:700 11px/1.2 var(--mono);letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);padding:7px 9px;border-radius:999px}
.dc-run-done.is-done{color:var(--accent);border-color:rgba(104,255,210,.45)}
.dc-attention{animation:dcRunAttention 1.35s ease-in-out infinite}
.dc-attention:hover,.dc-attention:focus-visible{animation:none}
@keyframes dcRunAttention{
  0%,100%{transform:translateY(0);box-shadow:0 0 0 0 rgba(104,255,210,0)}
  45%{transform:translateY(-2px);box-shadow:0 0 0 7px rgba(104,255,210,.10)}
}
@media (prefers-reduced-motion:reduce){.dc-attention{animation:none}}

/* Rev.5 interaction polish */
.dc-run-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#run-auto{
  align-self:auto;
  margin-top:20px;
  min-height:48px;
  padding:13px 22px;
  border:1px solid rgba(179,255,232,.82);
  border-bottom-color:rgba(28,119,91,.95);
  border-radius:11px;
  background:linear-gradient(180deg,#8affda 0%,var(--dc-accent) 56%,#42d7aa 100%);
  color:#06110d;
  box-shadow:0 5px 0 #167657,0 9px 18px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.65);
  text-shadow:0 1px 0 rgba(255,255,255,.38);
  transform:translateY(0);
}
#run-auto:active{transform:translateY(4px);box-shadow:0 1px 0 #167657,0 4px 10px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.5)}
.dc-run-done{
  align-self:center;
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  font:800 11px/1 var(--mono);
  letter-spacing:.08em;
  color:var(--dc-muted);
  border:1px solid var(--dc-line);
  padding:0 10px;
  border-radius:999px
}
.dc-run-done.is-done{color:var(--dc-accent);border-color:rgba(104,255,210,.45)}
.dc-attention{animation:dcRunBlink .85s steps(1,end) infinite}
.dc-attention:hover,.dc-attention:focus-visible{animation:dcRunBlink .85s steps(1,end) infinite}
@keyframes dcRunBlink{
  0%,49%{filter:brightness(1);box-shadow:0 5px 0 #167657,0 9px 18px rgba(0,0,0,.34),0 0 0 0 rgba(104,255,210,0),inset 0 1px 0 rgba(255,255,255,.65)}
  50%,100%{filter:brightness(1.45);box-shadow:0 5px 0 #167657,0 9px 18px rgba(0,0,0,.34),0 0 18px 6px rgba(104,255,210,.36),inset 0 1px 0 rgba(255,255,255,.78)}
}
.dc-report-actions{align-items:stretch}
.dc-report-button{
  box-sizing:border-box;
  width:154px;
  height:44px;
  min-height:44px;
  margin:0;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(179,255,232,.55);
  border-bottom-color:rgba(25,96,76,.95);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(104,255,210,.20),rgba(104,255,210,.07));
  color:var(--dc-accent);
  box-shadow:0 4px 0 rgba(18,87,67,.95),0 7px 13px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.18);
}
.dc-report-button:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(18,87,67,.95),0 3px 7px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.12)}
#copy-report span{display:block;width:100%;text-align:center;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.dc-attention,.dc-attention:hover,.dc-attention:focus-visible{animation:none}}

/* Rev.6 JA / EN */
.dc-lang-toggle{
  align-self:center;margin-top:20px;min-height:32px;padding:0 11px;
  border:1px solid rgba(104,255,210,.42);border-radius:999px;
  background:rgba(104,255,210,.06);color:var(--dc-accent);
  font:800 11px/1 var(--mono);letter-spacing:.06em;cursor:pointer
}
.dc-lang-toggle:hover,.dc-lang-toggle:focus-visible{background:rgba(104,255,210,.13);border-color:rgba(104,255,210,.72)}
