/* PrepML semantic themes: documents choose meaning; the trusted renderer owns pixels. */
.kit{--kit-surface:#fff;--kit-on-surface:#17231d;--kit-accent:#386c52;--kit-on-accent:#fff;--kit-tint:#dcebe2;--kit-line:#cad8ce;--kit-radius:1rem;min-height:100vh;color:var(--kit-on-surface);background:linear-gradient(145deg,var(--kit-tint),transparent 34rem)}.kit header,.kit nav,.kit section,.kit aside,.kit article,.kit .resource{color:var(--kit-on-surface);background:var(--kit-surface)}.kit button{background:var(--kit-accent);color:var(--kit-on-accent)}.kit a{color:var(--kit-accent)}
.theme-atelier{--kit-surface:#fffaf1;--kit-on-surface:#2c241d;--kit-accent:#87542d;--kit-on-accent:#fff;--kit-tint:#efe0c5;--kit-line:#d4c3a7;background:linear-gradient(145deg,#eadcc2,#f8f3e8 48%,#dbe8df)}.theme-field-notes{--kit-surface:#fbf9ea;--kit-on-surface:#202a23;--kit-accent:#296044;--kit-on-accent:#fff;--kit-tint:#d9e2c6;--kit-line:#aab99c;background-color:#e6ead5;background-image:linear-gradient(#526d5312 1px,transparent 1px),linear-gradient(90deg,#526d5312 1px,transparent 1px);background-size:24px 24px}.theme-midnight-focus{--kit-surface:#151b2d;--kit-on-surface:#f7f5ff;--kit-accent:#b9a6ff;--kit-on-accent:#161029;--kit-tint:#252b46;--kit-line:#3f4668;background:radial-gradient(circle at 75% 10%,#3a2865,transparent 32rem),#0b0f1d;color-scheme:dark}.theme-playful-cards{--kit-surface:#fff;--kit-on-surface:#29233b;--kit-accent:#6751c9;--kit-on-accent:#fff;--kit-tint:#f2dcff;--kit-line:#d2c4ec;background:radial-gradient(circle at 10% 12%,#ffd8ab 0 8rem,transparent 8.1rem),radial-gradient(circle at 90% 25%,#ccefe1 0 11rem,transparent 11.1rem),#f8f3ff}
.shape-square{--kit-radius:.2rem}.shape-soft{--kit-radius:1rem}.shape-round{--kit-radius:1.6rem}.kit section,.kit aside,.kit article{border-radius:var(--kit-radius);border:1px solid var(--kit-line);box-shadow:0 12px 35px #16261c12}.kit .hero{position:relative;overflow:hidden;padding:clamp(1.5rem,5vw,4rem);margin-block:1rem}.kit .hero:after{content:"";position:absolute;right:-3rem;bottom:-5rem;width:14rem;height:14rem;border:2rem solid var(--kit-tint);border-radius:50%;opacity:.7}.kit .hero h1{position:relative;z-index:1;letter-spacing:-.035em;line-height:1.06}.typography-editorial .hero h1,.typography-editorial h2{font-family:ui-serif,Georgia,serif}.typography-rounded{font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif}.typography-technical{font-family:ui-monospace,SFMono-Regular,monospace}
.resource{margin:1rem 0 0 1.55rem;padding:clamp(1rem,3vw,1.4rem);border:1px solid var(--kit-line);border-radius:calc(var(--kit-radius)*.8);background:color-mix(in srgb,var(--kit-surface) 88%,var(--kit-tint))!important}.resource h4{font-size:1.2rem;margin:.15rem 0 .5rem}.resource-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:800;color:var(--kit-accent)}.resource-items{display:grid;gap:.55rem;padding:0;list-style:none}.resource-items li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border-radius:.7rem;background:var(--kit-surface);border:1px solid var(--kit-line)}
.visual{margin:1.5rem 0;padding:1rem;border:1px solid var(--kit-line);border-radius:var(--kit-radius);background:color-mix(in srgb,var(--kit-surface) 90%,var(--kit-tint))}.visual figcaption{display:grid;gap:.2rem}.visual-canvas ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;padding:0;list-style:none}.visual-canvas li{min-height:6rem;display:grid;place-content:center;text-align:center;padding:1rem;border-radius:calc(var(--kit-radius)*.75);border:2px solid var(--kit-line);background:var(--kit-surface)}.visual-canvas li[data-status=complete]{border-color:var(--kit-accent);background:var(--kit-tint)}.visual-canvas li strong,.visual-canvas li span{display:block}.visual-milestone-path .visual-canvas li{border-radius:999px}.visual-progress-ring .visual-canvas li:first-child{aspect-ratio:1;border-radius:50%;border-width:.8rem}.visual-fallback table{border-collapse:collapse;width:100%}.visual-fallback th,.visual-fallback td{text-align:left;padding:.55rem;border-bottom:1px solid var(--kit-line)}
@media(max-width:719px){.kit .hero{padding:1.4rem}.resource{margin-left:0}.visual-canvas ol{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.kit *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(forced-colors:active){.visual-canvas li,.resource{border:2px solid CanvasText}}
