/* Consistent entry points. Content and simulation styles stay in their modules. */
.nav-reference{position:relative;align-self:center;color:var(--ct-b7c9d9);font-size:.9rem}
.nav-reference summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;padding:10px 12px;border-radius:12px;list-style:none;font-weight:650}
.nav-reference summary::-webkit-details-marker{display:none}.nav-reference summary::after{content:'⌄';font-size:1rem}.nav-reference[open] summary::after{content:'⌃'}
.nav-reference.active summary,.nav-reference[open] summary{background:var(--cf-133438);color:var(--ct-a5f1dd);box-shadow:inset 0 0 0 1px var(--cf-32625c)}
.nav-reference-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:230px;padding:8px;background:var(--cf-10232c);border:1px solid var(--cr-42606c);border-radius:15px;box-shadow:0 15px 35px var(--cf-000000-a467)}
.nav-reference-menu a{white-space:nowrap;border-radius:9px}.nav-reference-menu a:hover,.nav-reference-menu a[aria-current]{background:var(--cf-1a393c);color:var(--ct-b3f0dd)}
.nav-reference:not([open]) .nav-reference-menu{display:none}
.home-intro{padding:54px 0 28px}.home-intro h1{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1.1;letter-spacing:-.035em;margin:16px 0 20px}.home-intro p{max-width:740px;color:var(--text-secondary);font-size:1.06rem;line-height:1.7;margin:0}
.home-intro .home-finder{max-width:740px;margin:22px 0 12px}.intro-links{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:.87rem}.intro-links a{color:var(--ct-a6e5d6);padding:8px 0;text-underline-offset:4px}
.home-subjects{padding-top:20px}.home-subjects h2{font-size:1.7rem;margin:0}.home-subjects .section-head>a{color:var(--ct-a6e5d6);font-size:.9rem}
.home-topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-topic{position:relative;display:flex;flex-direction:column;min-width:0;gap:12px;padding:23px;border:1px solid var(--cr-354852);border-top:3px solid var(--topic-color);border-radius:18px;text-decoration:none;color:var(--ct-eaf2f8);background:linear-gradient(135deg,var(--cf-162a32),var(--cf-111923));transition:background .15s,border-color .15s}
.home-topic:hover{border-color:var(--topic-color);background:var(--cf-1b3039)}.topic-symbol{width:42px;height:39px;display:grid;place-items:center;border:1px solid var(--topic-color);color:var(--topic-color);border-radius:11px;font-weight:800;font-size:.88rem}.home-topic h3{font-size:1.07rem;line-height:1.4;margin:0}.home-topic p{font-size:.86rem;color:var(--ct-b3c6d3);line-height:1.65;margin:0}.topic-open{margin-top:auto;padding-top:5px;font-size:.8rem;font-weight:750;color:var(--topic-color)}
.home-topic.is-planned{border-style:dashed;background:var(--cf-191d2a)}.planning-label{align-self:start;display:inline-block;padding:5px 10px;background:var(--cf-433454);color:var(--ct-e8d7ff);border:1px solid var(--cr-806391);border-radius:30px;font-size:.73rem;font-weight:800}
.home-crosslinks{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.home-crosslinks>a{display:flex;flex-wrap:wrap;gap:5px 16px;align-items:center;background:var(--cf-142b31);border:1px solid var(--cr-3d555e);border-radius:14px;padding:15px 20px;text-decoration:none;color:var(--ct-e5f2f4)}.home-crosslinks strong{font-size:.96rem}.home-crosslinks span{font-size:.84rem;color:var(--ct-aedacc)}
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-card{display:flex;flex-direction:column;min-width:0;gap:13px;padding:25px;border:1px solid var(--cr-3b535d);border-radius:19px;background:linear-gradient(140deg,var(--cf-162f35),var(--cf-111d28));text-decoration:none;color:var(--ct-edf4f9)}.route-card:hover{border-color:var(--cr-90dcca);background:var(--cf-193b3c)}.route-kicker{font-weight:800;color:var(--ct-95dac6);text-transform:uppercase;font-size:.7rem;letter-spacing:.09em}.route-card h3{font-size:1.18rem;line-height:1.4;margin:0}.route-card p{font-size:.92rem;line-height:1.7;margin:0;color:var(--ct-b3cbd4)}.route-arrow{margin-top:auto;color:var(--ct-98ddcc);font-weight:750;font-size:.86rem}
.home-case{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;padding:30px;border:1px solid var(--cr-48526b);border-radius:23px;background:linear-gradient(120deg,var(--cf-1a2f36),var(--cf-221e32))}.home-case h2{font-size:1.8rem;margin:13px 0}.home-case p{line-height:1.7;color:var(--ct-b6cbd5)}.home-case .browse-button{display:inline-flex;text-decoration:none;align-items:center;margin-top:8px}.case-links{display:grid;align-content:center;gap:14px}.case-links a{color:var(--ct-dccff6);border:1px solid var(--cr-5c5270);border-radius:12px;padding:19px;text-decoration:none;font-size:.94rem;line-height:1.6}
.home-play-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:35px;align-items:start}.home-play .blitz-panel{border-radius:24px}.home-play .circuit-stage{max-width:330px;margin:auto}.home-play .circuit-kicker{padding:19px 18px 0;font-size:.57rem}.home-play .circuit-caption{font-size:.7rem;padding:0 18px 16px}.home-play .appearance-controls{margin:0;padding:0 0 20px;border-top:0;max-width:none}.home-extra{border:1px solid var(--cr-344c56);background:var(--cf-121f29);border-radius:13px;padding:15px;margin:12px 0;color:var(--ct-bfd4df)}.home-extra>summary{cursor:pointer;font-weight:750;font-size:.94rem}.home-extra .section{padding:22px 0 0}.home-extra .container{width:100%;padding:0}.home-extra h2{font-size:1.25rem}.home-extra .learning-grid,.home-extra .tool-grid{grid-template-columns:1fr}.home-extra .tool-card{padding:18px}.home-small-links,.compact-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0}.home-small-links a,.compact-links a{font-size:.89rem;color:var(--ct-a2e3d0);min-height:36px;display:inline-flex;align-items:center;text-underline-offset:4px}
.subject-route{border:1px solid var(--cr-3b605d);border-radius:20px;background:var(--cf-10262c);padding:25px;margin:30px 0;scroll-margin-top:110px}.subject-route h2{margin:0 0 8px;font-size:1.65rem}.subject-route>p{font-size:.9rem;color:var(--ct-b7ccd6);margin-bottom:22px}.subject-route .route-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.subject-route .route-card{padding:16px;border-radius:12px}.subject-route .route-card h3{font-size:.98rem}.subject-route .route-card p{font-size:.82rem}.subject-route .route-arrow{font-size:.78rem}.planning-inline{display:flex;align-items:center;gap:15px}.planning-inline a{color:var(--ct-d8b9f0);font-size:.93rem}.learning-entry{padding-top:20px}.legacy-intro .intro-grid{margin-top:20px}
.safety-entry{padding-top:15px}.safety-scope{color:var(--ct-b7cad5);font-size:.9rem;line-height:1.7;border-left:3px solid var(--cr-779fac);padding:12px 20px;margin:28px 0 0;max-width:950px}.safety-lesson{scroll-margin-top:110px;padding-top:30px}.safety-lesson>.container{border-top:1px solid var(--cr-314a53);padding-top:28px}.safety-lesson h2{font-size:1.85rem;margin:13px 0}.safety-lead{max-width:930px;font-size:1.08rem;line-height:1.8;color:var(--ct-c5dae1)}.safety-lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.safety-lesson-grid>article{border:1px solid var(--cr-3b515b);border-radius:18px;background:var(--cf-13272f);padding:24px}.safety-lesson h3{font-size:1.08rem;margin:0 0 12px}.safety-lesson h3:not(:first-child){margin-top:25px}.safety-lesson p,.safety-lesson li{line-height:1.8}.safety-lesson-grid p{color:var(--ct-bcd1dc)}.safety-lesson-grid ol{padding-left:22px;color:var(--ct-c2d3dc)}.safety-lesson-grid li+li{margin-top:14px}.safety-error{border-left:3px solid var(--cr-e1b06e);background:var(--cf-2c2722);padding:17px 22px;color:var(--ct-efdbc0);border-radius:0 12px 12px 0}.safety-reflect{border:1px solid var(--cr-467468);border-radius:13px;background:var(--cf-142f30);padding:19px}.safety-reflect summary{cursor:pointer;font-weight:750;color:var(--ct-b5e4d6)}.safety-reflect p{margin-bottom:0;color:var(--ct-c5dbe1)}
@media(max-width:1100px){.home-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-route .route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.nav-reference{width:100%;align-self:stretch}.nav-reference-menu{position:static;min-width:0;box-shadow:none;margin-top:8px}.nav-reference summary{min-height:44px}.nav-reference-menu a{white-space:normal}.site-header .nav-links{align-items:stretch}.nav-reference.active summary{border-radius:9px}}
@media(max-width:760px){.home-intro{padding-top:32px}.home-intro h1{font-size:2.6rem}.home-intro p{font-size:.98rem}.home-topic{padding:19px;gap:10px}.home-topic h3{font-size:1rem}.home-subjects .section-head{align-items:start;gap:14px}.home-crosslinks,.home-case,.home-play-grid,.safety-lesson-grid{grid-template-columns:1fr}.route-grid{grid-template-columns:1fr}.subject-route .route-grid{grid-template-columns:1fr 1fr}.subject-route{padding:18px}.home-case{padding:23px;gap:14px}.home-play-grid{gap:25px}.home-play .blitz-panel{max-width:440px}.home-play-side{min-width:0}.safety-lesson h2{font-size:1.55rem}.safety-lesson-grid>article{padding:20px}.planning-inline{align-items:start;flex-direction:column}.home-topic p{font-size:.8rem}.topic-open{font-size:.74rem}}
@media(max-width:400px){.home-topic-grid{gap:10px}.home-topic{padding:14px}.home-topic h3{font-size:.94rem}.subject-route .route-grid{grid-template-columns:1fr}.home-intro h1{font-size:2.35rem}.home-finder button{padding:11px}.home-crosslinks>a{padding:14px}.home-intro .eyebrow{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.home-topic{transition:none}}
@media print{.home-play,.nav-reference-menu{display:none}.home-topic,.route-card,.safety-lesson-grid>article{break-inside:avoid}.safety-lesson{break-before:auto}}
.home-learning h2,.home-play .section-head h2{font-size:1.8rem;line-height:1.35}

/* Opening: existing wordmark, concise introduction and search in one place. */
.home-intro-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:42px;align-items:center}.home-intro-copy{min-width:0}.home-brand-visual{min-width:0;align-self:center}.home-brand-visual img{display:block;width:100%;height:auto;max-width:470px;margin-inline:auto}.home-intro p.home-intro-lead{font-size:1.04rem;max-width:650px}.home-intro p.home-intro-guide{font-size:.92rem;margin-top:13px;line-height:1.8;max-width:650px}.home-intro .home-finder{margin-top:24px}.home-intro-grid h1{font-size:clamp(2.2rem,4.05vw,3.8rem)}
@media(max-width:850px){.home-intro-grid{grid-template-columns:1fr;gap:15px}.home-brand-visual{grid-row:2}.home-brand-visual img{max-width:300px}.home-intro h1{font-size:clamp(2.25rem,6vw,3.4rem)}.home-intro{padding-top:32px}.home-intro-copy{max-width:720px}.home-subjects{padding-top:10px}}
