:root { --plum:#4b237c; --mint:#c9ffd8; --red:#b52c1f; --ink:#111; --pale:#f1d7ff; }
* { box-sizing:border-box; }
html { background:var(--plum); }
body { margin:0; color:var(--ink); font-family:"Courier New",Courier,monospace; }
button,a { font:inherit; }
button:focus-visible,a:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.path-header { display:flex; min-height:44px; border-bottom:3px solid var(--ink); background:var(--mint); font-weight:bold; }
.path-header>* { display:flex; align-items:center; padding:9px 14px; }
.path-header a { background:var(--ink); color:var(--mint); text-decoration:none; }
.path-header span:nth-child(2) { flex:1; }
.path-header span:last-child { border-left:2px solid var(--ink); background:var(--pale); }
main { width:min(1440px,100%); margin:0 auto; padding:24px; }
.path-intro { color:var(--pale); }
.path-intro>p { margin:0 0 12px; color:var(--mint); font-weight:bold; }
.path-intro h1 { max-width:17ch; margin:0; font-size:clamp(2.8rem,8vw,6rem); line-height:.88; letter-spacing:-.04em; text-wrap:balance; }
.intro-copy { display:grid; grid-template-columns:1fr 1fr; gap:30px; max-width:950px; margin-top:22px; line-height:1.55; }
.path-switcher { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:24px; padding:8px; border:3px solid var(--ink); background:var(--ink); }
.path-switcher button { min-height:50px; border:2px solid var(--mint); border-radius:0; background:var(--plum); color:var(--mint); font-weight:bold; cursor:pointer; }
.path-switcher button:hover,.path-switcher button[aria-pressed="true"] { background:var(--red); color:var(--ink); }
.path-record { margin-top:16px; border:3px solid var(--ink); background:var(--pale); }
.path-record>header,.route-signal>header { display:flex; justify-content:space-between; gap:15px; padding:9px 12px; border-bottom:3px solid var(--ink); background:var(--ink); color:var(--mint); font-size:.8rem; font-weight:bold; }
.path-record-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); }
.path-record article { padding:22px; }
.route-label { margin:0 0 8px; font-weight:bold; }
.path-record h2 { max-width:21ch; margin:0 0 15px; font-size:clamp(2.2rem,5vw,4.5rem); line-height:.92; letter-spacing:-.035em; }
.route-doctrine { max-width:64ch; font-size:1.08rem; line-height:1.65; }
.route-question { margin-top:24px; padding-top:14px; border-top:2px dashed var(--ink); }
.route-question p { max-width:56ch; margin:8px 0 0; font-size:1.18rem; font-weight:bold; line-height:1.45; }
.path-record aside { padding:18px; border-left:3px solid var(--ink); background:var(--mint); }
.warning-box,.stage-box { padding:13px; border:2px solid var(--ink); background:#fff; }
.stage-box { margin-top:10px; background:var(--pale); }
.warning-box p,.stage-box p { margin:8px 0 0; line-height:1.5; }
#choose-route { width:100%; min-height:46px; margin-top:12px; border:2px solid var(--ink); border-radius:0; background:var(--red); font-weight:bold; cursor:pointer; }
#ritual-link { display:block; margin-top:8px; padding:10px 12px; border:2px solid var(--ink); background:var(--ink); color:var(--mint); font-weight:bold; }
#ritual-link[hidden] { display:none; }
#share-route { display:block; margin-top:8px; padding:10px 12px; border:2px solid var(--ink); background:var(--pale); color:var(--ink); font-weight:bold; }
#choice-status { min-height:2.6em; margin-bottom:0; font-weight:bold; line-height:1.4; }
.route-signal { margin-top:16px; border:3px solid var(--ink); background:var(--mint); }
.route-signal>div { padding:18px; }
.route-signal h2 { margin:7px 0 10px; font-size:clamp(1.8rem,4vw,3.4rem); }
.route-signal p { max-width:75ch; line-height:1.55; }
.route-signal #signal-meta { margin:0; font-size:.8rem; font-weight:bold; }
.route-signal a { display:inline-block; margin-top:8px; padding:9px 12px; border:2px solid var(--ink); background:var(--pale); color:var(--ink); font-weight:bold; }
.route-comparison { display:grid; grid-template-columns:repeat(3,1fr); margin-top:16px; border:3px solid var(--ink); background:var(--pale); }
.route-comparison div { padding:16px; }
.route-comparison div+div { border-left:2px solid var(--ink); }
.route-comparison p { min-height:3em; font-weight:bold; }
.route-comparison span { display:block; padding-top:10px; border-top:1px dashed var(--ink); font-size:.85rem; line-height:1.45; }
footer { display:flex; justify-content:space-between; gap:16px; padding:15px 24px; border-top:3px solid var(--ink); background:var(--ink); color:var(--mint); }
footer a { color:var(--mint); }
@media(max-width:760px){ main{padding:12px}.path-header span:nth-child(2){display:none}.intro-copy,.path-record-grid,.route-comparison{grid-template-columns:1fr}.path-record aside{border-top:3px solid var(--ink);border-left:0}.route-comparison div+div{border-top:2px solid var(--ink);border-left:0}.path-switcher{grid-template-columns:1fr}.path-intro h1{font-size:clamp(2.6rem,15vw,5rem)}footer{align-items:flex-start;flex-direction:column} }
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
