.ndwc {
--ink: #1c1b19;
--sub: #6f675c;
--line: #e5dfd2;
--paper: #faf8f3;
--ok: #4f6b56;
--info: #6f675c;
--warn: #9a7c43;
--improve: #a85d3c;
--risk: #8c3a35;
max-width: 640px;
margin: 0 auto;
color: var(--ink);
font-family: -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
line-height: 1.85;
-webkit-font-smoothing: antialiased;
}
.ndwc *, .ndwc *::before, .ndwc *::after { box-sizing: border-box; } .ndwc ul, .ndwc ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ndwc li { list-style: none !important; margin: 0; background: none; text-indent: 0; }
.ndwc li::marker { content: ""; }
.ndwc-serif {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
} .ndwc-intro { margin-bottom: 1.6rem; }
.ndwc-title {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-weight: 600;
font-size: 1.5rem;
letter-spacing: .06em;
margin: 0 0 .5em;
}
.ndwc-lead { font-size: .86rem; color: var(--sub); margin: 0; } .ndwc-drop {
display: block;
border: 1px solid var(--line);
background: var(--paper);
padding: 2.6rem 1.2rem;
text-align: center;
cursor: pointer;
transition: border-color .18s ease, background .18s ease;
}
.ndwc-drop:hover, .ndwc-drop:focus { border-color: var(--ink); outline: none; }
.ndwc-drop.over { border-color: var(--ink); background: #f2efe7; }
.ndwc-drop-icon { color: var(--sub); margin-bottom: .7rem; }
.ndwc-drop-icon svg { display: inline-block; }
.ndwc-drop-text { margin: 0 0 .35em; letter-spacing: .04em; }
.ndwc-drop-text strong { font-weight: 600; }
.ndwc-drop-note { font-size: .76rem; color: var(--sub); letter-spacing: .08em; margin: 0; } .ndwc-status { margin: 1.1rem 0; padding: .7rem .2rem; font-size: .86rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ndwc-status.loading { color: var(--sub); }
.ndwc-status.error { color: var(--risk); } .ndwc-result { margin-top: 2rem; } .ndwc-verdict-block { border-top: 2px solid var(--ink); padding-top: 1.5rem; text-align: center; }
.ndwc-eyebrow {
font-size: .66rem;
letter-spacing: .3em;
color: #b8af9e;
margin: 0 0 .5em;
}
.ndwc-score-line { margin: 0; line-height: 1; }
.ndwc-score-num {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 4rem;
font-weight: 600;
line-height: 1;
letter-spacing: .02em;
}
.ndwc-score-max { font-size: 1.05rem; color: var(--sub); margin-left: .15em; }
.ndwc-verdict-name {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 1.2rem;
letter-spacing: .08em;
margin: .6rem 0 0;
} .ndwc-ok .ndwc-verdict-name { color: var(--ok); }
.ndwc-caution .ndwc-verdict-name { color: var(--warn); }
.ndwc-improve .ndwc-verdict-name { color: var(--improve); }
.ndwc-risk .ndwc-verdict-name { color: var(--risk); } .ndwc-summary { text-align: center; font-size: .82rem; color: var(--sub); letter-spacing: .04em; margin: 1rem 0 1.8rem; }
.ndwc-summary .sep { margin: 0 .6em; color: var(--line); } .ndwc-findings { list-style: none; padding: 0; margin: 0 0 1.6rem; }
.ndwc-f {
display: grid;
grid-template-columns: 4.2em 1fr;
gap: .9em;
padding: .85rem 0 .85rem .9rem;
border-left: 2px solid var(--line);
border-bottom: 1px solid var(--line);
}
.ndwc-f-tag {
font-size: .72rem;
letter-spacing: .12em;
color: var(--sub);
padding-top: .15em;
}
.ndwc-f-text { font-size: .9rem; }
.ndwc-f-text em { font-style: normal; color: var(--sub); font-size: .82em; letter-spacing: .04em; }
.ndwc-ng    { border-left-color: var(--risk); }
.ndwc-ng    .ndwc-f-tag { color: var(--risk); }
.ndwc-warn  { border-left-color: var(--warn); }
.ndwc-warn  .ndwc-f-tag { color: var(--warn); }
.ndwc-ok    { border-left-color: var(--ok); }
.ndwc-ok    .ndwc-f-tag { color: var(--ok); }
.ndwc-info  { border-left-color: var(--line); }
.ndwc-unknown { border-left-color: var(--sub); }
.ndwc-unknown .ndwc-f-tag { color: var(--sub); } .ndwc-sugg { border-top: 1px solid var(--line); padding-top: 1.2rem; margin-bottom: 1.6rem; }
.ndwc-sugg h3 {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 1.05rem;
font-weight: 600;
letter-spacing: .08em;
margin: 0 0 .6em;
}
.ndwc-sugg ul { list-style: none; padding: 0; margin: 0; }
.ndwc-sugg li { position: relative; padding-left: 1.2em; font-size: .88rem; margin-bottom: .55em; }
.ndwc-sugg li::before { content: "—"; position: absolute; left: 0; color: var(--sub); } .ndwc-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.6rem 0; }
.ndwc-btn {
display: inline-block;
padding: .75em 1.7em;
text-decoration: none;
font-size: .9rem;
letter-spacing: .08em;
border: 1px solid var(--ink);
color: var(--ink);
background: transparent;
transition: background .15s ease, color .15s ease;
}
.ndwc-btn:hover { background: var(--ink); color: var(--paper); }
.ndwc-btn.primary { background: var(--ink); color: var(--paper); }
.ndwc-btn.primary:hover { background: #000; } .ndwc-caveats { font-size: .76rem; color: var(--sub); border-top: 1px solid var(--line); padding-top: 1rem; }
.ndwc-caveats summary { cursor: pointer; letter-spacing: .06em; }
.ndwc-caveats ul { margin: .7em 0 0; padding-left: 1.1em; line-height: 1.7; }
.ndwc-caveats li { margin-bottom: .4em; } .ndwc-lead-note { font-size: .82rem; color: var(--sub); }
.ndwc-sample-line { text-align: center; font-size: .85rem; color: var(--sub); margin: .9rem 0 0; }
.ndwc-sample-btn {
font: inherit; font-size: .85rem; letter-spacing: .03em;
background: none; border: 0; padding: 0; cursor: pointer;
color: var(--ink); border-bottom: 1px solid var(--ink); line-height: 1.2;
}
.ndwc-sample-btn:hover { color: var(--sub); border-bottom-color: var(--sub); } .ndwc-survey { border-top: 1px solid var(--line); margin-top: 1.8rem; padding-top: 1.5rem; }
.ndwc-survey h3 {
font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 1.05rem; font-weight: 600; letter-spacing: .08em; margin: 0 0 .3em;
}
.ndwc-survey-opt { font-size: .75rem; font-weight: 400; color: var(--sub); letter-spacing: .04em; }
.ndwc-survey-note { font-size: .8rem; color: var(--sub); margin: 0 0 1.2rem; }
.ndwc-q { border: 0; padding: 0; margin: 0 0 1.2rem; }
.ndwc-q legend { font-size: .85rem; font-weight: 600; color: var(--ink); margin-bottom: .55em; padding: 0; letter-spacing: .04em; } .ndwc-opts { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; }
.ndwc-opt { display: inline-flex; align-items: center; gap: .45em; font-size: .85rem; letter-spacing: .02em; cursor: pointer; }
.ndwc-opt input { flex: 0 0 auto; width: 1.05em; height: 1.05em; margin: 0; accent-color: var(--ink); cursor: pointer; }
.ndwc-opt span { line-height: 1.4; }
.ndwc-q-text { display: block; }
.ndwc-q-text span { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .5em; letter-spacing: .04em; }
.ndwc-survey textarea {
width: 100%; font: inherit; font-size: .88rem; line-height: 1.7;
padding: .7em .85em; color: var(--ink); background: var(--paper);
border: 1px solid var(--line); resize: vertical;
}
.ndwc-survey textarea:focus { outline: none; border-color: var(--sub); }
.ndwc-survey-actions { margin-top: 1.2rem; }
.ndwc-survey-actions .ndwc-btn[disabled] { opacity: .55; cursor: default; }
.ndwc-survey-thanks {
border-top: 1px solid var(--line); margin-top: 1.8rem; padding-top: 1.5rem;
font-size: .9rem; color: var(--ok); letter-spacing: .04em;
}
@media (max-width: 600px) {
.ndwc-score-num { font-size: 2.8rem; }
.ndwc-verdict-name { font-size: 1rem; }
.ndwc-f { grid-template-columns: 3.6em 1fr; gap: .7em; }
}