:root{font-family:DM Sans,system-ui,sans-serif;color:#16372f;background:#f5f6f1;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{border:1px solid #174d3d;background:#174d3d;color:#fff;border-radius:7px;padding:10px 15px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}.secondary{background:#fff;color:#174d3d;border-color:#c6d2c8}.ghost{background:transparent;color:#35574b;border-color:transparent}.active{background:#e6eee7;color:#174d3d;border-color:transparent}:focus-visible{outline:3px solid #cb742f;outline-offset:3px}header{background:#fff;display:flex;align-items:center;gap:30px;padding:22px 3.5%;border-bottom:1px solid #dce1d9;flex-wrap:wrap}.brand{font-family:Manrope,system-ui;font-size:24px;font-weight:800;letter-spacing:1px;color:#174d3d;text-decoration:none;white-space:nowrap}.brand span{display:block;font-size:9px;letter-spacing:2px;padding-left:28px}nav{display:flex;gap:4px;flex:1}.identity{display:flex;gap:10px;align-items:center;font-size:13px}.notice{background:#e8ecdf;font-size:12px;color:#465a43;text-align:center;padding:9px 20px}main{max-width:1440px;margin:auto;padding:38px 4% 60px}h1,h2,h3,h4{font-family:Manrope,system-ui;line-height:1.25}h1{font-size:38px;letter-spacing:-1.5px;margin:10px 0 12px;font-weight:800}h2{font-size:23px;margin:10px 0 16px;letter-spacing:-.5px}h3{font-size:17px}p{margin:12px 0}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.heading p{color:#64796e}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#7a6c41!important}.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:30px}.sidebar{padding-right:25px;border-right:1px solid #dae0d7}.sidebar h2{font-size:17px}.session{display:flex;flex-direction:column;text-align:left;gap:3px;width:100%;background:#fff;border:1px solid #d8e0d6;color:#274b3b;margin-bottom:12px;padding:15px}.session.selected{border:2px solid #44745a;background:#edf2e9}.session span,.session small{font-size:12px;color:#60776b}.card{background:#fff;border:1px solid #dce2d9;border-radius:12px;padding:25px;margin-bottom:20px}.mission{display:flex;justify-content:space-between;background:#163e32;color:#f3f5e8;border-color:#163e32}.mission .eyebrow{color:#c9ce9d!important}.mission .pill{background:#315345;color:#fff}.mission h2{font-size:28px}.pill{display:inline-block;border-radius:4px;padding:4px 8px;font-size:11px;background:#e7eddf;color:#3c5c35}.tasksteps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.tasksteps button{font-size:12px;text-align:left}.tasksteps span{display:block;font-size:18px;margin-bottom:5px}.current{background:#e4ebd9;border-color:#9eb38b;color:#264c37}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats small{display:block;color:#728171;font-size:11px}.stats strong{display:block;font:700 21px Manrope,system-ui;margin-top:5px}.timer{font-family:monospace;font-size:42px;color:#e7eab0;align-self:center;white-space:nowrap}.timer small{display:block;font:11px DM Sans,sans-serif;text-align:center;color:#b7c8b9}.muted{font-size:12px;color:#65776a}.worldgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px}.statusline{padding:12px 16px;background:#edf0df;border-radius:6px;margin-bottom:15px}.map{display:grid;gap:9px}.here{background:#e4eddf;border-color:#648a56;color:#274c35}.npcchips,.row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.npcchips button{font-size:12px}.chat{min-height:150px;max-height:480px;overflow:auto;margin:22px 0}.bubble{background:#edf1e8;border-radius:9px;padding:13px;margin:10px 0;max-width:95%}.bubble.participant{background:#e3ece5;margin-left:auto}.bubble small{color:#64806c;font-size:10px}.bubble p{white-space:pre-wrap;font-size:14px}form{margin:18px 0}label{display:block;font-size:12px;font-weight:600;color:#466452;margin-bottom:13px}input,select,textarea{display:block;border:1px solid #c5d2c6;border-radius:6px;padding:10px 12px;width:100%;background:#fff;color:#1a3d2c;margin-top:6px}textarea{min-height:90px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}details{margin:14px 0}summary{cursor:pointer;font-size:13px;font-weight:700;padding:5px 0}.teacher{background:#f1f2e8}.teacher form{max-width:600px}.empty{text-align:center;padding:90px 20px;background:#ecf0e5;border:1px dashed #b6c6aa;border-radius:12px}.empty>span{font-size:64px;color:#6c8a56}.empty p{color:#60745c}.compact{padding:35px 15px;margin-top:20px}.rail{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px;font-size:10px;letter-spacing:1px}.rail b{font-size:18px;color:#94a781}.resource{display:block;width:100%;text-align:left;background:#f6f7f1;color:#35583f;border-color:#e2e8da;margin:8px 0}.resourcebody{border-left:3px solid #d6c184;padding:10px}pre{white-space:pre-wrap;font:13px/1.8 DM Sans,sans-serif;overflow-wrap:anywhere}.success{padding:15px;background:#e3efda;color:#31552c}.error{padding:14px;background:#fbeee5;color:#843b1c;border-left:3px solid #b85c2d;white-space:pre-wrap}aside.linklanding{border:1px solid #c9d3c1;background:#eef3e7;padding:20px;margin-bottom:25px;border-radius:10px}.linklanding small{font-size:14px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#122d27bb;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px}.overlay .card{max-width:700px;max-height:90vh;overflow:auto;width:100%;box-shadow:0 20px 100px #10231b55}.overlay .card button{margin:5px}.npclist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}.npclist .card{padding:22px}.url{display:block;overflow-wrap:anywhere;font-size:11px;color:#53764b;margin:18px 0}.qrprint{text-align:center}.qrprint img{max-width:100%;height:auto}.transcript{padding:12px 0;border-bottom:1px solid #e5e8dd}.transcript small{font-size:11px;color:#73836f}.annotation{padding:18px;background:#f0f3e7;margin:15px 0;border-radius:8px}mark{background:#eee1a8;padding:3px}.metric{display:flex;align-items:center;gap:15px;margin:15px 0}.metric span{width:155px;font-size:12px}progress{flex:1;accent-color:#4a7956;height:12px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid #dfe5d9;padding:12px}.scroll{overflow:auto}.narrow{max-width:760px;margin:auto}.login{max-width:560px;padding-top:70px}.login h1{font-size:48px;margin-top:25px}.login .eyebrow{margin-top:60px}.login form{background:#fff;padding:30px;border:1px solid #dbe1d5;border-radius:12px}.login small{font-size:11px;color:#74816d}fieldset{border:1px solid #d1dccb;margin:20px 0;padding:20px;border-radius:10px}legend{font-size:14px;font-weight:600}footer{border-top:1px solid #dce1d5;padding:25px 4%;font-size:11px;color:#75816c;display:flex;justify-content:space-between;gap:20px}footer a{color:#3b624a}@media(max-width:1100px){header{gap:18px}nav{order:3;flex-basis:100%}.npclist{grid-template-columns:repeat(2,1fr)}.worldgrid{grid-template-columns:1fr}.layout{grid-template-columns:200px minmax(0,1fr)}.tasksteps,.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){main{padding:24px 5%}.layout{display:block}.sidebar{border-right:0;padding:0}.sidebar .session{display:inline-flex;width:auto;margin-right:8px}h1{font-size:30px}.heading{display:block}.heading button{margin-top:10px}.npclist{grid-template-columns:1fr}nav{overflow:auto}nav button{font-size:11px;white-space:nowrap;padding:10px}.mission{padding:18px}.mission h2{font-size:21px}.timer{font-size:30px}.card{padding:20px}.rail{gap:6px;font-size:8px}footer{display:block}.identity{margin-left:auto}.brand{font-size:19px}.login h1{font-size:40px}}@media print{header,footer,button,form,nav,.notice,.sidebar,.tasksteps{display:none!important}body{background:#fff;color:#000}main{padding:0;max-width:none}.layout,.worldgrid{display:block}.card{break-inside:avoid;border-color:#aaa;box-shadow:none}.overlay{position:absolute;background:#fff;display:block;padding:0;top:0;right:0;bottom:0;left:0}.overlay:has(.qrprint)~*{display:none}.overlay .qrprint{max-width:none;max-height:none;border:0}.npclist,.heading{display:none}body:has(.qrprint) main>*:not(.overlay){visibility:hidden}body:has(.qrprint) .overlay,body:has(.qrprint) .qrprint{visibility:visible}.url{font-size:14px}}.npc-scene{position:relative;isolation:isolate;overflow:hidden;height:560px;margin-top:16px;border-radius:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 520'%3E%3Cpath fill='%23204938' d='M0 0h640v520H0z'/%3E%3Cpath fill='%23366650' d='M0 357h640v163H0z'/%3E%3Cpath fill='none' stroke='%238fba98' stroke-width='10' d='M20 355V105h600v250M0 357h640M320 105v250'/%3E%3Cg transform='translate(-60 0)'%3E%3Ccircle cx='160' cy='175' r='57' fill='%23f0c78c'/%3E%3Cpath fill='%23e2ead8' d='M70 470V350a90 90 0 0 1 180 0v120z'/%3E%3Cpath fill='%23366650' d='m111 280 49 63 49-63-13 190h-72z'/%3E%3C/g%3E%3C/svg%3E") left center / cover #204938}.npc-scene-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.npc-conversation{position:absolute;top:0;right:0;bottom:0;left:50%;min-width:0;display:flex;flex-direction:column;gap:8px;padding:12px;background:#fafcf8f5;overflow:auto;overflow-wrap:anywhere}.npc-conversation h4,.npc-conversation form{margin:0}.npc-conversation .chat{flex:1 1 auto;min-height:75px;margin:0}.npc-conversation textarea{min-height:56px}.npc-conversation button{padding:5px 9px}@media(max-width:600px){.npc-scene{height:700px;background-position:left top}.npc-conversation{top:50%;right:0;bottom:0;left:0}}.station-board{min-height:100vh;max-width:none;padding:clamp(20px,5vw,64px);color:#f7f4df;background:#112319}.station-board .eyebrow,.station-board h2{color:#f7ce69}.station-board table{width:100%;margin-bottom:30px;font-variant-numeric:tabular-nums;font-size:clamp(16px,2.8vw,42px)}.station-board th,.station-board td{padding:.55em .35em;text-align:left;border-bottom:1px solid #477154}.board-station{border:1px solid #679075;border-radius:6px;padding:10px 14px}.station-tablet{max-width:1000px}.tablet-entry{max-width:560px}.tablet-entry input[type=checkbox],.card .row>input[type=checkbox]{width:auto}.room-transcript{max-height:360px;overflow:auto}.home{max-width:980px;padding-top:34px}.home>.brand{margin-bottom:40px}.home-hero h1{font-size:44px;max-width:22ch;margin:16px 0 22px}.home-hero p{max-width:72ch}.home-hero .lead{font-size:19px;color:#35574b}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:20px}.home-grid .card{margin-bottom:0}.home-step{font-family:Manrope,system-ui;font-size:13px;font-weight:800;letter-spacing:2px;color:#cb742f}.home-why ul{padding-left:20px;max-width:80ch}.home-why li{margin-bottom:12px}.home-access{max-width:560px;margin:50px auto 0;padding-top:0}.home footer{margin-top:60px;padding-left:0;padding-right:0;display:block}@media(max-width:680px){.home-hero h1{font-size:32px}}
