@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--ink:#182e2b;--muted:#61736d;--line:#d8e0d7;--green:#185b43;--paper:#f5f6ed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}header{max-width:1250px;margin:auto;padding:28px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}a{color:var(--green)}.brand{text-decoration:none;font:600 19px 'Space Grotesk',sans-serif;color:var(--ink)}.logo{background:var(--green);color:white;padding:7px 11px;border-radius:9px;margin-right:10px}.muted{color:var(--muted);font-weight:400}.badge,.eyebrow,.step{font-size:11px;letter-spacing:1.7px;font-weight:700}.badge{border:1px solid var(--line);padding:9px;border-radius:20px}main{max-width:1170px;margin:auto;padding:54px 30px 0}.eyebrow{color:var(--green)}h1{font:500 clamp(42px,6vw,72px)/1.07 'Space Grotesk',sans-serif;letter-spacing:-3px;margin:20px 0}h1 em{font-style:normal;color:var(--green)}.intro{color:var(--muted);font-size:18px;max-width:550px;line-height:1.6}nav{display:flex;gap:12px;margin:35px 0 22px}.tab{flex:1;text-align:left;padding:20px;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:12px;font-size:14px}.tab strong{font:500 20px 'Space Grotesk',sans-serif;margin-left:12px;color:var(--ink)}.tab span{display:block;margin:8px 0 0 32px}.tab.active{background:#e0ecda;border-color:#79a384;box-shadow:inset 0 0 0 1px #79a384}.explanation{background:#193c32;color:#f6f7ef;border-radius:14px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.explanation p{color:#c5d7ca;line-height:1.6;margin-bottom:0}h2{font:500 23px 'Space Grotesk',sans-serif;margin:14px 0} .pill{font-size:10px;letter-spacing:1.3px;background:#315449;border:1px solid #557464;padding:6px 9px;border-radius:20px}.flow{display:flex;align-items:center;justify-content:space-around;gap:12px;font:500 19px 'Space Grotesk',sans-serif}.flow>div{background:#315449;padding:18px;border-radius:12px;text-align:center}.flow small{font:12px 'DM Sans';color:#c5d7ca}.flow>span{font-size:13px;text-align:center;color:#d5eaaa}.workspace{display:grid;grid-template-columns:1fr 1.25fr;gap:18px;margin-top:20px}.panel{background:#fffefa;border:1px solid var(--line);border-radius:14px;padding:25px;min-width:0}.panel p,.small{color:var(--muted);line-height:1.6}.step{color:var(--muted);margin-bottom:18px}.output{grid-column:1/-1}.keys{margin-top:18px;display:grid;gap:10px}.key{padding:12px;background:#f0f3eb;border-radius:8px}.key strong{font-size:11px;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:7px}.key code{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.5;max-height:76px;overflow:auto}.key details{padding:0;border:0;margin:0}.key summary{font-size:12px}label{display:block;font:500 20px 'Space Grotesk',sans-serif;margin-bottom:14px}textarea{width:100%;resize:vertical;border:1px solid #ccd7cc;border-radius:9px;padding:14px;font:15px/1.6 'DM Sans',sans-serif;color:var(--ink);background:white}#ciphertext{font:12px/1.6 monospace}button{cursor:pointer;font:600 13px 'DM Sans',sans-serif;transition:background .15s}button:disabled{opacity:.5;cursor:wait}.primary,.secondary{padding:12px 18px;border-radius:8px;border:1px solid var(--green)}.primary{color:white;background:var(--green)}.primary:hover{background:#287453}.secondary{color:var(--green);background:transparent}.secondary:hover{background:#e0ecda}.text-button{border:0;background:transparent;color:var(--green);padding:8px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.row label{margin:0}.row small,.small{font-size:12px;color:var(--muted)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}#status{font-size:14px;padding:12px 0;color:var(--muted)}#status.error{color:#a13b2a}#result-box{background:#e7f0dc;padding:18px;border-radius:10px}#result{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin:0}.learn{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:42px 0}.learn p,details p{color:var(--muted);line-height:1.7}.challenge{border-left:2px solid #b5cb99;padding-left:26px}.challenge h3{margin-top:0}.challenge li{padding:5px 0;line-height:1.5}ol{padding-left:20px}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;margin-top:20px;text-align:left}th,td{border-bottom:1px solid var(--line);padding:13px;font-size:14px}footer{border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px;color:var(--muted)}:focus-visible{outline:3px solid #c98d29;outline-offset:3px}[hidden]{display:none!important}@media(max-width:700px){header{padding:20px}.badge,.muted{display:none}main{padding:35px 18px 0}h1{letter-spacing:-2px}.explanation,.learn,.workspace{grid-template-columns:1fr}.explanation{gap:24px}.panel{padding:20px}.output{grid-column:auto}.tab{padding:14px}.tab strong{font-size:17px;margin-left:3px}.tab span{margin-left:0;font-size:12px}.learn{gap:24px}footer{flex-direction:column}}
/* Focused classroom launcher and presentation view */
.tool-card{display:block;text-align:left;background:#193c32;color:#f6f7ef;border:0;border-radius:18px;padding:34px;margin:38px 0 20px;max-width:620px;width:100%}.tool-card h2{font-size:30px;margin-top:24px}.tool-card p{font-size:16px;line-height:1.7;color:#c5d7ca;max-width:470px}.tool-card strong{display:block;margin-top:26px;color:#d5eaaa}.tool-card:hover{background:#24503f}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.demo-bar>span{font-size:11px;letter-spacing:1.5px;color:var(--muted)}#demo>header,#demo main>h1,#demo main>.intro,#demo main>.eyebrow,#demo footer{display:none}#demo main{max-width:1200px;padding-top:18px}#demo nav{margin-top:0}#demo .workspace{display:block;margin-top:16px}#demo .workspace>.panel{min-height:300px;max-width:900px;margin:auto}#demo .presentation-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:900px;margin:24px auto 0}#step-label{font:500 17px 'Space Grotesk',sans-serif}#demo .learn{padding:24px 0;gap:30px}#demo .challenge{display:none}#demo .learn{grid-template-columns:1fr}#demo .learn h2{font-size:20px;margin:8px 0}#demo .learn p{margin:6px 0}#demo .keys code{max-height:100px}#demo .explanation{padding:22px}#demo .panel>label{font-size:24px}@media(max-width:700px){.demo-bar{padding:10px 14px;flex-wrap:wrap}.demo-bar>span{display:none}#step-label{font-size:13px}.presentation-nav button{padding:10px}.tool-card{padding:26px}#demo .flow{font-size:16px}}
#demo #status{max-width:900px;margin:auto}#hub main{padding-bottom:45px}
.encryption-key{max-width:900px;margin:18px auto;padding:14px 18px;background:#e0ecda;border:1px solid #b1c7a6;border-radius:10px}.encryption-key strong{font-size:12px;display:block;margin-bottom:8px}.encryption-key code{display:block;overflow-wrap:anywhere;max-height:72px;overflow:auto;font-size:12px;line-height:1.5}.journey,.message-preview{background:#f0f3eb;padding:22px;border-radius:10px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap}#decryption-key{font:12px/1.6 monospace}#demo .keys code{max-height:150px}#demo .panel p{max-width:760px}.presentation-nav{position:relative}#demo .explanation{grid-template-columns:1.2fr 1fr}@media(max-width:700px){#demo .explanation{grid-template-columns:1fr}#demo .presentation-nav{flex-wrap:wrap}#step-label{order:-1;width:100%;text-align:center}}
