:root{color-scheme:light;--paper:#faf8f3;--ink:#20221f;--amber:#e8ac35;--muted:#64685e;--line:#deded2;--mint:#b9d6c4;--pink:#e7c4bc;--sky:#bbd3df;--white:#fffefa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,select,input[type=checkbox]{cursor:pointer}button,a,input,select,summary{touch-action:manipulation}button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:.62rem 1rem;color:var(--ink);background:var(--white);font-weight:650}button:hover{border-color:var(--ink);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.primary{background:var(--ink);color:white;border-color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #986400;outline-offset:3px}a{color:inherit;text-underline-offset:4px}.skip{position:absolute;top:-80px;left:20px;background:var(--amber);padding:10px;z-index:20}.skip:focus{top:10px}header,footer,main{max-width:1240px;margin:auto}header{padding:25px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem;text-decoration:none;white-space:nowrap}.mark{background:var(--amber);width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.7rem}.tag{font-size:1rem;color:var(--muted)}main{padding:0 36px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:20px;padding:36px 0 26px}.eyebrow,.smallcaps{font-size:1rem;font-weight:800;letter-spacing:.14em}.eyebrow{color:#76551d;margin:0 0 15px}h1{font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 22px;max-width:850px}h1 em{font-style:normal;background:linear-gradient(transparent 64%,#f2d28b 64%)}.lede{color:var(--muted);font-size:1.1rem;max-width:590px}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.hero-tags span{font-size:1rem;border:1px solid var(--line);border-radius:30px;padding:6px 10px}.hero-art{height:300px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px dashed #bdbcae;border-radius:50%;width:280px;height:240px;transform:rotate(-24deg)}.o2{width:180px;height:310px;transform:rotate(35deg)}.orb{position:absolute;display:grid;place-items:center;font-weight:850;box-shadow:0 7px 0 rgba(32,34,31,.1)}.packet{width:80px;height:80px;background:var(--sky);border-radius:20px;top:20px;left:20%;font-size:3rem;transform:rotate(-12deg)}.chip{width:74px;height:74px;background:var(--mint);border-radius:50%;bottom:10px;left:25%;font-size:1.7rem}.light{width:90px;height:90px;background:var(--amber);border-radius:25px;right:5%;top:115px;font-size:4rem;transform:rotate(15deg)}.center-byte{font-size:1rem;text-align:center;letter-spacing:.18em;font-weight:850;line-height:1.8}.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;background:#efeee6;padding:20px;border-radius:16px}.toolbar label{font-size:1rem;font-weight:750;display:grid;gap:6px}.toolbar input,.toolbar select{width:100%;min-width:0;min-height:44px;border:1px solid #cccdbf;border-radius:8px;padding:8px 10px;background:var(--white);color:var(--ink)}.list-summary{display:flex;justify-content:space-between;color:var(--muted);font-size:1rem;margin:15px 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--white);display:flex;flex-direction:column;position:relative}.card-art{height:100px;padding:20px;display:flex;justify-content:space-between;align-items:center;background:var(--tone,#eed49b)}.card-icon{font-size:2.7rem;font-weight:800;letter-spacing:-.1em}.card-number{font-size:1rem;font-variant-numeric:tabular-nums;border:1px solid #0004;border-radius:30px;padding:5px 10px}.card-body{padding:16px;display:flex;flex:1;flex-direction:column}.card h2{font-size:1.2rem;letter-spacing:-.025em;line-height:1.2;margin:0 0 12px}.card p{font-size:1rem;color:var(--muted);margin:0 0 20px}.card button{margin-top:auto;align-self:flex-start}.card .badge{position:absolute;top:8px;right:8px;border-radius:20px;background:var(--ink);color:white;font-size:1rem;padding:3px 8px}.mission-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 0}.mission-nav span{font-size:1rem;color:var(--muted)}.mission-heading h1{font-size:clamp(2.3rem,4.3vw,3.8rem);margin-bottom:15px}.mission-heading>p:last-child{font-size:1.05rem;max-width:800px;color:var(--muted);margin-bottom:30px}.play-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.world-column,.control-column{min-width:0}.world-column{background:#eeede3;padding:20px;border-radius:20px;border:1px solid #deded2}.world-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.world-head button{font-size:1rem}.hint{font-size:1rem;color:var(--muted)}#scene{border-radius:15px;overflow:hidden;position:relative;height:320px;margin-top:16px;background:#e5e6da}#world-canvas{display:block;width:100%;height:100%;touch-action:pan-y}.scene-help{position:absolute;bottom:0;left:0;right:0;background:#faf8f3df;font-size:1rem;padding:6px 10px;pointer-events:none}.tokens{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.token{border:1px solid #bbbdae;min-width:60px;max-width:100%;overflow-wrap:anywhere;background:#fffdf5}.token.active{background:var(--amber);border-color:#8d6923}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{background:#fffefa;border-radius:10px;padding:12px;min-width:0}.stat span{display:block;color:var(--muted);font-size:1rem}.stat strong{font-size:1rem;overflow-wrap:anywhere;display:block;margin-top:4px}.live-note{padding:13px 15px;background:#fff8e6;border-left:3px solid var(--amber);font-size:1rem;border-radius:0 8px 8px 0;min-height:48px}.control-column h2{font-size:1.1rem;margin:0 0 6px}.control-column>p{font-size:1rem;margin:0 0 20px}.field{margin:0 0 16px;min-width:0}.field>label,.field legend{display:block;font-size:1rem;font-weight:700;margin-bottom:7px}.field select,.field input[type=text],.field input[type=number]{width:100%;min-width:0;min-height:44px;border:1px solid #bdbfb2;border-radius:8px;padding:9px;background:white;color:var(--ink)}.field input[type=range]{width:100%;min-height:44px;accent-color:#946500}.field output{font-weight:800;margin-left:10px}fieldset.field{border:1px solid var(--line);padding:12px;border-radius:10px}.choice{display:flex;align-items:center;gap:10px;padding:8px 4px;min-height:44px}.choice input{width:20px;height:20px;accent-color:#946500;flex-shrink:0}.choice span{font-size:1rem}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.actions button{font-size:1rem;text-align:left}.check-row{display:flex;gap:10px;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--line)}#feedback{margin-top:20px;padding:16px;border-radius:10px;background:#fae8cc;border:1px solid #c6a478;white-space:pre-line}#feedback.win{background:#dcecdf;border-color:#7aa886}details{margin-top:22px;font-size:1rem;border-top:1px solid var(--line);padding-top:15px}summary{cursor:pointer;font-weight:750;min-height:44px}details p{color:var(--muted)}#sources a{display:block;font-size:1rem;overflow-wrap:anywhere;margin:6px 0}.settings{border-top:1px solid var(--line);margin:50px 0 20px;padding:25px 0;color:var(--muted);font-size:1rem}.settings h2{color:var(--ink);font-size:1rem}.settings label{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:20px}.settings input{width:20px;height:20px;accent-color:#946500}.settings p{max-width:830px}.settings button{font-size:1rem}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 36px;font-size:1rem;color:var(--muted)}[hidden]{display:none!important}.reduced *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.busy{opacity:.65;pointer-events:none}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{height:260px}.hero{gap:10px}.tag{display:none}.play-layout{grid-template-columns:1fr}.world-column{max-width:none}#scene{height:300px}}@media(max-width:550px){header{padding:18px 18px}.brand{font-size:1.1rem}main{padding:0 18px}.hero{grid-template-columns:1fr;padding:40px 0 25px}.hero-art{display:none}.hero h1{font-size:2.8rem}.toolbar{grid-template-columns:1fr 1fr;padding:14px;gap:10px}.toolbar label:first-child{grid-column:1/-1}.cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:85px 1fr}.card-art{height:100%;padding:12px;flex-direction:column;justify-content:center;gap:20px}.card-icon{font-size:2rem}.card-body{padding:18px}.card p{font-size:1rem}.mission-nav{flex-wrap:wrap}.mission-nav button{font-size:1rem;padding:.5rem .7rem}.mission-nav span{font-size:1rem}.world-column{padding:14px}.stats{grid-template-columns:1fr 1fr}.stat{padding:10px}.stat strong{font-size:1rem}.actions button{flex:1 1 140px}.settings label{display:flex}.check-row button{flex:1}.mission-heading h1{font-size:2.35rem;overflow-wrap:anywhere}footer{padding:24px 18px}.scene-help{font-size:1rem}.list-summary{gap:10px}.world-head .smallcaps{font-size:1rem}}

/* Readable, compact DOM typography; canvas glyphs have no pixel-size guarantee. */
html{font-size:16px}button,input,select,textarea,summary{font-size:1rem}button,a,summary,label,legend,p,span,li,output,strong{overflow-wrap:anywhere}button{max-width:100%;white-space:normal;min-width:44px}a{display:inline-block;min-height:44px;padding-block:8px}.brand{white-space:normal}header{padding-block:16px}.toolbar{gap:12px;padding:14px}.card p{margin-bottom:12px}.hero-tags{margin-top:16px}.field{margin-bottom:12px}.actions{margin:14px 0}.settings{margin-top:30px;padding-top:18px}details{margin-top:14px;padding-top:10px}.choice input,.settings input{width:24px;height:24px}.settings label,.choice{min-height:44px}.field input[type=range]{min-height:44px}.list-summary{flex-wrap:wrap}.world-head{flex-wrap:wrap}#scene{height:auto!important}#world-canvas{height:420px;width:100%}.scene-help{position:static;font-size:1rem!important;padding:8px 10px;line-height:1.4}.diagram-text{font-size:1rem;line-height:1.4}.diagram-text ul{padding-left:22px}.diagram-text li{margin-block:6px}.diagram-text summary{min-height:44px}.token:not(button){padding:8px 10px;border-radius:8px}.smallcaps,.eyebrow{letter-spacing:.08em}@media(max-width:550px){#world-canvas{height:360px}.stats{grid-template-columns:1fr}.mission-nav{gap:8px}.hero{padding:26px 0 20px}.card-body{padding:14px}.card{grid-template-columns:64px minmax(0,1fr)}.card-art{padding:8px}.world-head .smallcaps{font-size:1rem}.scene-help{font-size:1rem}.brand{font-size:1.125rem}}

/* Play-first release: big, bright and one clear activity at a time. */
:root{--paper:#fff9ec;--ink:#15233c;--amber:#ffcf36;--muted:#42516a;--line:#c9cfdf;--white:#fffefd}
.quick-play{font-size:28px;padding:18px 32px;border-radius:20px;box-shadow:0 6px 0 #0b695d;background:#007f70!important;margin:12px 0}.start-hint{font-size:20px}.hero-art{background:radial-gradient(ellipse,#e6ddff 0,transparent 70%)}.card{border:2px solid #d9ccea;box-shadow:0 5px 0 #e7def0}.card:nth-child(4n+1) .card-art{background:#ffd85b}.card:nth-child(4n+2) .card-art{background:#9ee6dc}.card:nth-child(4n+3) .card-art{background:#c7b5ff}.card:nth-child(4n) .card-art{background:#ffb8b4}.card button{background:#233d7b;color:white;font-size:22px}.card h2{font-size:26px}.card p{font-size:20px}.mission-heading{margin-bottom:16px}.mission-heading h1{font-size:clamp(36px,5vw,64px);margin-bottom:8px}.mission-heading #objective{display:none}.mission-nav{padding:14px 0;flex-wrap:wrap}.mission-nav button{font-size:20px}.fullscreen-button{background:#ffcf36;border:2px solid #15233c;box-shadow:0 3px 0 #15233c}.play-layout{display:flex;flex-direction:column;gap:16px}.control-column{display:contents}.control-column h2{display:none}#prompt{order:-4;font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.4;max-width:100%;background:#e9e1ff;border-left:8px solid #7754bd;padding:20px;border-radius:16px;margin:0}#fields{order:-3;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}#actions{order:-2;margin:0;gap:12px}.world-column{order:-1;width:100%;background:#e4f5f1;border:2px solid #a4d5ca;padding:18px}.world-head .smallcaps{display:none}.world-head{justify-content:flex-end}.field{background:white;border:2px solid #d5d0e6;border-radius:16px;padding:16px;margin:0}.field>label,.field legend,.choice span,.field input,.field select,.field output{font-size:24px!important;line-height:1.4}.field select{min-height:60px!important}.choice{min-height:60px;padding:10px 4px}.choice input{width:30px;height:30px}.actions button,.token{font-size:24px!important;line-height:1.4;padding:16px 22px;border:2px solid #647c96;border-radius:16px;min-height:60px}.actions button{background:#fff0b1;flex:1 1 250px}.actions button:hover,.token:hover{background:#ffe17b}.token.active{background:#ffce39;border:3px solid #5d4612}.tokens{margin:12px 0;gap:12px}.live-note{font-size:24px;line-height:1.5;background:#fff7d9;padding:20px;border-width:6px}.stat span,.stat strong{font-size:22px}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.diagram-text,#experiment-details{font-size:22px}.diagram-text li{font-size:22px;line-height:1.5}.check-row button{font-size:24px;min-height:60px}.check-row{border:0;gap:12px}#check{background:#3858a1}#feedback{font-size:26px;line-height:1.5;border:3px solid #b27220;padding:24px}#feedback.win{background:#c9f3dd;border-color:#187548}#debrief{font-size:22px;line-height:1.6;width:100%}#debrief summary{font-size:24px}#sources a{font-size:20px}.hint,.scene-help{font-size:20px!important}.next-ready{background:#a8ecc7!important;border:3px solid #187548!important}#world-canvas{height:560px}.settings{font-size:20px}.settings summary{font-size:22px}.expanded-play header,.expanded-play footer,.expanded-play .settings{display:none}.expanded-play main{max-width:none;padding:0 24px}.expanded-play .mission-heading h1{font-size:40px}.expanded-play .mission-heading .eyebrow{display:none}.expanded-play #world-canvas{height:65vh;min-height:420px}.expanded-play .mission-nav{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:2px solid var(--line)}#screen-message{font-size:20px;background:#fff0b1;padding:12px;border-radius:12px}.scene-help{line-height:1.5}@media(max-width:550px){.mission-nav button{font-size:20px}.mission-nav #mission-index{display:none}.mission-heading h1{font-size:36px}.field>label,.field legend,.choice span,.field input,.field select,.field output{font-size:22px!important}.actions button,.token{font-size:22px!important}.live-note,#prompt{font-size:24px}.actions button{flex-basis:100%}#world-canvas{height:460px}.world-column{padding:12px}.expanded-play main{padding:0 12px}.expanded-play .mission-heading h1{font-size:32px}.expanded-play #world-canvas{min-height:360px}.check-row button{font-size:22px}.card p{font-size:20px}}

.scene-caption{font-size:24px!important;line-height:1.5;padding:16px;background:#fff8d7;border-top:3px solid #dfb942;margin:0;color:#15233c;min-height:72px}body:has(#mission:not([hidden]))>header{display:none}#scene-status:empty{display:none}#mission .world-head button{font-size:20px}#mission summary{font-size:22px}

#prompt{order:-5}#fields{order:-4}#actions{order:-3}#feedback{order:-2;margin:0}#live-note{order:-1;margin:0;width:100%}.world-column{order:0}.check-row{order:1}#debrief{order:2}.live-note:empty,#fields:empty,#actions:empty{display:none}

#field-steps{order:-4;display:flex;align-items:center;gap:16px;flex-wrap:wrap;width:100%}#field-steps button,#field-step-label{font-size:22px}#fields:has(>.field[hidden]){display:block;width:100%}.field[hidden]{display:none!important}
