
.u-ink { color:var(--ink); }
.muted { color:var(--ink-2); }
.u-center { text-align:center; }
.u-mb0 { margin-bottom:0; }
.u-flush { padding-top:0; border-top:0; }
.u-pb96 { padding-bottom:96px; }
.u-pb72 { padding-bottom:72px; }
.u-pad-pipe { padding:24px 0 72px; }
.u-mw820 { max-width:820px; }
.u-mw860 { max-width:860px; }
.u-mw150 { max-width:150px; }
.u-kpi3 { max-width:640px; grid-template-columns:repeat(3, 1fr); }
.u-stack16 { display:grid; gap:16px; }
.u-stack24 { display:grid; gap:24px; }
.u-stack40 { display:grid; gap:40px; }
.u-two { grid-template-columns:1fr 1fr; }
.u-more { display:flex; justify-content:center; margin-top:24px; }
.u-row10 { display:flex; gap:10px; align-items:center; }
.u-push { margin-left:auto; }
.h1-sm { font-size:clamp(2rem, 3.8vw, 3rem); }
.ink { color:var(--ink); }
.kpi-note { margin-top:12px; }
.center-note { margin-top:14px; text-align:center; }
.note a, .kpi-note a { color:var(--blue); }
.dlg-claim { color:var(--ink); }
.book-code { font:12.5px/1.6 var(--mono); color:var(--ink); }
@media (max-width:900px) { .u-two { grid-template-columns:1fr; } }

.foot-links { display:flex; gap:16px; flex-wrap:wrap; }
.foot-links a { color:var(--ink-2); }
.foot-links a:hover { color:var(--ink); }
.foot .credit { color:var(--ink-3); }

body[data-page="index"] .hero { padding:88px 0 96px; }
body[data-page="index"] .hero-in { display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center; }
body[data-page="index"] .hero .h1 { font-size:clamp(2.6rem, 5.4vw, 4.4rem); }
body[data-page="index"] .hero-l { display:grid; gap:24px; }
body[data-page="index"] .hero .ask { max-width:560px; }
@media (max-width:900px) { body[data-page="index"] .hero-in { grid-template-columns:1fr; } }

body[data-page="kids"] .top { padding:56px 0 64px; }
body[data-page="kids"] .top-in { display:grid; gap:24px; }
body[data-page="kids"] .top .h1 { text-align:center; }
body[data-page="kids"] .k-robot { padding:40px; }
body[data-page="kids"] .k-robot .k-claim { font-size:clamp(1.8rem, 4.4vw, 3.2rem); }
body[data-page="kids"] .k-robot .k-answer { min-height:140px; font-size:clamp(1.8rem, 4.4vw, 3.2rem); }
body[data-page="kids"] .turn { padding:64px 0; border-top:1px solid var(--hair); }
body[data-page="kids"] .turn-in { display:grid; gap:24px; justify-items:center; text-align:center; max-width:980px; }
body[data-page="kids"] .sec { padding:64px 0; }
body[data-page="kids"] .k-answer.plain { background:#000; color:var(--ink); box-shadow:inset 0 0 0 3px var(--hair-2); }
body[data-page="kids"] .k-block.plain { background:#000; color:var(--ink); box-shadow:inset 0 0 0 3px var(--hair-2); }
body[data-page="kids"] .k-mine { width:100%; min-height:110px; font-size:clamp(1.4rem, 3.2vw, 2.2rem); }

body[data-page="tech"] .hero { padding:48px 0 24px; }
body[data-page="tech"] .hero-in { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; flex-wrap:wrap; }
body[data-page="tech"] .hero .h1 { font-size:clamp(2rem, 3.8vw, 3rem); max-width:22ch; }
body[data-page="tech"] .sec { padding:72px 0; }
body[data-page="tech"] .duo { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; margin-top:16px; }
body[data-page="tech"] .wide-log { margin-top:16px; }
body[data-page="tech"] .wide-log .log { height:240px; }
body[data-page="tech"] .api-log { height:auto; white-space:pre; overflow-x:auto; }
body[data-page="tech"] .duo > * { min-width:0; }
@media (max-width:900px) { body[data-page="tech"] .duo { grid-template-columns:1fr; } }

.summary { scroll-margin-top:96px; }
.summary:focus { outline:none; }
.suggest { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; font-size:13.5px; color:var(--ink-2); }
.suggest button { background:#000; color:var(--ink); border:1px solid var(--hair-2); border-radius:var(--r); height:30px; padding:0 10px; font:500 13.5px/1 var(--mono, var(--sans)); cursor:pointer; }
@media (hover:hover) { .suggest button:hover { border-color:var(--ink); } }
:target, [id] { scroll-margin-top:96px; }
@media (max-width:600px) { .bar .links { flex-wrap:wrap; overflow:visible; column-gap:20px; row-gap:8px; } }
