:root{--navy:#163361;--blue:#239edc;--deepblue:#1370bb;--yellow:#ffdc4a;--orange:#ff8b35;--cream:#fff8dd;--text:#203e66;--display:'Lilita One',sans-serif;--body:'Nunito',sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font:800 16px var(--body);color:var(--text);background:#58c3ef;user-select:none;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline:4px solid #fff;outline-offset:5px}svg{vertical-align:middle;flex-shrink:0}h1,h2,p{margin:0}h1,h2{font:400 44px var(--display);letter-spacing:.2px}#game-world{position:fixed;inset:0;touch-action:none;cursor:grab}#game-world:active{cursor:grabbing}#game-world canvas{width:100%;height:100%;display:block}#game-vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 55% 40%,transparent 40%,#15345a40 100%)}#game-ui{position:fixed;inset:0;pointer-events:none}#game-ui button{pointer-events:auto}#game-modal{position:fixed;inset:0;pointer-events:none;z-index:30}#game-modal>*{pointer-events:auto}.top-controls{display:flex;gap:12px;align-items:center}.round-button{background:#fff5d7;border:3px solid white;width:47px;height:47px;border-radius:14px;display:grid;place-items:center;box-shadow:0 5px 0 #15376175,0 7px 10px #14354e21;color:#234d77;transition:transform .12s,box-shadow .12s}.round-button:hover{transform:translateY(-3px) rotate(-4deg);background:#fff}.round-button:active{transform:translateY(4px);box-shadow:0 1px 0 #15376175}.round-button.pause{background:#ffda4d;color:#8a5723}.game-button{display:inline-flex;justify-content:center;align-items:center;gap:17px;min-height:63px;padding:12px 27px;border:4px solid #fff7df;border-radius:16px;box-shadow:0 7px 0 #15386280,0 10px 20px #132a4728;font:400 24px var(--display);letter-spacing:.6px;color:white;text-shadow:0 2px 0 #0a528d66;transition:transform .13s,box-shadow .13s;position:relative;isolation:isolate}.game-button:before{content:'';position:absolute;inset:3px 7px auto;height:7px;border-radius:9px;background:#ffffff45;z-index:-1}.game-button.yellow{background:linear-gradient(#ffe965,#ffcc35);color:#704720;text-shadow:0 2px 0 #fff4ab;box-shadow:0 7px 0 #bf7e24,0 10px 20px #132a4728}.game-button.blue{background:linear-gradient(#3ec7f5,#168fd4);box-shadow:0 7px 0 #155e9f,0 10px 20px #132a4728}.game-button:hover{transform:translateY(-4px) scale(1.025);filter:brightness(1.05)}.game-button:active{transform:translateY(5px);box-shadow:0 2px 0 #ae7d2c}.game-button:disabled{filter:grayscale(.3);transform:none;opacity:.8}.game-button.full{width:100%}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a6584b0 0%,#116a8d58 38%,transparent 65%),linear-gradient(0deg,#173d6455,transparent 35%);pointer-events:none}.menu-top{position:absolute;top:29px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center}.build-tag{background:#153c6760;border:2px solid #ffffff55;border-radius:10px;padding:8px 13px;color:#e1faff;font:400 13px var(--display);letter-spacing:1.3px;transform:rotate(-3deg)}.title-menu{position:absolute;left:7%;top:15%;width:450px}.game-logo{font:400 99px/.86 var(--display);display:flex;align-items:center;color:#fff9df;-webkit-text-stroke:8px #244c7b;paint-order:stroke fill;filter:drop-shadow(0 8px 0 #133559);letter-spacing:-2px;gap:12px;transform:rotate(-5deg);width:max-content}.game-logo>span:last-child>span{color:#ffde4b;display:block;margin-left:48px;font-size:1.12em;margin-top:-1px}.logo-cross{display:grid;place-items:center;font-size:65px;background:#fa7942;border:6px solid #fff4cb;border-radius:23px;height:94px;width:92px;color:#fff7dc;-webkit-text-stroke:0;text-shadow:0 4px 0 #da4a33;transform:rotate(12deg);box-shadow:inset 0 -8px 0 #e45d35;margin-top:-19px}.logo-sticker{position:relative;margin-bottom:35px;width:max-content}.ribbon{display:block;background:#f27b3a;border:3px solid #ffe19f;font:400 21px var(--display);color:#fff9d7;letter-spacing:2.5px;padding:9px 24px;box-shadow:0 5px 0 #a84731;transform:rotate(-5deg);margin:16px 0 0 45px;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}.title-menu h1{font-size:36px;line-height:1.05;color:white;text-shadow:0 3px 0 #1b5875;margin:0 0 13px;letter-spacing:0}.title-menu>p{font-size:16px;line-height:1.45;color:#e0f8ff;text-shadow:0 2px 1px #114b7366;margin:0 0 27px;font-weight:900}.start-button{display:flex;width:315px;font-size:31px;min-height:72px;transform:rotate(-2deg);border-width:5px;border-radius:19px;margin-bottom:22px}.start-button:hover{transform:rotate(-2deg) translateY(-3px) scale(1.03)}.missions-button{font-size:19px;min-height:54px;padding:10px 21px;margin-left:9px;gap:13px;border-width:3px}.menu-hint{display:flex;align-items:center;gap:5px;color:#daf0f7;font-size:11px;margin-top:29px;font-weight:800}.key{width:21px;height:24px;border-radius:5px;border:1px solid #cbeefa99;display:grid;place-items:center;background:#174e6e55;box-shadow:0 2px 0 #17486c;font-size:11px}.key:nth-child(3){margin-right:5px}.menu-hint>i{font-style:normal;margin:0 3px;opacity:.7}.mission-preview{position:absolute;right:4%;bottom:105px;width:335px;display:grid;gap:17px;transform:rotate(2deg)}.preview-pin{font:400 15px var(--display);color:white;text-shadow:0 2px 0 #28517c;letter-spacing:1.7px;margin:0 0 -3px 7px}.mini-mission{background:#fff5df;border:4px solid #fff;border-radius:17px;box-shadow:0 6px 0 #1b446c70,0 7px 22px #1c394926;display:flex;align-items:center;padding:12px;gap:12px;text-align:left;transition:transform .2s}.mini-mission:hover{transform:translateX(-7px) rotate(-2deg)}.mini-mission>svg:first-child{height:66px;width:76px;background:#ffe1a2;border-radius:12px;padding:5px}.mini-mission.blue>svg:first-child{background:#b6e8f1}.mini-mission>span{flex:1}.mini-mission small{display:block;font:400 11px var(--display);letter-spacing:1.2px;color:#c18840;margin-bottom:3px}.mini-mission.blue small{color:#388bb5}.mini-mission strong{font:400 20px var(--display);white-space:nowrap;letter-spacing:.1px}.mini-mission>.star-row{display:flex}.mini-mission>svg:last-child{background:#ffce45;color:#885021;border:2px solid #fff3c9;border-radius:50%;width:33px;height:33px;padding:7px}.star-row{display:flex;align-items:center;justify-content:center;gap:5px}.star-row>i{font-style:normal;display:block;color:#cbd0cb;filter:drop-shadow(0 2px 0 #9aaba86b)}.star-row>i.earned{color:#ffcf31;filter:drop-shadow(0 2px 0 #c98b25)}.mini-mission .star-row{justify-content:flex-start;gap:2px;margin-top:6px}.mini-mission .star-row svg{width:16px;height:16px}.menu-bottom{position:absolute;bottom:22px;left:35px;right:35px;display:flex;align-items:center;justify-content:space-between;color:#d4eef6;font-size:10px;text-shadow:0 2px 0 #1d5c76}.menu-bottom>button{display:flex;align-items:center;gap:6px;font-size:10px;color:#e0f3f7;padding:7px;background:#173a5d33;border-radius:8px}.menu-bottom>span{font:400 11px var(--display);letter-spacing:2px}.selection-scrim{position:absolute;inset:0;background:#15568ab8;backdrop-filter:blur(7px)}.selection-top{position:absolute;top:25px;left:33px;right:33px;display:flex;justify-content:space-between;align-items:center}.game-logo.small{font-size:30px;gap:7px;letter-spacing:-.5px;-webkit-text-stroke:3px #244c7b;filter:drop-shadow(0 4px 0 #133559);transform:rotate(-4deg)}.game-logo.small>span:last-child>span{display:inline;font-size:1em;margin:0}.small .logo-cross{width:37px;height:39px;font-size:26px;border:3px solid #ffedbd;border-radius:9px;margin-top:0;box-shadow:inset 0 -4px 0 #e45d35;text-shadow:none}.selection-top>.game-logo{position:absolute;left:50%;transform:translateX(-50%) rotate(-4deg)}.mission-select{position:absolute;inset:130px 30px 35px;display:flex;align-items:center;flex-direction:column;color:#fff9e3;text-align:center;overflow:auto;pointer-events:auto}.section-kicker{font:400 14px var(--display);letter-spacing:2px;color:#9eeafa;text-shadow:0 2px 0 #286995}.mission-select>h1{font-size:51px;-webkit-text-stroke:4px #1b4a7c;paint-order:stroke fill;text-shadow:0 5px 0 #143a68;margin-top:12px}.mission-select>p{font-size:15px;color:#bde9f8;margin:16px 0 28px}.mission-cards{display:flex;gap:35px;justify-content:center;width:100%;padding:10px 0 17px}.mission-card{position:relative;pointer-events:auto;display:flex;flex-direction:column;align-items:center;background:#fff8df;border:6px solid white;border-radius:25px;width:330px;padding:18px 24px 23px;box-shadow:0 11px 0 #0d396e,0 15px 30px #0b274e44;transform:rotate(-3deg);transition:transform .2s;color:#264567}.mission-card.blue{transform:rotate(3deg)}.mission-card:hover{transform:rotate(0) translateY(-10px)}.mission-number{position:absolute;top:-18px;left:-16px;background:#fa9846;border:4px solid #fff8dc;box-shadow:0 4px 0 #b66833;color:#fff;font:400 28px var(--display);border-radius:17px;padding:9px 12px;transform:rotate(-9deg)}.mission-card.blue .mission-number{background:#31c4eb;box-shadow:0 4px 0 #237caa}.mission-art{height:139px;width:165px;display:grid;place-items:center;background:radial-gradient(ellipse,#ffdd92,transparent 70%);margin-bottom:10px}.mission-art>svg{width:150px;height:130px;filter:drop-shadow(0 9px 0 #c18e3b22)}.mission-tag{font:400 11px var(--display);letter-spacing:1.1px;color:#c58137;background:#ffe6b4;padding:6px 12px;border-radius:8px}.mission-card.blue .mission-tag{color:#3687b2;background:#c6eff7}.mission-card h2{font-size:29px;margin:12px 0 8px}.mission-card p{font-size:13px;font-weight:800;line-height:1.4;color:#73858e;min-height:55px}.mission-card .star-row{margin:13px 0 20px;gap:9px}.mission-card .star-row svg{width:30px;height:30px}.card-play{background:linear-gradient(#ffdd5a,#ffbf30);box-shadow:0 5px 0 #d4912b;border:3px solid #fff0ad;border-radius:12px;padding:12px 28px;font:400 22px var(--display);color:#7f5224;display:flex;gap:15px;align-items:center;width:100%;justify-content:center}.mission-card.blue .card-play{background:linear-gradient(#45cdf5,#239cde);color:white;border-color:#b5f4fc;box-shadow:0 5px 0 #1a74b0}.selection-foot{color:#bde8f5;font-size:12px;margin-top:18px}.game-hud{position:absolute;top:23px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;z-index:3}.mission-hud{display:flex;align-items:center;gap:13px;background:#12345cbb;border:3px solid #ffffff75;border-radius:17px;padding:10px 18px 10px 8px;box-shadow:0 5px 0 #16335550;transform:rotate(-1deg)}.mission-badge{height:48px;width:48px;background:#ffdb49;border:3px solid #fff3b8;border-radius:13px;display:grid;place-items:center;font:400 28px var(--display);color:#9a6029;box-shadow:0 4px 0 #b77b2e;transform:rotate(-6deg)}.mission-hud small{font:400 10px var(--display);letter-spacing:1.5px;color:#8ee5f3;display:block;margin-bottom:4px}.mission-hud strong{font:400 23px var(--display);color:white;display:block;letter-spacing:.2px;text-shadow:0 2px 0 #163b64}.level-track{display:flex;align-items:center;gap:9px;background:#1c4e6e77;border:2px solid #ffffff30;border-radius:30px;padding:9px 12px}.level-track i{width:26px;height:26px;border-radius:50%;background:#e8f4f39c;box-shadow:0 2px 0 #1a526a;font:400 13px var(--display);color:#537e96;display:grid;place-items:center;position:relative}.level-track i:not(:last-child):after{content:'';position:absolute;left:26px;top:12px;height:3px;width:9px;background:#d9edf170}.level-track i.active{background:#ffe14c;color:#986522;box-shadow:0 3px 0 #b47f27;transform:scale(1.2)}.level-track i.done{background:#69d3ad;color:#fff;box-shadow:0 2px 0 #2c947f}.objective{position:absolute;left:31px;top:122px;display:flex;align-items:center;gap:9px;color:#fff9df;text-shadow:0 2px 2px #153658;font-size:15px;z-index:2}.objective-star{color:#ffe04c;filter:drop-shadow(0 2px 0 #9d732d)}.look-cue{position:absolute;right:31px;top:119px;font:400 10px var(--display);letter-spacing:1px;color:#e3f6f6;text-shadow:0 1px 2px #244d63;display:flex;align-items:center;gap:8px}.crosshair{position:absolute;top:43%;left:50%;width:7px;height:7px;border:2px solid #ffffffbc;border-radius:50%;box-shadow:0 0 0 1px #17376230;opacity:.6;pointer-events:none}.decision-tray{position:absolute;bottom:25px;left:50%;width:min(1120px,calc(100% - 70px));transform:translateX(-50%);animation:trayIn .3s ease-out}.speech-row{display:flex;align-items:flex-end;gap:14px;margin-bottom:17px;padding:0 15px}.guide-avatar{width:80px;height:80px;background:#ffdd52;border:5px solid #fff5c7;border-radius:50%;box-shadow:0 5px 0 #ab822e,0 8px 20px #183b4b30;display:grid;place-items:center;flex-shrink:0;transform:rotate(-7deg)}.sabi-mascot{position:relative;display:block;width:53px;height:48px;background:linear-gradient(#5bd6f0,#2aa9db);border:3px solid #1e7eb2;border-radius:16px;box-shadow:inset 0 -6px 0 #2595c7}.sabi-mascot:before,.sabi-mascot:after{content:'';position:absolute;top:15px;left:-7px;width:5px;height:17px;background:#f8af45;border:2px solid #e99436;border-radius:3px}.sabi-mascot:after{left:auto;right:-7px}.sabi-mascot>i{position:absolute;left:10px;top:12px;width:6px;height:10px;background:#124e7e;border-radius:50%}.sabi-mascot>i:nth-of-type(2){left:30px}.sabi-mascot>b{position:absolute;left:18px;top:27px;width:13px;height:7px;background:#154e77;border-radius:2px 2px 10px 10px;border-bottom:3px solid #eaf9ff}.sabi-mascot>em{position:absolute;width:6px;height:4px;background:#ffb767;border-radius:50%;left:4px;top:24px;box-shadow:33px 0 #ffb767}.mascot-antenna{position:absolute;left:21px;top:-11px;background:#168aba;width:5px;height:10px}.mascot-antenna:before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:#ffac3f;top:-5px;left:-2.5px;border:2px solid #e98b34}.speech-bubble{position:relative;background:#fffaf0;border:4px solid white;border-radius:18px;padding:22px 48px 18px 24px;box-shadow:0 6px 0 #17396666,0 8px 24px #16365421;max-width:800px;min-width:480px}.speech-bubble:before{content:'';position:absolute;left:-15px;bottom:16px;width:24px;height:21px;background:#fffaf0;clip-path:polygon(100% 0,100% 100%,0 100%)}.speaker-label{position:absolute;top:-13px;left:19px;background:#ffd94b;color:#976020;border:3px solid #fff4bd;border-radius:8px;padding:3px 12px;font:400 13px var(--display);letter-spacing:1px;transform:rotate(-3deg)}.speech-bubble p{font:900 20px/1.3 var(--body);letter-spacing:-.2px;color:#2c4b6c}.speech-bubble>button{position:absolute;right:14px;bottom:16px;color:#85a6b7;background:#eaf3f3;border-radius:8px;padding:5px}.game-choices{display:flex;gap:14px;align-items:stretch}.choice-button{position:relative;flex:1;min-height:79px;background:linear-gradient(#39bbee,#208bd0);border:4px solid #f0fcff;border-radius:16px;box-shadow:0 7px 0 #125795,0 10px 20px #16345140;color:white;display:flex;align-items:center;text-align:left;padding:14px 17px 14px 12px;gap:12px;font:900 16px/1.25 var(--body);text-shadow:0 2px 0 #12649a;transition:transform .14s,background .14s}.choice-button:before{content:'';position:absolute;left:9px;right:9px;top:3px;height:6px;background:#ffffff24;border-radius:9px}.choice-button:hover{transform:translateY(-5px);background:linear-gradient(#4bd1ff,#219fe5)}.choice-button:active{transform:translateY(5px);box-shadow:0 2px 0 #125795}.choice-button>svg{margin-left:auto;opacity:.7;width:18px}.choice-key{height:34px;width:31px;flex-shrink:0;background:#ffe257;border:2px solid #fff1b2;box-shadow:0 3px 0 #bd8b2c;border-radius:8px;display:grid;place-items:center;color:#976522;font:400 22px var(--display);text-shadow:0 1px 0 #fff4b7;transform:rotate(-4deg)}.choice-help{display:block;text-align:center;font:400 10px var(--display);color:#e9f7fb;letter-spacing:1.6px;text-shadow:0 2px 1px #173a63;margin-top:19px}.game-footnote{position:absolute;left:25px;bottom:6px;font-size:8px;color:#f1f7f1b0;text-shadow:0 1px 2px #1d4b71;z-index:2;letter-spacing:.4px}.cinema-bar{position:absolute;left:0;right:0;height:0;background:#102f48ed;transition:height .4s;z-index:5}.cinema-top{top:0}.cinema-bottom{bottom:0}.cinematic .cinema-bar{height:35px}.cinematic .game-hud{opacity:.45;transition:opacity .4s}.cinematic .objective,.cinematic .look-cue,.cinematic .crosshair{opacity:0}.cinematic-caption{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);width:min(850px,85%);background:#163858db;border:2px solid #ffffff40;border-radius:15px;padding:19px 27px 15px;color:#fffaf1;text-align:center;box-shadow:0 8px 25px #0a294655;animation:trayIn .3s}.caption-label{font:400 11px var(--display);color:#ffdf60;letter-spacing:2px}.cinematic-caption>p{font:900 21px/1.4 var(--body);margin-top:8px}.cinema-dots{display:flex;gap:5px;justify-content:center;margin-top:14px}.cinema-dots>i{width:5px;height:5px;border-radius:50%;background:#8cd7f4;animation:dotBlink .9s infinite alternate}.cinema-dots>i:nth-child(2){animation-delay:.2s}.cinema-dots>i:nth-child(3){animation-delay:.4s}.reaction-tray{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);width:min(1000px,calc(100% - 70px));display:flex;align-items:center;gap:20px;background:#fff9e8;border:5px solid white;border-radius:20px;padding:22px 24px;box-shadow:0 8px 0 #16416c80,0 12px 30px #102b4b44;animation:trayIn .3s}.reaction-icon{width:62px;height:62px;display:grid;place-items:center;background:#5ecc9e;border:4px solid #dbfbd4;border-radius:50%;color:white;box-shadow:0 4px 0 #299772;flex-shrink:0;transform:rotate(-6deg)}.retry .reaction-icon{background:#ffb750;border-color:#ffefd0;box-shadow:0 4px 0 #d08a30}.reaction-tray>div{flex:1}.reaction-label{font:400 20px var(--display);color:#349974;letter-spacing:.7px}.retry .reaction-label{color:#d78a32}.reaction-tray p{font-size:15px;font-weight:900;line-height:1.4;color:#58748a;margin-top:7px;max-width:580px}.reaction-tray .game-button{font-size:19px;min-height:55px;white-space:nowrap;padding:12px 20px;flex-shrink:0}.practice-zone{display:flex;align-items:center;gap:20px;position:relative;flex-wrap:wrap;background:#163858d9;border:3px solid #e8fbff90;border-radius:17px;padding:18px 22px 17px;color:white;box-shadow:0 6px 0 #183d6770}.practice-progress{flex:1;min-width:200px;position:relative;padding-right:65px}.practice-progress>span{font:400 12px var(--display);color:#a5e5fa;letter-spacing:1px}.practice-pips{display:flex;gap:5px;margin-top:11px}.practice-pips>i{height:15px;flex:1;max-width:40px;background:#355d7a;border:2px solid #80bdd154;border-radius:5px;transition:background .1s,transform .1s}.practice-pips>i.filled{background:#ffdb4d;border-color:#fff2a3;transform:translateY(-2px);box-shadow:0 3px 0 #c18e2d}.practice-progress>strong{position:absolute;right:0;bottom:0;font:400 23px var(--display);color:#ffdf5e}.action-button{font-size:23px;min-height:64px;min-width:300px}.action-button kbd{font:900 10px var(--body);border:2px solid #b8873980;border-radius:5px;padding:4px 8px;box-shadow:0 2px 0 #bd8e3866;margin-left:4px;letter-spacing:1px}.action-button.hit{animation:buttonHit .18s}.beat-button{border:2px solid #88d9ed;background:#2477a6;color:#dffaff;display:flex;align-items:center;gap:7px;font:400 11px var(--display);letter-spacing:1px;border-radius:9px;padding:10px 12px}.practice-tip{font:700 10px var(--body);flex-basis:100%;color:#b7dbe9;margin-top:-4px}.practice-zone #rhythm-reading{font:400 12px var(--display);letter-spacing:1px;color:#ffe264;position:absolute;right:22px;bottom:15px}.beat-flash{animation:beatGlow .35s}.modal-curtain{position:fixed;inset:0;background:#103c66bb;backdrop-filter:blur(9px);display:grid;place-items:center;padding:25px}.game-dialog{position:relative;width:min(480px,100%);max-height:90vh;overflow:auto;background:#fff7df;border:6px solid white;border-radius:24px;box-shadow:0 11px 0 #164577,0 18px 60px #082a4c60;padding:39px 35px 30px;text-align:center;transform:rotate(-1deg)}.game-dialog .close{position:absolute;right:11px;top:10px;width:31px;height:31px;border-width:2px;border-radius:10px;background:#f78d50;color:#fff4de;box-shadow:0 3px 0 #b85435}.modal-kicker{font:400 11px var(--display);letter-spacing:1.7px;color:#c99747}.game-dialog h2{font-size:40px;color:#25558a;margin:10px 0 16px;text-shadow:0 3px 0 #a7d5e270}.game-dialog p{font-size:14px;line-height:1.5;color:#698596;margin:13px 0 24px;font-weight:800}.game-dialog .game-button{margin-top:18px;min-height:57px;font-size:22px}.pause-avatar{display:grid;place-items:center;width:95px;height:95px;margin:22px auto;background:#ffdf61;border:5px solid white;border-radius:50%;box-shadow:0 5px 0 #ddb34e}.pause-avatar .sabi-mascot{transform:scale(1.25)}.return-menu{font-size:13px;font-weight:900;color:#6c8ca4;text-decoration:underline;text-underline-offset:4px;display:block;margin:25px auto 3px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:2px dashed #e7dcc0;font-size:17px;color:#567796}.toggle{background:#b1bdc4;color:white;border:3px solid #fff;border-radius:12px;padding:7px 18px;box-shadow:0 4px 0 #758b99;font:400 18px var(--display);min-width:77px}.toggle.on{background:#58cda0;box-shadow:0 4px 0 #2f9e81}.clinical-note{font-size:11px;line-height:1.6;color:#8a906d;background:#f2eed7;padding:16px;border-radius:12px}.result-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#147a9bab,#103d79de);backdrop-filter:blur(4px)}.victory-screen{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);width:min(700px,90%);text-align:center;color:white}.victory-ribbon{display:inline-block;background:#ff8d3b;color:#fff9dc;border:4px solid #ffde88;border-radius:11px;box-shadow:0 6px 0 #b9572e;transform:rotate(-4deg);font:400 26px var(--display);letter-spacing:1.5px;padding:11px 26px;margin-bottom:31px}.victory-stars .star-row{gap:20px}.victory-stars .star-row svg{width:69px;height:69px;stroke-width:1.5;stroke:#ffe89b}.victory-stars .star-row i{filter:drop-shadow(0 7px 0 #134777)}.victory-stars .star-row i.earned{filter:drop-shadow(0 7px 0 #a97730);animation:starPop .65s backwards}.victory-stars .star-row i:nth-child(2){transform:translateY(-12px) scale(1.2);animation-delay:.17s}.victory-stars .star-row i:nth-child(3){animation-delay:.3s}.victory-screen h1{font-size:60px;margin:20px 0 13px;text-shadow:0 5px 0 #164478;-webkit-text-stroke:3px #255b89;paint-order:stroke fill}.victory-screen>p{font-size:17px;line-height:1.5;color:#cff2fa;max-width:520px;margin:auto}.earned-medal{display:flex;align-items:center;justify-content:center;gap:16px;background:#143f7180;border:2px solid #4d98bd;border-radius:15px;padding:17px 26px;margin:26px auto;width:max-content;max-width:100%;text-align:left}.earned-medal>svg{color:#ffde4b;filter:drop-shadow(0 3px 0 #b67c2b)}.earned-medal small{font:400 9px var(--display);letter-spacing:1.5px;color:#8ad8ec;display:block;margin-bottom:5px}.earned-medal strong{font:400 24px var(--display);color:#fff9df}.victory-actions{display:flex;gap:20px;justify-content:center;margin-top:30px}.victory-actions .game-button{font-size:21px;min-height:61px}.victory-screen .return-menu{color:#bfe6f4;margin-top:27px}.result-note{display:block;font-size:10px;color:#9dd0e5;margin-top:20px}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;left:var(--x);top:-30px;width:12px;height:21px;border-radius:3px;background:var(--c);animation:confettiFall 5s calc(var(--i)*-.16s) infinite linear;transform:rotate(calc(var(--i)*27deg))}.confetti i:nth-child(3n){width:12px;height:12px;border-radius:50%}.loading-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 40%,#64dbef,#188fc9);gap:35px;color:white;text-align:center;padding:30px}.loading-screen .game-logo{font-size:75px}.loading-screen h1{font-size:25px;text-shadow:0 3px 0 #1678aa}.loading-star{color:#ffdb43;animation:starSpin 2s infinite ease-in-out;filter:drop-shadow(0 4px 0 #d28b25);margin-top:10px}.loading-track{width:250px;height:15px;border:3px solid white;border-radius:9px;overflow:hidden;background:#156ba4;box-shadow:0 4px 0 #0d5e9a}.loading-track i{display:block;background:#ffda45;width:30%;height:100%;animation:loadRun 1.8s infinite ease-in-out}.loading-screen>p{font-size:15px;max-width:400px}.loading-screen .game-button{pointer-events:auto}#game-toast{position:fixed;top:105px;left:50%;transform:translate(-50%,-20px);background:#fff8dd;border:3px solid #fff;border-radius:12px;box-shadow:0 5px 0 #17446c88;padding:13px 20px;color:#376282;font-size:13px;z-index:50;opacity:0;transition:.2s;pointer-events:none;max-width:90vw;text-align:center}#game-toast.visible{opacity:1;transform:translate(-50%,0)}
@keyframes trayIn{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes dotBlink{to{opacity:.25;transform:translateY(-3px)}}@keyframes buttonHit{50%{transform:translateY(5px) scale(.98)}}@keyframes beatGlow{0%{border-color:#ffdd49;box-shadow:0 0 30px #ffdf4480}100%{border-color:#e8fbff90}}@keyframes starPop{0%{scale:0;rotate:-30deg}70%{scale:1.2}100%{scale:1}}@keyframes confettiFall{to{translate:70px 110vh;rotate:360deg}}@keyframes starSpin{50%{transform:rotate(40deg) scale(1.15)}}@keyframes loadRun{50%{transform:translateX(230%)}100%{transform:translateX(0)}}
@media(min-width:1650px){.title-menu{top:18%;left:8%}.game-logo{font-size:120px}.logo-cross{height:108px;width:108px;font-size:77px}.ribbon{font-size:25px}.title-menu h1{font-size:43px}.title-menu>p{font-size:18px}.mission-preview{width:380px;bottom:130px}.mini-mission strong{font-size:23px}.mini-mission{padding:17px}.mini-mission>svg:first-child{width:88px;height:80px}.decision-tray{bottom:39px;width:min(1280px,calc(100% - 100px))}.speech-bubble{max-width:950px;padding:27px 54px 22px 28px}.speech-bubble p{font-size:24px}.choice-button{min-height:91px;font-size:19px}.game-hud{top:32px;left:38px;right:38px}.mission-hud strong{font-size:27px}.objective{top:135px;left:40px;font-size:18px}}
@media(max-width:1100px){.title-menu{left:5%;top:16%;width:390px}.game-logo{font-size:82px;-webkit-text-stroke-width:6px}.logo-cross{width:75px;height:79px;font-size:54px;border-width:5px;border-radius:20px}.ribbon{font-size:18px;padding:7px 20px;margin-left:30px;letter-spacing:2px}.title-menu h1{font-size:30px}.title-menu>p{font-size:14px}.start-button{width:280px;font-size:27px;min-height:65px}.missions-button{font-size:17px;min-height:48px}.mission-preview{width:290px;right:4%;bottom:90px}.mini-mission{padding:10px;gap:9px}.mini-mission>svg:first-child{height:55px;width:62px}.mini-mission strong{font-size:18px}.mini-mission small{font-size:9px}.preview-pin{font-size:13px}.menu-bottom>span{font-size:9px;letter-spacing:1px}.game-hud{top:20px;left:22px;right:22px}.mission-hud{gap:9px;padding:8px 13px 8px 7px}.mission-badge{height:42px;width:42px;font-size:24px}.mission-hud strong{font-size:20px}.mission-hud small{font-size:8px}.level-track{gap:6px;padding:7px 10px}.level-track i{width:23px;height:23px;font-size:11px}.level-track i:not(:last-child):after{left:23px;width:6px;top:11px}.round-button{width:42px;height:42px;border-radius:13px}.top-controls{gap:9px}.objective{left:26px;top:108px;font-size:13px}.look-cue{right:24px;top:105px;font-size:8px}.decision-tray{width:calc(100% - 45px);bottom:23px}.speech-bubble{min-width:0;max-width:740px;padding:20px 42px 16px 20px}.speech-bubble p{font-size:18px}.guide-avatar{width:69px;height:69px;border-width:4px}.guide-avatar .sabi-mascot{transform:scale(.88)}.choice-button{font-size:14px;min-height:77px;padding:13px 12px 13px 10px;gap:9px}.choice-key{height:30px;width:27px;font-size:20px}.game-choices{gap:11px}.choice-button>svg{display:none}.choice-help{font-size:8px;margin-top:17px}.reaction-tray{width:calc(100% - 50px);padding:19px;gap:15px;bottom:32px}.reaction-tray p{font-size:13px}.reaction-label{font-size:18px}.reaction-icon{width:50px;height:50px}.reaction-tray .game-button{font-size:17px;padding:10px 17px}.practice-zone{gap:15px;padding:16px}.action-button{min-width:240px;font-size:18px;min-height:58px;padding:10px 18px}.action-button kbd{font-size:8px;padding:3px 5px}.practice-progress{min-width:170px}.practice-progress>span{font-size:10px}.practice-zone #rhythm-reading{font-size:10px}.practice-tip{font-size:9px;max-width:65%}}
@media(max-height:760px) and (min-width:681px){.title-menu{top:14%}.game-logo{font-size:74px}.logo-cross{height:70px;width:70px;font-size:49px}.logo-sticker{margin-bottom:25px}.ribbon{margin-top:14px;font-size:16px;padding:7px 16px}.title-menu h1{font-size:27px}.title-menu>p{font-size:13px;margin-bottom:18px}.start-button{min-height:60px;width:270px;margin-bottom:18px;font-size:26px}.missions-button{min-height:46px;font-size:16px}.menu-hint{margin-top:21px;font-size:10px}.mission-preview{bottom:90px;width:300px}.mini-mission>svg:first-child{height:50px;width:58px}.mini-mission{padding:9px}.mini-mission strong{font-size:18px}.mini-mission small{font-size:9px}.mission-select{inset:105px 30px 20px}.mission-select>h1{font-size:40px}.mission-select>p{margin:10px 0 12px;font-size:13px}.mission-card{width:290px;padding:14px 20px 20px}.mission-art{height:97px;margin-bottom:2px}.mission-art>svg{height:95px}.mission-card h2{font-size:25px;margin:9px 0 6px}.mission-card p{font-size:12px;min-height:45px}.mission-card .star-row{margin:10px 0 15px}.card-play{font-size:19px;padding:9px}.selection-foot{margin-top:10px;font-size:10px}.decision-tray{bottom:20px}.speech-row{margin-bottom:14px}.speech-bubble{padding:18px 42px 14px 20px}.speech-bubble p{font-size:18px}.guide-avatar{width:63px;height:63px}.sabi-mascot{transform:scale(.82)}.choice-button{min-height:65px;font-size:14px}.practice-zone{padding:12px 17px;gap:13px}.action-button{min-height:55px;font-size:20px}.game-hud{top:16px}.objective{top:105px}.look-cue{top:100px}.cinematic .cinema-bar{height:25px}.cinematic-caption{bottom:47px;padding:15px 23px 12px}.cinematic-caption>p{font-size:18px}.victory-screen{transform:translate(-50%,-45%)}.victory-ribbon{font-size:22px;padding:8px 22px;margin-bottom:25px}.victory-stars .star-row svg{height:50px;width:50px}.victory-screen h1{font-size:46px;margin:13px 0 9px}.victory-screen>p{font-size:14px}.earned-medal{padding:12px 23px;margin:18px auto}.earned-medal strong{font-size:21px}.victory-actions{margin-top:20px}.victory-actions .game-button{min-height:53px;font-size:18px}.victory-screen .return-menu{margin-top:20px}.result-note{margin-top:15px;font-size:9px}}
@media(max-width:680px){.menu-top{top:17px;left:18px;right:18px}.build-tag{font-size:9px;letter-spacing:1px;padding:6px 9px}.top-controls{gap:7px}.round-button{width:36px;height:36px;border-radius:11px;border-width:2px;box-shadow:0 4px 0 #15376175}.round-button svg{height:18px;width:18px}.title-menu{left:7%;top:13%;width:90%}.game-logo{font-size:76px;-webkit-text-stroke-width:6px}.logo-cross{height:70px;width:70px;font-size:48px;border-radius:20px;border-width:5px}.ribbon{font-size:16px;letter-spacing:2px;padding:6px 17px;margin-top:15px;margin-left:27px}.logo-sticker{margin-bottom:25px}.title-menu h1{font-size:27px;line-height:1.1;max-width:280px;text-shadow:0 3px 0 #164c6b}.title-menu>p{font-size:12px;line-height:1.4;margin:11px 0 20px;max-width:250px}.menu-shade{background:linear-gradient(90deg,#15547cbb,#1c689642 70%),linear-gradient(0deg,#1745719c,transparent 35%)}.start-button{width:244px;min-height:61px;font-size:26px;border-width:4px;margin-bottom:19px}.missions-button{font-size:16px;min-height:45px;padding:9px 17px;border-width:3px;margin-left:5px}.menu-hint{display:none}.mission-preview{left:7%;right:7%;bottom:76px;display:flex;gap:13px;width:auto;transform:none}.preview-pin{position:absolute;top:-24px;font-size:10px;margin-left:1px;letter-spacing:1.2px}.mini-mission{width:50%;padding:9px;border-width:3px;gap:7px;border-radius:13px;transform:rotate(-2deg)}.mini-mission.blue{transform:rotate(2deg)}.mini-mission>svg:first-child{height:45px;width:45px;padding:3px;border-radius:8px}.mini-mission strong{font-size:13px;white-space:normal;line-height:1.05}.mini-mission small{font-size:7px;letter-spacing:.7px}.mini-mission>svg:last-child{display:none}.mini-mission .star-row svg{width:11px;height:11px}.mini-mission .star-row{gap:1px;margin-top:5px}.menu-bottom{left:20px;right:20px;bottom:18px;justify-content:center}.menu-bottom>span{display:none}.menu-bottom>button{font-size:9px}.selection-top{top:20px;left:18px;right:18px}.selection-top .top-controls>.round-button:nth-child(2){display:none}.game-logo.small{font-size:25px}.small .logo-cross{height:31px;width:30px;font-size:21px;border-radius:8px}.mission-select{inset:103px 20px 20px}.section-kicker{font-size:10px;letter-spacing:1.5px}.mission-select>h1{font-size:33px;line-height:1.05;margin-top:13px;max-width:320px;-webkit-text-stroke-width:3px}.mission-select>p{font-size:11px;margin:13px 0 20px;max-width:300px}.mission-cards{gap:17px;flex-direction:column;align-items:center;padding:6px 0 15px}.mission-card{width:290px;border-width:4px;border-radius:20px;padding:16px 20px 18px;transform:rotate(-2deg)}.mission-card.blue{transform:rotate(2deg)}.mission-number{font-size:22px;border-width:3px;top:-10px;left:-10px;padding:7px 10px;border-radius:13px}.mission-art{height:75px;margin:0}.mission-art>svg{height:85px}.mission-tag{font-size:9px;padding:4px 10px}.mission-card h2{font-size:25px;margin:9px 0 5px}.mission-card p{font-size:11px;min-height:0}.mission-card .star-row{margin:9px 0 12px;gap:7px}.mission-card .star-row svg{height:23px;width:23px}.card-play{font-size:18px;padding:8px 20px;border-radius:10px}.selection-foot{font-size:10px;margin-top:10px}.game-hud{top:13px;left:12px;right:12px;align-items:flex-start}.mission-hud{padding:6px 10px 7px 5px;gap:7px;border-width:2px;border-radius:12px}.mission-badge{height:32px;width:32px;border-width:2px;border-radius:10px;font-size:20px;box-shadow:0 3px 0 #b77b2e}.mission-hud small{font-size:6px;letter-spacing:1px;margin-bottom:3px}.mission-hud strong{font-size:15px}.game-hud .top-controls{gap:6px}.game-hud .round-button{width:31px;height:31px;border-radius:10px}.game-hud .round-button svg{width:16px;height:16px}.game-hud .round-button:nth-child(2){display:none}.level-track{position:absolute;top:69px;left:0;gap:5px;padding:5px 7px;border-radius:20px;border-width:1px}.level-track i{width:18px;height:18px;font-size:8px}.level-track i:not(:last-child):after{width:5px;left:18px;top:8px;height:2px}.level-track i.done svg{width:10px;height:10px}.objective{top:121px;left:16px;font-size:11px;gap:7px;max-width:85%}.objective-star>svg{height:14px;width:14px}.look-cue{right:14px;top:88px;font-size:6px;letter-spacing:.5px}.look-cue svg{width:9px;height:9px}.crosshair{top:40%;width:5px;height:5px}.decision-tray{bottom:19px;width:calc(100% - 24px)}.speech-row{gap:8px;padding:0;margin-bottom:13px;align-items:flex-end}.guide-avatar{width:49px;height:49px;border-width:3px;box-shadow:0 3px 0 #ab822e;transform:rotate(-7deg);margin-bottom:5px}.guide-avatar .sabi-mascot{transform:scale(.62)}.speech-bubble{min-width:0;flex:1;padding:17px 29px 12px 13px;border-width:3px;border-radius:13px;box-shadow:0 4px 0 #17396666}.speech-bubble p{font-size:14px;line-height:1.27;letter-spacing:0}.speech-bubble:before{width:15px;height:15px;left:-10px;bottom:12px}.speaker-label{font-size:9px;padding:2px 9px;top:-11px;left:11px;border-width:2px;border-radius:6px}.speech-bubble>button{right:8px;bottom:11px;padding:3px;border-radius:5px}.speech-bubble>button svg{width:13px;height:13px}.game-choices{flex-direction:column;gap:10px}.choice-button{min-height:51px;flex:auto;border-width:3px;border-radius:12px;padding:9px 13px 9px 9px;font-size:12px;gap:10px;box-shadow:0 4px 0 #125795,0 7px 14px #16345130}.choice-key{width:25px;height:27px;border-radius:7px;font-size:17px;border-width:2px;box-shadow:0 2px 0 #bd8b2c}.choice-button>svg{display:block;width:16px;height:16px}.choice-help{font-size:6px;letter-spacing:1px;margin-top:12px}.game-footnote{left:13px;bottom:3px;font-size:6px}.cinematic-caption{width:calc(100% - 34px);bottom:44px;padding:15px 16px 12px;border-radius:13px}.caption-label{font-size:8px;letter-spacing:1.3px}.cinematic-caption>p{font-size:15px;line-height:1.4}.cinematic .cinema-bar{height:20px}.cinema-dots{margin-top:11px}.reaction-tray{bottom:28px;width:calc(100% - 28px);padding:16px;border-width:4px;border-radius:17px;gap:12px;flex-wrap:wrap}.reaction-icon{width:44px;height:44px;border-width:3px}.reaction-icon>svg{width:23px;height:23px}.reaction-tray>div{min-width:190px}.reaction-label{font-size:16px}.reaction-tray p{font-size:12px;line-height:1.4;margin-top:6px}.reaction-tray .game-button{margin-top:2px;margin-left:56px;font-size:17px;min-height:48px;padding:9px 18px;border-width:3px;border-radius:12px;box-shadow:0 4px 0 #bf7e24}.practice-zone{padding:13px 13px 15px;border-radius:14px;border-width:2px;gap:14px}.practice-progress{flex-basis:100%;padding-right:65px}.practice-progress>span{font-size:9px}.practice-progress>strong{font-size:20px}.practice-pips{margin-top:8px;gap:4px}.practice-pips>i{height:12px;border-radius:4px;border-width:1px}.action-button{min-height:54px;min-width:0;flex:1;max-width:100%;font-size:16px;gap:9px;border-width:3px;border-radius:12px;padding:10px 12px;box-shadow:0 4px 0 #bf7e24}.action-button>svg{height:21px;width:21px}.action-button kbd{display:none}.beat-button{font-size:8px;gap:4px;padding:10px 8px;border-radius:7px}.beat-button svg{width:13px;height:13px}.practice-tip{font-size:8px;max-width:100%;line-height:1.4;margin:0}.practice-zone #rhythm-reading{font-size:8px;position:static;flex-basis:100%;margin-top:-7px;letter-spacing:.5px}.modal-curtain{padding:20px}.game-dialog{border-width:4px;border-radius:20px;padding:30px 24px 25px}.game-dialog h2{font-size:34px}.modal-kicker{font-size:9px}.game-dialog p{font-size:12px}.game-dialog .game-button{font-size:19px;min-height:52px;border-width:3px;margin-top:16px}.setting-row{font-size:15px;padding:17px 0}.clinical-note{font-size:10px;padding:13px}.return-menu{font-size:12px}.victory-screen{width:calc(100% - 32px);transform:translate(-50%,-44%)}.victory-ribbon{font-size:22px;padding:9px 20px;margin-bottom:30px;border-width:3px;border-radius:9px}.victory-stars .star-row svg{width:49px;height:49px}.victory-stars .star-row{gap:15px}.victory-screen h1{font-size:43px;margin:22px 0 14px}.victory-screen>p{font-size:13px;max-width:320px;line-height:1.5}.earned-medal{padding:13px 18px;gap:12px;margin:22px auto}.earned-medal>svg{width:28px;height:28px}.earned-medal small{font-size:7px;letter-spacing:1px}.earned-medal strong{font-size:20px}.victory-actions{flex-direction:column;gap:19px;margin:25px auto 0;max-width:280px}.victory-actions .game-button{min-height:55px;font-size:20px;border-width:3px;gap:17px}.victory-screen .return-menu{margin-top:23px}.result-note{font-size:8px;margin-top:18px;max-width:290px;margin-left:auto;margin-right:auto}.loading-screen{gap:26px}.loading-screen .game-logo{font-size:65px}.loading-screen h1{font-size:21px}.loading-track{width:210px}.loading-star{margin-top:12px}.loading-star>svg{width:35px;height:35px}#game-toast{top:90px;font-size:11px;padding:10px 15px}}
@media(max-height:710px) and (max-width:680px){.title-menu{top:13%}.game-logo{font-size:57px}.logo-cross{width:56px;height:57px;font-size:40px;border-width:4px;border-radius:15px}.ribbon{font-size:13px;margin-top:11px;padding:5px 13px;margin-left:27px}.logo-sticker{margin-bottom:19px}.title-menu h1{font-size:23px}.title-menu>p{font-size:11px;margin:8px 0 16px}.start-button{min-height:52px;font-size:23px;width:225px;margin-bottom:15px}.missions-button{min-height:40px;font-size:14px;padding:8px 13px}.mission-preview{bottom:63px;gap:10px}.mini-mission{padding:7px;gap:5px}.mini-mission>svg:first-child{width:36px;height:38px}.mini-mission strong{font-size:12px}.preview-pin{font-size:8px;top:-19px}.menu-bottom{bottom:12px}.decision-tray{bottom:16px}.speech-bubble p{font-size:12px}.speech-bubble{padding:15px 27px 10px 12px}.speech-row{margin-bottom:12px}.choice-button{min-height:45px;padding:7px 10px;font-size:11px}.game-choices{gap:9px}.choice-help{margin-top:9px}.practice-zone{gap:11px;padding:11px}.practice-tip{font-size:7px}.action-button{min-height:47px;font-size:14px}.victory-screen{transform:translate(-50%,-44%)}.victory-ribbon{font-size:19px;margin-bottom:25px}.victory-screen h1{font-size:36px;margin:15px 0 10px}.victory-stars .star-row svg{height:40px;width:40px}.victory-screen>p{font-size:12px}.earned-medal{margin:16px auto;padding:10px 16px}.victory-actions{margin-top:19px;gap:16px}.victory-actions .game-button{min-height:47px;font-size:18px}.victory-screen .return-menu{margin-top:20px}.result-note{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Mission collection and a roomier title-screen layout. */
.menu-top{max-width:2240px;left:max(38px,calc((100vw - 2240px)/2));right:max(38px,calc((100vw - 2240px)/2));top:34px}.menu-collection{display:flex;gap:9px;align-items:center;color:#fff7d0;background:#19497180;border:2px solid #ffffff60;border-radius:15px;padding:10px 15px;box-shadow:0 4px 0 #173e6155}.menu-collection svg{color:#ffdc4b}.menu-collection strong{font:400 24px var(--display)}.menu-collection>span{font:400 9px var(--display);letter-spacing:1.2px}.title-menu{left:max(7%,calc((100vw - 2180px)/2));top:16%;width:480px}.title-menu .logo-sticker{margin-bottom:39px}.title-menu h1{margin-bottom:18px}.title-menu>p{line-height:1.55;margin-bottom:31px}.start-button{margin-bottom:17px;width:330px}.play-caption{display:block;font:400 10px var(--display);letter-spacing:1.8px;color:#d8f4ff;margin:0 0 0 21px;text-shadow:0 2px 0 #215779}.menu-hint{margin-top:32px}.mission-preview{width:365px;right:max(5%,calc((100vw - 2240px)/2));bottom:105px;gap:23px;transform:rotate(1.5deg)}.mini-mission{padding:15px;gap:15px;border-radius:20px}.mini-mission>svg:first-child{width:80px;height:73px;padding:7px}.mini-mission strong{font-size:21px;line-height:1.15}.mini-mission small{margin-bottom:7px}.mini-mission .star-row{margin-top:10px;gap:4px}.mini-mission .star-row svg{width:18px;height:18px}.preview-pin{margin:0 0 -4px 10px;letter-spacing:1.6px}.more-missions{color:#def5ff;display:flex;align-items:center;justify-content:center;gap:8px;font:400 10px var(--display);letter-spacing:1px;text-shadow:0 2px 1px #204a70;padding:5px}.menu-bottom{left:max(38px,calc((100vw - 2240px)/2));right:max(38px,calc((100vw - 2240px)/2));bottom:25px}.menu-bottom>button{font-size:11px;padding:8px 12px}.sabi-coin{position:relative;height:29px;width:29px;background:linear-gradient(135deg,#fff2a4,#ffd541 60%,#ecac26);border:3px solid #fff1a0;border-radius:50%;box-shadow:0 3px 0 #b97b25,inset 0 0 0 2px #e3aa29;display:inline-grid;place-items:center;flex-shrink:0;transform:rotate(-10deg)}.sabi-coin>i{font:400 18px var(--display);font-style:normal;color:#b17820;text-shadow:0 1px 0 #fff7c6;line-height:1}.coin-wallet{display:flex;align-items:center;gap:9px;background:#173d67cc;border:3px solid #fff1c3;border-radius:14px;padding:6px 12px 7px 7px;box-shadow:0 5px 0 #15345c66;color:#fff2bf;margin-right:5px;min-height:47px}.coin-wallet>span:not(.sabi-coin){font:400 23px var(--display);letter-spacing:.5px}.coin-wallet>small{font:400 8px var(--display);letter-spacing:1px;color:#d6edeb;max-width:28px;line-height:1.25;text-align:left}.coin-wallet:hover{transform:translateY(-2px);background:#235381}.player-identity{display:flex;gap:5px;align-items:center;font:400 7px var(--display);letter-spacing:1.2px;color:#b9eee9;margin-top:5px}.player-identity>i{height:6px;width:6px;background:#2ad1bc;border-radius:50%;box-shadow:0 0 0 2px #46d6c62b}.game-hud .level-track{position:absolute;left:50%;transform:translateX(-50%)}.look-cue{gap:9px;font-size:9px;top:125px;align-items:center}.look-cue button{display:flex;align-items:center;gap:6px;background:#173b64a6;border:1px solid #ddfbff80;color:#e7faff;padding:7px 10px;border-radius:9px;font:400 9px var(--display);letter-spacing:.7px}.look-cue kbd{font:700 8px var(--body);border:1px solid #95cada;border-radius:3px;padding:1px 4px}.look-cue button:hover{background:#258ac4}.objective{top:126px}.looking-down .decision-tray,.looking-down .reaction-tray{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .2s}.looking-down .crosshair{opacity:0}.looking-down .objective{opacity:.3}.looking-down .look-cue{font-size:0}.looking-down .look-cue button{font-size:12px;border:2px solid #fff0c0;background:#f2bb36;color:#74491e;text-shadow:none;padding:12px 15px;box-shadow:0 4px 0 #b38128}.looking-down .look-cue button:last-child{display:none}.missions-screen .selection-scrim{background:linear-gradient(160deg,#1a5e8eeb,#194d81d9);backdrop-filter:blur(6px)}.mission-select{inset:124px 30px 23px;max-width:1980px;margin:auto;overflow:hidden}.mission-select>h1{font-size:47px;margin-top:10px}.mission-select>p{font-size:14px;margin:13px 0 18px}.journey-summary{display:flex;justify-content:center;align-items:center;gap:29px;color:#ccf4fa;font-size:12px;margin-bottom:19px}.journey-summary>span{display:flex;gap:7px;align-items:center}.journey-summary svg{color:#ffdf5b}.journey-summary .sabi-coin{height:20px;width:20px;border-width:2px;box-shadow:0 2px 0 #b97b25}.journey-summary .sabi-coin i{font-size:12px}.mission-carousel{position:relative;display:flex;align-items:center;width:100%;min-height:0;flex:0 1 auto}.mission-carousel:before{content:'';position:absolute;left:60px;right:60px;top:52%;border-top:5px dashed #f6d55d59;z-index:0}.mission-rail{position:relative;display:flex;gap:30px;width:calc(100% - 116px);margin:0 58px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:29px 19px 22px;scrollbar-width:none;pointer-events:auto;overscroll-behavior-x:contain;scroll-padding:19px;outline:none;min-width:0}.mission-rail::-webkit-scrollbar{display:none}.mission-rail:focus-visible{outline:2px solid #7ad0ea80;outline-offset:-5px;border-radius:20px}.mission-rail .mission-card{flex:0 0 294px;width:294px;scroll-snap-align:start;transform:rotate(-1deg);padding:17px 23px 22px;border-width:5px;border-radius:23px;min-height:440px}.mission-rail .mission-card:nth-child(2n){transform:rotate(1deg)}.mission-rail .mission-card:hover{transform:rotate(0) translateY(-8px)}.mission-rail .mission-card h2{font-size:27px;line-height:1.05;margin:12px 0 9px;min-height:56px;display:flex;align-items:center;justify-content:center}.mission-rail .mission-art{position:relative;height:119px;width:160px;margin:8px 0 13px}.mission-rail .mission-art>svg{width:139px;height:118px}.mission-rail .mission-card>p{min-height:50px;font-size:12px;line-height:1.4}.mission-rail .mission-card>.star-row{margin:12px 0 12px;gap:7px}.mission-rail .mission-card>.star-row svg{height:25px;width:25px}.mission-rail .card-play{margin-top:auto;font-size:21px;padding:10px 20px;border-radius:12px}.mission-reward{display:flex;align-items:center;justify-content:center;gap:6px;color:#9f864a;font-size:10px;margin-bottom:19px;min-height:20px}.mission-reward .sabi-coin{width:18px;height:18px;border-width:2px;box-shadow:0 1px 0 #b97b25}.mission-reward .sabi-coin i{font-size:10px}.completed-stamp,.ready-stamp,.locked-stamp{position:absolute;right:12px;top:11px;font:400 8px var(--display);letter-spacing:.8px;padding:5px 8px;border-radius:6px;color:#409a75;background:#dbf4d2;display:flex;align-items:center;gap:4px}.ready-stamp{color:#b88027;background:#fff0bc}.locked-stamp{color:#7597ac;background:#d8e8ee}.mission-rail .completed-card{border-color:#e8ffdf;box-shadow:0 9px 0 #0b416d,0 0 0 2px #70c79c80}.mission-card.locked-card{background:linear-gradient(#e2edf0,#f0f4ee);border-color:#f3faf6;color:#668395;box-shadow:0 9px 0 #193f68,0 15px 30px #0b274e44}.locked-card .mission-art>svg{filter:saturate(.45) opacity(.7);transform:scale(.93)}.locked-card .mission-tag{background:#d5e4e6;color:#7594a1}.locked-card .mission-number{background:#7ba7bf;border-color:#daeef1;color:#e5f5f7;box-shadow:0 4px 0 #477d9e}.locked-card .mission-reward{color:#87a2ad}.locked-card .mission-reward .sabi-coin{filter:grayscale(.7);opacity:.65}.locked-card .card-play{background:linear-gradient(#a8c3d0,#8baaba);border-color:#e6f3f4;color:#f0faf9;box-shadow:0 4px 0 #567f99}.locked-card .star-row{opacity:.55}.lock-medallion{position:absolute;right:8px;bottom:-3px;width:59px;height:62px;background:linear-gradient(145deg,#ffe8a0,#e7bb59);border:4px solid #fff3c7;box-shadow:0 5px 0 #aa7d38,0 7px 16px #305a6a44;border-radius:17px;display:grid;place-items:center;color:#a47732;transform:rotate(8deg)}.lock-medallion:after{content:'';position:absolute;top:5px;left:8px;right:8px;height:5px;border-radius:4px;background:#fff8d680}.carousel-arrow{position:absolute;top:46%;left:0;width:44px;height:56px;display:grid;place-items:center;background:#36b8e3;color:#fff6d7;border:3px solid #a8ebf5;box-shadow:0 5px 0 #15477d;border-radius:13px;z-index:2;pointer-events:auto}.carousel-arrow.next{left:auto;right:0}.carousel-arrow:hover{background:#55cdf4;transform:translateY(-3px)}.carousel-arrow:disabled{background:#477d9b;border-color:#619ab4;color:#80afc0;box-shadow:0 4px 0 #244e72;cursor:default;transform:none;opacity:.6}.rail-navigation{width:100%;display:flex;align-items:center;justify-content:center;gap:25px;margin-top:10px;color:#a3d6e8;font:400 9px var(--display);letter-spacing:1.3px}.rail-navigation>span:last-child{display:flex;align-items:center;gap:7px}.rail-dots{display:flex;gap:8px;align-items:center}.rail-dots button{width:8px;height:8px;padding:0;background:#6c9db6;border-radius:50%;border:1px solid #9bd1e0;transition:width .15s,background .15s}.rail-dots button.active{width:24px;border-radius:7px;background:#ffdc4b;border-color:#ffeaa6;box-shadow:0 2px 0 #967c3b}.selection-foot{margin-top:17px;font-size:11px;color:#abd4e4}.briefing-dialog{width:min(620px,95%);text-align:left;padding:38px 36px 29px;transform:rotate(-.5deg)}.briefing-dialog h2{font-size:36px;margin:13px 0 23px}.player-introduction{display:flex;gap:20px;align-items:center;background:#e2f0df;border:2px solid #f5fff1;border-radius:16px;padding:17px;margin-bottom:23px}.hero-portrait{width:84px;height:96px;flex-shrink:0;border:3px solid white;border-radius:16px;overflow:hidden;background:#ffda77;box-shadow:0 4px 0 #a2bda0}.hero-portrait svg{width:100%;height:100%;display:block}.player-introduction>div:last-child>span{display:block;font:400 9px var(--display);letter-spacing:1.3px;color:#76a088}.player-introduction strong{display:block;font:400 28px var(--display);color:#2b7e7c;margin:4px 0 7px}.player-introduction p{font-size:12px;line-height:1.5;color:#658783;margin:0}.briefing-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px;color:#6d8b9a;margin-bottom:8px}.briefing-controls>span{display:flex;gap:8px;align-items:center}.briefing-controls kbd{font:900 9px var(--body);padding:4px 7px;border:2px solid #cadcdd;border-radius:6px;background:#f7fbef;color:#64858a;box-shadow:0 2px 0 #b5ccd0}.briefing-reward{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#b09353;margin-top:23px}.briefing-reward .sabi-coin{width:21px;height:21px;border-width:2px}.briefing-reward .sabi-coin i{font-size:12px}.large-lock{display:grid;place-items:center;width:95px;height:95px;border-radius:25px;background:linear-gradient(#ffe5a0,#e4b957);border:5px solid white;box-shadow:0 6px 0 #bf8b3a;color:#a47732;margin:0 auto 23px;transform:rotate(-6deg)}.locked-dialog h2{font-size:31px}.coming-ribbon{display:inline-block;font:400 13px var(--display);letter-spacing:1.5px;color:#5e8ba5;background:#e0edef;border:2px solid #fff;border-radius:9px;padding:8px 14px;transform:rotate(-3deg);margin:0 0 8px}.wallet-coin{display:flex;justify-content:center;margin:0 auto 22px}.wallet-coin .sabi-coin{height:85px;width:85px;border-width:7px;box-shadow:0 6px 0 #b97b25,inset 0 0 0 4px #e3aa29}.wallet-coin .sabi-coin i{font-size:51px}.wallet-dialog h2{font-size:55px;color:#ce9b2f;text-shadow:0 3px 0 #f4d88d;margin:9px 0}.reward-rules{display:grid;gap:0;border-top:2px dashed #dfd7b9;text-align:left}.reward-rules>span{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:13px 0;color:#8a987d;border-bottom:1px solid #e8e2c9}.reward-rules strong{color:#b28f3d;font-size:12px}.wallet-dialog>small{display:block;font-size:9px;color:#a5a588;margin-top:19px}.coin-reward-burst{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;color:#ffe46b}.coin-reward-burst>span:not(.sabi-coin){font:400 31px var(--display);text-shadow:0 3px 0 #9f7728}.coin-reward-burst small{font:400 9px var(--display);letter-spacing:1.3px;color:#aee3ec;max-width:55px;text-align:left;line-height:1.3}.coin-reward-burst .sabi-coin{width:35px;height:35px;border-width:3px}.coin-reward-burst .sabi-coin i{font-size:23px}.victory-screen .earned-medal{margin-top:19px}.victory-screen .result-note{font-size:9px;color:#b0d9e8}
@media(min-width:1800px){.title-menu{top:17%;width:600px}.title-menu .game-logo{font-size:134px}.title-menu .logo-cross{height:116px;width:116px;font-size:80px;border-radius:28px}.title-menu .ribbon{font-size:27px;padding:11px 29px;margin-top:22px}.title-menu .logo-sticker{margin-bottom:49px}.title-menu h1{font-size:48px;margin-bottom:22px}.title-menu>p{font-size:20px;line-height:1.5;margin-bottom:38px}.title-menu .start-button{font-size:35px;min-height:85px;width:380px;margin-bottom:21px}.play-caption{font-size:12px;margin-left:27px;letter-spacing:2px}.menu-hint{font-size:13px;gap:6px;margin-top:36px}.key{width:25px;height:28px;font-size:13px}.mission-preview{width:455px;gap:29px;bottom:140px}.mini-mission{padding:22px;gap:20px;border-radius:23px}.mini-mission>svg:first-child{height:92px;width:98px;padding:7px;border-radius:16px}.mini-mission strong{font-size:26px}.mini-mission small{font-size:12px;letter-spacing:1.5px;margin-bottom:10px}.mini-mission .star-row{margin-top:13px;gap:6px}.mini-mission .star-row svg{height:22px;width:22px}.preview-pin{font-size:17px;letter-spacing:2px}.more-missions{font-size:13px;padding:9px;gap:12px}.coin-wallet{min-height:55px;gap:12px;padding:8px 14px 9px 9px}.coin-wallet>span:not(.sabi-coin){font-size:28px}.coin-wallet>.sabi-coin{height:34px;width:34px}.coin-wallet>small{font-size:9px;max-width:34px}.menu-top{top:40px}.menu-bottom{bottom:32px}.menu-bottom>button{font-size:13px}.mission-select{inset:145px 40px 40px;justify-content:center;padding-bottom:25px}.mission-select>h1{font-size:61px}.section-kicker{font-size:16px}.mission-select>p{font-size:17px;margin:18px 0 23px}.journey-summary{font-size:14px;gap:38px;margin-bottom:26px}.mission-rail{gap:36px;padding:37px 20px 29px}.mission-rail .mission-card{flex-basis:335px;width:335px;padding:24px 29px 27px;min-height:526px;border-width:6px;border-radius:27px}.mission-rail .mission-art{height:150px;width:185px;margin-top:12px}.mission-rail .mission-art>svg{width:169px;height:145px}.mission-rail .mission-card h2{font-size:31px;min-height:64px}.mission-rail .mission-card>p{font-size:14px;min-height:57px}.mission-tag{font-size:12px}.mission-reward{font-size:12px;margin:6px 0 22px}.mission-rail .card-play{font-size:24px;padding:13px 20px}.completed-stamp,.ready-stamp,.locked-stamp{font-size:9px;right:15px;top:14px;padding:6px 10px}.lock-medallion{width:69px;height:72px;border-radius:20px;right:8px;bottom:0}.lock-medallion svg{height:34px;width:34px}.rail-navigation{margin-top:17px;font-size:11px;gap:35px}.rail-dots{gap:11px}.rail-dots button{width:10px;height:10px}.rail-dots button.active{width:30px}.selection-foot{font-size:13px;margin-top:24px}.carousel-arrow{width:51px;height:66px;border-radius:16px}.look-cue{font-size:11px;top:139px;gap:12px}.look-cue button{font-size:11px;padding:9px 13px}.player-identity{font-size:8px;margin-top:7px}.objective{top:139px}}
@media(max-width:1190px){.title-menu{width:400px;top:17%}.mission-preview{width:300px;gap:20px}.mini-mission{padding:12px;gap:10px}.mini-mission strong{font-size:19px}.mini-mission>svg:first-child{width:65px;height:61px}.mini-mission .star-row svg{width:16px;height:16px}.mini-mission small{margin-bottom:6px;font-size:9px}.mission-preview .preview-pin{font-size:12px}.menu-collection>span{display:none}.coin-wallet>small{display:none}.coin-wallet{margin-right:0;gap:7px}.game-hud .level-track{top:73px;left:0;transform:none}.objective{top:140px}.look-cue{top:112px;font-size:7px}.look-cue button{font-size:8px;padding:6px 8px}.mission-select{inset:113px 22px 20px}.mission-select>h1{font-size:39px}.mission-select>p{font-size:12px;margin:12px 0 15px}.journey-summary{font-size:10px;gap:20px;margin-bottom:9px}.mission-rail .mission-card{flex-basis:275px;width:275px;min-height:410px;padding:14px 20px 20px}.mission-rail .mission-art{height:100px;margin-bottom:10px}.mission-rail .mission-art>svg{height:100px}.mission-rail .mission-card h2{font-size:25px;min-height:53px}.mission-rail .mission-card>p{font-size:11px;min-height:46px}.mission-rail .card-play{font-size:19px}.mission-reward{font-size:9px;margin-bottom:15px}.selection-foot{font-size:10px;margin-top:13px}.rail-navigation{margin-top:6px}.mission-rail{gap:27px}}
@media(max-height:760px) and (min-width:681px){.title-menu{top:15%}.title-menu .logo-sticker{margin-bottom:27px}.title-menu h1{font-size:29px;margin-bottom:12px}.title-menu>p{font-size:13px;margin-bottom:22px}.title-menu .start-button{min-height:60px;font-size:27px;width:285px;margin-bottom:14px}.play-caption{font-size:9px}.menu-hint{font-size:10px;margin-top:23px}.mission-preview{bottom:85px;gap:18px}.mini-mission{padding:11px;gap:10px}.mini-mission>svg:first-child{width:61px;height:55px}.mini-mission strong{font-size:18px}.mini-mission small{font-size:8px;margin-bottom:5px}.mini-mission .star-row{margin-top:6px;gap:3px}.mini-mission .star-row svg{height:14px;width:14px}.preview-pin{font-size:12px}.more-missions{font-size:9px}.mission-select{inset:103px 25px 15px}.mission-select>h1{font-size:35px;margin-top:7px}.mission-select>p{font-size:11px;margin:9px 0 11px}.section-kicker{font-size:10px}.journey-summary{font-size:10px;margin-bottom:1px;gap:20px}.mission-rail{padding:24px 15px 17px;gap:25px}.mission-rail .mission-card{flex-basis:250px;width:250px;min-height:342px;padding:13px 19px 17px;border-width:4px;border-radius:20px}.mission-rail .mission-art{height:68px;margin:7px 0 6px}.mission-rail .mission-art>svg{height:77px;width:110px}.mission-rail .mission-card h2{font-size:23px;min-height:47px;margin:9px 0 6px}.mission-rail .mission-tag{font-size:8px;padding:4px 9px}.mission-rail .mission-card>p{font-size:10px;min-height:36px}.mission-rail .mission-card>.star-row{margin:9px 0}.mission-rail .mission-card>.star-row svg{height:20px;width:20px}.mission-reward{font-size:8px;margin:0 0 12px;min-height:17px}.mission-reward .sabi-coin{height:15px;width:15px}.mission-reward .sabi-coin i{font-size:9px}.mission-rail .card-play{font-size:17px;padding:8px 17px}.completed-stamp,.ready-stamp,.locked-stamp{font-size:7px;padding:4px 6px;right:9px;top:8px}.lock-medallion{height:45px;width:44px;border-width:3px;border-radius:13px;bottom:-6px;right:23px}.lock-medallion svg{height:22px;width:22px}.rail-navigation{margin-top:3px;font-size:8px}.selection-foot{font-size:8px;margin-top:8px}.coin-reward-burst{margin-top:12px}.coin-reward-burst>span:not(.sabi-coin){font-size:25px}.coin-reward-burst .sabi-coin{width:29px;height:29px}.victory-screen .earned-medal{margin:13px auto}.victory-screen .victory-actions{margin-top:17px}}
@media(max-width:680px){.menu-top{top:17px;left:18px;right:18px}.menu-collection{padding:6px 9px;gap:6px;border-radius:10px;border-width:1px;box-shadow:0 3px 0 #15345c55}.menu-collection strong{font-size:18px}.menu-collection svg{width:15px;height:15px}.menu-collection>span{display:none}.coin-wallet{padding:4px 7px 5px 5px;gap:5px;min-height:35px;border-width:2px;border-radius:10px;box-shadow:0 3px 0 #15345c66}.coin-wallet>.sabi-coin{width:22px;height:22px;border-width:2px;box-shadow:0 2px 0 #b97b25}.coin-wallet>.sabi-coin i{font-size:13px}.coin-wallet>span:not(.sabi-coin){font-size:17px}.coin-wallet>small{display:none}.title-menu{left:7%;top:14%;width:90%}.title-menu .logo-sticker{margin-bottom:28px}.title-menu h1{font-size:27px;margin-bottom:14px}.title-menu>p{font-size:12px;margin-bottom:24px;line-height:1.5}.title-menu .start-button{width:260px;min-height:63px;font-size:27px;margin-bottom:15px}.play-caption{font-size:8px;letter-spacing:1.4px;margin-left:15px}.menu-hint{display:none}.mission-preview{left:7%;right:7%;bottom:87px;width:auto;gap:13px;transform:none}.preview-pin{top:-26px;font-size:9px!important;letter-spacing:1px;margin:0}.mini-mission{padding:10px;gap:8px;border-radius:15px}.mini-mission>svg:first-child{width:43px;height:46px;padding:4px;border-radius:9px}.mini-mission strong{font-size:14px;line-height:1.1}.mini-mission small{font-size:7px;margin-bottom:5px}.mini-mission .star-row{margin-top:7px;gap:2px}.mini-mission .star-row svg{width:12px;height:12px}.more-missions{position:absolute;bottom:-31px;left:0;right:0;font-size:8px;letter-spacing:.8px;gap:6px}.more-missions svg{width:12px;height:12px}.menu-bottom{left:20px;right:20px;bottom:13px}.menu-bottom>button{font-size:9px;padding:6px 9px}.selection-top{left:16px;right:16px;top:18px}.selection-top>.game-logo{left:69px;transform:rotate(-3deg);font-size:22px}.selection-top>.game-logo .logo-cross{width:28px;height:29px;font-size:19px}.selection-top .top-controls>.round-button{display:none}.selection-top .top-controls>.round-button:last-child{display:grid}.selection-top .coin-wallet{margin-right:1px}.mission-select{inset:100px 0 18px;overflow-y:auto;overflow-x:hidden;padding-bottom:12px}.mission-select>.section-kicker{font-size:8px;letter-spacing:1.2px;padding:0 20px}.mission-select>h1{font-size:34px;max-width:330px;margin:10px 0 0;line-height:1.12}.mission-select>p{font-size:11px;max-width:295px;margin:11px 0 17px}.journey-summary{gap:17px;font-size:9px;margin:0 0 10px}.journey-summary>span:last-child{display:none}.journey-summary svg{height:14px;width:14px}.mission-carousel{width:100%;flex-shrink:0}.carousel-arrow{display:none}.mission-rail{width:100%;margin:0;gap:23px;padding:24px 31px 22px;scroll-padding:31px}.mission-carousel:before{left:0;right:0;border-top-width:4px}.mission-rail .mission-card{flex-basis:278px;width:278px;min-height:408px;padding:17px 22px 20px;border-width:4px;border-radius:22px}.mission-rail .mission-art{height:104px;width:156px;margin:8px 0 10px}.mission-rail .mission-art>svg{height:103px;width:130px}.mission-rail .mission-card h2{font-size:27px;min-height:57px;margin:11px 0 7px}.mission-rail .mission-tag{font-size:9px}.mission-rail .mission-card>p{font-size:11px;min-height:42px}.mission-rail .mission-card>.star-row{margin:10px 0 12px;gap:7px}.mission-rail .mission-card>.star-row svg{height:24px;width:24px}.mission-reward{font-size:9px;margin:0 0 17px;min-height:18px}.mission-rail .card-play{font-size:20px;padding:10px 18px}.lock-medallion{height:55px;width:54px;border-width:4px;border-radius:16px;right:12px;bottom:-5px}.lock-medallion svg{height:26px;width:26px}.completed-stamp,.ready-stamp,.locked-stamp{font-size:7px;padding:5px 7px;right:10px;top:9px}.rail-navigation{margin:10px 0 0;gap:16px;flex-direction:column}.rail-navigation>span:last-child{font-size:8px;letter-spacing:1px}.rail-dots{gap:9px}.rail-dots button{width:8px;height:8px}.rail-dots button.active{width:22px}.selection-foot{font-size:9px;margin:15px 27px 0;max-width:300px;line-height:1.5;text-align:center}.game-hud{left:11px;right:11px;top:12px}.mission-hud strong{font-size:14px}.mission-hud small{font-size:5px}.player-identity{font-size:5px;letter-spacing:.8px;margin-top:4px;gap:4px}.player-identity i{height:4px;width:4px}.game-hud .top-controls{gap:5px}.game-hud .coin-wallet{padding:3px 5px 4px 4px;min-height:29px;border-width:1px;gap:4px;border-radius:9px}.game-hud .coin-wallet>.sabi-coin{height:19px;width:19px;border-width:2px}.game-hud .coin-wallet>.sabi-coin i{font-size:10px}.game-hud .coin-wallet>span:not(.sabi-coin){font-size:15px}.game-hud .top-controls>.round-button.sound{display:none}.game-hud .top-controls>.round-button.pause{display:grid}.game-hud .level-track{top:73px;left:0;transform:none}.look-cue{top:86px;right:12px;font-size:0;gap:5px}.look-cue button{font-size:6px;gap:4px;padding:5px 7px;border-radius:6px}.look-cue button svg{height:12px;width:12px}.look-cue kbd{display:none}.objective{top:128px;left:15px;font-size:10px}.looking-down .look-cue button{font-size:9px;padding:8px 10px}.briefing-dialog{padding:33px 23px 26px}.briefing-dialog h2{font-size:28px;margin:12px 0 20px}.player-introduction{padding:13px;gap:13px;border-radius:13px;margin-bottom:19px}.hero-portrait{width:62px;height:78px;border-width:2px;border-radius:12px}.player-introduction>div:last-child>span{font-size:7px}.player-introduction strong{font-size:22px;margin:4px 0 6px}.player-introduction p{font-size:10px;line-height:1.5;margin:0}.briefing-controls{font-size:9px;gap:10px;grid-template-columns:1fr}.briefing-controls>span{gap:7px}.briefing-controls svg{height:16px;width:16px}.briefing-controls kbd{font-size:8px;padding:3px 6px}.briefing-dialog .game-button{font-size:18px;margin-top:18px;gap:11px;min-height:54px}.briefing-reward{font-size:9px;margin-top:20px}.briefing-reward .sabi-coin{width:18px;height:18px}.large-lock{width:77px;height:79px;border-width:4px;border-radius:21px}.large-lock svg{height:34px;width:34px}.locked-dialog h2{font-size:27px}.coming-ribbon{font-size:11px}.wallet-coin .sabi-coin{height:70px;width:70px;border-width:6px}.wallet-coin .sabi-coin i{font-size:42px}.wallet-dialog h2{font-size:47px}.reward-rules>span,.reward-rules strong{font-size:11px}.reward-rules>span{padding:11px 0}.wallet-dialog>small{font-size:8px}.coin-reward-burst{margin-top:17px;gap:8px}.coin-reward-burst>span:not(.sabi-coin){font-size:26px}.coin-reward-burst>.sabi-coin{height:29px;width:29px}.coin-reward-burst>.sabi-coin i{font-size:18px}.coin-reward-burst small{font-size:8px;letter-spacing:1px}.victory-screen .earned-medal{margin:16px auto}.victory-screen .victory-actions{margin-top:23px}.victory-screen .result-note{font-size:8px;margin-top:14px}}
@media(max-height:710px) and (max-width:680px){.title-menu{top:14%}.title-menu .logo-sticker{margin-bottom:23px}.title-menu h1{font-size:23px;margin-bottom:11px}.title-menu>p{font-size:11px;margin-bottom:18px}.title-menu .start-button{width:230px;min-height:54px;font-size:24px;margin-bottom:13px}.play-caption{font-size:7px;letter-spacing:1.1px}.mission-preview{bottom:73px;gap:11px}.mini-mission{padding:8px;gap:6px}.mini-mission>svg:first-child{width:36px;height:37px}.mini-mission strong{font-size:12px}.mini-mission small{font-size:6px;margin-bottom:4px}.mini-mission .star-row{margin-top:5px;gap:1px}.mini-mission .star-row svg{height:10px;width:10px}.preview-pin{top:-21px;font-size:8px!important}.more-missions{bottom:-28px;font-size:7px}.menu-bottom{bottom:9px}.mission-select{inset:88px 0 12px}.mission-select>h1{font-size:29px;margin-top:8px}.mission-select>p{font-size:10px;margin:9px 0 14px}.journey-summary{font-size:8px;margin-bottom:4px}.mission-rail{padding-top:20px;padding-bottom:17px}.mission-rail .mission-card{flex-basis:257px;width:257px;min-height:340px;padding:13px 19px 17px}.mission-rail .mission-art{height:67px;margin:9px 0 7px}.mission-rail .mission-art>svg{height:75px}.mission-rail .mission-card h2{font-size:23px;min-height:47px;margin:9px 0 6px}.mission-rail .mission-card>p{font-size:10px;min-height:36px}.mission-rail .mission-tag{font-size:8px;padding:4px 9px}.mission-rail .mission-card>.star-row svg{height:20px;width:20px}.mission-rail .mission-card>.star-row{margin:8px 0}.mission-reward{font-size:8px;margin-bottom:13px}.mission-rail .card-play{font-size:18px;padding:9px 16px}.lock-medallion{height:44px;width:45px;border-width:3px;right:23px;border-radius:13px}.lock-medallion svg{height:23px;width:23px}.rail-navigation{margin-top:5px;gap:13px}.selection-foot{margin-top:12px;font-size:8px}.victory-screen .coin-reward-burst{margin-top:11px}.coin-reward-burst>span:not(.sabi-coin){font-size:23px}.victory-screen .earned-medal{margin:12px auto}.victory-screen .victory-actions{margin-top:18px}}
/* Narration follows the actual audio source. */
.voice-status{display:inline-flex;align-items:center;gap:9px;min-height:24px;font:900 10px 'Nunito',sans-serif;letter-spacing:1px;color:#477780;vertical-align:middle}.voice-wave{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:38px;height:22px}.voice-wave i{display:block;width:3px;height:3px;border-radius:4px;background:currentColor;transition:height 65ms linear}.voice-status button{border:0;border-radius:8px;background:#dceff0;color:#245566;padding:6px 9px;font:900 9px 'Nunito',sans-serif;cursor:pointer;letter-spacing:.6px}.voice-status button[hidden]{display:none}.voice-status[data-state=playing]{color:#168d83}.voice-status[data-state=error],.voice-status[data-state=blocked]{color:#b56432}.cinematic-caption .voice-status{margin-top:12px;color:#b4eeed}.cinematic-caption .voice-status button{background:#426376;color:#fff6db}.speech-bubble .voice-status{margin-left:16px}.speech-bubble .voice-status .voice-label{display:none}.volume-row{gap:18px}.volume-row input{min-width:80px;width:44%;accent-color:#19acba}.volume-row output{font:900 13px 'Nunito';min-width:38px;text-align:right}.volume-row>span{flex:1}.voice-status[data-state=loading] .voice-wave{opacity:.35}.voice-status[data-state=idle]{opacity:.65}@media(max-width:680px){.speech-bubble .voice-status{margin-left:8px}.voice-status{gap:5px}.voice-status button{font-size:8px;padding:5px}.volume-row{gap:8px}}
/* Compact counters and deliberate scene inspection. */
.coin-wallet small.currency-code{display:inline!important;font:400 21px 'Lilita One',sans-serif;letter-spacing:.7px;line-height:1;color:#ffdf65}.coin-wallet{gap:9px;min-width:110px}.menu-collection{gap:8px;padding:10px 14px}.play-caption{display:block;margin-top:23px!important;line-height:1.6}.title-menu .start-button{margin-bottom:0}.menu-hint{display:none!important}#game-world{cursor:grab}#game-world.dragging{cursor:grabbing}.look-drag-guide{position:fixed;z-index:80;pointer-events:none;transform:translate(-50%,-50%) scale(.8);width:84px;height:84px;border:2px dashed #fff3cba6;border-radius:50%;background:#183f5b80;color:#fff4cc;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,transform .15s}.look-drag-guide.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.rotation-arcs{font-size:24px;letter-spacing:3px;margin-top:-12px}.look-drag-guide small{position:absolute;bottom:12px;font:900 9px 'Nunito';letter-spacing:2px}.look-drag-guide i{position:absolute;width:42px;height:3px;left:41px;top:39px;transform-origin:0 50%;background:linear-gradient(90deg,transparent,#ffe366);border-radius:5px}.look-cue{user-select:none}@media(min-width:1800px){.play-caption{margin-top:28px!important}}@media(max-width:680px){.coin-wallet small.currency-code{font-size:16px}.coin-wallet{min-width:0;gap:5px}.play-caption{margin-top:18px!important}.look-drag-guide{width:64px;height:64px}.look-drag-guide i{left:31px;top:29px;width:32px}}
.view-toggle{display:inline-flex;border:1px solid #ffffff66;border-radius:10px;overflow:hidden;box-shadow:0 2px 0 #143e5a33}.view-toggle[hidden]{display:none}.look-cue .view-toggle button{border-radius:0;background:#234d6cc9;color:#e6f6ef;padding:10px 12px;font-size:10px}.look-cue .view-toggle button.active{background:#ffda50;color:#725019}.cinematic .view-toggle{visibility:hidden}.looking-down .view-toggle,.looking-down .drag-hint{display:none}.look-cue .view-toggle button:disabled{opacity:.5}@media(max-width:680px){.drag-hint{display:none}.look-cue .view-toggle button{font-size:7px;padding:7px 8px}}
@media(max-width:680px){.look-cue{top:117px}.objective{top:155px}.speech-bubble .voice-status{max-width:calc(100% - 54px);flex-wrap:wrap}.cinematic-caption .voice-status{flex-wrap:wrap;justify-content:center}.play-caption{max-width:270px}}
.voice-status[data-state=idle]{opacity:0;pointer-events:none}.feedback-replay{display:inline-flex;margin-left:9px;vertical-align:middle;border:0;background:#dfefdf;color:#397f75;border-radius:7px;padding:4px;cursor:pointer}.feedback-replay:hover{background:#c4e5cf}
body:not(.playing-screen) #game-world{cursor:default}.sound[data-action=audio-enable]{box-shadow:0 0 0 3px #ffe15d66,0 5px 0 #19496b66}
@media(max-width:680px){.play-caption{margin-top:24px!important}}
/* Three missions and teaching feedback. */
.choice-button:disabled{opacity:.66;filter:saturate(.7);transform:none!important}
.reaction-tray.coaching{border-color:#ffe6a0;background:#fff7de}.coaching .reaction-icon{background:#e6bb4f}.coaching .reaction-label{color:#87631e}
.action-button[data-action=care]{touch-action:none}.action-button[data-action=care]:active{transform:translateY(3px)}
@media(min-width:681px){.mission-preview{gap:14px}.mini-mission{padding:13px 17px}.mini-mission strong{font-size:21px}}
@media(max-width:680px){.mission-preview{gap:7px}.mini-mission{flex:1;min-width:0;display:flex;flex-direction:column;text-align:center;padding:8px 5px}.mini-mission>svg:last-child{display:none}.mini-mission>svg:first-child{width:40px;height:39px}.mini-mission strong{font-size:12px;line-height:1.2}.mini-mission .star-row{justify-content:center}.mini-mission small{font-size:6px}.game-hud .level-track{gap:3px}.game-hud .level-track i{width:21px;height:21px;font-size:10px}.practice-progress{min-width:0}.practice-tip{line-height:1.35}.practice-pips{gap:3px}.practice-pips i{min-width:5px}.reaction-label{font-size:12px}}
/* A single, persistent narrator surface. Its height follows the available action. */
.lesson-guide{animation:none;pointer-events:none}.lesson-guide .speech-row{margin-bottom:0;align-items:flex-end;transition:margin .3s ease}.lesson-guide .speech-bubble{width:min(950px,100%);max-width:950px;min-width:0;flex:1}.lesson-guide .speech-bubble p{margin:6px 0 0}.lesson-guide .speech-bubble>.guide-replay{right:14px;bottom:17px}.lesson-guide .voice-status{min-height:22px}.guide-action-slot,.guide-followup{display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,.8,.25,1),margin-top .36s cubic-bezier(.22,.8,.25,1);margin-top:0}.guide-action-slot.is-open{grid-template-rows:1fr;margin-top:17px}.guide-action-clip,.guide-followup>div{min-height:0;overflow:hidden}.guide-action-content{padding:0 0 9px}.guide-action-slot:not(.is-open) .guide-action-content{visibility:hidden;transition:visibility 0s .3s}.guide-action-slot.is-open .guide-action-content{visibility:visible}.lesson-guide .game-choices{padding:5px 0 0}.guide-followup.is-open{grid-template-rows:1fr;margin-top:14px}.guide-followup>div{display:flex;justify-content:flex-end;padding-right:25px}.guide-followup .guide-try-again{min-height:49px;font-size:19px;padding:10px 22px;margin-bottom:8px;border-width:3px}.guide-followup:not(.is-open) button{visibility:hidden}.lesson-guide .choice-button{min-height:65px}.lesson-guide [inert]{pointer-events:none}.lesson-guide [aria-hidden=true]{pointer-events:none}.lesson-recap{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px auto;max-width:820px}.lesson-recap span{background:#fff5d91a;border:1px solid #e8f4dc66;border-radius:12px;padding:9px 13px;font-size:13px;line-height:1.4;color:#fff8de}.lesson-progress-label{color:#fff8dc;font-size:12px;margin-left:9px;white-space:nowrap}
@media(max-width:680px){.lesson-guide .speech-row{padding-right:0;gap:8px}.lesson-guide .speech-bubble{padding:17px 28px 14px 14px}.lesson-guide .speech-bubble p{font-size:14px;line-height:1.38}.lesson-guide .speech-bubble>.guide-replay{right:7px;bottom:12px}.guide-action-slot.is-open{margin-top:12px}.guide-followup>div{padding-right:0}.guide-followup .guide-try-again{font-size:17px;min-height:44px;padding:9px 15px}.lesson-guide .choice-button{min-height:48px}.game-hud .level-track{gap:3px}.game-hud .level-track i{width:16px;height:18px;font-size:8px}.lesson-recap{gap:6px;margin:12px auto}.lesson-recap span{font-size:10px;padding:6px 9px}}
@media(max-height:710px) and (max-width:680px){.lesson-guide .speech-bubble p{font-size:12px}.lesson-guide .speech-bubble{padding-top:14px;padding-bottom:11px}.lesson-guide .game-choices{gap:7px}.lesson-guide .choice-button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.guide-action-slot,.guide-followup,.lesson-guide .speech-row{transition:none!important}.lesson-guide *{animation:none!important}}

/* Keep the home menu to one clear entry point and leave the neighbourhood open. */
.menu-screen .title-menu{top:50%;transform:translateY(-50%);left:clamp(36px,7vw,180px);width:min(480px,45vw)}
.menu-screen .menu-shade{background:linear-gradient(90deg,#104f79b8 0%,#185d8266 28%,#185d8214 52%,transparent 70%),linear-gradient(0deg,#173d6440,transparent 18%)}
.menu-screen .play-caption{margin-left:8px}
@media(min-width:1800px){.menu-screen .title-menu{width:600px}}
@media(max-width:680px){
 .menu-screen .title-menu{top:15%;left:7%;width:86%;transform:none}
 .menu-screen .menu-shade{background:linear-gradient(115deg,#104f79b8 0%,#185d8273 34%,transparent 67%),linear-gradient(0deg,#173d6440,transparent 16%)}
 .menu-screen .title-menu .start-button{width:250px;max-width:100%}
 .menu-screen .menu-bottom{justify-content:flex-start;left:7%}
}
@media(max-height:520px) and (min-width:681px){
 .menu-screen .title-menu{top:83px;transform:none;width:420px}
 .menu-screen .title-menu .game-logo{font-size:40px}
 .menu-screen .title-menu .logo-cross{width:40px;height:42px;font-size:28px;border-radius:12px}
 .menu-screen .title-menu .ribbon{font-size:11px;margin-top:9px;padding:5px 12px}
 .menu-screen .title-menu .logo-sticker{margin-bottom:8px}
 .menu-screen .title-menu h1{font-size:22px;margin-bottom:8px;max-width:none;white-space:nowrap}
 .menu-screen .title-menu h1 br{display:none}
 .menu-screen .title-menu>p{font-size:11px;line-height:1.4;margin-bottom:14px}
 .menu-screen .title-menu .start-button{width:265px;min-height:46px;font-size:23px;padding:7px 18px;white-space:nowrap}
 .menu-screen .play-caption{font-size:7px;margin-top:12px!important}
 .menu-screen .menu-bottom{bottom:12px;left:auto;right:38px}.menu-screen .menu-bottom>span{display:none}
}
