:root{
 --ink:#101214;
 --muted:#6d747b;
 --line:#d9dde1;
 --panel:#f8f9fa;
 --blue:#162a91;
 --green:#196a43;
 --orange:#d85812;
 --red:#e11c1c;
 --shadow:0 18px 50px rgba(18,24,29,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff;color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif}
body{overflow-x:hidden}
button,input{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;background:#fff;position:relative;isolation:isolate}
.app-shell:before{content:"";position:fixed;inset:0;z-index:-2;background-image:linear-gradient(rgba(18,24,29,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,24,29,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent)}
.app-shell:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0,rgba(17,24,39,.018) 50%,transparent 100%);animation:scan 9s linear infinite}
@keyframes scan{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.hud-top{height:72px;display:grid;grid-template-columns:1fr minmax(220px,420px) 1fr;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}
.hud-brand,.hud-actions,.hud-progress{font-family:"Courier New",monospace;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.hud-brand{display:flex;align-items:center;gap:9px;font-weight:700}.hud-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(225,28,28,.08)}
.hud-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.icon-btn,.nav-btn{border:1px solid var(--ink);background:#fff;color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;padding:10px 13px;transition:.18s ease}.icon-btn:hover,.nav-btn:hover{transform:translateY(-1px);box-shadow:3px 3px 0 var(--ink)}
.hud-progress{text-align:center;color:var(--muted)}.progress-track{height:2px;margin-top:7px;background:#e7eaed;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--ink);transition:width .5s ease}
.ticker{height:26px;overflow:hidden;border-bottom:1px solid #eef0f2;background:#fff;white-space:nowrap;position:sticky;top:72px;z-index:20}.ticker-text{display:inline-block;min-width:100%;padding:7px 0;font:9px/1 "Courier New",monospace;letter-spacing:.13em;color:#858b91;animation:ticker 22s linear infinite}@keyframes ticker{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
.scene{min-height:calc(100vh - 154px);padding:40px clamp(20px,5vw,80px) 110px;outline:none}.scene-wrap{max-width:1400px;margin:0 auto;min-height:640px;position:relative;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr);gap:clamp(28px,5vw,90px);align-items:center}.scene-wrap.centered{grid-template-columns:1fr;text-align:center;max-width:1180px}.scene-wrap.full{display:block;max-width:1400px}.copy-zone{position:relative;z-index:3}.eyebrow{font:700 10px/1.2 "Courier New",monospace;letter-spacing:.16em;color:#777f86;text-transform:uppercase;margin-bottom:12px}.scene-title{font-size:clamp(42px,6vw,92px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin:0 0 26px;font-weight:800;max-width:1000px}.scene-title.small{font-size:clamp(34px,4.4vw,64px)}.scene-subtitle{font:700 12px/1.4 "Courier New",monospace;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;margin-bottom:24px}.story-lines{display:flex;flex-direction:column;gap:12px;max-width:720px}.story-line{margin:0;font-size:clamp(19px,2.25vw,31px);line-height:1.25;font-weight:500;opacity:0;transform:translateX(46px);animation:lineIn .55s cubic-bezier(.2,.8,.2,1) forwards}.story-line:nth-child(even){transform:translateX(-34px)}.story-line.glorb:before{content:"GLORB // ";font:700 10px "Courier New",monospace;letter-spacing:.12em;color:#747c84;vertical-align:middle}.story-line.system{font:700 clamp(13px,1.5vw,18px) "Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}.story-line.big{font-size:clamp(30px,4.5vw,62px);font-weight:800;letter-spacing:-.035em}.story-line.red{color:var(--red)}.story-line.orange{color:var(--orange)}.story-line.green{color:var(--green)}.story-line.blue{color:var(--blue)}
@keyframes lineIn{to{opacity:1;transform:translateX(0)}}
.art-zone{position:relative;min-height:540px;display:flex;align-items:center;justify-content:center}.art-img{display:block;max-width:100%;max-height:72vh;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(13,17,20,.05));animation:artIn .8s cubic-bezier(.2,.8,.2,1) both}.art-img.no-shadow{filter:none}.art-img.large{max-height:78vh}.art-img.small{max-height:52vh}.art-img.float{animation:artIn .7s ease both,float 4.5s ease-in-out 1s infinite}@keyframes artIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hud-card{border:1px solid var(--ink);padding:18px 20px;background:rgba(255,255,255,.95);position:relative;box-shadow:6px 6px 0 rgba(16,18,20,.04)}.hud-card:before,.hud-card:after{content:"";position:absolute;width:11px;height:11px}.hud-card:before{left:-1px;top:-1px;border-left:3px solid var(--ink);border-top:3px solid var(--ink)}.hud-card:after{right:-1px;bottom:-1px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.prompt-box{margin-top:30px;border-top:1px solid var(--line);padding-top:22px}.prompt-title{font:700 11px "Courier New",monospace;letter-spacing:.14em;text-transform:uppercase;color:#6b7278;margin-bottom:12px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:720px}.choice-card{min-height:58px;text-align:left;border:1px solid #bfc5ca;background:#fff;padding:14px 16px;font-weight:650;line-height:1.25;transition:.18s ease;position:relative}.choice-card:hover,.choice-card:focus-visible{border-color:var(--ink);transform:translateY(-1px);box-shadow:4px 4px 0 #eef0f2}.choice-card.selected{border-color:var(--ink);background:var(--ink);color:#fff}.choice-card.correct{border-color:var(--green);background:#f2faf6;color:#12492f}.choice-card.incorrect{border-color:var(--red);background:#fff5f5;color:#8f1111}.feedback{margin-top:12px;max-width:700px;padding:12px 14px;border-left:3px solid var(--ink);background:#f7f8f9;font-size:15px;line-height:1.45}.feedback.good{border-color:var(--green)}.feedback.retry{border-color:var(--orange)}
.story-nav{height:56px;position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;background:rgba(255,255,255,.95);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.story-nav .primary{justify-self:end;background:var(--ink);color:#fff}.story-nav .ghost{justify-self:start}.nav-btn:disabled{opacity:.25;cursor:not-allowed;box-shadow:none;transform:none}.nav-hint{font:700 9px "Courier New",monospace;letter-spacing:.12em;color:#989ea4;text-transform:uppercase;text-align:center}
.flash-white{animation:flash .8s ease both}@keyframes flash{0%{background:#fff}15%{background:#fff}22%{background:#f7d4d4}38%{background:#fff}100%{background:#fff}}.shake{animation:shake .65s ease-in-out both}@keyframes shake{0%,100%{transform:translate(0)}15%{transform:translate(-6px,2px)}30%{transform:translate(8px,-2px)}45%{transform:translate(-7px,1px)}60%{transform:translate(5px,-1px)}75%{transform:translate(-2px,0)}}
.signal-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}.signal-tab{border:1px solid var(--line);background:#fff;padding:16px 10px;text-align:center;font:700 11px "Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}.signal-tab[data-signal="low"]{border-bottom:4px solid var(--blue)}.signal-tab[data-signal="steady"]{border-bottom:4px solid var(--green)}.signal-tab[data-signal="rising"]{border-bottom:4px solid var(--orange)}.signal-tab[data-signal="overload"]{border-bottom:4px solid var(--red)}.signal-tab.active{border-color:var(--ink);box-shadow:4px 4px 0 #eef0f2}.signal-panel{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:24px;border-top:1px solid var(--line);padding-top:24px}.signal-panel img{max-width:100%;max-height:340px;object-fit:contain}.signal-copy h3{font-size:34px;margin:0 0 8px;text-transform:uppercase}.signal-copy p{font-size:18px;line-height:1.5;margin:6px 0}.micro-btn{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:4px 0;font:700 10px "Courier New",monospace;letter-spacing:.1em;text-transform:uppercase}
.graph-inspector{margin:28px 0 0}.graph-wrap{position:relative;max-width:880px;margin:0 auto}.graph-wrap img{width:100%;max-height:440px;object-fit:contain}.graph-nodes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.graph-node{border:1px solid var(--line);background:#fff;padding:12px;text-transform:uppercase;font:700 10px "Courier New",monospace;letter-spacing:.08em}.graph-node.active{border-color:var(--ink);background:#f7f8f9}.graph-readout{min-height:65px;margin-top:14px;text-align:center;font-size:18px;line-height:1.5}
.sort-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(560px,1.3fr);gap:28px;align-items:start}.card-bank{position:sticky;top:130px;border:1px solid var(--line);padding:16px;background:#fff}.bank-title{font:700 10px "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.emotion-bank{display:flex;flex-wrap:wrap;gap:8px}.emotion-card{border:1px solid #bfc5ca;background:#fff;padding:10px 11px;font-size:13px;font-weight:700;cursor:grab;user-select:none}.emotion-card.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.emotion-card.done{opacity:.28;pointer-events:none;text-decoration:line-through}.drop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drop-zone{min-height:190px;border:1px dashed #aeb4ba;padding:14px;background:rgba(255,255,255,.9);transition:.18s}.drop-zone.dragover{border-style:solid;border-color:var(--ink);transform:translateY(-2px)}.drop-zone h3{font:800 15px "Courier New",monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px}.drop-zone.low{border-top:5px solid var(--blue)}.drop-zone.steady{border-top:5px solid var(--green)}.drop-zone.rising{border-top:5px solid var(--orange)}.drop-zone.overload{border-top:5px solid var(--red)}.placed-list{display:flex;gap:6px;flex-wrap:wrap}.placed-pill{background:#f0f2f4;padding:6px 8px;font-size:12px;font-weight:650}.sort-status{margin-top:15px;font:700 10px "Courier New",monospace;letter-spacing:.08em;color:#6d747b;text-transform:uppercase}.reveal-strip{width:100%;max-height:180px;object-fit:contain;margin-top:14px;animation:artIn .6s ease both}
.strategy-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.strategy-card{border:1px solid var(--line);padding:16px;background:#fff}.strategy-card h3{font-size:17px;margin:0 0 8px}.strategy-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.strategy-options button{border:1px solid var(--line);background:#fff;padding:9px 6px;font:700 9px "Courier New",monospace;text-transform:uppercase}.strategy-options button.good{border-color:var(--green);background:#f2faf6}.strategy-options button.bad{border-color:var(--orange);background:#fff8f2}
.mission-complete{max-width:900px;margin:0 auto;text-align:center;padding:60px 0}.complete-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:32px 0}.complete-item{border:1px solid var(--line);padding:16px 8px;font:700 10px "Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}.certificate{max-width:1050px;margin:20px auto 80px;border:2px solid var(--ink);padding:46px;position:relative;background:#fff}.certificate:before,.certificate:after{content:"";position:absolute;width:46px;height:46px}.certificate:before{top:12px;left:12px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.certificate:after{bottom:12px;right:12px;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink)}.certificate h1{font-size:clamp(38px,6vw,74px);line-height:.9;margin:12px 0 24px;text-transform:uppercase}.cert-name{font-size:clamp(30px,4vw,52px);font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:8px;margin:20px 0 22px}.cert-body{max-width:760px;margin:0 auto;font-size:17px;line-height:1.6}.cert-stamp{margin-top:32px;font:700 11px "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase}.cert-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}
.name-entry{max-width:520px;margin:28px auto 0;display:grid;grid-template-columns:1fr auto}.name-entry input{border:1px solid var(--ink);border-right:0;padding:14px 16px;font-size:17px;min-width:0}.name-entry button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:14px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.name-error{color:var(--red);font-size:13px;margin-top:8px;min-height:18px}
.modal{width:min(900px,calc(100vw - 32px));max-height:85vh;border:1px solid var(--ink);padding:0;background:#fff;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(255,255,255,.84);backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-head h2{margin:2px 0 0;font-size:25px}.transcript-content,.evidence-content{padding:24px;line-height:1.6}.transcript-content p{font-size:18px}.evidence-content img{display:block;max-width:100%;max-height:68vh;margin:0 auto;object-fit:contain}
@media(max-width:900px){.hud-top{grid-template-columns:1fr auto;height:auto;min-height:66px;padding:10px 16px}.hud-progress{display:none}.hud-actions{gap:4px}.hud-brand{font-size:9px}.icon-btn{font-size:9px;padding:8px}.ticker{top:66px}.scene{padding:28px 18px 100px}.scene-wrap{grid-template-columns:1fr;min-height:auto;gap:20px}.art-zone{min-height:340px;order:-1}.art-img{max-height:50vh}.scene-title{font-size:clamp(38px,12vw,66px)}.story-line{font-size:20px}.choice-grid{grid-template-columns:1fr}.story-nav{padding:0 12px;grid-template-columns:auto 1fr auto}.nav-hint{font-size:8px;padding:0 8px}.sort-layout{grid-template-columns:1fr}.card-bank{position:static}.drop-grid{grid-template-columns:1fr}.signal-tabs{grid-template-columns:repeat(2,1fr)}.signal-panel{grid-template-columns:1fr}.strategy-board{grid-template-columns:1fr}.strategy-options{grid-template-columns:repeat(2,1fr)}.complete-grid{grid-template-columns:repeat(2,1fr)}.certificate{padding:28px 20px;margin:0 auto 70px}.name-entry{grid-template-columns:1fr}.name-entry input{border-right:1px solid var(--ink);border-bottom:0}.cert-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media print{.hud-top,.ticker,.story-nav,.cert-actions{display:none!important}.scene{padding:0}.certificate{border:2px solid #000;margin:0;max-width:none;min-height:95vh;display:flex;flex-direction:column;justify-content:center}.app-shell:before,.app-shell:after{display:none}}


/* KINETIC STORY LAYER: intentionally white, technical, and image-led */
.scene-wrap:not(.full)::before{
 content:"";position:absolute;inset:2% -1%;pointer-events:none;opacity:.42;
 background:
 linear-gradient(var(--ink),var(--ink)) left top/26px 1px no-repeat,
 linear-gradient(var(--ink),var(--ink)) left top/1px 26px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/26px 1px no-repeat,
 linear-gradient(var(--ink),var(--ink)) right bottom/1px 26px no-repeat;
}
.copy-zone:after{
 content:"LIVE TRANSCRIPT // DATA STREAM";display:block;margin-top:28px;padding-top:9px;border-top:1px solid #edf0f2;
 font:700 8px "Courier New",monospace;letter-spacing:.18em;color:#b0b5ba;
}
.story-line{will-change:transform,opacity;position:relative}
.story-line.system{overflow:hidden}
.story-line.system:after{content:"";position:absolute;left:0;bottom:-5px;width:48px;height:1px;background:currentColor;opacity:.32;animation:dataSweep 2.4s ease-in-out infinite}
@keyframes dataSweep{0%,100%{transform:translateX(0);opacity:.12}50%{transform:translateX(120px);opacity:.5}}
.art-zone:after{content:"";position:absolute;inset:8%;pointer-events:none;border:1px solid rgba(16,18,20,.035);clip-path:polygon(0 0,12% 0,12% 1px,1px 1px,1px 12%,0 12%,0 0,100% 0,100% 12%,calc(100% - 1px) 12%,calc(100% - 1px) 1px,88% 1px,88% 0,100% 0,100% 100%,88% 100%,88% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 88%,100% 88%,100% 100%,0 100%,0 88%,1px 88%,1px calc(100% - 1px),12% calc(100% - 1px),12% 100%,0 100%)}
.signal-note{font:700 10px "Courier New",monospace!important;letter-spacing:.13em;text-transform:uppercase;color:#777f86;border-top:1px solid var(--line);padding-top:12px;margin-top:16px!important}
@media(max-width:900px){.copy-zone:after{display:none}.scene-wrap:not(.full)::before{opacity:.22}}

/* =========================================================
 SIGNAL MISSION EDIT BRANCH - approved interaction updates
 ========================================================= */

.choice-card.tried,
.choice-card.tried:hover,
.choice-card.tried:focus-visible{
 background:#eef0f2;
 color:#7b8288;
 border-color:#cfd4d8;
 box-shadow:none;
 transform:none;
 cursor:not-allowed;
 text-decoration:none;
}
.choice-card.tried:disabled{opacity:1}

.scene-wrap.text-only{
 grid-template-columns:1fr;
 max-width:980px;
}
.scene-wrap.text-only .copy-zone{
 max-width:900px;
}
.artifact-scene{
 text-align:center;
}
.artifact-frame{
 height:min(70vh,720px);
 display:flex;
 align-items:center;
 justify-content:center;
 margin:10px auto 0;
}
.artifact-frame img{
 display:block;
 max-width:100%;
 max-height:100%;
 object-fit:contain;
 filter:drop-shadow(0 16px 22px rgba(13,17,20,.05));
}

/* Final approved interaction refinements */
.zone-desc{margin:-3px 0 10px;font-size:12px;line-height:1.3;color:var(--muted);}
.prompt-helper{margin:4px 0 10px;font-size:14px;font-weight:700;color:var(--muted);}
.replay-count{margin-top:8px;font:700 11px "Courier New",monospace;letter-spacing:.1em;color:#687077;}

.strategy-single{display:flex;flex-direction:column;justify-content:flex-start;max-width:980px;margin:0 auto;}
.strategy-intro{margin:0 0 10px;font-size:18px;line-height:1.45;}
.strategy-step{margin:4px 0 8px;font:700 11px "Courier New",monospace;letter-spacing:.12em;color:#7a8187;}
.strategy-card-single{width:min(720px,100%);margin:0 auto;padding:22px;}
.strategy-card-single h3{margin:0 0 18px;font-size:clamp(24px,3vw,38px);line-height:1.1;text-align:center;}
.strategy-card-single .strategy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.strategy-options button.signal-choice.low{border-color:var(--blue);color:var(--blue);background:#f3f6ff;}
.strategy-options button.signal-choice.steady{border-color:var(--green);color:var(--green);background:#f2faf6;}
.strategy-options button.signal-choice.rising{border-color:var(--orange);color:#a84209;background:#fff7f1;}
.strategy-options button.signal-choice.overload{border-color:var(--red);color:#9f1414;background:#fff4f4;}
.strategy-options button.signal-choice.tried,
.strategy-options button.signal-choice.tried:hover,
.strategy-options button.signal-choice.tried:focus-visible{background:#eef0f2;color:#7b8288;border-color:#cfd4d8;opacity:1;cursor:not-allowed;}
.strategy-feedback{min-height:26px;margin-top:14px;text-align:center;font-weight:700;line-height:1.35;}
.strategy-progress{margin:14px auto 0;width:min(720px,100%);text-align:center;}
.strategy-dots{display:flex;justify-content:center;gap:7px;margin-bottom:5px;}
.strategy-dots span{width:9px;height:9px;border-radius:50%;border:1px solid #aab0b5;background:#fff;}
.strategy-dots span.done{background:#3f474d;}
.strategy-nav{width:min(720px,100%);margin:10px auto 0;display:flex;justify-content:space-between;gap:10px;}
.cert-body ul{max-width:760px;margin:12px auto 18px;padding-left:24px;text-align:left;line-height:1.55;}

@media(max-width:1100px){.zone-desc{font-size:9px;margin:-2px 0 5px}}
@media(max-width:699px){
 .zone-desc{font-size:7px;line-height:1.2;margin:-1px 0 3px}
 .strategy-intro{font-size:13px;margin-bottom:6px}
 .strategy-card-single{padding:12px}
 .strategy-card-single h3{font-size:20px;margin-bottom:10px}
 .strategy-card-single .strategy-options{grid-template-columns:1fr 1fr;gap:6px}
 .strategy-feedback{font-size:12px;min-height:20px;margin-top:8px}
 .strategy-nav{margin-top:6px}
}


/* =========================================================
 FINAL EDIT - accessibility, responsive fit + adult panel
 ========================================================= */
:root{
 --interaction:#eaf4ff;
 --interaction-strong:#dcecff;
 --adult-cream:#faf7f0;
 --adult-navy:#0b2340;
}

/* Interaction areas use a light blue surface so learners can see
 which part of the screen requires action. */
.prompt-box,
.graph-inspector,
.signal-panel,
.sort-layout,
.strategy-card-single{
 background:var(--interaction);
 border:1px solid #c9dff5;
 border-radius:4px;
}
.prompt-box{padding:18px;margin-top:22px;border-top:1px solid #c9dff5}
.graph-inspector{padding:16px}
.signal-panel{padding:18px;margin-top:18px}
.sort-layout{padding:14px}
.strategy-card-single{background:var(--interaction);border-color:#c9dff5}

/* Slightly larger small text throughout. */
.eyebrow{font-size:12px}
.scene-subtitle{font-size:13px}
.prompt-title{font-size:13px}
.prompt-helper{font-size:16px}
.nav-hint{font-size:11px}
.bank-title{font-size:12px}
.sort-status{font-size:12px}
.graph-node{font-size:12px}
.signal-tab{font-size:12px}
.micro-btn{font-size:12px}
.drop-zone h3{font-size:16px}
.zone-desc{font-size:14px}
.placed-pill{font-size:13px}
.strategy-step{font-size:13px}
.strategy-options button{font-size:13px;min-height:48px}
.strategy-feedback{font-size:17px;min-height:30px}
.replay-count{font-size:13px}
.strategy-dots span{width:11px;height:11px}
.choice-card{font-size:16px}
.feedback{font-size:16px}

/* One-card strategy activity: use the available height efficiently. */
.strategy-single{
 height:100%;
 display:flex;
 flex-direction:column;
 justify-content:flex-start;
}
.strategy-intro{font-size:20px}
.strategy-card-single{
 width:min(900px,100%);
 padding:24px;
}
.strategy-card-single h3{
 font-size:clamp(32px,3.6vw,48px);
 margin-bottom:20px;
}
.strategy-card-single .strategy-options{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px;
}
.strategy-progress{margin-top:12px}
.strategy-nav{margin-top:8px}

/* Adult information modal */
.adult-open-btn{white-space:nowrap}
.adult-label-short{display:none}
.adult-dialog{
 width:min(1500px,calc(100vw - 28px));
 height:min(930px,calc(100dvh - 28px));
 max-width:none;
 max-height:none;
 border:0;
 padding:0;
 background:var(--adult-cream);
 color:#1f2935;
 border-radius:22px;
 box-shadow:0 30px 90px rgba(14,24,34,.22);
}
.adult-dialog::backdrop{background:rgba(8,18,28,.42)}
.adult-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}
.adult-head{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
 padding:20px 28px 18px;
 border-bottom:1px solid #d7d3ca;
}
.adult-kicker{
 font:700 13px "Courier New",monospace;
 letter-spacing:.16em;
 color:#81796f;
 margin-bottom:4px;
}
.adult-head h2{
 margin:0;
 font-size:clamp(38px,4vw,72px);
 line-height:.98;
 letter-spacing:-.04em;
}
.adult-close{
 width:72px;
 height:72px;
 flex:0 0 72px;
 border:0;
 border-radius:50%;
 background:#eeece7;
 font-size:46px;
 line-height:1;
 font-weight:500;
}
.adult-tabs{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 padding:12px 18px;
 border-bottom:1px solid #d7d3ca;
}
.adult-tab{
 border:1px solid #c8ced3;
 border-radius:999px;
 background:#fff;
 padding:10px 20px;
 min-height:48px;
 font-weight:700;
 font-size:17px;
 color:#1f2935;
}
.adult-tab.active{
 background:var(--adult-navy);
 border-color:var(--adult-navy);
 color:#fff;
}
.adult-content{
 flex:1;
 min-height:0;
 padding:20px 24px 24px;
 overflow:auto;
}
.adult-panel{
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
 align-content:start;
}
.adult-panel[hidden]{display:none}
.adult-card{
 background:rgba(255,255,255,.82);
 border:1px solid #d3d5d5;
 border-radius:18px;
 padding:22px;
}
.adult-card h3{
 margin:0 0 8px;
 font-size:clamp(24px,2vw,34px);
 line-height:1.05;
}
.adult-card p,
.adult-card li{
 font-size:17px;
 line-height:1.45;
}
.adult-card p{margin:0}
.adult-card a{color:var(--adult-navy);font-weight:700}
.adult-card-wide{grid-column:1/-1}
.adult-flow{font-size:24px!important;letter-spacing:.02em}
.signal-adult-card.low{border-top:5px solid var(--blue)}
.signal-adult-card.steady{border-top:5px solid var(--green)}
.signal-adult-card.rising{border-top:5px solid var(--orange)}
.signal-adult-card.overload{border-top:5px solid var(--red)}
.adult-important{
 border-left:6px solid #ff7a45;
 background:#fff6ec;
}
.adult-evidence-grid{
 grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
}
.adult-evidence-cards{
 display:grid;
 gap:12px;
}
.adult-reference-card ol{
 margin:0;
 padding-left:22px;
}
.adult-reference-card li{margin-bottom:10px}

/* Tablet */
@media(max-width:1100px){
 .eyebrow{font-size:10px}
 .prompt-title{font-size:11px}
 .nav-hint{font-size:9px}
 .graph-node,.signal-tab{font-size:10px}
 .bank-title,.sort-status{font-size:10px}
 .zone-desc{font-size:11px}
 .placed-pill{font-size:10px}
 .strategy-step{font-size:11px}
 .strategy-options button{font-size:11px;min-height:44px}
 .strategy-feedback{font-size:14px}
 .replay-count{font-size:11px}
 .choice-card{font-size:13px}
 .feedback{font-size:13px}


 .adult-dialog{
 width:calc(100vw - 16px);
 height:calc(100dvh - 16px);
 border-radius:16px;
 }
 .adult-head{padding:14px 18px}
 .adult-head h2{font-size:clamp(34px,5vw,52px)}
 .adult-close{width:58px;height:58px;flex-basis:58px;font-size:38px}
 .adult-tabs{gap:7px;padding:10px 14px;flex-wrap:nowrap;overflow-x:auto}
 .adult-tab{font-size:14px;padding:8px 14px;min-height:42px;white-space:nowrap}
 .adult-content{padding:14px}
 .adult-card{padding:16px}
 .adult-card h3{font-size:22px}
 .adult-card p,.adult-card li{font-size:14px}
}

/* Phone */
@media(max-width:699px){
 .adult-label-full{display:none}
 .adult-label-short{display:inline}
 .eyebrow{font-size:9px}
 .prompt-title{font-size:10px}
 .prompt-helper{font-size:12px}
 .nav-hint{font-size:8px}
 .bank-title,.sort-status{font-size:9px}
 .graph-node,.signal-tab{font-size:9px}
 .zone-desc{font-size:10px}
 .placed-pill{font-size:9px}
 .strategy-step{font-size:10px}
 .strategy-options button{font-size:10px;min-height:42px;padding:6px}
 .strategy-feedback{font-size:12px;line-height:1.25}
 .replay-count{font-size:10px}
 .choice-card{font-size:11px}
 .feedback{font-size:11px}



 .adult-dialog{
 width:100vw;
 height:100dvh;
 border-radius:0;
 }
 .adult-head{padding:10px 12px}
 .adult-kicker{font-size:10px}
 .adult-head h2{font-size:30px}
 .adult-close{width:48px;height:48px;flex-basis:48px;font-size:32px}
 .adult-tabs{padding:8px;gap:6px}
 .adult-tab{font-size:12px;padding:7px 10px;min-height:38px}
 .adult-content{padding:8px}
 .adult-panel,
 .adult-evidence-grid{
 grid-template-columns:1fr;
 gap:8px;
 }
 .adult-card{padding:11px;border-radius:12px}
 .adult-card h3{font-size:17px;margin-bottom:4px}
 .adult-card p,.adult-card li{font-size:12px;line-height:1.3}
 .adult-flow{font-size:16px!important}
}


/* SCROLL + SPACING RESTORE
 Keep all content edits, but return the site to normal document flow. */
html, body{
 height:auto;
 min-height:100%;
 overflow-x:hidden;
 overflow-y:auto;
}
.app-shell{
 height:auto;
 min-height:100vh;
 overflow:visible;
}
.scene,
.start-scene{
 height:auto;
 min-height:0;
 overflow:visible;
}
.scene-wrap,
.scene-wrap.full,
.start-scene .scene-wrap.centered{
 height:auto;
 min-height:0;
 overflow:visible;
}


/* =========================================================
 DEFINITIVE SCROLL RESTORE
 Normal document flow on desktop, iPad and iPhone.
 ========================================================= */
html,
body{
 height:auto !important;
 min-height:100% !important;
 overflow-x:hidden !important;
 overflow-y:auto !important;
 -webkit-overflow-scrolling:touch;
}

body{
 position:static !important;
}

.app-shell{
 height:auto !important;
 min-height:100vh !important;
 max-height:none !important;
 overflow:visible !important;
}

.scene,
.start-scene{
 height:auto !important;
 min-height:calc(100vh - 154px) !important;
 max-height:none !important;
 overflow:visible !important;
}

.scene-wrap,
.scene-wrap.full,
.scene-wrap.centered,
.start-scene .scene-wrap.centered{
 height:auto !important;
 min-height:0 !important;
 max-height:none !important;
 overflow:visible !important;
}

.art-zone,
.copy-zone,
.prompt-box,
.sort-layout,
.strategy-single,
.strategy-card-single,
.certificate{
 max-height:none !important;
 overflow:visible !important;
}

/* Restore the original responsive spacing instead of compressing everything
 to one viewport. */
@media(max-width:900px){
 .scene{
 padding:28px 18px 100px !important;
 }
 .scene-wrap{
 grid-template-columns:1fr !important;
 min-height:auto !important;
 gap:20px !important;
 }
 .art-zone{
 min-height:340px !important;
 height:auto !important;
 order:-1;
 }
 .art-img,
 .art-img.large,
 .art-img.small{
 max-height:50vh !important;
 }
 .choice-grid{
 grid-template-columns:1fr !important;
 }
 .sort-layout{
 grid-template-columns:1fr !important;
 }
 .card-bank{
 position:static !important;
 }
 .drop-grid{
 grid-template-columns:1fr !important;
 }
 .signal-tabs{
 grid-template-columns:repeat(2,1fr) !important;
 }
 .signal-panel{
 grid-template-columns:1fr !important;
 }
}

@media(max-width:699px){
 .scene{
 padding:22px 14px 96px !important;
 }
 .art-zone{
 min-height:260px !important;
 }
 .strategy-card-single{
 padding:18px !important;
 }
 .strategy-card-single .strategy-options{
 grid-template-columns:1fr !important;
 }
}
