@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap";:root{--sos-pitch-brand-50:#fff8ec;--sos-pitch-brand-100:#ffefd3;--sos-pitch-brand-200:#ffdba5;--sos-pitch-brand-600:#ff6900;--sos-pitch-brand-700:#cc4b02;--sos-pitch-neutral-50:#fafafa;--sos-pitch-neutral-100:#f5f5f5;--sos-pitch-neutral-200:#e5e5e5;--sos-pitch-neutral-500:#737373;--sos-pitch-neutral-600:#525252;--sos-pitch-neutral-900:#171717;--sos-pitch-neutral-950:#0a0a0a;--sos-pitch-white:#fff}.sos-game-modal-host{z-index:1000;color:var(--sos-pitch-neutral-950);pointer-events:none;font-family:Nunito,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:fixed;inset:0}.sos-game-modal-host--rotated{transform-origin:0 0;width:100vh;height:100vw;top:0;left:0;transform:translate(100vw)rotate(90deg)}.sos-game-modal{opacity:0;place-items:center;padding:28px;transition:opacity .18s,transform .18s;display:grid;position:absolute;inset:0;transform:translateY(6px)scale(.985)}.sos-game-modal--visible{opacity:1;transform:translateY(0)scale(1)}.sos-game-modal__shade{background:#ffffffd1;position:absolute;inset:0}.sos-game-modal__card{border:1px solid var(--sos-pitch-brand-100);background:var(--sos-pitch-brand-50);pointer-events:auto;text-align:left;border-radius:18px;width:min(420px,100% - 32px);padding:20px;position:relative;box-shadow:0 18px 40px #0a0a0a29}.sos-game-modal__icon{background:var(--sos-pitch-brand-600);width:52px;height:52px;box-shadow:0 6px 0 var(--sos-pitch-brand-700);border-radius:16px;margin-bottom:18px;position:relative}.sos-game-modal__icon:before{border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:15px solid var(--sos-pitch-white);content:"";width:0;height:0;position:absolute;top:50%;left:52%;transform:translate(-50%,-50%)}.sos-game-modal__eyebrow{color:var(--sos-pitch-brand-700);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:900;line-height:1}.sos-game-modal__title{color:var(--sos-pitch-neutral-950);margin:0;font-size:clamp(30px,5.6vw,42px);font-weight:900;line-height:.95}.sos-game-modal__body,.sos-game-modal__score{color:var(--sos-pitch-neutral-600);margin:10px 0 0;font-size:15px;font-weight:700;line-height:1.35}.sos-game-modal__score{color:var(--sos-pitch-brand-700);font-size:clamp(34px,5.8vw,48px);font-weight:900;line-height:1}.sos-game-modal__stats{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.sos-game-modal__stats span{border:1px solid var(--sos-pitch-neutral-200);background:var(--sos-pitch-white);color:var(--sos-pitch-neutral-600);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1}.sos-game-button{border:1px solid var(--sos-pitch-brand-700);cursor:pointer;width:100%;min-height:54px;font:inherit;border-radius:16px;justify-content:center;align-items:center;margin-top:18px;font-size:18px;font-weight:900;line-height:1;display:inline-flex}.sos-game-button--primary{background:var(--sos-pitch-brand-600);box-shadow:0 6px 0 var(--sos-pitch-brand-700);color:var(--sos-pitch-white)}.sos-game-button--primary:hover{filter:brightness(1.02)}.sos-game-button--primary:active{box-shadow:0 3px 0 var(--sos-pitch-brand-700);transform:translateY(3px)}.sos-game-button--secondary{border-color:var(--sos-pitch-brand-100);background:var(--sos-pitch-brand-50);color:var(--sos-pitch-neutral-900)}.sos-game-button--secondary:hover{background:var(--sos-pitch-brand-100)}.sos-game-button:focus-visible{outline:3px solid var(--sos-pitch-brand-200);outline-offset:3px}.sos-dev-harness{z-index:1001;width:min(300px,100vw - 28px);max-height:calc(100vh - 28px);color:var(--sos-pitch-neutral-900);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #ffdf6d6b;border-radius:8px;font-size:12px;display:none;position:fixed;bottom:14px;right:14px;overflow:auto;box-shadow:0 14px 32px #0a0a0a24}body.sos-pitch-debug .sos-dev-harness{display:block}.sos-dev-harness:not(.sos-dev-harness--collapsed){width:auto;max-height:132px;bottom:8px;left:12px;right:12px;overflow:hidden}.sos-dev-harness--collapsed{width:min(220px,100vw - 28px);overflow:hidden}.sos-dev-harness__header{width:100%;min-height:44px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.sos-dev-harness__content{padding:0 12px 12px}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__content{grid-template-rows:auto auto auto;grid-template-columns:minmax(220px,1.45fr) minmax(220px,1.25fr) minmax(140px,.9fr);align-items:center;gap:3px 12px;padding:0 12px 10px;display:grid}.sos-dev-harness--collapsed .sos-dev-harness__content{display:none}.sos-dev-harness__title{font-weight:900}.sos-dev-harness__compact-status{min-width:0;color:var(--sos-pitch-neutral-600);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.sos-dev-harness__target,.sos-dev-harness__value,.sos-dev-harness__score,.sos-dev-harness__hint{color:var(--sos-pitch-neutral-500);line-height:1.35}.sos-dev-harness__hint{color:var(--sos-pitch-neutral-600);margin:2px 0 8px;font-size:11px}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__target,.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__score{margin:0}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__target{grid-area:1/1/span 2;margin:0}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__score{grid-area:1/3}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__value{grid-area:2/2;margin:0}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__toggle{grid-area:2/3;margin:0}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__hint{display:none}.sos-dev-harness input[type=range]{width:100%;margin:8px 0 4px}.sos-dev-harness:not(.sos-dev-harness--collapsed) input[type=range]{grid-area:1/2;margin:0}.sos-dev-harness__toggle{align-items:center;gap:6px;margin:8px 0;font-weight:800;display:flex}.sos-dev-harness__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__buttons{grid-area:3/1/auto/-1;grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.sos-dev-harness__buttons button{background:var(--sos-pitch-brand-50);min-height:30px;color:var(--sos-pitch-neutral-900);font:inherit;border:1px solid #ffdba5;border-radius:6px;padding:0 6px;font-weight:800;line-height:1}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__buttons button{min-height:28px}.sos-dev-harness__buttons button:hover{background:var(--sos-pitch-brand-100)}@media (width<=720px){.sos-dev-harness{width:min(260px,100vw - 16px);max-height:min(300px,100vh - 16px);font-size:11px;bottom:8px;right:8px}.sos-dev-harness:not(.sos-dev-harness--collapsed){width:auto;max-height:148px;bottom:8px;left:8px;right:8px}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__content{grid-template-columns:minmax(120px,1.2fr) minmax(142px,1fr) minmax(92px,.8fr);gap:2px 8px}.sos-dev-harness--collapsed{width:min(190px,100vw - 16px)}.sos-dev-harness__buttons{grid-template-columns:1fr}.sos-dev-harness:not(.sos-dev-harness--collapsed) .sos-dev-harness__buttons{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{--brand-orange:#245d35;--brand-orange-soft:#9ed883;--sky-day:#79b8e8;--sky-deep:#2d4a6b;--sky-dawn:#f4a261;--paper:#fff8f0;--ink:#1a1a2e;--ink-soft:#1a1a2ea6;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--game-ui-edge:max(14px, var(--safe-left));--game-ui-top:max(12px, var(--safe-top));--game-ui-bottom:max(14px, var(--safe-bottom));--game-ui-panel-bg:#f6fff4f5;--game-ui-panel-border:#24472b;--game-ui-shadow:0 10px 26px #0614103d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Fredoka,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;height:100%;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;background:#d8f9ff;margin:0;padding:0;overflow:hidden}#app{justify-content:stretch;align-items:stretch;display:flex;position:fixed;inset:0}#phaser-root{width:100%;height:100%;position:relative}#phaser-root canvas{display:block}.level-url-error{top:max(18px, calc(var(--safe-top) + 18px));z-index:95;width:min(520px, calc(100vw - 32px - var(--safe-left) - var(--safe-right)));box-shadow:var(--game-ui-shadow);color:#17321b;background:#fff8f0f7;border:3px solid #17321b;border-radius:8px;gap:8px;padding:16px 18px;font-family:inherit;display:grid;position:absolute;left:50%;transform:translate(-50%)}.level-url-error strong{font-size:20px;line-height:1.05}.level-url-error span{font-size:14px;font-weight:700;line-height:1.25}.level-builder{z-index:70;pointer-events:none;font-family:inherit;position:absolute;inset:0}body.glide-coaster-level-builder .game-hud,body.glide-coaster-level-builder .mute-toggle,body.glide-coaster-level-builder .result-actions{display:none!important}.level-manager{z-index:68;color:#17321b;pointer-events:none;font-family:inherit;position:absolute;inset:0}.level-manager__panel{top:max(14px, calc(var(--safe-top) + 14px));left:max(14px, calc(var(--safe-left) + 14px));width:min(300px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));max-height:min(calc(100vh - 28px - var(--safe-top) - var(--safe-bottom)), 680px);box-shadow:var(--game-ui-shadow);opacity:var(--level-playground-panel-opacity,1);pointer-events:auto;background:#f6fff4f5;border:3px solid #17321b;border-radius:8px;gap:10px;padding:12px;display:grid;position:absolute;overflow:auto}.level-playground-panel__chrome{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.level-playground-panel__chrome>:first-child{flex:130px;min-width:0}.level-playground-panel__controls{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.level-playground-panel__opacity{color:#17321bb8;text-transform:uppercase;gap:2px;min-width:74px;font-size:9px;font-weight:800;line-height:1;display:grid}.level-playground-panel__opacity input{accent-color:#285a33;width:74px}.level-playground-panel__icon-button{color:#17321b;cursor:pointer;background:#fff8f0;border:2px solid #17321bc7;border-radius:7px;place-items:center;width:30px;height:30px;font:900 18px/1 Fredoka,system-ui,sans-serif;display:inline-grid;box-shadow:0 2px #17321b2e}.level-playground-panel__icon-button:hover{filter:brightness(1.04)}.level-playground-panel__body{min-height:0}.level-manager__body{gap:inherit;display:grid}.level-manager__editor-host{pointer-events:none;position:absolute;inset:0}.level-manager__title{font-size:18px;font-weight:800;line-height:1.05}.level-manager__active,.level-manager__section-title{font-size:13px;font-weight:800;line-height:1.1}.level-manager__group-id{color:#17321bad;text-overflow:ellipsis;white-space:nowrap;font:700 11px/1.25 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.level-manager__field{text-transform:uppercase;gap:4px;font-size:11px;font-weight:800;line-height:1.1;display:grid}.level-manager__field input,.level-manager__field textarea{color:#17321b;background:#fff8f0;border:2px solid #17321b4d;border-radius:7px;width:100%;min-height:34px;font:800 13px/1 Fredoka,system-ui,sans-serif}.level-manager__field textarea{resize:vertical;text-transform:none;min-height:76px;padding:8px;font:700 11px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.level-manager__field input:disabled,.level-manager__field textarea:disabled{opacity:.62}.level-manager__select{color:#17321b;background:#fff8f0;border:2px solid #17321b4d;border-radius:7px;width:100%;min-height:36px;font:800 13px/1 Fredoka,system-ui,sans-serif}.level-manager__actions{flex-wrap:wrap;gap:7px;display:flex}.level-manager__button,.level-manager__level-row{cursor:pointer;border:2px solid #17321bc7;border-radius:7px;min-height:34px;font:800 12px/1 Fredoka,system-ui,sans-serif}.level-manager__button{color:#fffaf0;background:#285a33;padding:0 10px;box-shadow:0 3px #17321b47}.level-manager__button:not(:disabled):hover,.level-builder__button:not(:disabled):hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 4px #17321b3d}.level-manager__button:focus-visible,.level-manager__level-row:focus-visible,.level-builder__button:focus-visible{outline-offset:2px;outline:3px solid #d84f7a8c}.level-manager__button:disabled{opacity:.42;cursor:default;filter:saturate(.75);box-shadow:none;transform:none}.level-manager__levels{gap:6px;display:grid}.level-manager__level-row{color:#17321b;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#fff8f0eb;width:100%;padding:0 9px;overflow:hidden}.level-manager__level-row[data-selected=true]{background:#fff0f5;border-color:#d84f7a;box-shadow:0 0 0 4px #d84f7a2e}.level-manager__status,.level-manager__empty,.level-manager__editor-empty{color:#17321bb8;font:700 12px/1.25 Fredoka,system-ui,sans-serif}.level-manager__empty{background:#fff8f0ad;border:2px dashed #17321b3d;border-radius:7px;padding:8px}.level-manager__editor-empty{right:max(14px, calc(var(--safe-right) + 14px));bottom:max(14px, calc(var(--safe-bottom) + 14px));width:min(320px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));box-shadow:var(--game-ui-shadow);background:#f6fff4f5;border:3px solid #17321b;border-radius:8px;padding:12px;position:absolute}.level-builder__panel{right:max(14px, calc(var(--safe-right) + 14px));bottom:max(14px, calc(var(--safe-bottom) + 14px));width:min(560px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));max-height:min(calc(100vh - 32px - var(--safe-top) - var(--safe-bottom)), 680px);box-shadow:var(--game-ui-shadow);color:#17321b;opacity:var(--level-playground-panel-opacity,1);pointer-events:auto;background:#f6fff4f5;border:3px solid #17321b;border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;overflow:auto}.level-builder__body{gap:inherit;flex-direction:column;min-height:0;display:flex}.level-manager__panel[data-minimized=true],.level-builder__panel[data-minimized=true]{max-height:none;overflow:visible}.level-builder__panel[data-minimized=true]{width:min(280px, calc(100vw - 28px - var(--safe-left) - var(--safe-right)));top:auto;left:auto}@media (orientation:landscape) and (height<=520px) and (width<=960px){.level-manager__panel{top:max(10px, calc(var(--safe-top) + 10px));left:max(10px, calc(var(--safe-left) + 10px));width:min(260px, calc(38vw - var(--safe-left)));max-height:calc(100vh - 20px - var(--safe-top) - var(--safe-bottom));gap:8px;padding:10px}.level-manager__panel[data-minimized=true]{width:min(260px, calc(100vw - 20px - var(--safe-left) - var(--safe-right)))}.level-manager__editor-empty,.level-builder__panel{top:max(10px, calc(var(--safe-top) + 10px));right:max(10px, calc(var(--safe-right) + 10px));bottom:max(10px, calc(var(--safe-bottom) + 10px));left:max(280px, calc(var(--safe-left) + 38vw));gap:8px;width:auto;max-height:none;padding:10px}.level-builder__panel[data-minimized=true]{top:auto;right:max(10px, calc(var(--safe-right) + 10px));bottom:max(10px, calc(var(--safe-bottom) + 10px));width:min(280px, calc(100vw - 20px - var(--safe-left) - var(--safe-right)));left:auto}.level-builder__section{gap:7px;padding-top:8px}.level-builder__button{min-height:32px;padding:0 8px;font-size:11px}.level-builder__field input{height:32px}.level-builder__graph-legend{gap:5px 9px;padding:0 8px 8px;font-size:9px}}.level-builder__title{color:#17321b;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:800;line-height:1.1;overflow:hidden}.level-builder__draft-actions,.level-builder__publish-actions,.level-builder__graph-tools{flex-wrap:wrap;gap:6px;display:flex}.level-builder__graph-tools{justify-content:flex-end;margin-top:-2px}.level-builder__publish-actions .level-builder__button:first-child{flex:160px}.level-builder__export-tools{flex-wrap:wrap;gap:6px;display:flex}.level-builder__button{color:#fffaf0;cursor:pointer;background:#285a33;border:2px solid #17321bc7;border-radius:7px;min-height:34px;padding:0 10px;font:800 12px/1 Fredoka,system-ui,sans-serif;box-shadow:0 3px #17321b47}.level-builder__button:active{transform:translateY(1px);box-shadow:0 2px #17321b47}.level-builder__button:disabled{opacity:.42;cursor:default;filter:saturate(.75);box-shadow:none;transform:none}.level-builder__button--primary{flex:130px}.level-builder__button--secondary{color:#17321b;background:#f7fff4;border-color:#17321bb8;box-shadow:0 2px #17321b2e}.level-builder__button--preview{color:#fffaf0;background:#2f6d3d;border-color:#17321b;min-width:136px;box-shadow:0 3px #17321b3d}.level-builder__button[aria-pressed=true]{background:#d84f7a;border-color:#17321b}.level-builder__status{color:#17321bc2;min-height:16px;font-size:12px;font-weight:800;line-height:1.1}.level-builder__section{border-top:2px solid #17321b29;gap:8px;padding-top:9px;display:grid}.level-builder__step-heading{color:#17321b;align-items:center;gap:7px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.level-builder__step-index{background:#fff8f0;border:2px solid #17321b;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:inline-grid}.level-builder__source,.level-builder__mode-controls{gap:8px;display:grid}.level-builder__source{grid-template-columns:repeat(2,minmax(0,1fr))}.level-builder__source .level-builder__button{width:100%}.level-builder__field{color:#17321bc2;gap:5px;font-size:12px;font-weight:800;line-height:1.1;display:grid}.level-builder__field--compact{grid-template-columns:auto 74px;align-items:center}.level-builder__field input,.level-builder__field textarea{color:#17321b;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#fff8f0f5;border:2px solid #17321b47;border-radius:6px;width:100%;font-family:inherit;font-size:13px;font-weight:700;line-height:1.2}.level-builder__field input{height:34px;padding:0 8px}.level-builder__known-pitch-data,.level-builder__recording-json,.level-builder__export-json{resize:vertical;min-height:72px;padding:8px;font:600 11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.level-builder__export-json{min-height:92px}.level-builder__graph{background:linear-gradient(#dbf7ffb8,#fff8f0d1);border:2px solid #17321b3d;border-radius:8px;overflow:hidden}.level-builder__course-graph{background:linear-gradient(#dbf7ff8a,#eff8e2c7);border:2px solid #17321b33;border-radius:8px;overflow:hidden}.level-builder__graph-svg{aspect-ratio:540/292;color:#17321b;touch-action:none;width:100%;display:block}.level-builder__course-graph-svg{aspect-ratio:540/132;color:#17321b;touch-action:none;width:100%;display:block}.level-builder__graph-legend{color:#17321bbd;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:0 10px 9px;font-size:10px;font-weight:800;line-height:1;display:flex}.level-builder__graph-legend-item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.level-builder__graph-legend-marker{flex:none;width:18px;height:10px;display:inline-block}.level-builder__graph-legend-marker--path{border-top:4px solid #d84f7a;border-radius:999px;height:0}.level-builder__graph-legend-marker--hit-radius{background:#d84f7a29;border:1.5px dashed #d84f7a;border-radius:999px}.level-builder__graph-legend-marker--baseline{border-top:2px dashed #22382280;height:0}.level-builder__graph-legend-marker--landing{border-top:2.5px dashed #529a44e0;height:0}.level-builder__graph-legend-marker--range{background:#74b99347;border:1.5px solid #1d65a66b}.level-builder__graph-grid line{stroke:#17321b24;stroke-width:1px}.level-builder__graph-axis path,.level-builder__graph-axis line{stroke:#17321b70;stroke-width:1.5px}.level-builder__graph-axis text{fill:#17321bc2;font:800 10px/1 Fredoka,system-ui,sans-serif}.level-builder__graph-range-band{fill:#74b99347;stroke:#1d65a66b;stroke-width:1.5px}.level-builder__graph-baseline{stroke:#22382280;stroke-dasharray:5 5;stroke-width:2px}.level-builder__graph-landing-line{stroke:#529a44e0;stroke-dasharray:7 5;stroke-width:2.5px}.level-builder__graph-path{fill:none;stroke:#d84f7a;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.level-builder__graph-hat{cursor:grab;pointer-events:auto;touch-action:none}.level-builder__graph-hat:active{cursor:grabbing}.level-builder__graph-hit-radius{fill:#d84f7a29;stroke:#d84f7a;pointer-events:none;stroke-dasharray:4 4;stroke-width:1.5px}.level-builder__graph-hat{fill:#fff8f0;stroke:#17321b;stroke-width:3px}.level-builder__graph-hat[data-relation=above-path]{stroke:#1d65a6}.level-builder__graph-hat[data-relation=below-path]{stroke:#9a5d25}.level-builder__graph-hat[data-selected=true]{fill:#fff0f5;stroke:#d84f7a;stroke-width:4px}.level-builder__graph-hat-label{pointer-events:none;text-anchor:middle;fill:#17321b;paint-order:stroke;stroke:#fff8f0f0;stroke-linejoin:round;stroke-width:4px;font:800 10px/1 Fredoka,system-ui,sans-serif}.level-builder__course-graph-gap-span{stroke:#1d65a62e;stroke-linecap:round;stroke-width:16px}.level-builder__course-graph-guide{stroke:#17321b2e;stroke-dasharray:5 5;stroke-width:1.5px}.level-builder__course-graph-path{fill:none;stroke:#245d35;stroke-linecap:round;stroke-linejoin:round;stroke-width:5px}.level-builder__course-graph-handle{cursor:grab;fill:#fff8f0;stroke:#17321b;stroke-width:3px;touch-action:none}.level-builder__course-graph-handle:active{cursor:grabbing}.level-builder__recording{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.level-builder__recording-status{color:#17321bc2;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;line-height:1.1;overflow:hidden}.level-builder__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;display:grid}.level-builder__meta dt,.level-builder__meta dd{min-width:0;margin:0}.level-builder__meta dt{color:#17321bad;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.level-builder__meta dd{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:800;line-height:1.05;overflow:hidden}.level-builder__selected-hat{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.level-builder__layout-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.level-builder__hat-tools{flex-wrap:wrap;gap:6px;display:flex}.level-builder__hat-tools .level-builder__button{flex:104px}.level-builder__radius-help{color:#17321bcc;text-overflow:ellipsis;white-space:nowrap;min-height:13px;padding-top:2px;font-size:10px;font-weight:800;line-height:1.1;display:block;overflow:hidden}@media (width<=720px){.level-builder__panel{max-height:72vh}.level-builder__selected-hat{grid-template-columns:1fr}}.mute-toggle{left:max(14px, calc(var(--safe-left) + 14px));bottom:max(14px, calc(var(--safe-bottom) + 14px));z-index:55;color:#fffaf0;cursor:pointer;pointer-events:auto;background:#112b26cc;border:2px solid #fffaf0b8;border-radius:8px;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:24px;font-weight:800;line-height:1;display:inline-flex;position:absolute;box-shadow:0 8px 22px #06141038}body.glide-coaster-tutorial-active .sos-brand-logo{left:calc(max(env(safe-area-inset-left,0px), var(--sos-host-overlay-left,0px)) + 16px)!important;bottom:calc(max(env(safe-area-inset-bottom,0px), var(--sos-host-overlay-bottom,0px)) + 126px)!important}html.flutter-hosted .mute-toggle{display:none}.mute-toggle[aria-pressed=true]{background:#7c2422db}.mute-toggle:active{transform:translateY(1px)}.mute-toggle:focus{outline:none}.mute-toggle:focus-visible{outline-offset:4px;outline:4px solid #fff;box-shadow:0 0 0 7px #245d35b8}.game-hud{z-index:44;pointer-events:none;color:#17321b;font-family:inherit;position:absolute;inset:0}.game-hud__result-backdrop{z-index:1;background:#0b161b9e;position:absolute;inset:0}.game-hud__top{top:var(--game-ui-top);left:max(16px, calc(var(--safe-left) + 16px));right:max(16px, calc(var(--safe-right) + 16px));grid-template-columns:auto 1fr auto;align-items:start;gap:12px;display:grid;position:absolute}.game-hud__level,.game-hud__status{text-shadow:0 2px #ffffff59;font-size:clamp(18px,4.8vh,26px);font-weight:800;line-height:1}.game-hud__status{text-align:center;justify-self:center}.game-hud__countdown{color:#fff;text-shadow:0 5px #17321b;place-items:center;font-size:clamp(76px,22vh,120px);font-weight:800;display:grid;position:absolute;inset:0}.game-hud__callout{top:max(54px, calc(var(--safe-top) + 44px));color:#111;text-align:center;background:#fff8f0f2;border:3px solid #24472b;border-radius:8px;max-width:min(520px,100vw - 40px);padding:10px 14px;font-size:clamp(16px,4vh,22px);font-weight:800;line-height:1.15;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #06141033}.game-hud__meter{left:max(16px, calc(var(--safe-left) + 16px));bottom:max(78px, calc(var(--safe-bottom) + 78px));width:min(270px,34vw);position:absolute}.game-hud__meter-label{margin-bottom:4px;font-size:clamp(15px,3.8vh,19px);font-weight:800;line-height:1}.game-hud__meter-track{background:#1d3746d6;border:2px solid #ffffff8c;height:24px}.game-hud__meter-fill{background:#69c26b;width:0;height:100%;transition:width 80ms linear}.result-panel{z-index:2;width:min(620px, calc(100vw - 36px - var(--safe-left) - var(--safe-right)));max-height:calc(100vh - 120px - var(--safe-top) - var(--safe-bottom));border:4px solid var(--game-ui-panel-border);background:var(--game-ui-panel-bg);box-shadow:var(--game-ui-shadow);text-align:center;flex-direction:column;gap:clamp(8px,2vh,12px);padding:clamp(12px,3vh,22px);display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-60%)}.result-panel h2{color:#9c2d29;margin:0;font-size:clamp(28px,6vh,40px);line-height:1.02}.result-panel__body{grid-template-columns:minmax(150px,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(10px,2.4vw,22px);min-height:clamp(108px,30vh,142px);display:grid}.result-cart-preview{place-items:center;min-height:clamp(108px,30vh,142px);display:grid}.result-cart-preview__svg{filter:drop-shadow(0 5px #17171724);width:min(230px,100%);max-height:clamp(112px,31vh,150px);overflow:visible}.result-panel__detail{text-align:left;margin:0;font-size:clamp(16px,3.4vh,21px);font-weight:800;line-height:1.25}.result-panel__stats{border-top:2px solid #24472b24;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:8px;display:grid}.result-panel__stat{background:#69c26b1f;border-radius:8px;min-width:0;padding:6px 7px;line-height:1.05}.result-panel__stat-label,.result-panel__stat-value{display:block}.result-panel__stat-label{color:#17321bc2;font-size:clamp(11px,2.2vh,13px);font-weight:800}.result-panel__stat-value{color:#17321b;margin-top:2px;font-size:clamp(17px,3.4vh,22px);font-weight:800}.result-actions{left:max(16px, calc(var(--safe-left) + 16px));right:max(16px, calc(var(--safe-right) + 16px));bottom:max(16px, calc(var(--safe-bottom) + 16px));z-index:45;pointer-events:none;justify-content:center;display:flex;position:absolute}.result-actions[hidden]{display:none!important}.result-actions__inner{pointer-events:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(484px,100%);display:grid}.result-actions--failure .result-actions__inner{grid-template-columns:minmax(0,1fr);width:min(236px,100%)}.result-actions--failure.result-actions--can-continue .result-actions__inner{grid-template-columns:repeat(2,minmax(0,1fr));width:min(484px,100%)}.result-actions__button{color:#fff;cursor:pointer;background:#245d35;border:2px solid #ffffffb8;border-radius:8px;min-height:clamp(52px,8vh,64px);padding:0 20px;font-family:inherit;font-size:clamp(17px,2.5vh,22px);font-weight:800;line-height:1;box-shadow:0 8px 22px #0614103d}.result-actions__button--primary{background:#1f6d31}.result-actions__button:active{transform:translateY(1px)}.result-actions__button:focus{outline:none}.result-actions__button:focus-visible{outline-offset:4px;outline:4px solid #fff;box-shadow:0 0 0 7px #245d35b8}.portrait-orientation-gate{z-index:90;padding:max(28px, var(--safe-top)) max(24px, var(--safe-right)) max(28px, var(--safe-bottom)) max(24px, var(--safe-left));color:#f8fff9;text-align:center;pointer-events:auto;background:linear-gradient(#0d3146 0%,#123b31 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:none;position:absolute;inset:0}.portrait-orientation-gate strong{font-size:26px;line-height:1.15;display:block}.portrait-orientation-gate span{color:#eaf6ef;max-width:31ch;font-size:15px;line-height:1.45;display:block}.start-overlay{z-index:50;color:#fffaf0;text-align:center;padding:max(26px, var(--safe-top)) max(24px, var(--safe-right)) max(26px, var(--safe-bottom)) max(24px, var(--safe-left));pointer-events:auto;place-items:start center;display:grid;position:absolute;inset:0;overflow:hidden}.start-overlay__shade{background:linear-gradient(#0d31469e 0%,#0d31461f 42%),linear-gradient(#19261800 54%,#192618c7 100%);position:absolute;inset:0}.start-overlay__content{z-index:2;flex-direction:column;align-items:center;gap:clamp(12px,2.2vh,18px);width:min(560px,100%);margin-top:clamp(24px,6vh,46px);display:flex;position:relative}.start-overlay h1{letter-spacing:0;color:#fff7cf;text-shadow:0 4px #264b2cd9,0 14px 34px #0a1a226b;margin:0;font-size:clamp(44px,9vh,86px);line-height:.95}.start-overlay p{color:#fffaf0;text-shadow:0 3px 14px #0a1a228a;max-width:33ch;margin:0;font-size:clamp(17px,2.8vh,24px);font-weight:700;line-height:1.22}.start-overlay__warning{background:#112b26b8;border:2px solid #fff3b0c7;border-radius:8px;padding:10px 12px;font-weight:700;color:#fff7cf!important;max-width:min(46ch,100%)!important;font-size:clamp(13px,2.1vh,16px)!important;line-height:1.22!important}.start-button{letter-spacing:0;color:#1d3724;cursor:pointer;background:#ffd35e;border:3px solid #fff3b0;border-radius:8px;min-width:min(220px,72vw);min-height:60px;margin-top:clamp(4px,1vh,10px);padding:0 30px;font-family:inherit;font-size:clamp(22px,3.4vh,28px);font-weight:700;box-shadow:0 8px #c7781e,0 18px 34px #071f1b5c}.start-button:active{transform:translateY(3px);box-shadow:0 5px #c7781e,0 12px 24px #071f1b57}.start-tutorial-toggle{color:#fffaf0;background:#13302a8f;border:2px solid #fffaf08f;border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:8px 13px;font-size:15px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 10px 28px #071f1b33}.start-tutorial-toggle input{accent-color:#ffd35e;width:18px;height:18px;margin:0}.debug-overlay{z-index:40;color:#cde;pointer-events:auto;background:#0d1b2ad9;border:1px solid #ffffff1a;border-radius:8px;width:min(430px,100vw - 16px);max-height:calc(100vh - 16px);padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;line-height:1.5;position:absolute;top:8px;right:8px;overflow:auto}.debug-overlay--diagnostics{width:min(390px,100vw - 16px);max-height:min(680px,100vh - 16px)}.debug-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.debug-overlay h4,.debug-overlay h5{letter-spacing:0;text-transform:uppercase;color:var(--brand-orange-soft);margin:0;font-size:11px;font-weight:700}.debug-overlay h5{color:#e7fbdc;margin-bottom:4px}.debug-overlay section{border-top:1px solid #ffffff1f;padding:8px 0}.debug-overlay .row{justify-content:space-between;gap:8px;display:flex}.debug-overlay .row span:last-child{color:#fff;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:260px}.debug-overlay .slider{width:100%;margin:6px 0 8px}.debug-overlay .actions{grid-template-columns:1fr 1fr;gap:4px;margin-top:6px;display:grid}.debug-overlay .actions--single{grid-template-columns:1fr}.debug-overlay button{color:#fff;cursor:pointer;background:#9ed88329;border:1px solid #9ed88359;border-radius:4px;padding:4px 6px;font-family:inherit;font-size:10px}.debug-overlay button:hover{background:#9ed8834d}.debug-header button{width:24px;height:24px;padding:0;font-size:18px;line-height:1}.debug-overlay .meter{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:4px;width:100%;height:8px;overflow:hidden}.debug-overlay .meter div{background:#4adb6c;width:0;height:100%}.debug-threshold-grid{gap:7px;display:grid}.debug-tuning-control{gap:4px;display:grid}.debug-tuning-control span{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.debug-tuning-control strong{color:#dff8d5;font-size:10px;font-weight:700}.debug-tuning-control em{color:#fff;font-variant-numeric:tabular-nums;font-style:normal}.debug-tuning-control input[type=range]{width:100%;margin:0}.debug-overlay .message{color:#dcefff;overflow-wrap:anywhere;margin-top:6px}.debug-overlay .error{color:#ffc6c2}.debug-overlay .good{color:#4adb6c!important}.debug-overlay .bad{color:#ff8f87!important}.debug-overlay .hint{opacity:.6;margin-top:8px;font-size:9px;font-style:italic}.audio-debug-page{z-index:95;padding:max(10px, var(--safe-top)) max(10px, var(--safe-right)) max(10px, var(--safe-bottom)) max(10px, var(--safe-left));color:#f5fff6;pointer-events:auto;background:#09181fd6;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.45;position:absolute;inset:0;overflow:auto}.audio-debug-page__panel{background:#0b1f1ceb;border:1px solid #d3ffc73d;border-radius:8px;width:min(1120px,100%);margin:0 auto;box-shadow:0 18px 42px #00000047}.audio-debug-page__header{border-bottom:1px solid #d3ffc72e;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.audio-debug-page__eyebrow,.audio-debug-page h2,.audio-debug-page h3,.audio-debug-page p{margin:0}.audio-debug-page h2{color:#fff7cf;font-family:Fredoka,system-ui,sans-serif;font-size:24px;line-height:1}.audio-debug-page h3{color:#9ed883;text-transform:uppercase;margin-bottom:8px;font-size:12px}.audio-debug-page__eyebrow{color:#f5fff6a8;text-transform:uppercase;font-size:10px}.audio-debug-page__actions{border-bottom:1px solid #d3ffc72e;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px;display:grid}.audio-debug-page button{color:#fff7cf;cursor:pointer;min-height:36px;font:inherit;background:#ffd35e2e;border:1px solid #fff7cf6b;border-radius:6px;padding:7px 9px;font-weight:700}.audio-debug-page button:active{transform:translateY(1px)}.audio-debug-page__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.audio-debug-page section{background:#ffffff0b;border:1px solid #d3ffc729;border-radius:8px;min-width:0;padding:10px}.audio-debug-page dl{gap:5px;margin:0;display:grid}.audio-debug-page dl div{grid-template-columns:minmax(76px,.32fr) minmax(0,1fr);gap:10px;display:grid}.audio-debug-page dt{color:#f5fff69e}.audio-debug-page dd{color:#fff;overflow-wrap:anywhere;margin:0}.audio-debug-page__table{gap:6px;margin-top:10px;display:grid}.audio-debug-page__channel{background:#00000029;border-radius:6px;grid-template-columns:minmax(90px,1fr) repeat(3,minmax(76px,auto));align-items:baseline;gap:8px;padding:6px;display:grid}.audio-debug-page__channel small{color:#f5fff69e;overflow-wrap:anywhere;grid-column:1/-1}.audio-debug-page__events{grid-column:span 1}.audio-debug-page pre{white-space:pre-wrap;color:#fff;min-height:90px;max-height:190px;margin:0;overflow:auto}.audio-debug-page__empty,.audio-debug-page__footnote{color:#f5fff6ad}.audio-debug-page__footnote{padding:0 12px 12px}body .sos-dev-harness{display:none!important}@media (width<=760px){.audio-debug-page__actions,.audio-debug-page__grid,.audio-debug-page__channel{grid-template-columns:1fr}}@media (height<=360px){.result-panel{gap:6px;padding:10px 14px}.result-panel h2{font-size:20px}.result-panel__body{flex:0 auto;min-height:0;overflow:hidden}.result-cart-preview{min-height:0}.result-cart-preview__svg{height:100%;max-height:88px}.result-panel__detail{font-size:13px}.result-panel__stat{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px;padding:4px 6px;display:flex}.result-panel__stat-value{margin-top:0;font-size:14px}}@media (orientation:portrait){.portrait-orientation-gate{display:flex}.result-actions{display:none}}
