@font-face{font-family:News;src:url('../../assets/fonts/newsreader-600.woff2');font-display:swap}@font-face{font-family:Plex;src:url('../../assets/fonts/ibm-plex-sans-400.woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f6f2e7;color:#20382f;font:19px/1.65 Plex,Arial,sans-serif}main,nav,footer{max-width:1100px;margin:auto;padding:25px}nav{display:flex;justify-content:space-between;gap:20px;font-size:14px;border-bottom:1px solid #c9cdbf}a{color:#175f53;text-underline-offset:4px}header{padding:65px 0 45px;max-width:850px}h1,h2,h3{font-family:News,Georgia,serif;font-weight:600;line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(60px,8vw,100px);margin:20px 0 30px}h1 em{color:#906020;font-style:normal}h2{font-size:clamp(36px,4.6vw,56px);margin:15px 0 24px}h3{font-size:31px;margin:0 0 14px}.lede{font-size:24px;max-width:750px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:13px;color:#6b6656}.puzzle{border:1px solid #bbc3b3;padding:35px;border-radius:22px;background:#eeeee2;display:grid;grid-template-columns:1fr 1.1fr;gap:55px}.ring{--progress:0deg;display:grid;place-items:center;background:conic-gradient(#176758 var(--progress),#d3d9cb 0);border-radius:50%;width:110px;height:110px;margin-top:30px}.ring span{background:#eeeee2;border-radius:50%;display:grid;place-items:center;width:90px;height:90px;font-size:23px;font-weight:bold}.targets{font-size:29px;letter-spacing:.08em;margin:0;color:#80511b;font-weight:bold}#sum{margin:10px 0 18px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.grid button{height:100px;background:#faf9f2;border:1px solid #abb6a4;border-radius:13px;position:relative;cursor:pointer;color:#243b32}.grid b{font:600 42px News,Georgia}.step{display:block;min-height:19px;font:11px Plex,Arial;color:#315d50}.grid .used{background:#d5e6dd;border:2px solid #176758}.grid .checkpoint{outline:3px solid #b27b2b;outline-offset:-6px}.controls{display:flex;gap:12px;margin-top:20px}.controls button{flex:1;background:#f9f8ef;border:1px solid #8c9e8d;border-radius:7px;padding:12px;font:16px Plex,Arial;cursor:pointer;min-height:48px}.controls button:disabled{opacity:.45;cursor:default}#status{min-height:75px;font-size:17px}.path{font-size:14px;border-top:1px solid #c7ccbd;padding:12px 0}#path{overflow-wrap:anywhere}.small,.caption,figcaption{font-size:15px;color:#596558}.caption{margin:20px 0 55px}.timeline{padding:30px 0}.timeline article{display:flex;gap:30px;border-left:1px solid #aab7a6;padding:25px 0 25px 26px;margin-left:16px}.timeline article>span{font:38px News;color:#8c672c}.timeline p{max-width:720px;margin:0}.solution{padding:30px 0;border-top:1px solid #bdc5b6}details{border-bottom:1px solid #bdc5b6;padding:20px 0}summary{cursor:pointer;font-size:21px}.app{display:grid;grid-template-columns:300px 1fr;gap:65px;align-items:center;margin:70px 0}figure{margin:0}img{max-width:100%;height:auto;border-radius:20px}figcaption{margin-top:14px}.cta{display:inline-block;padding:16px 22px;background:#175f53;color:#fff;text-decoration:none;border-radius:7px;font-size:19px}.fit{padding:30px 0;border-top:1px solid #bdc5b6;max-width:800px}aside{font-size:15px;border-top:1px solid #bdc5b6;padding-top:25px}aside h2{font-size:27px}footer{font-size:14px;border-top:1px solid #bdc5b6;margin-top:25px}:focus-visible{outline:3px solid #9d5d00;outline-offset:5px}@media(max-width:700px){main,nav,footer{padding:19px}nav{flex-direction:column;gap:4px}header{padding:35px 0}h1{font-size:66px}.puzzle{grid-template-columns:1fr;gap:25px;padding:22px 16px}.intro .ring,.intro .small{display:inline-grid;margin:8px 15px 0 0;vertical-align:middle}.ring{width:85px;height:85px}.ring span{width:69px;height:69px;font-size:20px}.intro .small{max-width:140px}.grid button{height:87px}.app{grid-template-columns:1fr;gap:30px;margin:45px 0}.app figure{max-width:270px;margin:auto}.timeline article{gap:18px;padding-left:18px}.lede{font-size:22px}}

.switchback {border-top:1px solid #bdc5b6;padding:30px 0;max-width:800px}
.switchback .print-link {display:inline-block;padding:10px 0;font-weight:bold}
.switchback .small {display:block}
.switchback table {border-collapse:collapse;width:100%;max-width:29rem;text-align:center}
.switchback caption {text-align:left;font-weight:bold}
.switchback th,.switchback td {padding:.35rem .4rem;border:1px solid #aab7a6}
.switchback details {padding:12px 0}
.switchback summary {padding:5px 0}
.switchback ol {padding-inline-start:1.5rem}

.switchback h2 {font-size:clamp(32px,4vw,45px)}
