@import url('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-scheme:dark;--ink:#f7f6e9;--muted:#c1d1bf;--lime:#daee94;--forest:#102e25;--border:#ffffff25;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#10251d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f2e7aa;outline-offset:4px}[hidden]{display:none!important}
.setup{position:relative;min-height:100svh;overflow:hidden}.scenery{position:absolute;inset:0;background:linear-gradient(90deg,#08261ce6 0%,#102b2075 43%,#071d168a 100%),linear-gradient(0deg,#0b241c 0%,transparent 45%),url('assets/frog-run/creek.webp') center/cover;z-index:-1}.site-nav{display:flex;justify-content:space-between;align-items:center;padding:28px 5.2vw;border-bottom:1px solid var(--border)}.brand{font:700 18px 'Outfit',sans-serif;letter-spacing:.1em;text-decoration:none}.brand span{display:block;font:500 9px 'DM Sans',sans-serif;letter-spacing:.3em;margin-top:6px;color:#d9e6c8}.back-link{font-size:12px;text-decoration:none;color:#e4ecdf}.intro-layout{width:min(1360px,100%);margin:auto;padding:45px 5.2vw 30px;display:grid;grid-template-columns:1.12fr 1fr;gap:8vw;align-items:center}.intro{position:relative;align-self:stretch;padding-top:28px;min-height:640px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--lime);line-height:1.6}.live-dot{display:inline-block;width:6px;height:6px;background:#d3ed90;border-radius:50%;margin-right:8px;box-shadow:0 0 14px #c6ee7e}.intro h1{font:800 clamp(70px,8.5vw,124px)/.84 'Outfit',Arial,sans-serif;letter-spacing:-.065em;margin:27px 0 24px;text-shadow:0 4px 30px #0b201c40}.intro h1 span{display:block;color:var(--lime)}.intro-line{font:500 clamp(23px,2.6vw,36px)/1.1 'Outfit',sans-serif;letter-spacing:-.02em;margin:24px 0 15px}.intro-description{font-size:14px;color:#e0eadb;line-height:1.7}.trail-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.trail-tags span{font-size:10px;border:1px solid #f1f8e145;border-radius:30px;padding:7px 10px;background:#17362955;backdrop-filter:blur(8px)}.hero-frog{position:absolute;width:230px;height:230px;right:-25px;bottom:8px;background:url('assets/frog-run/green.webp') 0 0/300% 200%;transform:rotate(18deg);filter:drop-shadow(4px 18px 12px #041c16a0);pointer-events:none}.location-caption{position:absolute;bottom:0;left:0;font-size:9px;letter-spacing:.16em;color:#d4e6c2}.location-caption span{display:block;font-size:10px;letter-spacing:0;color:#bbd0b8;margin-top:10px;max-width:170px;line-height:1.5}
.adventure-card{padding:27px 30px 20px;border:1px solid #d9eac53d;border-radius:22px;background:linear-gradient(145deg,#183f31f5,#102b22f5);box-shadow:0 24px 90px #05161088;backdrop-filter:blur(20px)}.card-heading{display:flex;justify-content:space-between;align-items:center}.chapter{font:500 12px 'Outfit';color:#9aa98f}h2{font:600 30px/1.1 'Outfit',Arial,sans-serif;letter-spacing:-.04em;margin:12px 0 23px}fieldset{padding:0;margin:0 0 20px;border:0;min-width:0}legend{font-size:12px;font-weight:600;margin-bottom:12px;width:100%}legend span{float:right;color:var(--lime)}.frog-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.frog-choice{color:var(--ink);border:1px solid #ffffff19;border-radius:12px;background:#09241b7d;padding:5px 5px 11px;transition:background .2s,transform .2s}.frog-choice:hover{transform:translateY(-3px)}.frog-choice.selected{border-color:var(--lime);background:#d5eb9320;box-shadow:inset 0 0 0 1px #d5eb9320}.frog-portrait{display:block;margin:auto;width:88px;max-width:100%;aspect-ratio:1;background-position:0 0;background-size:300% 200%;filter:drop-shadow(0 6px 4px #0005)}.green{background-image:url('assets/frog-run/green.webp')}.gray{background-image:url('assets/frog-run/gray.webp')}.pickerel{background-image:url('assets/frog-run/pickerel.webp')}.frog-choice strong{display:block;font:500 14px 'Outfit'}.frog-choice small{display:block;font-size:9px;color:#c0cdb6;margin-top:3px}.table-options{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.table-options button{border:1px solid #ffffff23;border-radius:7px;background:#0c261d;color:#dce8d7;padding:8px 0;font:500 14px 'Outfit'}.table-options button.selected{background:var(--lime);border-color:var(--lime);color:#173729}.settings-row label{font-size:12px;display:block}.settings-row select{display:block;width:100%;border:1px solid #ffffff30;background:#0e2a20;color:#e5eedc;border-radius:8px;padding:11px 10px;margin:8px 0 14px;font-size:12px}.switch-row{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;font-size:11px;color:#cfddc7}.switch-row label{display:flex;align-items:center;gap:7px;cursor:pointer}input[type=checkbox]{accent-color:var(--lime);width:15px;height:15px;margin:0}.primary,.secondary{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid transparent;border-radius:10px;padding:14px 17px;font-size:13px;font-weight:700;text-decoration:none}.primary{background:var(--lime);color:#173525;box-shadow:0 5px 18px #d0ef7720}.primary:hover{background:#e8f6b6}.secondary{background:#ffffff06;color:#f0f2e4;border-color:#cadfb84d;margin-top:9px}.secondary:hover{background:#ffffff10}.small-note{font-size:10px;line-height:1.6;color:#b4c6ac;text-align:center;margin:11px 0 0}.how-to{font-size:11px;line-height:1.6;border-top:1px solid var(--border);margin-top:16px;padding-top:12px;color:#cad9c3}.how-to summary{cursor:pointer;font-weight:600}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 5.2vw 25px;font-size:9px;letter-spacing:.12em;color:#b7cdb1}.site-footer a{letter-spacing:0;text-decoration:none}
dialog{color:var(--ink);background:linear-gradient(135deg,#1b4233,#0c281f);border:1px solid #c4db9c55;border-radius:24px;padding:34px;max-width:480px;width:calc(100% - 30px);max-height:90dvh;overflow:auto;box-shadow:0 40px 120px #0009}dialog::backdrop{background:#061b14b8;backdrop-filter:blur(9px)}.dialog-close{position:absolute;right:15px;top:12px;color:#d5e7cb;border:0;background:none;font-size:27px}.field-label{display:block;font-size:12px}.field-label input,.join-row input{border:1px solid #bfd69e60;background:#091f17;border-radius:9px;padding:13px;color:#fff;width:100%;margin-top:8px;min-width:0}.room-divider{text-align:center;font-size:11px;color:#b8cdb0;margin:20px}.join-row{display:flex;gap:8px}.join-row input{margin:0;letter-spacing:.15em;text-transform:uppercase}.join-row button{width:auto;margin:0}.room-code-line{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#091e16;border:1px dashed #c5dfa355;border-radius:12px;padding:15px}.room-code-line strong{display:block;letter-spacing:.15em;font:700 29px 'Outfit'}.room-code-line .secondary{width:auto;font-size:10px;margin:0;padding:10px}.player-list{list-style:none;padding:0;margin:15px 0}.player-list li{padding:12px 0;border-bottom:1px solid #ffffff20;font-size:13px;display:flex;justify-content:space-between}.player-list small{color:var(--lime)}#roomSettings{font-size:12px;color:#c0d5b6}.status-message{font-size:12px;color:#e6dfa9;line-height:1.6}.text-button{display:block;margin:16px auto 0;border:0;background:none;color:#c3d7b9;font-size:12px;text-decoration:underline}#roomSetup>.primary{margin-top:18px}
.play{position:fixed;inset:0;overflow:hidden;background:#244b37;touch-action:none}#course{display:block;width:100%;height:100%;outline:0}.game-hud{position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:20px;padding:18px max(20px,env(safe-area-inset-right)) 24px;background:linear-gradient(#082319e8,#08231900);pointer-events:none}.game-hud>*{pointer-events:auto}.game-mark{font:800 18px 'Outfit';letter-spacing:.04em;margin-right:auto}.game-mark span{display:block;font:500 8px 'DM Sans';letter-spacing:.15em;color:#d6e9bb;margin-top:4px}.hud-score small,.hud-progress small{display:block;font-size:8px;letter-spacing:.14em;color:#e0e6c6}.hud-score strong,.hud-progress strong{display:block;font:700 26px 'Outfit';text-align:right;color:#f9f7e3}.icon-button{border:1px solid #e3eed743;background:#143a2bcf;color:#fff;border-radius:50%;width:40px;height:40px;font-size:18px}.trail-message{position:absolute;top:95px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;background:#0a2b20df;border:1px solid #e3efa75a;border-radius:40px;padding:12px 24px;color:#f3f4d0;font:600 16px 'Outfit';text-align:center;pointer-events:none;transition:opacity .3s}.trail-message:empty{opacity:0}.question-dock{position:absolute;left:50%;transform:translateX(-50%);bottom:108px;width:min(430px,78vw);pointer-events:none}.question{background:linear-gradient(135deg,#0b2e23f5,#173c2ded);border:1px solid #e0efaa80;border-radius:16px 16px 0 0;text-align:center;padding:11px 18px 9px;box-shadow:0 12px 30px #0004}.question>span{display:block;font-size:9px;letter-spacing:.16em;color:#d9e99e}.question>strong{display:block;font:600 35px 'Outfit';line-height:1.2;margin-top:2px;color:#fff9df}.gate-meter{height:4px;background:#183c2a;border-radius:0 0 9px 9px;overflow:hidden}.gate-meter i{display:block;height:100%;width:0;background:var(--lime)}.answer-access{display:flex;gap:8px;justify-content:center;margin-top:8px;pointer-events:auto}.answer-access button{border:1px solid #d8e4b574;border-radius:9px;background:#123727eb;color:#fffce2;min-width:65px;padding:8px;font:600 20px 'Outfit'}.answer-access button[aria-pressed=true]{border-color:#f2efa6;background:#dced9e;color:#153c2c}.touch-controls{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:10px}.touch-controls button{width:64px;height:52px;border:1px solid #dce8b456;border-radius:12px;background:#173929d9;color:#fff5cd;font:600 26px 'Outfit';backdrop-filter:blur(10px);touch-action:none}.touch-controls small{display:inline;font-size:8px}.keyboard-hint{position:absolute;bottom:3px;margin:0;width:100%;text-align:center;font-size:8px;letter-spacing:.14em;color:#e8efd5}.race-strip{position:absolute;top:78px;left:15px;display:flex;gap:8px;flex-wrap:wrap;max-width:94%;font-size:10px}.race-strip span{background:#0c3025ed;border:1px solid #cee39755;padding:7px 10px;border-radius:30px}.countdown{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font:800 110px 'Outfit';color:#f0f1ae;text-shadow:0 6px 50px #092217}.results-stats{display:flex;justify-content:space-between;gap:10px;margin:25px 0}.results-stats strong{display:block;font:700 33px 'Outfit';color:var(--lime)}.results-stats span{font-size:10px;color:#cbdcc2}.best-note{font-size:12px;color:var(--lime)}#reviewFacts{font-size:12px;line-height:1.7;margin:20px 0}#reviewFacts h3{font:500 18px 'Outfit'}#reviewFacts .facts{display:flex;flex-wrap:wrap;gap:7px}#reviewFacts .facts span{padding:7px 10px;border:1px solid #ffffff25;border-radius:8px;color:#e7edce}.race-results{padding-left:22px;font-size:12px;line-height:2}.race-results li span{float:right;color:var(--lime)}
.frog-portrait,.hero-frog{clip-path:inset(0 0 12% 0)}
@media(min-width:801px) and (max-height:850px){.site-nav{padding-top:18px;padding-bottom:18px}.intro-layout{padding-top:24px;padding-bottom:15px}.intro{min-height:555px;padding-top:14px}.adventure-card{padding:20px 26px 15px}.adventure-card h2{margin:8px 0 16px;font-size:28px}.adventure-card fieldset{margin-bottom:14px}.adventure-card legend{margin-bottom:8px}.frog-portrait{width:66px}.frog-choice{padding-bottom:8px}.table-options button{padding:6px 0}.settings-row select{padding:9px 10px;margin-bottom:10px}.switch-row{margin-bottom:14px;gap:7px}.how-to{margin-top:10px;padding-top:8px}.hero-frog{width:190px;height:190px;bottom:12px}.primary,.secondary{padding-top:12px;padding-bottom:12px}.site-footer{padding-top:10px;padding-bottom:15px}}
@media(min-width:1500px){.intro-layout{padding-top:65px}.intro{min-height:720px}.hero-frog{width:290px;height:290px}}
@media(max-width:800px){.intro-layout{grid-template-columns:1fr;gap:28px;padding:24px 6vw}.intro{min-height:440px;padding-top:0}.intro h1{font-size:86px;margin-top:22px}.intro h1 span{display:block}.intro-line{font-size:26px}.intro-description{font-size:12px}.hero-frog{width:175px;height:175px;right:-15px;bottom:55px}.location-caption{position:static;margin-top:24px}.location-caption span{display:none}.trail-tags{max-width:230px;gap:5px;margin-top:18px}.trail-tags span{font-size:8px}.adventure-card{max-width:510px;width:100%;justify-self:center}.site-nav{padding:20px 6vw}.brand{font-size:14px}.brand span{font-size:7px}.back-link{font-size:10px}.intro .eyebrow{font-size:8px}.scenery{background-position:40% top;background-attachment:fixed}.site-footer{font-size:8px;letter-spacing:.05em}.game-hud{gap:12px;padding:16px 13px}.game-mark{font-size:14px}.hud-score strong,.hud-progress strong{font-size:22px}.game-hud small{font-size:7px}.icon-button{width:34px;height:34px}.trail-message{font-size:13px;top:90px;padding:10px 16px}.question-dock{bottom:100px}.question>strong{font-size:30px}.question>span{font-size:8px}.touch-controls button{width:60px;height:48px}.race-strip{top:68px}.race-strip~.trail-message{top:106px}}
@media(max-width:380px){.adventure-card{padding:24px 18px}.hero-frog{width:135px;height:135px;bottom:82px}.intro h1{font-size:76px}.game-hud{gap:8px}.game-mark{font-size:12px}.hud-progress strong,.hud-score strong{font-size:20px}.question-dock{width:84vw}}
@media(max-height:550px) and (min-width:700px){.question-dock{bottom:60px;width:310px}.question{padding:5px}.question>strong{font-size:25px}.touch-controls{left:auto;right:15px;bottom:15px;transform:none}.touch-controls button{width:45px}.keyboard-hint{display:none}.game-hud{padding:10px 18px}.trail-message{top:65px}}
.upstream-question{position:absolute;top:max(112px,17vh);left:50%;transform:translateX(-50%);min-width:160px;padding:8px 22px 10px;border:1px solid #ededa19c;border-radius:14px;background:#0a3025ed;box-shadow:0 5px 25px #061d2266;text-align:center;pointer-events:none}.upstream-question small{display:block;font-size:8px;letter-spacing:.18em;color:#e3eab6}.upstream-question strong{font:650 clamp(25px,3vw,35px)/1.15 'Outfit',sans-serif;color:#fff9db;white-space:nowrap}.chase-meter{position:absolute;top:87px;right:20px;max-width:160px;padding:9px 12px;border:1px solid #e4e9b74d;background:#17362ce8;border-radius:12px;pointer-events:none}.chase-meter>span{font:700 8px 'DM Sans';letter-spacing:.08em;display:block}.chase-meter>div{display:flex;gap:5px;margin-top:7px}.chase-meter i{width:27px;height:5px;border-radius:4px;background:#c8dba52b}.chase-meter i.filled{background:#e9c26f}.chase-meter[data-danger="2"]{border-color:#ffbe6e}.chase-meter[data-danger="2"] i.filled,.chase-meter[data-danger="3"] i.filled{background:#f49f68}.action-feedback{position:absolute;left:50%;transform:translate(-50%,-100%);padding:9px 17px;border:1px solid #dbeea2;background:#124633ef;border-radius:30px;font:700 17px 'Outfit';color:#eaffce;box-shadow:0 6px 22px #08261960;pointer-events:none;white-space:nowrap}.action-feedback[data-kind="hit"]{background:#6b3023f0;color:#fff1d1;border-color:#f1b183}.action-feedback[data-kind="move"]{background:#173e38e0;border-color:#92cbb6;font-size:14px}.catch-notice{position:absolute;left:50%;top:40%;transform:translate(-50%,-100%);background:#492c18ec;border:2px solid #efce8c;border-radius:18px;padding:12px 23px;text-align:center;box-shadow:0 12px 45px #19201288;pointer-events:none;white-space:nowrap}.catch-notice strong{display:block;font:800 32px 'Outfit';color:#ffe5a4}.catch-notice span{font-size:11px;color:#fff0d2}.touch-controls button.is-active{background:#d8eb98;color:#173526;border-color:#fbffd9;box-shadow:0 0 20px #d6ec8659;transform:translateY(-3px)}.play .trail-message{top:80px;font-size:13px;max-width:calc(100% - 370px);padding:10px 17px}.play:has(.race-strip:not([hidden])) .trail-message{top:111px}.play:has(.race-strip:not([hidden])) .upstream-question{top:max(147px,18vh)}
@media(max-width:800px){.chase-meter{top:70px;right:12px;max-width:130px;padding:7px 9px}.chase-meter>span{font-size:7px}.chase-meter i{width:20px}.play .trail-message{top:72px;left:12px;transform:none;max-width:calc(100% - 165px);font-size:11px;padding:7px 10px;border-radius:10px}.play:has(.race-strip:not([hidden])) .trail-message{top:109px}.play:has(.race-strip:not([hidden])) .chase-meter{top:103px}.upstream-question{top:max(130px,17vh);padding:8px 18px}.play:has(.race-strip:not([hidden])) .upstream-question{top:max(160px,20vh)}.action-feedback{font-size:14px;padding:8px 12px}.catch-notice strong{font-size:24px}.catch-notice span{font-size:10px}}
@media(max-height:550px) and (min-width:700px){.upstream-question,.play:has(.race-strip:not([hidden])) .upstream-question{top:73px;padding:4px 18px}.upstream-question strong{font-size:24px}.upstream-question small{font-size:7px}.chase-meter{top:66px}.play .trail-message,.play:has(.race-strip:not([hidden])) .trail-message{top:60px;left:20px;transform:none;max-width:230px}.action-feedback{font-size:13px}.catch-notice{top:42%;padding:8px 18px}.catch-notice strong{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.bullfrog{background-image:url("assets/frog-run/bullfrog.webp")}.frog-choice .frog-size{color:var(--lime);font-size:8px;letter-spacing:.12em;margin-top:5px}
@media(max-width:800px){.frog-options{grid-template-columns:repeat(2,minmax(0,1fr))}.frog-choice{position:relative}.frog-choice .frog-size{position:absolute;right:9px;top:4px}.frog-portrait{width:88px}}

.inspiration-credit{display:block;margin-top:7px;font-size:10px;letter-spacing:.02em;color:#c9d9bd}.play-inspiration{position:absolute;left:16px;bottom:max(5px,env(safe-area-inset-bottom));margin:0;font-size:10px;line-height:1.3;letter-spacing:.02em;color:#d1dfc7;text-shadow:0 1px 4px #062319;pointer-events:none}
@media(max-width:800px) and (min-height:551px){.play-inspiration{left:0;width:100%;text-align:center;bottom:calc(4px + env(safe-area-inset-bottom))}.keyboard-hint{bottom:calc(20px + env(safe-area-inset-bottom))}.touch-controls{bottom:calc(40px + env(safe-area-inset-bottom))}.question-dock{bottom:calc(115px + env(safe-area-inset-bottom))}}

@media(max-height:550px){.keyboard-hint{display:none}}

.mastery-summary{font-size:10px;line-height:1.6;color:#d3dfae;margin:-5px 0 17px}.table-options button[data-mastery="ordered"]{border-color:#e9ca75}.table-options button[data-mastery="mixed"]{border-color:#99e4dc}.next-steps{border:1px solid #d8eba54d;border-radius:16px;padding:18px;margin:22px 0;background:#08271d60}.next-steps h3{font:600 23px/1.15 'Outfit';margin:0 0 10px}.next-steps>p:not(.mastery-award){font-size:12px;line-height:1.65;color:#d4e2c8}.mastery-award{margin:0 0 15px;font:700 17px/1.4 'Outfit';color:#f4dc8f}.recommended-tables{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recommended-tables:empty{display:none}.table-recommendation{flex:1;min-width:90px;padding:12px 9px;border:1px solid #d3e6a877;border-radius:10px;background:#c6e68b16;color:#eff5d5;font:600 16px 'Outfit'}.table-recommendation:hover{background:#c6e68b30}.table-recommendation:disabled{cursor:default}.next-steps .small-note{text-align:left;font-size:10px!important}#mixedPractice{margin:14px 0 7px}
#pause{width:auto;min-width:64px;padding:0 12px;flex-shrink:0;border-radius:12px;font:700 13px "DM Sans",sans-serif}@media(max-width:450px){.game-hud{gap:8px}.game-mark{min-width:0;font-size:14px}.game-mark span{max-width:105px;font-size:7px;letter-spacing:.04em}#pause{min-width:55px;padding:0 9px;font-size:12px}}
