.kit { scroll-margin-top: 4.5rem; }
.kit-lede, .kit-note { font-size: var(--fs-16); color: var(--muted); margin: 0 0 .7rem; }
.kit-h { font-size: 1rem; font-weight: 700; margin: 1.1rem 0 .45rem; color: var(--ink); }
.kit-p { margin: .3rem 0 .6rem; }
.kit-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: .9rem 0 .5rem; }
.kit-btn { display: inline-flex; align-items: center; gap: .45rem; min-height: var(--tap); padding: 0 var(--sp-4); border-radius: var(--r-md); border: 1.5px solid var(--border-strong); background: var(--card); color: var(--emph); font-weight: 700; font-size: var(--fs-16); text-decoration: none; }
.kit-btn:hover { background: var(--sunken); border-color: var(--emph); }
.kit-btn svg { flex: none; }
.kit-list { list-style: none; margin: 0 0 .5rem; padding: 0; }
.kit-list li { margin: 0; border-bottom: 1px solid var(--border); }
.kit-list li:last-child { border-bottom: 0; }
.kit-list label { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr); column-gap: .35rem; padding: .55rem 0; cursor: pointer; min-height: var(--tap); align-items: start; }
.kit-list input { width: 1.2rem; height: 1.2rem; margin: .15rem 0 0; accent-color: var(--green-btn); }
.kit-list input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.kit-t { grid-column: 2; overflow-wrap: anywhere; }
.kit-hint { grid-column: 2; font-size: var(--fs-16); color: var(--muted); margin-top: .1rem; }
.kit-list input:checked ~ .kit-t { text-decoration: line-through; color: var(--muted); }
.kit-said { font-size: var(--fs-16); color: var(--muted); padding-left: .7rem; border-left: 2px solid var(--border-strong); overflow-wrap: anywhere; }
.kit-plain { margin: 0 0 .5rem; padding-left: 1.1rem; }
.kit-plain li { margin: .25rem 0; }
.kit-tag { display: inline-block; margin-left: .35rem; font-family: var(--font-label); font-size: var(--fs-14); font-weight: 700; color: var(--muted); background: var(--sunken); border: 1px solid var(--border); border-radius: var(--radius-pill, 999px); padding: .05rem .45rem; vertical-align: .1em; }
.kit-tips { margin: 1rem 0 .4rem; background: var(--sunken); border-radius: var(--r-lg); padding: .2rem .9rem; }
.kit-tips summary { cursor: pointer; font-weight: 600; color: var(--link); padding: .6rem 0; min-height: var(--tap); }
.kit-tips ul { padding-left: 1.1rem; margin: .2rem 0 .6rem; }
.kit-tips li { margin: .3rem 0; }
.kit-sub { font-weight: 700; margin: .8rem 0 .2rem; }
.kit-more { font-size: var(--fs-16); }
.kit-rail .kit-links { list-style: none; margin: 0 0 .6rem; padding: 0; }
.kit-rail .kit-links li { padding: .45rem 0; border-bottom: 1px solid var(--border); }
.kit-rail .kit-links li:last-child { border-bottom: 0; }
.kit-rail .kit-links a { display: block; font-weight: 600; }
.kit-rail .kit-links span { display: block; font-size: var(--fs-16); color: var(--muted); }
.kit-rail .kit-rest { font-size: var(--fs-16); color: var(--muted); }
.kit-kind {
border: 1px solid var(--border);
border-radius: var(--r-lg);
padding: 0 var(--sp-4);
margin: 0 0 var(--sp-3);
background: var(--card);
scroll-margin-top: 4.5rem;
transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
.kit-kind[open] {
padding-bottom: var(--sp-4);
box-shadow: var(--shadow-sm);
}
.kit-kind summary {
cursor: pointer;
font-weight: var(--fw-bold);
font-size: var(--fs-18);
line-height: 1.35;
padding: var(--sp-4) 2.2rem var(--sp-4) 0;
min-height: var(--tap);
list-style: none;
display: flex;
flex-direction: column;
position: relative;
user-select: none;
}
.kit-kind summary::-webkit-details-marker { display: none; }
.kit-kind summary::after {
content: "";
position: absolute;
right: 0.5rem;
top: 1.35rem;
width: 0.55rem;
height: 0.55rem;
border-right: 2px solid var(--muted);
border-bottom: 2px solid var(--muted);
transform: rotate(45deg);
transition: transform var(--dur-fast) ease;
}
.kit-kind[open] > summary::after {
transform: rotate(-135deg);
}
.kit-kind summary span {
display: block;
font-weight: var(--fw-normal);
font-size: var(--fs-15);
line-height: 1.45;
color: var(--muted);
margin-top: var(--sp-1);
}
.kit-kind h3 { font-size: var(--fs-16); font-weight: var(--fw-bold); margin: var(--sp-4) 0 var(--sp-2); color: var(--ink); }
.kit-kind ul { padding-left: 1.2rem; margin: 0 0 var(--sp-3); }
.kit-kind li { margin: var(--sp-2) 0; font-size: var(--fs-15); line-height: 1.5; color: var(--ink); }
.kit-pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; background: var(--sunken); border-radius: var(--r-lg); padding: .8rem .95rem; }
.cv-more summary {
list-style: none; display: grid; grid-template-columns: 1rem minmax(0, 1fr);
column-gap: var(--sp-2); align-items: center; cursor: pointer;
}
.cv-more summary::-webkit-details-marker { display: none; }
.cv-more summary::before {
content: ""; width: .5rem; height: .5rem; margin-left: .1rem;
border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
transform: rotate(-45deg); transition: transform .15s ease;
}
.cv-more[open] > summary::before { transform: rotate(45deg); }
.kit-copy { margin: 0 0 var(--sp-5); }
.kit-copy .kit-pre { margin: 0 0 var(--sp-2); }
.kit-btn, .cv-out .cta.ghost.dark {
display: inline-block; font: inherit; font-weight: var(--fw-bold); font-size: var(--fs-16);
line-height: 1.3; min-height: var(--tap); padding: var(--sp-3) var(--sp-5); cursor: pointer;
background: transparent; color: var(--green-text); border: 1.5px solid var(--border-strong);
border-radius: var(--r-md);
}
.kit-btn:hover, .cv-out .cta.ghost.dark:hover { background: var(--green-tint); }
.kit-btn:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.kit-btn.done, .cv-out .cta.done { background: var(--confirmed-bg); color: var(--confirmed); border-color: var(--confirmed); }
.doc-eyebrow a {
display: inline-block; color: inherit; text-decoration: underline;
text-underline-offset: .2em; text-decoration-thickness: 1px;
padding: calc((var(--tap) - 1.3em) / 2) var(--sp-2);
margin: calc((1.3em - var(--tap)) / 2) calc(-1 * var(--sp-2));
}
.doc-eyebrow a:hover { text-decoration-thickness: 2px; }
.cv-wrap { max-width: 46rem; margin: 0 auto; }
.cv-form { margin: 1rem 0 1.5rem; }
.cv-set { border: 1px solid var(--border); border-radius: var(--r-lg); padding: .4rem .9rem .9rem; margin: 0 0 1rem; background: var(--card); min-width: 0; }
.cv-set legend { font-weight: 700; padding: 0 .3rem; }
.cv-opt { font-weight: 400; color: var(--muted); font-size: var(--text-small); }
.cv-f { display: block; margin: .8rem 0 0; }
.cv-l { display: block; font-weight: 600; font-size: var(--fs-16); }
.cv-hint { display: block; font-size: var(--fs-16); color: var(--muted); margin: .1rem 0 .3rem; }
.cv-f input, .cv-f textarea { display: block; width: 100%; box-sizing: border-box; font: inherit; padding: .6rem .75rem; min-height: var(--tap); border: 1px solid var(--border-strong); border-radius: var(--r-lg); background: var(--ground); color: var(--ink); }
.cv-f textarea { resize: vertical; }
.cv-f input:focus, .cv-f textarea:focus, .cv-c input:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.cv-checks { display: grid; gap: .1rem; margin-top: .5rem; }
.cv-c { display: flex; gap: .55rem; align-items: flex-start; padding: .4rem 0; min-height: var(--tap); cursor: pointer; }
.cv-c input { width: 1.5rem; height: 1.5rem; margin-top: 0; flex: none; accent-color: var(--green-btn); }
.cv-keep { font-size: var(--fs-16); color: var(--confirmed); background: var(--confirmed-bg); border-radius: var(--r-lg); padding: .6rem .8rem; }
.cv-go .cta { font-size: 1rem; }
.cv-out { margin: 1rem 0 1.5rem; padding: .2rem 1rem 1rem; border: 2px solid var(--green); border-radius: var(--r-lg); background: var(--card); scroll-margin-top: 4.5rem; }
.cv-text { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: var(--fs-16); line-height: 1.45; }
.cv-acts { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); margin: var(--sp-4) 0 var(--sp-2); }
.cv-out .note { margin: 0 0 var(--sp-3); }
.cv-more { margin: 0 0 1rem; }
.cv-more summary { cursor: pointer; font-weight: var(--fw-semi); color: var(--green-text); min-height: var(--tap); padding: var(--sp-2) 0; }
.cv-more summary:hover { text-decoration: underline; text-underline-offset: .2em; }
.cv-more[open] summary { margin-bottom: var(--sp-1); }
.cv-more .cv-set { margin-bottom: 0; }
.aw { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; margin: 0 0 .55rem; }
.aw-q { font-size: var(--fs-16); color: var(--muted); }
.aw-a { display: flex; flex-wrap: wrap; gap: .3rem; }
.aw-btn { min-height: var(--tap); padding: .35rem .7rem; }
.aw-btn.on { background: var(--green-tint); border-color: var(--green-text); color: var(--green-text); }
.aw-week { margin: .2rem 0 .8rem; font-size: var(--fs-16); color: var(--ink); }
.aw-week-k { font-weight: var(--fw-bold); font-size: var(--fs-14); color: var(--green-text); margin-right: .35rem; }
.aw-week-n { display: block; font-size: var(--fs-16); color: var(--muted); }
.kit { background: var(--card); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-2) var(--sp-4) var(--sp-4); box-shadow: var(--sh-1); margin: var(--sp-5) 0; }
.kit > h2.sec { border-top: 0; margin-top: var(--sp-3); padding-top: 0; }
.kit-h { font-size: var(--fs-16); margin: var(--sp-5) 0 var(--sp-2); }
.kit-list input { width: 1.25rem; height: 1.25rem; }
.kit-list label { min-height: var(--tap); }
.kit-tips { border-radius: var(--r-md); }
.cv-f input, .cv-f textarea { font-size: var(--fs-16); min-height: 3rem; border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); }
.cv-f input:focus, .cv-f textarea:focus { border-color: var(--focus); }
.cv-set legend { font-size: var(--fs-18); }
.aw-a { display: inline-flex; flex-wrap: nowrap; gap: 0; border: 1px solid var(--border-strong); border-radius: var(--r-pill); overflow: hidden; background: var(--card); }
.aw-btn.ap-btn { min-height: var(--tap); padding: 0 var(--sp-3); border: 0; border-radius: 0; background: transparent; font-size: var(--fs-14); white-space: nowrap; }
.aw-btn.ap-btn + .aw-btn.ap-btn { border-left: 1px solid var(--border-strong); }
.aw-btn.ap-btn.on { background: var(--emph); color: var(--card); }
.aw-q { flex-basis: 100%; }
.kit-essay-list { padding-left: 1.3rem; margin: .3rem 0 .7rem; }
.kit-essay-list li { margin: 0 0 .8rem; }
.kit-essay-list li b { display: block; margin-bottom: .15rem; }
.kit-essay-list li span { display: block; font-size: var(--fs-16); color: var(--muted); margin: .1rem 0; }
.sc-list { list-style: none; margin: .4rem 0 0; padding: 0; }
.sc-list li { border-bottom: 1px solid var(--border); }
.sc-list li:last-child { border-bottom: 0; }
.sc-result { margin: 1rem 0 1.5rem; scroll-margin-top: 4.5rem; }
.sc-result h2 { font-size: 1.05rem; margin: 1.1rem 0 .4rem; }
.sc-found { list-style: none; padding: 0; margin: .8rem 0 0; }
.sc-found li { margin: 0 0 .7rem; padding-left: .7rem; border-left: 3px solid var(--problem); }
.sc-found li span { display: block; font-size: var(--fs-16); color: var(--muted); margin-top: .1rem; }
.sc-found .sc-src { font-style: italic; }
.sc-sources { list-style: none; padding: 0; margin: .6rem 0 1rem; }
.sc-sources li { margin: 0 0 .7rem; padding-left: .7rem; border-left: 3px solid var(--border); }
.sc-sources a { display: flex; align-items: center; min-height: var(--tap); font-weight: 600; }
.sc-sources .sc-src { display: block; font-size: var(--fs-16); color: var(--muted); }
.kit-star { display: grid; gap: .5rem; margin: .6rem 0 1rem; }
@media (min-width: 40rem) { .kit-star { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kit-star div { background: var(--sunken); border-radius: var(--radius); padding: .6rem .8rem; }
.kit-star dt { font-weight: 700; }
.kit-star dd { margin: .15rem 0 0; font-size: var(--fs-16); color: var(--muted); }