:root{--ink:#f2f8e9;--soft:#c8d8ca;--teal:#8de5bb;--gold:#f5cb8e;--night:#061c1c;--line:rgba(191,228,203,.2)}
html,body{background:#041919}
.mslbf-app{background:#051b1b url(crystal-foundry.webp) left top/cover no-repeat;min-height:820px}
.mslbf-app:before{background:linear-gradient(90deg,#02161516,#041a194d 25%,#041b19d9 75%,#041815f5),linear-gradient(0deg,#041919 0%,transparent 70%)}
.header{background:#06241b94;border-color:#e0c28c38}.school strong{color:#ffdaa1;letter-spacing:.07em}
.tool-btn{background:#0b2c25ed;border-color:#e2c18c4a}.tool-btn:hover{background:#194135}
.brand{color:#f3f9e9;text-shadow:0 2px 0 #174b3d,0 8px 30px #0009}.brand em{color:#a0ecc4;font-style:normal}.brand span{color:#f6ce96}
.intro-copy{color:#e0ebdc;text-shadow:0 2px 8px #000}.intro-copy strong{color:#ffdfab}.intro .eyebrow{font-size:.75rem;letter-spacing:.1em}
.pill-row span{background:#12342ae0;border-color:#a3d2b14a;color:#e1efdb}
.primary{background:linear-gradient(125deg,#ffe1ae,#ecc181);border-color:#ffe9c0;color:#163027;box-shadow:0 6px 25px #c5842738}.primary:hover:not(:disabled){background:linear-gradient(125deg,#ffedcb,#f2d5a2)}
.secondary{background:#10342bec;border-color:#a5d9be54;color:#eff6e8}
.pack-chooser select,.score-form input{background:#062820;border-color:#add6b756}
.journey{background:linear-gradient(160deg,#143c2bdd,#051d1aed);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:#b3e9c1}
.journey-head b{color:#ffe0a4;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:#bdd5c0}
.journey-number{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#274b39;font-size:.77rem;font-weight:800}
.journey-step.current{background:#36694791;border-color:#dcdf9c88;color:#fff2c8}.journey-step.current .journey-number{background:#ffdaa1;color:#203423}
.journey-step.done{color:#bce9c9}.journey-check{color:#a3efbf;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:#bed0b9}
.journey-list .world-thumb{width:29px;height:31px;min-width:29px;background-image:url(crystal-foundry.webp);background-size:250px auto;border:1px solid #e5c39388;border-radius:5px;box-shadow:0 3px 10px #0007}
.question-prize{text-align:right;color:#f8dbaa;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:#c4d9c3;font-weight:400}
.wordmark{color:#daf0db}.question-panel{background:linear-gradient(125deg,#174537f2,#072d26f7);border-color:#b5d3b756;border-bottom-color:#eec98b}
.question-text{color:#f4faee}.answer{background:linear-gradient(115deg,#10382cf5,#07251dfa);border-color:#c7d7b955}.answer:hover:not(:disabled){border-color:#b2e3b9;background:#205644}
.answer.selected{background:linear-gradient(120deg,#ffe1ab,#e7ba73);border-color:#fff0c9;color:#1c3325}.answer.selected .letter{color:#35513b}
.answer.correct{background:#a3edc8;color:#073730}.answer.incorrect{background:#6b293c}
.joker{background:#123629e6;border-color:#a7dbb459;color:#e6f7df}.joker:hover:not(:disabled){background:#245640}
.quiz-gate{background:linear-gradient(120deg,#244f36e6,#0e3027ef);border-color:#d3d7a15b}.quiz-gate-step{background:#0a2b23;border-color:#c2d2aa44}.quiz-gate-step.active{border-color:#f2d391;background:#466342}.quiz-gate-step.cleared{background:#31704c;color:#d3f7d2}
.help-panel{background:#103c2cf7;border-color:#a3dbaa7d}.feedback{background:#19543bec}.round-summary{background:#254d33eb;border-color:#d8d49965}
.modal{background:#0c3026;border-color:#cfcc9870}.modal-close{background:#2e5740}.modal::backdrop{background:#011711dd}
.result{background:#0b3024ef;border-color:#e0cc9b77}.result-explanation{background:#1a4936}.score-table th{background:#254f35}.score-table tr:nth-child(-n+3){background:#d7d59b12}.notice{background:#1a4d36;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:#ebd9a5;margin:0 0 7px}
.level-banner h1{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.08;margin:0 0 9px;color:#f6f5e6;letter-spacing:-.025em}.level-banner span{font-size:.84rem;line-height:1.45;color:#cde0c9}
.level-pause{width:44px;height:44px;min-width:44px;border:1px solid #d8cca26b;border-radius:12px;background:#294d35ed;color:#fff0c9;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:#234534;border:1px solid #c1c7a033;color:#c1d2b4}
.progress-stop.current{background:#daae6c;color:#243325;border-color:#ffe6b5;font-weight:800}.progress-stop.done{background:#397653;color:#d5f5d9;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:#0a2e22ed;border-radius:10px;color:#c6dcc4;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:#f2e8bd;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,#a0d5a9,#f6d797);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:#062a22;isolation:isolate}
#block-canvas{display:block;width:100%;height:100%;aspect-ratio:480/672;touch-action:none;outline-offset:-5px}
.arcade-overlay{position:absolute;inset:0;background:#041c1870;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,#2a5740f7,#0b3227f5);box-shadow:0 15px 40px #0006}
.arcade-card .eyebrow{font-size:.69rem;margin:0;color:#f0d6a1;letter-spacing:.07em}.arcade-card h2{font-size:clamp(1.35rem,3vw,1.9rem);margin:0;color:#ffedc8;line-height:1.13}
.arcade-card p{font-size:.95rem;line-height:1.5;margin:0;color:#e2ead2}.arcade-card small{font-size:.74rem;line-height:1.55;color:#d1e1c8;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:#103926e8;border-radius:10px;text-align:center}
.arcade-status p{font-size:.8rem;line-height:1.45;color:#d4e2c9;margin:0}.arcade-status .block-combo{font-size:.74rem;letter-spacing:.02em;color:#f2d9a6;font-weight:700;margin-top:5px}
.block-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.block-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,#386446,#153e2b);color:#e2efd2;font-size:1.45rem;font-weight:800;box-shadow:0 4px 0 #01190f88}
.block-controls .control-reserve{font-size:.67rem;letter-spacing:.02em}.block-controls .control-drop{grid-column:span 2;font-size:.88rem;letter-spacing:.035em;background:linear-gradient(140deg,#edcb97,#cfab6d);border-color:#ffe9bd;color:#1c3423}
.block-controls button.held{background:#b5e1b2;color:#142d1a;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:#103d2c;border:1px solid #dcd6a355;border-radius:16px}.asset-loading h1{font-size:1.8rem}.asset-loading p{color:#d3e3c8;line-height:1.5}
.result-meta{flex-wrap:wrap}.result-levels{font-size:3rem;line-height:1.1;color:#f7dea8;font-weight:900}.result-levels span{font-size:1.4rem;color:#c2d3b5}.result-caption{color:#d0e2c5}
.mobile-ladder{background:#153827de;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){
 .mslbf-app{background-position:42% top;min-height:700px}.mslbf-app:before{background:linear-gradient(0deg,#051b19 0%,#05241b99 45%,#06261b48)}
 .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}
 .block-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}}
