@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900;1000&display=swap');
:root{color-scheme:dark;--navy:#11394a;--teal:#2c8aa2;--orange:#ea6b17;--cream:#fff8e9}*{box-sizing:border-box}body{margin:0;background:#0a2632;color:var(--cream);font:600 15px/1.45 Nunito,system-ui,sans-serif;min-height:100dvh;display:grid;place-items:center;background-image:radial-gradient(ellipse at 50% 0,#24566a 0,transparent 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:800 14px Nunito,system-ui;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ffcb65;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}#shell{width:min(1440px,96vw)}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none}.omega{font-size:40px;font-weight:900;line-height:1}.brand>span:last-child{font-size:10px;letter-spacing:2px}.brand strong{display:block;font-size:24px;letter-spacing:-1px;line-height:1.1}.edition{font-size:11px;letter-spacing:2px;color:#94b9c7}.tools{display:flex;gap:8px}.tools button{background:#ffffff0e;border:1px solid #ffffff20;border-radius:30px;padding:9px 14px;font-size:12px}#stage{position:relative;aspect-ratio:16/9;background:#204b5b;border:1px solid #83c3d033;border-radius:22px;overflow:hidden;box-shadow:0 24px 90px #0005;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0}.overlay[hidden],#hud[hidden],#touch[hidden]{display:none}.menu-content{position:absolute;z-index:2;top:10%;left:6%;width:50%}.tag{font-size:10px;letter-spacing:2px;font-weight:900;color:#ffda87;display:inline-block}.menu-content h1{font-size:clamp(25px,5.4vw,78px);font-weight:1000;line-height:1.01;letter-spacing:-2px;margin:19px 0 18px;text-shadow:0 3px 25px #0b2b3b33}.menu-content h1 em{font-style:normal;color:#ffc968}.menu-content p{font-size:clamp(12px,1.3vw,18px);color:#e1eef0;margin:0 0 24px}.menu-actions{display:flex;gap:12px}.primary,.secondary{border-radius:12px;padding:14px 26px;font-size:17px;box-shadow:0 5px 0 #923a08}.primary{background:var(--orange);color:white}.primary:hover{background:#fc7d26}.secondary{background:#ffffff20;border:1px solid #ffffff55;box-shadow:none}.text-button{display:block;background:none;padding:14px 0;color:#e9f0ef;font-size:13px;text-decoration:underline;text-underline-offset:4px}#loading{display:block;font-size:12px;color:#b3cdd3}.keyline{display:flex;align-items:center;gap:8px;margin-top:15px;color:#acc8d2;font-size:11px}kbd{display:inline-grid;place-items:center;width:24px;height:25px;border:1px solid #ffffff4a;border-bottom-width:3px;border-radius:5px;color:white;font-family:inherit;background:#ffffff12}.menu-title{position:absolute;right:5%;bottom:9%;display:flex;align-items:center;gap:14px;transform:rotate(-3deg);text-shadow:0 4px 10px #1238}.menu-title>span{font-size:clamp(30px,7vw,90px);font-weight:1000;letter-spacing:-4px;color:#ffce75}.menu-title small{font-size:clamp(10px,1.2vw,17px);font-weight:1000;line-height:1.1;color:white}#hud{position:absolute;top:0;left:0;right:0;display:flex;gap:3%;align-items:center;padding:18px 24px;background:linear-gradient(#082c42e8,#082c42c4 75%,transparent);min-height:100px}#hud span{font-size:10px;letter-spacing:1.6px;color:#c6e4ec}#hud strong{display:block;font-weight:1000}.hud-left{flex:1}.hud-left strong{font-size:20px}.hud-middle{width:27%}.hud-middle>div:first-child{display:flex;justify-content:space-between;align-items:center}.hud-middle strong{font-size:20px}.meter{height:9px;background:#0005;border-radius:9px;overflow:hidden;margin:3px 0}.meter i{display:block;height:100%;width:60%;background:#ffd064;border-radius:9px;transition:width .15s}#hud small{font-size:10px;color:#bed4db}.hud-right{min-width:160px;text-align:right}.hud-right strong{color:#ffda87;font-size:23px;letter-spacing:4px}#pause{border:1px solid #ffffff50;border-radius:10px;width:40px;height:40px;background:#ffffff14;font-size:20px}#toast{position:absolute;top:19%;left:50%;transform:translateX(-50%);background:#103849eb;color:#fff7dd;padding:10px 20px;border:1px solid #ffd06488;border-radius:50px;opacity:0;transition:opacity .15s;pointer-events:none;font-weight:900;white-space:nowrap;font-size:14px}#toast.show{opacity:1}.modal-overlay{display:grid;place-items:center;background:#092939b8;backdrop-filter:blur(7px);z-index:5}.modal-card{width:min(550px,82%);max-height:90%;overflow:auto;padding:35px 40px;border:1px solid #80cad563;border-radius:22px;background:linear-gradient(140deg,#194c60,#103544);box-shadow:0 15px 80px #0005;text-align:center}.modal-card h2{font-size:34px;font-weight:1000;line-height:1.1;margin:14px 0}.modal-card p{color:#d1e4e9;font-size:15px}.modal-card ul{padding-left:20px;text-align:left;line-height:1.8;font-size:14px}.modal-card .stats{display:flex;justify-content:center;gap:25px;margin:20px 0}.stats strong{font-size:28px;color:#ffd064;display:block}.stats small{color:#a7c6cf}#modal-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:25px}.option{display:flex;align-items:center;gap:10px;justify-content:center;margin:10px;font-size:13px}.option input{accent-color:#ea6b17}footer{height:53px;display:flex;justify-content:space-between;align-items:center;color:#8aaebb;font-size:11px}#touch{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;z-index:3}#touch>div{display:flex;gap:10px}#touch button{pointer-events:auto;touch-action:none;user-select:none;background:#123a51aa;border:2px solid #ffffff88;border-radius:15px;height:54px;min-width:55px;box-shadow:0 3px 0 #0a2632;font-size:20px}#touch button.active{background:#ea6b17cc}#debug{position:absolute;bottom:4px;left:4px;background:#000b;font:11px monospace;padding:4px;color:#fff}#stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0}#stage:fullscreen canvas{object-fit:contain;background:#071e2b}@media(max-width:800px){.edition{display:none}.topbar{height:58px}.brand strong{font-size:20px}.omega{font-size:30px}.tools button{padding:7px 10px;font-size:10px}#stage{border-radius:12px}.menu-content{top:8%;left:5%}.menu-content h1{margin:10px 0;letter-spacing:-1px}.menu-content p{margin-bottom:12px}.primary,.secondary{padding:10px 17px;font-size:13px}.tag{font-size:8px;letter-spacing:1px}.text-button{padding:8px 0;font-size:11px}.keyline{display:none}#loading{font-size:9px}#hud{padding:8px 12px;min-height:70px;gap:10px}.hud-left strong{font-size:14px}#hud span{font-size:8px;letter-spacing:.5px}.hud-right{min-width:95px}.hud-right strong{font-size:17px;letter-spacing:1px}#hud small{font-size:8px}.hud-middle{width:28%}#pause{width:29px;height:29px;font-size:15px}.modal-card{padding:18px 25px}.modal-card h2{font-size:25px}.modal-card p,.modal-card ul{font-size:12px}#modal-actions{margin-top:15px}#toast{font-size:11px;padding:6px 12px}footer{font-size:9px;height:38px}}@media(max-height:500px) and (orientation:landscape){#shell{width:min(96vw,calc((100dvh - 20px)*16/9))}.topbar,footer{display:none}#stage{border-radius:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.quiz-mode .modal-card{width:min(880px,94%);padding:22px 30px;text-align:left}.quiz-mode .modal-card h2{font-size:clamp(20px,2.2vw,30px);margin:8px 0 16px}
.quiz-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#bedde5;font-size:13px}.quiz-meta strong{font-size:28px;color:#ffd064;font-variant-numeric:tabular-nums}.quiz-meta strong.urgent{color:#ffad96}.quiz-meter{height:6px;background:#0004;border-radius:6px;overflow:hidden;margin:4px 0}.quiz-meter i{display:block;height:100%;background:#ffcf70}
.quiz-mode .quiz-origin{font-size:11px;color:#a9cbd6;margin:8px 0}.quiz-question{font-size:clamp(17px,1.7vw,24px);line-height:1.3;margin:15px 0;color:#fff8e9}
.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-option{display:flex;align-items:center;gap:12px;text-align:left;background:#ffffff0d;border:1px solid #74b9c855;border-radius:12px;padding:12px 14px;min-height:63px;font-size:15px;line-height:1.35;box-shadow:0 3px 0 #092c3a}.quiz-option b{font-weight:700}.quiz-option>span{display:grid;place-items:center;flex:0 0 30px;height:30px;background:#2c8aa233;border:1px solid #78c0d055;border-radius:8px;font-size:16px;font-weight:1000}.quiz-option:hover:not(:disabled){background:#2c8aa244;border-color:#83d6e3}.quiz-option:disabled{cursor:default;opacity:.85}.quiz-option.wrong-option{border-color:#ff957e;background:#7d342c44;opacity:.6}.quiz-option.correct-option{border-color:#85dfbe;background:#397c6155;opacity:1}
.quiz-mode .quiz-guide{font-size:12px;margin:15px 0 0;color:#bbd6df}.answer-feedback{border-radius:12px;padding:12px 16px;margin-top:14px;background:#11394a;border-left:4px solid #ff957e}.answer-feedback.positive{border-color:#85dfbe}.answer-feedback strong{font-size:15px;color:#fff8e9}.answer-feedback p{font-size:13px;margin:5px 0}.answer-feedback small{font-size:10px;color:#a9cbd6}.quiz-mode #modal-actions{justify-content:flex-end;margin-top:15px}.quiz-mode #modal-actions:empty{margin:0}
.puzzle-mode .modal-card{width:min(640px,92%);padding:25px}.puzzle-mode .modal-card>h2{font-size:29px}.puzzle-mode .sequence{display:flex;justify-content:center;gap:10px;margin:26px 0}.sequence span{display:grid;place-items:center;width:54px;height:58px;border:1px solid #ffffff55;border-radius:12px;font-size:38px;background:#ffffff0b}.symbol-0{color:#ffd064}.symbol-1{color:#73d8ed}.symbol-2{color:#f7a088}.symbol-3{color:#94e0b5}.puzzle-pad{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(330px,100%);margin:15px auto}.puzzle-pad button{position:relative;background:#ffffff0b;border:1px solid #ffffff55;border-radius:12px;font-size:50px;min-height:70px}.puzzle-pad button:hover{background:#ffffff22}.puzzle-pad button small{position:absolute;top:6px;left:10px;color:#d4e7ed;font-size:12px}.sequence-progress{display:flex;justify-content:center;gap:10px;margin:14px}.sequence-progress span{font-size:28px;color:#708d9c}.sequence-progress span.done{color:#94e0b5}.puzzle-mode #modal-body>small{display:block;font-size:11px;color:#afcdd7}
.victory-mode{background:radial-gradient(ellipse at center,#2c8aa233,#092939bb)}.victory-mode .modal-card{width:min(700px,90%);background:linear-gradient(135deg,#1c6379,#103544);border-color:#ffd06488}.victory-mode .modal-card h2{font-size:clamp(22px,2.8vw,38px)}.graduation{display:flex;justify-content:center;align-items:center;gap:28px;margin:10px 0}.graduation img{height:170px;width:auto;object-fit:contain}.graduation p{margin:0!important}.graduation strong{display:block;font-size:92px;line-height:1.1;color:#ffcf70;font-weight:1000;letter-spacing:-4px}#toast{max-width:90%;white-space:normal;text-align:center}
@media(max-width:900px){.quiz-mode .modal-card{padding:14px 20px}.quiz-mode .modal-card h2{margin:6px 0 10px}.quiz-question{font-size:16px;margin:10px 0}.quiz-option{font-size:12px;padding:9px 10px;gap:8px;min-height:52px}.quiz-option>span{flex-basis:25px;height:25px;font-size:13px}.quiz-meta{font-size:11px}.quiz-meta strong{font-size:22px}.answer-feedback{margin-top:10px;padding:9px 12px}.answer-feedback p{font-size:11px}.graduation img{height:120px}.graduation strong{font-size:68px}.puzzle-mode .modal-card{padding:15px 20px}.puzzle-mode .modal-card>h2{font-size:23px}.puzzle-mode .sequence{gap:7px;margin:15px 0}.sequence span{width:40px;height:45px;font-size:29px}}
@media(max-width:550px){.quiz-options{grid-template-columns:1fr}.quiz-mode .modal-card h2{font-size:19px}.graduation{gap:12px}}


/* Keep the start action reachable on phones and provide an in-page expansion. */
#menu{overflow:auto;overscroll-behavior:contain}
#exit-full{display:none;position:absolute;left:50%;transform:translateX(-50%);bottom:12px;z-index:10;background:#11394aee;border:1px solid #ffffff88;border-radius:10px;padding:10px 14px;min-height:44px}
#stage:fullscreen #exit-full,#stage:-webkit-full-screen #exit-full{display:block}
#stage:-webkit-full-screen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0}
#stage:-webkit-full-screen canvas{object-fit:contain;background:#071e2b}
.menu-actions{flex-wrap:wrap}
@media(max-width:600px) and (orientation:portrait){
 #stage{min-height:320px}
 #stage canvas{object-fit:contain;background:#071e2b}
 #stage.menu-stage{height:clamp(380px,calc(100dvh - 116px),500px);aspect-ratio:auto}
 #stage.menu-stage canvas{position:absolute;inset:0;object-fit:cover}
 .menu-content{position:relative;top:auto;left:auto;width:100%;padding:26px 22px;background:linear-gradient(90deg,#0a2632e8,#0a26329c)}
 .menu-content h1{font-size:36px;margin:14px 0;line-height:1.03}
 .menu-content p{font-size:14px;margin-bottom:18px}
 .menu-content .desktop{display:none}
 .menu-content .primary,.menu-content .secondary{min-height:44px;padding:12px 22px;font-size:15px}
 .menu-content .tag{font-size:9px}
 .menu-content .text-button{min-height:44px;font-size:13px}
 #loading{font-size:11px}
 .menu-title{display:none}
 #touch{bottom:12px;left:10px;right:10px}
 #touch>div{gap:6px}
 #touch button{min-width:44px;height:48px;font-size:17px}
}
@media(max-height:500px) and (orientation:landscape){
 .menu-content{top:5%;left:5%;width:63%;padding-bottom:16px}
 .menu-content h1{font-size:clamp(23px,4vw,36px);margin:8px 0;line-height:1}
 .menu-content p{font-size:12px;margin-bottom:10px}
 .menu-content .tag{font-size:8px}
 .menu-content .primary,.menu-content .secondary{min-height:44px;padding:9px 18px;font-size:13px}
 .menu-content .text-button{padding:8px 0;min-height:36px}
 .keyline{display:none}
 #loading{font-size:9px}
}
body.game-expanded{overflow:hidden;overscroll-behavior:none}
body.game-expanded #shell{
 position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;
 display:grid;grid-template-rows:44px minmax(0,1fr);gap:4px;background:#071e2b;
 padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)
}
body.game-expanded .topbar{display:flex;height:44px;padding:0 10px;gap:10px}
body.game-expanded .edition,body.game-expanded footer{display:none}
body.game-expanded .omega{font-size:26px}
body.game-expanded .brand strong{font-size:17px}
body.game-expanded .tools button{padding:7px 10px;min-height:36px;font-size:11px}
body.game-expanded #stage{width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:0}
body.game-expanded #stage canvas{object-fit:contain;background:#071e2b}
@media(max-width:600px) and (orientation:portrait){
 body.game-expanded .menu-content{min-height:100%}
 body.game-expanded #stage.menu-stage canvas{object-fit:cover}
}
@media(max-height:500px) and (orientation:landscape){
 #shell{width:min(96vw,calc((100dvh - 56px)*16/9))}
 .topbar{display:flex;height:44px}
 .topbar .edition{display:none}
 .topbar .tools button{font-size:10px;padding:7px 10px;min-height:32px}
 .menu-content{top:3%}
 .menu-content h1{font-size:clamp(22px,3.4vw,30px);margin:6px 0}
 .menu-content p{font-size:11px;margin-bottom:6px}
 .menu-content .text-button{padding:5px 0;min-height:30px}
}

.help-mode .modal-card{display:flex;flex-direction:column;width:min(730px,94%);max-height:92%;overflow:hidden;padding:22px 26px}
.help-mode #modal-tag,.help-mode #modal-title,.help-mode #modal-actions{flex-shrink:0}
.help-mode #modal-body{overflow:auto;min-height:0;overscroll-behavior:contain;text-align:left;padding-right:8px}
.help-mode #modal-body ul{margin:10px 0;padding-left:20px}
.help-mode #modal-body li{margin-bottom:8px}
.help-mode #modal-actions{margin-top:14px}
.help-mode #modal-actions button{min-height:44px}
@media(max-width:800px){.help-mode .modal-card{padding:14px 18px}.help-mode .modal-card h2{font-size:23px;margin:8px 0}.help-mode #modal-body li{font-size:12px;line-height:1.55}.help-mode #modal-actions{gap:8px;margin-top:10px}}
@media(max-width:600px){
 #hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 44px;gap:8px}
 .hud-left,.hud-middle,.hud-right{min-width:0;width:auto}
 .hud-middle>div:first-child{flex-wrap:wrap;gap:2px}
 #hud small{overflow-wrap:anywhere}
 #pause{width:44px;height:44px;position:relative}
}
@media(max-width:600px) and (orientation:portrait){#stage{width:100%;aspect-ratio:auto}}
/* Journey controls stay available above the touch pad. */
#journey-bar{position:absolute;top:98px;left:24px;right:24px;display:flex;align-items:center;gap:12px;z-index:3;font-size:12px;color:#e5f1ed;pointer-events:none}
#journey-bar[hidden]{display:none}#journey-bar>span,#journey-bar>time{background:#103849ec;border:1px solid #77b3c155;padding:5px 12px;border-radius:20px}#run-time{font-variant-numeric:tabular-nums;font-weight:900}#checkpoint-label{padding:4px 8px;background:#103849db;border-radius:10px}#missions{margin-left:auto;pointer-events:auto;background:#174f64ef;border:1px solid #ffd06488;min-height:36px;border-radius:12px;padding:7px 12px;color:#ffdc91}
.difficulty-picker{border:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.difficulty-picker legend{font-size:15px;font-weight:900;margin-bottom:10px;color:#ffda87}.difficulty-picker label{display:flex;align-items:center;gap:8px;padding:12px 10px;border:1px solid #70a8b655;border-radius:12px;background:#ffffff0b;cursor:pointer}.difficulty-picker label:has(input:checked){background:#2c8aa240;border-color:#ffd064}.difficulty-picker input{accent-color:#ea6b17;flex-shrink:0}.difficulty-picker strong{display:block;font-size:14px}.difficulty-picker small{display:block;font-size:10px;line-height:1.4;color:#bcd9df;margin-top:5px}.difficulty-summary{font-size:12px!important;background:#082b3f;padding:12px;border-radius:10px}.mission-list{list-style:none;padding:0!important;margin:16px 0!important}.mission-list li{display:flex;justify-content:space-between;gap:14px;background:#ffffff0b;border:1px solid #ffffff20;padding:12px 14px;border-radius:12px;line-height:1.4;margin-bottom:8px}.mission-list li.done{border-color:#8ce0b7;color:#8ce0b7}.mission-list li b{white-space:nowrap;color:#ffda87}
.medal-block{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0;color:#ffda87;font-size:19px;text-transform:capitalize}.medal-badge{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:50%;border:4px solid #ffd98a;background:radial-gradient(circle at 30% 25%,#fff3ab,#ce8c24);color:#664006;box-shadow:0 3px 0 #7a521f;font-size:29px;font-weight:1000}.medal-badge.prata{border-color:#e4edf2;background:radial-gradient(circle at 30% 25%,#f6fbff,#7b9bab);color:#335666}.medal-badge.bronze{border-color:#dfa473;background:radial-gradient(circle at 30% 25%,#f5d1a0,#94592e);color:#542d17}.result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}.result-grid>div{background:#ffffff08;border:1px solid #78b0c02b;border-radius:12px;padding:12px 8px}.result-grid strong{display:block;font-size:22px;color:#ffda87;font-weight:1000;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.result-grid small{display:block;font-size:11px;color:#c0d9de}.phase-results{text-align:left;border-top:1px solid #ffffff20;padding:12px 0;color:#cce1e6;font-size:12px}.phase-results summary{cursor:pointer;min-height:32px}.phase-results ol{padding-left:25px}.phase-results li{margin:7px 0}.phase-results b{text-transform:capitalize;margin-left:12px;color:#ffda87}.phase-results b.prata{color:#cee3eb}.phase-results b.bronze{color:#e5b285}.phase-results small{display:block;color:#a8c6d0}.medal-rule,.small-note{font-size:11px!important;color:#a8c6d0!important}
.ceremony-mode{background:#09293980;backdrop-filter:none}.ceremony-mode .modal-card{display:flex;flex-direction:column;width:min(960px,96%);max-height:96%;padding:16px 22px;overflow:hidden}.ceremony-mode .modal-card h2{margin:6px 0 12px;font-size:30px}.ceremony-mode #modal-body{overflow:auto;min-height:0;overscroll-behavior:contain}.ceremony-mode #modal-tag,.ceremony-mode #modal-title,.ceremony-mode #modal-actions{flex-shrink:0}.ceremony-scene{position:relative;aspect-ratio:16/9;width:100%;height:auto;min-height:0;overflow:hidden;border-radius:14px;background:url('/assets/bg-0.webp?v=7') center/100% 100%;isolation:isolate}.ceremony-scene img{position:absolute;object-fit:contain;object-position:center bottom;z-index:3}.ceremony-floor{position:absolute;left:0;right:0;bottom:0;height:18%;z-index:1;background:repeating-linear-gradient(90deg,transparent 0,transparent 12%,#aca89870 12.1%,transparent 12.3%),linear-gradient(#d9d3c2,#bcb8a7);border-top:3px solid #f2ebd6}.ground-shadow{position:absolute;bottom:14.5%;height:2%;border-radius:50%;background:#12384944;z-index:2}.bob-shadow{left:30%;width:10%}.jorge-shadow{left:51%;width:14%;animation:ceremony-standing-shadow 6s both}.moto-shadow{left:65%;width:32%;animation:ceremony-parking 4s both}.ceremony-rider{left:62%;bottom:16%;width:38%;height:63%;animation:ceremony-ride 4s ease-out both}.ceremony-moto{left:65%;bottom:16%;width:33%;height:37%;animation:ceremony-parking 4s both}.ceremony-jorge{left:51%;bottom:16%;width:16%;height:57%;animation:ceremony-dismount 6s ease-in-out both}.ceremony-bob{left:29%;bottom:16%;width:13%;height:36%;animation:none}.ceremony-speech{position:absolute;left:44%;top:17%;z-index:5;background:#fff8e9;color:#17465b;border:2px solid #eeb657;border-radius:14px;padding:10px 16px;font-size:clamp(11px,1.8vw,22px);font-weight:1000;box-shadow:0 5px 12px #1235;animation:ceremony-speech 6.4s both}.ceremony-speech:after{content:'';position:absolute;left:62%;bottom:-13px;border:7px solid transparent;border-top-color:#fff8e9;transform:rotate(-12deg)}.ceremony-name{position:absolute;right:3%;top:4%;z-index:4;background:#11394aeb;padding:7px 10px;border-radius:9px;font-size:12px;font-weight:900;color:#ffda87}.ceremony-name small{display:block;font-size:9px;color:#fff8e9}.ceremony-certificate{position:absolute;left:43%;bottom:31%;background:#fff8e9;color:#17465b;border:2px solid #ffd064;border-radius:4px;padding:5px 10px;z-index:5;font-size:16px;font-weight:900;animation:ceremony-prize 7.2s both}.ceremony-message{font-size:14px!important;margin:12px 0!important}.ceremony-mode #modal-actions{margin-top:12px}.ceremony-mode #modal-actions button{min-height:44px}
@keyframes ceremony-ride{0%{transform:translateX(120%);opacity:1}73%,79%{transform:translateX(0);opacity:1}87%,100%{transform:translateX(0);opacity:0}}
@keyframes ceremony-parking{0%,76%{opacity:0}83%,100%{opacity:1}}
@keyframes ceremony-dismount{0%,52%{opacity:0;transform:translate(75%,-12%)}57%{opacity:1;transform:translate(75%,-12%)}69%{opacity:1;transform:translate(65%,0)}78%{transform:translate(34%,0)}92%,100%{opacity:1;transform:translate(0,0)}}
@keyframes ceremony-standing-shadow{0%,65%{opacity:0;transform:translateX(65%)}69%{opacity:1;transform:translateX(65%)}92%,100%{opacity:1;transform:translateX(0)}}
@keyframes ceremony-speech{0%,93%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes ceremony-prize{0%,93%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
.reduced-motion .ceremony-rider{display:none}.reduced-motion .ceremony-moto,.reduced-motion .ceremony-jorge,.reduced-motion .ceremony-speech,.reduced-motion .ceremony-certificate,.reduced-motion .ground-shadow{animation:none!important;opacity:1;transform:none}.reduced-motion *{transition:none!important}
@media(max-width:800px){#journey-bar{top:73px;left:12px;right:12px;font-size:10px;gap:5px}#journey-bar>span,#journey-bar>time{padding:4px 7px}#checkpoint-label{font-size:9px}#missions{padding:6px 8px;min-height:34px;font-size:11px}.result-grid strong{font-size:18px}.result-grid small{font-size:10px}.ceremony-name{font-size:10px;padding:5px 7px}.ceremony-name small{font-size:8px}.ceremony-certificate{font-size:11px;padding:3px 6px}.ceremony-speech{padding:5px 9px}.difficulty-picker{grid-template-columns:1fr}.difficulty-picker label{padding:9px 12px}.difficulty-picker small{margin-top:2px}.difficulty-picker strong{font-size:13px}}
@media(max-width:600px) and (orientation:portrait){#stage.ceremony-stage{height:clamp(580px,calc(100dvh - 116px),760px);min-height:580px}.ceremony-mode .modal-card{padding:12px}.ceremony-mode .modal-card h2{font-size:23px}.ceremony-message{font-size:12px!important}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ceremony-mode #modal-actions{gap:8px}.ceremony-mode #modal-actions button{font-size:12px;padding:9px 12px}.medal-block{font-size:16px}#checkpoint-label{display:none}}
@media(max-height:500px) and (orientation:landscape){.ceremony-mode .modal-card{padding:10px 15px}.ceremony-mode .modal-card h2{font-size:21px;margin:4px 0}.ceremony-mode .ceremony-message{font-size:11px!important;margin:6px 0!important}.ceremony-mode #modal-actions{margin-top:8px}.result-grid strong{font-size:16px}.result-grid small{font-size:9px}.ceremony-mode .ceremony-scene{width:68%;margin:auto}}
@media(prefers-reduced-motion:reduce){.ceremony-rider{display:none}.ceremony-moto,.ceremony-jorge,.ceremony-speech,.ceremony-certificate,.ground-shadow{animation:none!important;opacity:1;transform:none}}

/* Entry guidance and an expansion action beside Play. */
.menu-content .experience-notice{font-size:clamp(12px,1.1vw,15px);line-height:1.4;font-weight:800;color:#fff5d9;background:#103849ed;border:1px solid #ffce7580;border-left:4px solid #ffce75;border-radius:10px;padding:10px 13px;margin:0 0 16px;max-width:530px}
.menu-actions{align-items:center;gap:10px}
.menu-actions .fullscreen-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#2c8aa2;color:white;border:2px solid #8cdae8;box-shadow:0 4px 0 #14576b;min-height:48px}
.fullscreen-action::before{content:'';width:17px;height:17px;background:linear-gradient(currentColor,currentColor) left top/6px 2px no-repeat,linear-gradient(currentColor,currentColor) left top/2px 6px no-repeat,linear-gradient(currentColor,currentColor) right top/6px 2px no-repeat,linear-gradient(currentColor,currentColor) right top/2px 6px no-repeat,linear-gradient(currentColor,currentColor) left bottom/6px 2px no-repeat,linear-gradient(currentColor,currentColor) left bottom/2px 6px no-repeat,linear-gradient(currentColor,currentColor) right bottom/6px 2px no-repeat,linear-gradient(currentColor,currentColor) right bottom/2px 6px no-repeat;flex-shrink:0}
.menu-actions .fullscreen-action:hover{background:#359eb8}
@media(max-width:600px) and (orientation:portrait){.menu-content{padding-top:20px}.menu-content h1{font-size:32px;margin:10px 0}.menu-content p{margin-bottom:12px}.menu-content .experience-notice{font-size:13px;margin-bottom:14px;padding:9px 11px}.menu-content .menu-actions .primary,.menu-content .menu-actions .secondary{padding:11px 15px;min-height:46px;font-size:14px}}
@media(max-height:500px) and (orientation:landscape){.menu-content .experience-notice{font-size:11px;padding:6px 9px;margin-bottom:10px}.menu-actions .fullscreen-action{min-height:44px}.menu-content h1{font-size:clamp(20px,3vw,28px)}}

/* Official school logo, with its original colors and aspect ratio. */
.brand .official-logo{display:block;width:auto;height:54px;object-fit:contain}
@media(max-width:800px){.brand .official-logo{height:42px}}
@media(max-height:500px) and (orientation:landscape){.brand .official-logo{height:34px}}
body.game-expanded .brand .official-logo{height:34px}
