@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap";:root{color:#284f51;font-synthesis:none;background:#eaf1e9;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:0}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #d4a229}button:disabled{cursor:default}button:active{scale:.97}[hidden]{display:none!important}#app{width:100%;height:100svh;min-height:410px;position:relative;overflow:hidden}#game{touch-action:none;cursor:grab;outline:0;width:100%;height:100%;display:block}#game.dragging{cursor:grabbing}#game.view-mode{cursor:move}.play-hud{pointer-events:none;z-index:3;align-items:flex-start;gap:20px;transition:opacity .3s;display:flex;position:absolute;top:32px;left:35px;right:35px}.play-hud button{pointer-events:auto}.round-button{letter-spacing:2px;background:#fffae6dc;border-radius:50%;width:43px;height:43px;font-size:20px;font-weight:900;box-shadow:0 3px 12px #436d5d0a}.course-label{padding-top:3px}.course-label>span{letter-spacing:2px;color:#8f9d84;font-size:10px;font-weight:700}.course-label h1{letter-spacing:-.8px;margin:8px 0;font:700 28px/1 Outfit,sans-serif}.course-label p{color:#829484;margin:0;font-size:11px}.score{text-align:right;margin-left:auto}.score #stars{color:#edbc31;gap:4px;font-size:35px;line-height:1;display:flex}.score #stars span{transition:color .2s,scale .2s}.score #stars .lost{color:#bfcdbc;scale:.85}#score-text{color:#869782;margin-top:7px;font-size:10px;display:block}#feedback{color:#a6633e;opacity:0;pointer-events:none;z-index:3;background:#fff5d8;border-radius:99px;padding:10px 18px;font-size:12px;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;top:19%;left:50%;transform:translate(-50%,-10px)}#feedback.show{opacity:1;transform:translate(-50%)}.play-controls{z-index:4;width:min(490px,90%);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.course-progress{color:#829681;align-items:center;gap:12px;margin:0 17px 10px;font-size:10px;display:flex}.course-progress>span:first-child{min-width:25px;font-family:Outfit;font-weight:600}.course-progress>div{background:#d3dfcf;border-radius:5px;flex:1;height:4px;overflow:hidden}.course-progress i{background:#dfb538;border-radius:5px;width:0;height:100%;display:block}.course-progress>span:last-child{white-space:nowrap;font-size:9px}.control-row{align-items:stretch;gap:10px;display:flex}.tilt-control{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9e8eb;border-radius:16px;flex:1;align-items:center;gap:9px;padding:9px 12px;display:flex;box-shadow:0 5px 22px #456d5c10}.tilt-control>button{color:#9b843f;background:0 0;width:31px;padding:4px;font-size:28px}.tilt-control>div{text-align:center;flex:1;min-width:0}.tilt-control label{letter-spacing:1.5px;color:#84927b;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.tilt-control input{accent-color:#d7ae36;cursor:ew-resize;width:100%;height:14px;margin:0;display:block}.tilt-key{color:#a2a991;margin-top:5px;font-size:8px;display:block}.view-toggle{color:#628680;background:#fff9e8eb;border-radius:15px;min-width:75px;padding:9px 17px;font-size:24px;box-shadow:0 5px 22px #456d5c10}.view-toggle>span{margin-top:2px;font-size:10px;font-weight:700;display:block}.view-toggle[aria-pressed=true]{color:#fff7dc;background:#315f61}#camera-panel{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9e8f5;border-radius:15px;width:265px;padding:19px;position:absolute;bottom:123px;right:28px;box-shadow:0 7px 30px #375e4e16}.camera-heading{letter-spacing:1.4px;color:#78917d;font-size:9px;font-weight:800}#camera-panel p{color:#99a48d;margin:8px 0 13px;font-size:10px}.camera-row{align-items:center;gap:5px;margin-top:7px;display:flex}.camera-row>span{letter-spacing:1px;color:#92a089;width:46px;font-size:8px}.camera-row button{color:#648078;background:#e9eedb;border-radius:6px;min-width:32px;height:31px;font-size:18px}.camera-row .camera-reset{flex:1;font-size:9px}.overlay{z-index:20;text-align:center;color:#617f72;background:#eaf1e9;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.overlay p{max-width:450px;font-size:13px;line-height:1.7}.overlay h2{color:#365d59;font-family:Outfit;font-size:29px}.overlay button{color:#fff9e3;background:#315f61;border-radius:11px;margin-top:12px;padding:13px 24px}.loading-nut{color:#dfb136;font-size:75px;line-height:1;animation:3s linear infinite loading-turn}#diagnostics{z-index:30;background:#fffdf2f5;max-width:370px;max-height:320px;padding:9px;font-size:10px;position:absolute;bottom:10px;left:10px;overflow:auto}#diagnostics pre{font-size:10px;line-height:1.4}@keyframes loading-turn{to{rotate:360deg}}@media (width<=700px){.play-hud{gap:13px;top:22px;left:21px;right:21px}.course-label h1{font-size:24px}.course-label p{max-width:225px;font-size:10px;line-height:1.5}.score #stars{font-size:29px}.round-button{width:38px;height:38px}.course-label>span{font-size:9px}.play-controls{bottom:20px}#camera-panel{bottom:123px;right:18px}}@media (width<=480px){.play-hud{gap:11px;top:21px;left:17px;right:17px}.round-button{flex-shrink:0;width:34px;height:34px;font-size:17px}.course-label h1{font-size:21px}.course-label{max-width:58%}.course-label p{font-size:9px}.score #stars{gap:2px;font-size:24px}#score-text,.course-label>span{font-size:8px}.play-controls{width:calc(100% - 30px);bottom:16px}.tilt-control{gap:5px;padding:8px 9px}.tilt-control label,.tilt-key{font-size:7px}.view-toggle{min-width:62px;padding:8px 13px}.course-progress{margin-bottom:9px;font-size:9px}.course-progress>span:last-child{font-size:8px}#feedback{white-space:nowrap;max-width:90%;font-size:11px}#camera-panel{width:250px;padding:16px;bottom:116px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.tilt-control input{appearance:none;background:0 0}.tilt-control input::-webkit-slider-runnable-track{background:#dedfc4;border-radius:9px;height:4px}.tilt-control input::-webkit-slider-thumb{appearance:none;background:#d0a736;border:3px solid #fff7dc;border-radius:50%;width:15px;height:15px;margin-top:-5.5px;box-shadow:0 1px 4px #866c3430}.tilt-control input::-moz-range-track{background:#dedfc4;border-radius:9px;height:4px}.tilt-control input::-moz-range-thumb{background:#d0a736;border:3px solid #fff7dc;border-radius:50%;width:10px;height:10px}#impact-flash{z-index:2;pointer-events:none;opacity:0;background:radial-gradient(#0000 25%,#ffad42aa 100%);position:absolute;inset:0}#impact-flash.hit{animation:.42s ease-out impact-flash}.score.hit #stars{animation:.34s ease-out star-jolt}.score.hit #score-text{color:#c4863f}@keyframes impact-flash{0%{opacity:.55}to{opacity:0}}@keyframes star-jolt{0%,to{transform:translate(0)}20%{transform:translate(-9px)rotate(-6deg)}45%{transform:translate(6px)rotate(5deg)}70%{transform:translate(-3px)}}#route-labels{z-index:3;pointer-events:none;position:absolute;inset:0}.menu-open #route-labels{display:none}#route-labels>span{letter-spacing:1.5px;color:#457c77;text-align:center;background:#fff9e6e8;border-radius:9px;padding:7px 10px 3px;font-size:9px;font-weight:800;position:absolute;transform:translate(-50%,-100%)}#route-labels i{color:#c8a344;font-size:17px;font-style:normal;line-height:16px;display:block}#finish-marker{color:#8f7230!important}.move-control{letter-spacing:1.5px;color:#6d8a7d;background:#fff9e8eb;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:16px;padding:15px;font-size:10px;font-weight:700;display:flex}.move-control small{letter-spacing:0;color:#99a48a;margin-top:6px;font-size:10px;font-weight:400;display:block}.drag-glyph{color:#c6a845;font-size:38px;line-height:1}.tilt-control output{letter-spacing:0;color:#af8c38;min-width:25px;margin-left:7px;font-family:Outfit;font-size:11px;display:inline-block}[data-lesson-focus=tilt] .tilt-control,[data-lesson-focus=view] #view-toggle{outline-offset:5px;outline:3px solid #e8bd3e;box-shadow:0 0 0 10px #f2d16635}#camera-panel{z-index:7}.lesson-coach .lesson-primary{font-size:14px}@media (width<=600px){#camera-panel{width:245px;top:126px;bottom:auto}#route-labels>span{padding:5px 8px 2px;font-size:7px}.move-control{padding:15px}.tilt-control output{font-size:9px}}@media (prefers-reduced-motion:reduce){.score.hit #stars{animation:none}#impact-flash.hit{opacity:.08;animation:none}}#flow{z-index:5;pointer-events:none;position:absolute;inset:0}.menu-open .play-hud,.menu-open .play-controls,.menu-open #camera-panel,.menu-open #feedback{visibility:hidden;pointer-events:none}.menu-screen{pointer-events:auto;background:linear-gradient(90deg,#e9efdee8,#e9efde83 34%,#e9efde00 60%);transition:opacity .25s;position:absolute;inset:0;overflow:auto}.menu-screen.leaving{opacity:0;pointer-events:none}.menu-screen.leaving nav{opacity:0;transform:translate(-30px)}.menu-screen nav{transition:opacity .24s,transform .3s}.title-content{width:340px;position:absolute;top:15%;left:9%}.game-logo{letter-spacing:-7px;color:#ffc634;text-shadow:0 5px #bb7a26,0 10px 25px #76683019;-webkit-text-stroke:1px #c08d2c;font-family:Outfit,sans-serif;font-size:clamp(76px,7vw,116px);font-weight:900;line-height:.78;transform:rotate(-4deg)}.game-logo>span{display:block}.logo-dot{color:#ef8258}.game-edition{letter-spacing:4px;color:#477;margin:29px 0 38px 11px;font-size:11px;font-weight:800}.main-actions{flex-direction:column;gap:6px;display:flex}.menu-action{text-align:left;letter-spacing:-.6px;color:#2c4d51;background:0 0;border:0;border-radius:9px;min-height:48px;padding:8px 24px 8px 31px;font-family:Outfit,sans-serif;font-size:29px;font-weight:650;transition:transform .18s,color .18s,background .18s;animation:.4s backwards menu-arrive;display:block;position:relative}.menu-action:nth-child(2){animation-delay:55ms}.menu-action:nth-child(3){animation-delay:.11s}.menu-action:nth-child(4){animation-delay:.165s}.menu-action:hover,.menu-action:focus-visible{color:#153a40;background:#fff8dbbd;outline:none;transform:translate(7px)}.selection-arrow{opacity:0;color:#d39c25;transition:opacity .15s;position:absolute;left:7px}.menu-action:hover .selection-arrow,.menu-action:focus-visible .selection-arrow{opacity:1}.menu-action:disabled{opacity:.3;cursor:default;background:0 0;transform:none}.menu-corner{color:#77908a;letter-spacing:1px;font-size:11px;position:absolute;bottom:5%;left:9%}.busy button{pointer-events:none;opacity:.5}.pause,.settings,.courses{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#eaf0dfbb}.simple-menu,.result-menu{min-width:310px;position:absolute;top:20%;left:10%}.simple-menu h1,.result-menu h1,.subheading h1{letter-spacing:-2px;color:#24494c;margin:12px 0 30px;font-family:Outfit,sans-serif;font-size:56px;line-height:1}.menu-kicker{letter-spacing:2px;text-transform:uppercase;color:#608680;font-size:11px;font-weight:700}.simple-menu nav,.result-menu nav{flex-direction:column;gap:5px;display:flex}.settings-menu{width:min(600px,90%);margin:12vh auto 30px}.subheading{align-items:center;gap:20px;margin-bottom:28px;display:flex}.subheading h1{margin:0;font-size:38px}.subheading>span{color:#98741c;margin-left:auto;font-family:Outfit;font-size:22px}.back-button{background:#fff9d9;border-radius:50%;flex-shrink:0;width:46px;height:46px;font-size:25px}.option-row{border-bottom:1px solid #71999133;justify-content:space-between;align-items:center;gap:15px;padding:25px 0;font-size:20px;font-weight:600;display:flex}.option-toggle,.option-group button{color:#577773;background:#f9f8e3;border-radius:10px;padding:11px 18px;font-weight:700}.option-toggle[aria-pressed=true],.option-group [aria-pressed=true]{color:#fff6d7;background:#2f6567}.option-group{gap:6px;font-size:14px;display:flex}.tip-replay{color:#38636a;background:0 0;padding:25px 0;font-size:17px;font-weight:700}.control-guide{color:#73918b;padding-top:5px;font-size:13px}.control-guide p{margin:12px 0}.control-guide b{color:#426c6b;letter-spacing:1px;width:75px;font-size:11px;display:inline-block}.course-menu{width:min(1000px,88%);margin:18vh auto 30px}.course-card{text-align:left;color:#476d70;background:#fff8e5;border:2px solid #fffef1;border-radius:18px;padding:23px;transition:transform .2s;animation:.45s backwards menu-arrive;box-shadow:0 10px 30px #3767690b}.course-card:nth-child(2){animation-delay:90ms}.course-card:nth-child(3){animation-delay:.18s}.course-card:hover:not(:disabled){border-color:#f3c958;transform:translateY(-7px)}.course-card:disabled{opacity:.48;cursor:default}.course-card svg{width:100%;margin:12px 0 20px;display:block}.course-card strong{color:#254e51;font-family:Outfit;font-size:24px;display:block}.rating{color:#cdd6c6;gap:5px;font-size:31px;display:inline-flex}.rating .earned{color:#efb923;text-shadow:0 2px #af801847}.star-rule{text-align:center;color:#728b80;margin-top:32px;font-size:12px}.star-rule>span{color:#a6b2a0;margin:0 13px}.result-menu{top:15%}.result-stars .rating{gap:6px;font-size:61px}.result-stars .rating>span{animation:.55s cubic-bezier(.2,1.5,.5,1) both star-in}.result-stars .rating>span:nth-child(2){animation-delay:90ms}.result-stars .rating>span:nth-child(3){animation-delay:.18s}.result-menu h1{margin:15px 0 13px;font-size:63px}.result-note{color:#51746e;margin:0 0 12px;font-size:16px}.result-record{color:#8b967d;margin-bottom:26px;font-size:12px}.result-record>span{margin:0 12px}.result-menu .menu-action{font-size:25px}.unlock-note{color:#8a915f;margin:26px 0 0 30px;font-size:12px}.tutorial{pointer-events:none;z-index:2;max-width:300px;position:absolute;bottom:115px;left:30px}.tip-copy{background:#fffae6f2;border-left:4px solid #efba35;border-radius:4px 13px 13px 4px;padding:17px 24px 14px 18px;animation:.3s both menu-arrive;position:relative;box-shadow:0 8px 28px #3359540b}.tip-count{letter-spacing:1px;color:#a0a083;margin-bottom:5px;font-size:10px;display:block}.tip-copy strong{color:#2c5554;font-family:Outfit;font-size:20px}.tip-copy p{color:#768c7e;margin:7px 0;font-size:12px;line-height:1.6}.tip-copy button{pointer-events:auto;color:#9c9e84;background:0 0;padding:5px 0;font-size:10px}.menu-error{color:#9b5433;background:#fff0cc;border-radius:12px;max-width:420px;padding:15px 22px;font-size:13px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.menu-screen button:focus-visible:not(.menu-action){outline-offset:4px;outline:3px solid #d8aa2c}@keyframes menu-arrive{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}@keyframes star-in{0%{opacity:0;rotate:-20deg;scale:.4}to{opacity:1;rotate:0deg;scale:1}}@media (width<=850px){.title-content{width:280px;top:16%;left:7%}.game-logo{font-size:85px}.menu-action{font-size:25px}.game-edition{letter-spacing:2px;font-size:9px}.course-grid{gap:12px}.course-card{padding:17px}.course-card strong{font-size:21px}.course-menu{margin-top:17vh}.settings-menu{margin-top:13vh}.simple-menu,.result-menu{left:8%}.result-menu h1{font-size:52px}.tutorial{max-width:275px;left:20px}}@media (width<=600px){.menu-screen.home{background:linear-gradient(#e8efdef5,#e8efde88 38%,#e8efde00 70%)}.title-content{width:240px;top:9%;left:8%}.game-logo{letter-spacing:-5px;font-size:83px}.game-logo>span+span{padding-left:29px}.game-edition{letter-spacing:2px;margin:26px 0 21px 7px;font-size:8px}.main-actions{gap:0}.menu-action{min-height:42px;padding-top:6px;padding-bottom:6px;font-size:23px}.menu-corner{font-size:9px;bottom:4%;left:8%}.simple-menu,.result-menu{width:82%;min-width:0;top:18%;left:9%}.simple-menu h1{font-size:48px}.result-menu{top:13%}.result-menu h1{font-size:52px}.result-menu .menu-action{font-size:23px}.result-note{font-size:14px}.result-stars .rating{font-size:51px}.settings-menu{width:86%;margin-top:10vh}.subheading{gap:14px;margin-bottom:18px}.subheading h1{font-size:29px}.back-button{width:38px;height:38px;font-size:22px}.option-row{flex-wrap:wrap;padding:23px 0;font-size:16px}.option-group{font-size:12px}.option-group button{padding:11px 12px}.control-guide{font-size:11px}.course-menu{width:86%;margin-top:9vh}.course-grid{grid-template-columns:1fr;gap:11px}.course-card{grid-template-columns:24px 80px 1fr;align-items:center;column-gap:8px;padding:15px 12px;display:grid}.course-number{grid-area:1/1/3;font-size:13px}.course-card svg{grid-area:1/2/3;margin:0}.course-card strong{grid-column:3;font-size:18px}.course-lesson{display:none}.course-card .rating{grid-column:3;margin-top:6px;font-size:23px}.star-rule{margin-top:20px;font-size:10px;line-height:2}.star-rule>span{margin:0 6px}.subheading>span{font-size:17px}.tutorial{max-width:250px;bottom:109px;left:16px}.tip-copy{padding:12px 16px}.tip-copy strong{font-size:17px}.tip-copy p{font-size:11px}.tip-count{font-size:9px}}@media (height<=650px) and (width>=601px){.title-content{top:11%}.game-logo{font-size:76px}.game-edition{margin-bottom:17px}.menu-action{min-height:39px;font-size:23px}.result-menu,.simple-menu{top:10%}.result-menu h1,.result-stars .rating{font-size:44px}.result-record{margin-bottom:13px}.unlock-note{margin-top:16px}.course-menu,.settings-menu{margin-top:9vh}}@media (prefers-reduced-motion:reduce){.menu-action,.course-card,.tip-copy,.result-stars .rating>span{animation:none!important}.menu-screen,.menu-screen nav{transition:none!important}}.game-logo{paint-order:stroke fill}.title-content{width:380px;top:11%}.game-logo{letter-spacing:-4px;font-size:clamp(62px,6.2vw,92px);line-height:.83}.game-logo>span+span{margin-top:7px;padding-left:14px}.game-logo>span:last-child{padding-left:36px}.game-edition{letter-spacing:2.5px;margin:24px 0 24px 8px}@media (width<=850px){.title-content{width:300px;top:12%}.game-logo{font-size:70px}.game-edition{letter-spacing:2px;font-size:9px}}@media (width<=600px){.title-content{width:82%;max-width:280px;top:7%}.game-logo{letter-spacing:-3px;font-size:clamp(54px,14vw,76px)}.game-logo>span+span{margin-top:5px;padding-left:10px}.game-logo>span:last-child{padding-left:27px}.game-edition{letter-spacing:1.7px;margin:19px 0 20px 5px;font-size:8px}}@media (height<=650px) and (width>=601px){.title-content{top:8%}.game-logo{font-size:58px}.game-edition{margin-top:18px;margin-bottom:14px}}.tutorial{z-index:6;width:29%;max-width:295px;top:155px;bottom:auto;left:5%}.lesson-card{pointer-events:auto;background:#fff9eaf5;border:1px solid #fffef4;border-radius:19px;padding:23px 25px;animation:.35s backwards menu-arrive;box-shadow:0 9px 35px #30534412}.lesson-kicker{letter-spacing:1.7px;color:#8b9a79;align-items:center;gap:9px;font:700 9px DM Sans;display:flex}.lesson-kicker>span{color:#79622f;letter-spacing:0;background:#f0d467;border-radius:50%;place-items:center;width:26px;height:26px;font-family:Outfit;display:grid}.lesson-card h2{letter-spacing:-.8px;color:#31585b;margin:20px 0 13px;font:700 28px/1.06 Outfit}.lesson-card p{color:#73887c;margin:0 0 12px;font-size:12px;line-height:1.7}.lesson-card .lesson-aside{color:#a28345;border-top:1px solid #dfdfc8;margin-top:20px;padding-top:14px;font-size:11px}.lesson-primary{color:#fff7dc;text-align:left;background:#315f61;border-radius:10px;width:100%;margin-top:20px;padding:13px 17px;font:600 17px Outfit;display:block}.lesson-primary span{float:right;color:#e9c962}.lesson-skip{color:#929a80;background:0 0;margin-top:14px;padding:5px 0;font-size:10px;display:block}.tutorial.intro-open{pointer-events:auto;background:linear-gradient(90deg,#e8efdeb0,#e8efde20 70%);width:auto;max-width:none;inset:0}.lesson-intro{width:340px;padding:28px 29px;position:absolute;top:23%;left:7%}.lesson-intro h2{font-size:35px}.lesson-diagram{height:77px;margin-top:22px;position:relative}.diagram-rail{background:#aababc;border-radius:5px;height:4px;position:absolute;top:31px;left:10px;right:14px}.diagram-nut{color:#e1b442;font-size:56px;font-weight:900;line-height:1;animation:3s ease-in-out infinite lesson-slide;position:absolute;top:-1px;left:16px}.diagram-socket{color:#b49451;font-size:33px;line-height:1;position:absolute;top:11px;right:11px}.diagram-start,.diagram-finish{letter-spacing:1.6px;color:#8ca293;font-size:8px;font-weight:700;position:absolute;bottom:3px}.diagram-start{left:10px}.diagram-finish{right:0}@keyframes lesson-slide{0%,20%{transform:translate(0)}80%,to{transform:translate(135px)}}.settings-menu{margin-top:6vh}.option-row{padding:15px 0}.tip-replay{padding:18px 0}@media (width<=850px){.tutorial{width:255px;top:138px;left:22px}.lesson-card{padding:18px 20px}.lesson-card h2{font-size:25px}.lesson-intro{width:300px;top:21%;left:7%}}@media (width<=600px){.tutorial{width:auto;max-width:none;inset:auto 16px 111px}.lesson-card{padding:16px 19px}.lesson-kicker{font-size:8px}.lesson-kicker>span{width:21px;height:21px}.lesson-card h2{margin:11px 0 8px;font-size:23px}.lesson-card p{margin-bottom:0;font-size:11px;line-height:1.55}.lesson-skip{margin-top:8px;font-size:9px;display:inline-block}.lesson-primary{margin-top:13px;padding:11px 14px;font-size:15px}.lesson-intro{width:auto;padding:24px;inset:auto 5% 28px}.lesson-intro h2{font-size:31px}.lesson-intro .lesson-aside{margin-top:14px;padding-top:11px}.lesson-diagram{height:69px;margin-top:15px}.settings-menu{margin-top:7vh}.option-row{padding:14px 0}.control-guide{font-size:10px}}@media (height<=650px) and (width>=601px){.tutorial{top:127px}.lesson-intro{padding:22px;top:13%}.lesson-intro h2{font-size:28px}.lesson-diagram{height:55px;margin-top:10px}.lesson-card p{font-size:11px}.settings-menu{margin-top:5vh}.option-row{padding:10px 0}}@media (prefers-reduced-motion:reduce){.diagram-nut,.lesson-card{animation:none}}.courses{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(at 8% 0,#fff8dc 0,#0000 43%),linear-gradient(145deg,#eef2e5f5,#dce9dff5)}.course-menu{color:#305655;width:min(1120px,90%);margin:35px auto 25px}.campaign-heading{align-items:center;gap:18px;margin-bottom:25px;display:flex}.campaign-heading .menu-kicker{letter-spacing:2px;color:#7a907d;margin:0 0 8px;font-size:9px}.campaign-heading h1{letter-spacing:-1.4px;color:#2d5552;margin:0;font:650 clamp(28px,3vw,41px)/1 Outfit}.campaign-heading .back-button{background:#fffaf0b0;border:1px solid #fffdf2}.campaign-tally{flex-direction:column;gap:7px;min-width:154px;margin-left:auto;display:flex}.campaign-tally>strong{color:#95792f;font:650 26px Outfit}.campaign-tally strong span{color:#9d9f82;font-size:17px;font-weight:400}.campaign-tally>span{color:#778b7c;font-size:10px}.campaign-meter{background:#cbd9c9;border-radius:6px;height:4px;overflow:hidden}.campaign-meter i{background:#d6af40;border-radius:6px;height:100%;transition:width .7s;display:block}.course-detail-slot{isolation:isolate;margin-bottom:28px;scroll-margin-top:20px;position:relative}.course-detail{background:#fffaf0;border:1px solid #fffdf0;border-radius:23px;grid-template-columns:43% 57%;min-height:240px;animation:.42s cubic-bezier(.2,.7,.2,1) both detail-in;display:grid;overflow:hidden;box-shadow:0 15px 38px #3058440a}.course-detail.detail-leaving{z-index:-1;pointer-events:none;animation:.28s both detail-out;position:absolute;inset:0}.detail-art{background:radial-gradient(ellipse at 50% 50%,#fff9,transparent 65%),var(--tint);align-items:center;padding:35px 22px 15px;display:flex;position:relative;overflow:hidden}.detail-art:before{content:"";background-image:radial-gradient(var(--accent) .7px,transparent .7px);opacity:.13;background-size:15px 15px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000,#0000);mask-image:linear-gradient(120deg,#000,#0000)}.detail-stamp{color:var(--accent);font:650 17px Outfit;position:absolute;top:21px;left:24px}.detail-stamp span{letter-spacing:1px;margin-left:8px;font:500 10px DM Sans}.detail-difficulty{border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);border-radius:20px;padding:5px 10px;font-size:10px;position:absolute;bottom:21px;left:25px}.detail-art-caption{color:var(--accent);letter-spacing:.5px;font-size:9px;position:absolute;bottom:27px;right:25px}.detail-copy{padding:25px 30px}.detail-status{color:var(--accent);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 7px;font-size:9px;font-weight:700}.detail-copy h2{letter-spacing:-1px;color:#305653;margin:0;font:650 34px/1.12 Outfit}.detail-hint{color:#77877b;max-width:450px;min-height:39px;margin:10px 0 14px;font-size:12px;line-height:1.65}.skill-chips{gap:7px;display:flex}.skill-chip{color:#5c766b;border:1px solid #dee3d5;border-radius:20px;align-items:center;gap:9px;padding:5px 9px;font-size:9px;display:inline-flex}.skill-chip i{gap:2px;display:flex}.skill-chip b{background:#dce3d8;border-radius:3px;width:3px;height:8px}.skill-chip b.filled{background:var(--accent)}.skill-later{opacity:.45}.detail-actions{align-items:center;gap:18px;margin-top:19px;display:flex}.course-primary{color:#fffbe7;background:#315f59;border:1px solid #315f59;border-radius:10px;justify-content:space-between;align-items:center;gap:28px;min-width:160px;padding:12px 18px;font:550 15px Outfit;transition:background .2s,transform .2s,box-shadow .2s;display:flex}.course-primary:hover{background:#244c48;transform:translateY(-2px);box-shadow:0 6px 12px #315f5920}.course-primary>span{color:#e8ca71;font-size:20px}.detail-best{color:#8f947c;font-size:10px;line-height:1.5}.detail-best .rating{font-size:23px}.route-preview{width:100%;color:var(--accent);display:block;position:relative;overflow:visible}.route-shadow{fill:none;stroke:var(--accent);stroke-width:11px;stroke-linecap:round;opacity:.09;transform:translateY(5px)}.route-line{fill:none;stroke:var(--accent);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.route-start,.route-socket{fill:var(--accent)}.route-rider{offset-distance:13%;offset-rotate:auto}.route-rider path{fill:#f2ca5e;stroke:#fff6d8;stroke-width:2px;filter:drop-shadow(0 3px 1px #68612c20)}.route-rider circle{fill:var(--tint);stroke:#b88e35;stroke-width:1.5px}.detail-art .route-line{stroke-dasharray:1;animation:.8s both route-draw}.detail-art .route-rider{animation:8s cubic-bezier(.42,0,.32,1) infinite route-journey}.detail-art .route-preview{margin-bottom:6px}.campaign-chapter{margin-top:22px}.chapter-heading{align-items:baseline;gap:16px;margin:0 0 12px;display:flex}.chapter-heading h2{letter-spacing:-.25px;white-space:nowrap;margin:0;font:600 18px Outfit}.chapter-heading h2>span{color:#a3ad91;margin-right:10px;font:600 10px DM Sans}.chapter-heading p{color:#83927f;margin:0;font-size:10px}.chapter-heading>span{color:#84907b;white-space:nowrap;margin-left:auto;font-size:10px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.course-card{text-align:left;color:var(--accent);cursor:pointer;background:#fffaf0b8;border:1.5px solid #ffffffa8;border-radius:14px;padding:14px 16px 13px;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s,box-shadow .3s;display:block;position:relative;box-shadow:0 5px 14px #37676905;animation:.55s cubic-bezier(.2,.7,.2,1) backwards card-arrive!important;animation-delay:calc(var(--order)*55ms)!important}.course-card:nth-child(n){animation-delay:calc(var(--order)*55ms)}.course-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 50%,white);background:#fffdf4;transform:translateY(-5px);box-shadow:0 9px 20px #30584410}.course-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent);background:#fffdf5}.card-topline,.card-bottomline{justify-content:space-between;align-items:center;gap:6px;display:flex}.course-number{color:var(--accent);font:600 13px Outfit}.card-status{color:#728774;font-size:9px}.course-card svg{width:100%;height:59px;margin:1px 0 5px;display:block}.course-card strong{letter-spacing:-.35px;color:#345a55;font:600 20px Outfit;display:block}.course-lesson{color:#8b9580;min-height:0;margin:4px 0 0;font-size:9px;line-height:1.4;display:block}.course-card .rating{flex-shrink:0;gap:2px;margin:0;font-size:18px}.rating{color:#d1d9c6}.rating .earned{color:#dbaa33}.card-peek{color:var(--accent);opacity:.6;font-size:20px}.course-card.is-locked{box-shadow:none;background:#edf0e5a0;border-color:#dce4d455}.is-locked .route-preview{opacity:.48}.is-locked strong{color:#70867a}.is-locked .card-status{color:#87927e}.is-locked:hover .route-preview{opacity:.85}.just-unlocked .card-status{color:var(--accent);font-weight:700}.just-unlocked:after{content:"";border:1px solid var(--accent);pointer-events:none;border-radius:18px;animation:1.1s ease-out 2 forwards unlock-outline;position:absolute;inset:-5px}.campaign-footer{color:#89937d;justify-content:space-between;gap:15px;margin-top:23px;font-size:9px;line-height:1.8;display:flex}.campaign-footer i{opacity:.5;margin:0 6px;font-style:normal}.menu-screen.courses.leaving .course-menu{opacity:0;transform:translateY(10px)}.course-menu{transition:transform .3s,opacity .25s}.unlock-card{text-align:left;background:var(--tint);border:1px solid #fff7e0;border-radius:15px;align-items:center;gap:15px;min-width:320px;margin-top:23px;padding:18px 20px;transition:transform .25s;animation:.6s .2s backwards card-arrive;display:flex;box-shadow:0 7px 25px #587f7510}.unlock-card:hover{transform:translate(5px)}.unlock-card>span:last-child{color:var(--accent);margin-left:auto;font-size:22px}.unlock-spark{color:var(--accent);font-size:32px}.unlock-card small{letter-spacing:1.5px;color:var(--accent);margin-bottom:4px;font-size:8px;display:block}.unlock-card strong{color:#315a55;font:600 22px Outfit;display:block}.unlock-card span>span{color:#7d8d7d;margin-top:4px;font-size:10px;display:block}@keyframes card-arrive{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes detail-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-out{to{opacity:0;transform:translateY(-5px)}}@keyframes route-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes route-journey{0%,12%{offset-distance:13%}78%,88%{offset-distance:92%}to{offset-distance:13%}}@keyframes unlock-outline{0%{opacity:.7;transform:scale(.98)}to{opacity:0;transform:scale(1.035)}}@media (width>=1000px) and (height>=880px){.course-menu{margin-top:5vh}.course-detail{min-height:265px}.detail-copy{padding:30px 35px}.course-card{padding:17px 18px}.course-card svg{height:65px}.campaign-chapter{margin-top:26px}}@media (width<=850px){.course-menu{width:92%;margin-top:24px}.campaign-heading h1{font-size:30px}.campaign-tally{min-width:130px}.campaign-tally>strong{font-size:23px}.course-detail{grid-template-columns:39% 61%}.detail-copy{padding:22px}.detail-copy h2{font-size:30px}.detail-art-caption{display:none}.detail-stamp{left:18px}.detail-stamp span{font-size:8px}.detail-difficulty{left:18px}.chapter-heading p{display:none}.course-card{padding:12px}.course-card strong{font-size:18px}.course-card .rating{font-size:15px}.course-grid{gap:10px}.detail-actions{gap:12px}.detail-best{font-size:9px}.skill-chip{gap:6px;padding:5px 7px}.campaign-footer{font-size:8px}}@media (width<=600px){.course-menu{width:90%;margin:22px auto}.campaign-heading{flex-wrap:wrap;gap:10px;margin-bottom:19px}.campaign-heading .back-button{width:33px;height:33px;font-size:19px}.campaign-heading .menu-kicker{letter-spacing:1.6px;margin-bottom:6px;font-size:7px}.campaign-heading h1{letter-spacing:-.9px;font-size:27px}.campaign-tally{flex-direction:row;align-items:center;gap:12px;width:100%;margin:6px 0 0}.campaign-tally>strong{font-size:19px}.campaign-tally strong span{font-size:13px}.campaign-tally>span{font-size:9px}.campaign-meter{flex:1;height:4px}.course-detail{border-radius:17px;flex-direction:column;min-height:0;display:flex}.course-detail-slot{margin-bottom:23px}.detail-art{height:125px;min-height:125px;padding:13px 25px 5px}.detail-art .route-preview{max-width:350px;height:112px;margin:0}.detail-stamp{font-size:12px;top:12px;left:16px}.detail-stamp span{font-size:8px}.detail-difficulty{padding:3px 7px;font-size:8px;bottom:10px;left:auto;right:13px}.detail-copy{padding:19px 20px 20px}.detail-status{margin-bottom:6px;font-size:8px}.detail-copy h2{font-size:29px}.detail-hint{min-height:0;margin:8px 0 12px;font-size:11px;line-height:1.55}.detail-actions{gap:12px;margin-top:16px}.course-primary{min-width:142px;padding:10px 14px;font-size:14px}.detail-best{font-size:9px}.skill-chip{padding:4px 8px;font-size:8px}.campaign-chapter{margin-top:20px}.chapter-heading{margin-bottom:10px}.chapter-heading h2{font-size:18px}.chapter-heading h2>span{margin-right:8px;font-size:9px}.chapter-heading>span{font-size:9px}.course-grid{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#becfbc transparent;grid-template-columns:repeat(3,minmax(174px,1fr));gap:10px;margin:-5px -4px -7px;padding:5px 4px 13px;display:grid;overflow-x:auto}.course-card{scroll-snap-align:center;min-width:0;padding:12px;display:block}.course-card .course-number{font-size:12px}.course-card strong{font-size:18px}.course-card svg{height:58px;margin:4px 0 6px;display:block}.card-bottomline{display:block}.course-card .rating{margin-top:8px;font-size:17px;display:inline-flex}.course-lesson{margin-top:3px;font-size:9px;display:block}.card-peek{margin-top:7px;font-size:19px;line-height:22px;display:block}.card-status{font-size:8px}.campaign-footer{margin-top:22px;font-size:9px;display:block}.campaign-footer>span{margin-top:5px;display:block}.unlock-card{width:100%;min-width:0;padding:16px}.result-menu{padding-bottom:25px;top:9%}}@media (prefers-reduced-motion:reduce){.courses *,.unlock-card{scroll-behavior:auto!important;transition:none!important;animation:none!important}.course-card:hover:not(:disabled),.course-primary:hover,.unlock-card:hover{transform:none}.just-unlocked:after,.course-detail.detail-leaving{display:none}.detail-art .route-line{stroke-dashoffset:0}}
