.cft-page { max-width: 1100px; padding: 1rem 1.25rem 4rem; margin: 0 auto; color: #f5f5f5; line-height: 1.7; }
.cft-page a { color: #ffbf30; text-underline-offset: .2em; }
.cft-page a:hover, .cft-page a:focus-visible { color: #fff; }
.cft-breadcrumb { margin: .4rem 0 1.8rem; color: #aaa; font-size: .9rem; }
.cft-hero { max-width: 900px; margin: 0 auto 2.4rem; padding: 1.5rem 0; }
.cft-eyebrow { color: #ffbf30; text-transform: uppercase; font-weight: 700; letter-spacing: .08em; font-size: .78rem; }
.cft-hero h1 { color: #fff; line-height: 1.15; font-size: clamp(2rem, 5vw, 3.4rem); margin: .5rem 0 1.3rem; }
.cft-lead { font-size: clamp(1.07rem, 2vw, 1.23rem); }
.cft-notice { padding: 1rem 1.25rem; border-left: 4px solid #ffbf30; background: #24211a; }
.cft-jump { display: inline-block; margin-top: .7rem; font-weight: 700; }
.cft-tool { background: #1e1e1e; border: 1px solid #575048; border-radius: 14px; padding: clamp(1.2rem, 3vw, 2.2rem); margin-bottom: 2.5rem; }
.cft-tool h2, .cft-copy h2 { color: #fff; line-height: 1.25; font-size: clamp(1.45rem, 2.6vw, 2rem); margin: 0 0 .9rem; }
.cft-tool p, .cft-copy p { margin: .8rem 0 1.1rem; }
.cft-tool fieldset { border: 0; padding: 0; margin: 1.4rem 0; min-width: 0; }
.cft-tool legend { color: #fff; font-weight: 700; padding: 0 0 .6rem; }
.cft-time { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; }
.cft-time label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; }
.cft-time input { width: 7rem; padding: .7rem .6rem; color: #fff; background: #303030; border: 1px solid #888; border-radius: 6px; font: inherit; }
.cft-time input:focus-visible, .cft-tool button:focus-visible, .cft-events input:focus-visible { outline: 3px solid #ffbf30; outline-offset: 3px; }
.cft-time > span { font-size: 1.8rem; padding-bottom: .25rem; }
.cft-events { display: grid; gap: .5rem; }
.cft-events label { display: flex; align-items: start; gap: .65rem; border: 1px solid #555; padding: .7rem .85rem; border-radius: 6px; cursor: pointer; }
.cft-events label:has(input:checked) { border-color: #4ade80; background: #173523; }
.cft-events input { width: 1.15rem; height: 1.15rem; flex: none; accent-color: #43d37a; margin-top: .3rem; }
.cft-buttons { display: flex; gap: .7rem; flex-wrap: wrap; }
.cft-buttons button { background: #ffb800; border: 1px solid #ffb800; border-radius: 6px; color: #171717; font: inherit; font-weight: 800; padding: .8rem 1rem; cursor: pointer; }
.cft-buttons .cft-reset { background: transparent; color: #fff; border-color: #aaa; }
.cft-result { padding: 1rem 1.2rem; margin-top: 1.3rem; background: #2c2c2c; border: 1px solid #888; border-radius: 8px; }
.cft-result[data-state="pass"] { border-color: #4ade80; background: #173523; }
.cft-result[data-state="fail"], .cft-result[data-state="error"] { border-color: #ff9b9b; background: #382020; }
.cft-result[data-state="incomplete"] { border-color: #ffcf70; background: #322b1c; }
.cft-result h3 { margin: 0; color: #fff; }
.cft-result p { margin: .4rem 0 0; }
.cft-small { color: #c6c6c6; font-size: .9rem; }
.cft-copy { max-width: 1000px; margin: 0 auto; padding: 1.5rem 0; border-bottom: 1px solid #383838; }
.cft-copy p, .cft-copy li { color: #e1e1e1; }
.cft-steps { padding-left: 1.6rem; }
.cft-steps li { margin-bottom: .85rem; }
.cft-media { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(1rem, 3vw, 2rem); padding: 1.25rem; margin: 1.5rem 0; border-radius: 12px; background: #202020; border: 1px solid #484848; }
.cft-media.reverse figure { order: -1; }
.cft-media h3 { color: #ffbf30; margin-top: 0; }
.cft-media figure { margin: 0; }
.cft-media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 7px; }
.cft-media figcaption { color: #c9c9c9; font-size: .85rem; margin-top: .4rem; }
.cft-table-wrap { overflow-x: auto; }
.cft-table-wrap table { border-collapse: collapse; width: 100%; min-width: 540px; }
.cft-table-wrap caption { text-align: left; color: #ddd; font-weight: 700; padding: .5rem 0; }
.cft-table-wrap th, .cft-table-wrap td { text-align: left; padding: .8rem; border: 1px solid #626262; color: #f5f5f5; }
.cft-table-wrap thead { background: #343434; }
.cft-faq details { padding: .85rem 1rem; border: 1px solid #555; border-radius: 6px; margin: .5rem 0; background: #242424; }
.cft-faq summary { color: #fff; cursor: pointer; font-weight: 700; }
.cft-final { font-size: .85rem; color: #c1c1c1; text-align: center; padding-top: 1rem; }
@media (max-width: 680px) { .cft-media { grid-template-columns: 1fr; } .cft-media.reverse figure { order: 0; } }
@media print { body { background: #fff !important; color: #111 !important; } #aft-header, #aft-footer, .cft-jump, .cft-buttons { display: none !important; } .cft-page, .cft-page p, .cft-page li, .cft-page h1, .cft-page h2, .cft-page h3, .cft-page a, .cft-eyebrow, .cft-result { color: #111 !important; } .cft-tool, .cft-result, .cft-media, .cft-notice, .cft-faq details { background: #fff !important; border-color: #333 !important; } .cft-events label, .cft-time input, .cft-table-wrap td, .cft-table-wrap th { color: #111 !important; background: #fff !important; border-color: #555 !important; } .cft-media, .cft-copy, .cft-tool { break-inside: avoid; } }
