:root{--ink:#f1f5ff;--soft:#c6cce7;--teal:#91deff;--gold:#c7b3ff;--night:#10162c;--line:rgba(191,228,203,.2)}
html,body{background:#060c23}
.mslpr-app{background:#070d29 url(prism-observatory.webp) left top/cover no-repeat;min-height:820px}
.mslpr-app:before{background:linear-gradient(90deg,#070a2616,#0a12344d 25%,#081131d9 75%,#080c26f5),linear-gradient(0deg,#060c23 0%,transparent 70%)}
.header{background:#101731b3;border-color:#e0c28c38}.school strong{color:#cfc5ff;letter-spacing:.07em}
.tool-btn{background:#152248ed;border-color:#e2c18c4a}.tool-btn:hover{background:#263764}
.brand{color:#f2f4ff;text-shadow:0 2px 0 #174b3d,0 8px 30px #0009}.brand em{color:#87e8ff;font-style:normal}.brand span{color:#b8b4ff}
.intro-copy{color:#e0e6fc;text-shadow:0 2px 8px #000}.intro-copy strong{color:#c3eeff}.intro .eyebrow{font-size:.75rem;letter-spacing:.1em}
.pill-row span{background:#18224be0;border-color:#a3d2b14a;color:#e3e8ff}
.primary{background:linear-gradient(125deg,#c3f3ff,#a49df7);border-color:#e3f7ff;color:#152040;box-shadow:0 6px 25px #c5842738}.primary:hover:not(:disabled){background:linear-gradient(125deg,#ddf8ff,#c2b4ff)}
.secondary{background:#192748ec;border-color:#a5d9be54;color:#f0f2ff}
.pack-chooser select,.score-form input{background:#102041;border-color:#add6b756}
.journey{background:linear-gradient(160deg,#202350dd,#0c1433ed);border:1px solid #ddc5934f;border-radius:17px;padding:20px 16px;box-shadow:0 15px 45px #0005}
.journey-head{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #d3d2a633;padding-bottom:14px;margin-bottom:13px;font-size:.68rem;font-weight:800;letter-spacing:.06em;line-height:1.35;color:#b5c6ff}
.journey-head b{color:#d9c5ff;font-size:.85rem;white-space:nowrap;letter-spacing:0}
.journey-list{list-style:none;padding:0;margin:0;display:grid;gap:5px}
.journey-step{display:grid;grid-template-columns:29px 24px minmax(0,1fr) 10px;gap:7px;align-items:center;min-height:43px;padding:7px 5px;border:1px solid transparent;border-radius:9px;font-size:.77rem;line-height:1.2;color:#c4ccea}
.journey-number{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#293657;font-size:.77rem;font-weight:800}
.journey-step.current{background:#4c427b91;border-color:#bcaaff88;color:#e6f5ff}.journey-step.current .journey-number{background:#cfc5ff;color:#192442}
.journey-step.done{color:#b2deff}.journey-check{color:#91e5ff;font-weight:900;font-size:.86rem}
.journey-note{margin:17px 0 0;border-top:1px solid #dbcfaa2e;padding-top:13px;font-size:.75rem;line-height:1.65;color:#bacbe6}
.journey-list .world-thumb{width:29px;height:31px;min-width:29px;background-image:url(prism-observatory.webp);background-size:250px auto;border:1px solid #e5c39388;border-radius:5px;box-shadow:0 3px 10px #0007}
.question-prize{text-align:right;color:#b9dfff;font-weight:800;font-size:1.65rem;font-variant-numeric:tabular-nums}.question-prize small{display:block;font-size:.78rem;line-height:1.8;color:#bdcae8;font-weight:400}
.wordmark{color:#deebff}.question-panel{background:linear-gradient(125deg,#23254df2,#122447f7);border-color:#b5d3b756;border-bottom-color:#eec98b}
.question-text{color:#f3f6ff}.answer{background:linear-gradient(115deg,#1b274bf5,#10203cfa);border-color:#c7d7b955}.answer:hover:not(:disabled){border-color:#b2e3b9;background:#2f3b63}
.answer.selected{background:linear-gradient(120deg,#b8eaff,#b1a6ff);border-color:#f0e9ff;color:#172343}.answer.selected .letter{color:#3a3962}
.answer.correct{background:#a8e7e4;color:#073730}.answer.incorrect{background:#6b293c}
.joker{background:#1f2851e6;border-color:#a7dbb459;color:#e7efff}.joker:hover:not(:disabled){background:#324567}
.quiz-gate{background:linear-gradient(120deg,#302f63e6,#142246ef);border-color:#d3d7a15b}.quiz-gate-step{background:#152141;border-color:#c2d2aa44}.quiz-gate-step.active{border-color:#f2d391;background:#423b71}.quiz-gate-step.cleared{background:#2c5c7e;color:#d3f3ff}
.help-panel{background:#172b52f7;border-color:#a3dbaa7d}.feedback{background:#215166ec}.round-summary{background:#323158eb;border-color:#d8d49965}
.modal{background:#162047;border-color:#cfcc9870}.modal-close{background:#38436a}.modal::backdrop{background:#070b20dd}
.result{background:#17223fef;border-color:#e0cc9b77}.result-explanation{background:#263b5c}.score-table th{background:#25365a}.score-table tr:nth-child(-n+3){background:#d7d59b12}.notice{background:#263c60;border-color:#e5d8a28a}
.in-arcade .main-layout{align-items:start;gap:24px}.in-arcade .stage{justify-content:flex-start;width:100%;max-width:100%}.in-arcade .desktop-ladder{align-self:start}
.level-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 0 15px}.level-banner p{font-size:.74rem;font-weight:800;letter-spacing:.13em;color:#b9c6fc;margin:0 0 7px}
.level-banner h1{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.08;margin:0 0 9px;color:#f3f4ff;letter-spacing:-.025em}.level-banner span{font-size:.84rem;line-height:1.45;color:#c4d3f0}
.level-pause{width:44px;height:44px;min-width:44px;border:1px solid #d8cca26b;border-radius:12px;background:#2d365eed;color:#f0e9ff;font-weight:900;font-size:1.3rem}
.progress-strip{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px;margin:0 0 14px}.progress-stop{height:23px;display:grid;place-items:center;font-size:.72rem;border-radius:5px;background:#223359;border:1px solid #c1c7a033;color:#c4cfeb}
.progress-stop.current{background:#b7c9ff;color:#192547;border-color:#ffe6b5;font-weight:800}.progress-stop.done{background:#356186;color:#d3f3ff;border-color:#b6e2b755}
.arcade-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:480px;margin:0 auto 10px;width:100%}
.arcade-hud>span{display:flex;flex-direction:column;gap:6px;padding:11px 8px;border:1px solid #c6d6ae3b;background:#12243fed;border-radius:10px;color:#c6d0ed;font-size:.72rem;line-height:1.2;text-align:center}
.arcade-hud strong{font-size:clamp(1rem,2vw,1.5rem);font-weight:800;font-variant-numeric:tabular-nums;color:#dfe9ff;line-height:1.1}.arcade-hud .time-low{border-color:#eea2999c;background:#693f3788}.time-low strong{color:#ffc9b8}
.mission-clock{height:4px;background:#52624988;border-radius:3px;overflow:hidden;max-width:480px;margin:0 auto 12px;width:100%}.mission-clock span{display:block;height:100%;background:linear-gradient(90deg,#8ce3ff,#b69eff);width:0}
.arcade-playing{width:100%;display:flex;align-items:center;flex-direction:column;gap:12px}.board-wrap{position:relative;width:clamp(280px,calc((var(--play-height,950px) - 370px)*.714286),480px);max-width:100%;min-width:0;aspect-ratio:480/672;border:1px solid #d6cfa37d;border-radius:16px;overflow:hidden;box-shadow:0 14px 50px #0008,0 0 24px #589d602b;background:#111d37;isolation:isolate}
#prism-canvas{display:block;width:100%;height:100%;aspect-ratio:480/672;touch-action:none;outline-offset:-5px}
.arcade-overlay{position:absolute;inset:0;background:#0d143d70;backdrop-filter:blur(3px);padding:14px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center}
.arcade-card{min-width:0;min-height:0;max-height:100%;width:100%;max-width:390px;overflow:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:24px 20px;border:1px solid #d4daaf86;border-radius:16px;background:linear-gradient(145deg,#363c73f7,#172650f5);box-shadow:0 15px 40px #0006}
.arcade-card .eyebrow{font-size:.69rem;margin:0;color:#cdd8ff;letter-spacing:.07em}.arcade-card h2{font-size:clamp(1.35rem,3vw,1.9rem);margin:0;color:#e6f4ff;line-height:1.13}
.arcade-card p{font-size:.95rem;line-height:1.5;margin:0;color:#dde5ff}.arcade-card small{font-size:.74rem;line-height:1.55;color:#c4d5f6;overflow-wrap:anywhere}.arcade-card .primary{min-height:46px;width:100%;justify-content:center;padding:12px;font-size:1rem;flex-shrink:0}
.arcade-bottom{max-width:480px;width:100%;display:flex;flex-direction:column;gap:10px}.arcade-status{min-height:64px;padding:9px 12px;border:1px solid #c5d7b132;background:#1d2853e8;border-radius:10px;text-align:center}
.arcade-status p{font-size:.8rem;line-height:1.45;color:#d1dcf4;margin:0}.arcade-status .prism-combo{font-size:.74rem;letter-spacing:.02em;color:#a9e8ff;font-weight:700;margin-top:5px}
.prism-controls{display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px}.prism-controls button{touch-action:none;user-select:none;-webkit-user-select:none;min-height:47px;border-radius:10px;border:1px solid #c7dca970;background:linear-gradient(140deg,#3c467a,#202f54);color:#e0e8ff;font-size:1.45rem;font-weight:800;box-shadow:0 4px 0 #01190f88}
.prism-controls .control-reserve{font-size:.67rem;letter-spacing:.02em}.prism-controls .control-drop{grid-column:span 2;font-size:.88rem;letter-spacing:.035em;background:linear-gradient(140deg,#edcb97,#cfab6d);border-color:#ffe9bd;color:#1c3423}
.prism-controls button.held{background:#c0e7ff;color:#192243;transform:translateY(2px);box-shadow:0 2px 0 #021a0d88}
.arcade-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:15px 0 5px}.arcade-actions button{min-height:43px}
.asset-loading{padding:50px 20px;text-align:center;background:#233155;border:1px solid #dcd6a355;border-radius:16px}.asset-loading h1{font-size:1.8rem}.asset-loading p{color:#cfdbf6;line-height:1.5}
.result-meta{flex-wrap:wrap}.result-levels{font-size:3rem;line-height:1.1;color:#c6d8ff;font-weight:900}.result-levels span{font-size:1.4rem;color:#c1d0ec}.result-caption{color:#c7daf6}
.mobile-ladder{background:#1f2b53de;border-color:#c3dab04d}
@media(min-width:1000px){.in-arcade .main-layout{grid-template-columns:minmax(0,1fr) 240px}.in-arcade .journey{padding:17px 14px}}
@media(max-width:760px){
 .mslpr-app{background-position:42% top;min-height:700px}.mslpr-app:before{background:linear-gradient(0deg,#09122c 0%,#0f153899 45%,#1b254448)}
 .header{padding:14px 13px}.school{gap:8px}.school img{width:38px;height:43px}.school strong{font-size:.85rem}
 .main-layout{padding:18px 14px}.intro{padding:30px 4px 27px;min-height:550px}.brand{font-size:clamp(3.35rem,14vw,6rem)}
 .in-arcade .main-layout{padding:15px 12px}.level-banner{padding-top:0;gap:10px}.level-banner span{font-size:.73rem}.level-banner h1{font-size:1.65rem}
 .arcade-hud{gap:5px}.arcade-hud>span{padding:10px 4px;font-size:.64rem}.arcade-hud strong{font-size:1.03rem}.board-wrap{width:clamp(280px,calc((var(--play-height,850px) - 370px)*.714286),480px)}
 .arcade-card{padding:17px 14px;gap:10px}.arcade-card p{font-size:.86rem}.arcade-card small{font-size:.7rem}.arcade-overlay{padding:11px}
 .prism-controls button{min-height:48px}.arcade-status{min-height:67px}.progress-strip{gap:3px}.progress-stop{font-size:.65rem}.footer{padding:20px 12px}.result{padding:26px 16px}
}
@media(max-width:370px){.header{padding:12px 10px}.header-tools{gap:4px}.tool-btn{padding:8px;min-width:34px;min-height:36px}.school span{font-size:.68rem}.school strong{font-size:.73rem}.school img{width:29px;height:35px}.in-arcade .main-layout{padding:13px 10px}.main-layout{padding:16px 12px}.arcade-card{padding:14px 11px;gap:8px}.brand{font-size:3.3rem}.arcade-status p{font-size:.75rem}.level-banner h1{font-size:1.45rem}.progress-strip{gap:2px}.arcade-hud>span{font-size:.59rem}.arcade-hud strong{font-size:.96rem}}

.prism-controls{grid-template-columns:1fr 2fr 1fr}.prism-controls .control-launch{font-size:.85rem;letter-spacing:.035em;background:linear-gradient(125deg,#b8efff,#b0a6fc);color:#192745;border-color:#e3e8ff}.power-legend{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:.66rem;color:#becbea;margin:5px 0 0;line-height:1.6}.power-legend span{white-space:nowrap}.power-legend b{display:inline-grid;place-items:center;min-width:15px;color:#d5eeff}.prism-controls button{min-height:50px}.board-wrap{border-color:#96b9ec8a;box-shadow:0 18px 55px #0009,0 0 26px #698ff126}.journey,.arcade-card,.question-panel,.answer,.quiz-gate,.help-panel,.result{border-color:#9eb5e757}.primary{box-shadow:0 6px 25px #8b6ced38}.footer .credit{color:#d0d6ff}
