:root{--night: #141026;--night-2: #1d1638;--night-3: #2a2152;--outline: #0c0820;--shell: #fff6e3;--shell-dim: #c9bfdc;--leaf: #5fd03a;--leaf-deep: #2f8f17;--gold: #ffc93a;--sky: #4fc3ff;--ember: #ff5a3c;--font-display: "Lilita One", "Arial Black", "Trebuchet MS", sans-serif;--font-body: "Nunito", "Segoe UI", system-ui, sans-serif;--r-pill: 999px;color-scheme:dark}html,body{height:100%}body{margin:0;background:var(--night);color:var(--shell);font-family:var(--font-body);font-weight:600;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:manipulation;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}img{-webkit-user-drag:none}#root{height:100%}.app{height:100%;height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;background:radial-gradient(120% 70% at 50% -10%,#2f2266 0%,transparent 60%),radial-gradient(60% 40% at 90% 110%,#1f3d22 0%,transparent 70%),var(--night)}#phaser-park{position:fixed;left:-12000px;top:0;width:480px;height:480px;overflow:hidden}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.screen{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:18px;padding-block:24px 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.pill-title{margin:0;font-family:var(--font-display);font-weight:400;letter-spacing:.02em;text-transform:uppercase;font-size:clamp(1.5rem,4.5vw,2.1rem);line-height:1;padding:10px 22px 8px;border-radius:var(--r-pill);background:var(--shell);color:#1f5fe0;border:3px solid var(--outline);box-shadow:0 4px 0 var(--outline);text-wrap:balance;text-align:center}.pill-title.danger{color:var(--ember)}.pill-title.gold{color:#c27400}.menu{display:flex;flex-direction:column;gap:10px;width:min(320px,100%)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid var(--outline);border-radius:16px;cursor:pointer;background:var(--night-3);color:var(--shell);padding:12px 18px;font-family:var(--font-display);font-size:1.25rem;letter-spacing:.03em;box-shadow:0 5px 0 var(--outline);display:flex;justify-content:center;align-items:baseline;gap:10px;transition:transform .08s ease,background-color .15s ease}.btn small{font-family:var(--font-body);font-size:.8rem;color:var(--shell-dim);font-weight:800}.btn:hover:not(:disabled),.btn:focus-visible{background:#3a2e70}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--outline)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--leaf);color:#10300a}.btn-primary:hover:not(:disabled),.btn-primary:focus-visible{background:#79e553}.hint,.sub,.empty{color:var(--shell-dim);font-size:.92rem;max-width:46ch;text-align:center;margin:0}.sprite{background-repeat:no-repeat;image-rendering:auto;flex:none}@keyframes sprite-run{0%{background-position:0 var(--sprite-row-y)}to{background-position:var(--sprite-end-x) var(--sprite-row-y)}}.title-screen{justify-content:center;gap:16px}.logo{margin:0;display:flex;flex-direction:column;align-items:center;line-height:.86;font-family:var(--font-display);font-weight:400;text-transform:uppercase}.logo span{-webkit-text-stroke:3px var(--outline);paint-order:stroke fill;text-shadow:0 6px 0 var(--outline)}.logo-dino{font-size:clamp(3.4rem,15vw,6.4rem);color:var(--leaf);transform:rotate(-3deg)}.logo-egg{font-size:clamp(2.6rem,11vw,4.6rem);color:var(--shell);letter-spacing:.08em;background:radial-gradient(circle at 30% 40%,#6bc04a 0 7%,transparent 8%),radial-gradient(circle at 70% 65%,#6bc04a 0 6%,transparent 7%);-webkit-background-clip:text;background-clip:text}.logo-rush{font-size:clamp(3.2rem,14vw,6rem);color:var(--gold);transform:rotate(2deg)}.tagline{margin:0;color:var(--shell-dim);font-weight:800;letter-spacing:.04em;text-align:center}.best-line{margin:0;color:var(--shell-dim);font-variant-numeric:tabular-nums}.best-line b{color:var(--gold);font-family:var(--font-display);font-weight:400;font-size:1.2rem}.chase-strip{width:100%;max-width:720px;height:70px;overflow:hidden;position:relative;flex:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.chase-run{position:absolute;top:2px;display:flex;align-items:center;gap:6px;animation:chase 7s linear infinite}.chase-egg img{width:22px;display:block;margin-right:26px}@keyframes chase{0%{transform:translate(760px)}to{transform:translate(-460px)}}.panel-screen{gap:20px}.worlds{display:grid;gap:14px;width:min(560px,100%)}.world{background:var(--night-2);border:3px solid var(--outline);border-radius:18px;padding:10px 12px 14px;display:grid;gap:10px}.world-head{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.1rem;letter-spacing:.03em}.world-head img{width:84px;height:36px;object-fit:cover;object-position:top;border-radius:8px}.level-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.lvl{aspect-ratio:1;max-width:100%;border-radius:14px;border:3px solid var(--outline);background:var(--night-3);cursor:pointer;font-family:var(--font-display);font-size:1.4rem;box-shadow:0 4px 0 var(--outline)}.lvl:not(:disabled):hover{background:var(--leaf);color:#10300a}.lvl:disabled{opacity:.4;cursor:default}.lvl svg{width:20px;height:20px;fill:var(--shell-dim)}.lvl-jungle:not(:disabled){border-color:#1b2a12}.board{list-style:none;margin:0;padding:0;width:min(420px,100%);display:grid;gap:6px;font-variant-numeric:tabular-nums}.board li{display:grid;grid-template-columns:2.2em 1fr auto 5.5em;gap:10px;align-items:center;background:var(--night-2);border:2px solid var(--outline);border-radius:12px;padding:8px 14px}.board li.first{background:#3a2a10;border-color:var(--gold)}.board .rank{color:var(--shell-dim)}.board .ini{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.12em}.board .lv{color:var(--shell-dim);font-size:.85rem}.board .sc{text-align:right;color:var(--gold);font-weight:900}.settings{display:flex;flex-direction:column;align-items:center;gap:16px;width:min(420px,100%)}.setting{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;background:var(--night-2);border:2px solid var(--outline);border-radius:14px;padding:12px 14px}.setting label{display:flex;align-items:center;gap:10px;font-weight:800}.setting label img{width:30px;height:30px}.setting input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--leaf)}.setting select{background:var(--night-3);border:2px solid var(--outline);border-radius:10px;padding:6px 8px}.setting-choice{margin:0;display:grid;grid-template-columns:1fr;gap:10px;min-width:0}.setting-choice legend{float:left;width:100%;padding:0;font-weight:800;margin-bottom:2px}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;background:var(--outline);padding:4px;border-radius:14px}.seg button{border:0;border-radius:10px;background:transparent;color:var(--shell-dim);padding:8px 4px;cursor:pointer;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}.seg button:hover{color:var(--shell);background:var(--night-3)}.seg button.on{background:var(--leaf);color:#10300a}.seg button.mode-easy.on{background:var(--sky);color:var(--outline)}.seg button.mode-hard.on{background:var(--ember);color:#2a0600}.seg-lives img{width:22px;height:22px;object-fit:contain}.seg-lives button:not(.on) img{filter:grayscale(.7);opacity:.7}.setting-note{margin:0;color:var(--shell-dim);font-size:.88rem}.setup-chip{border:2px solid var(--outline);background:var(--night-2);color:var(--shell-dim);border-radius:999px;padding:4px 14px;font-weight:900;font-size:.85rem;cursor:pointer}.setup-chip:hover{color:var(--shell)}.tag{font-style:normal;margin-left:6px;padding:1px 7px;border-radius:999px;font-size:.72rem;font-weight:900;background:var(--night-3);color:var(--shell)}.tag.mode-easy{background:#164a63}.tag.mode-hard{background:#6a1d12}.toggle{min-width:64px;border-radius:var(--r-pill);border:2px solid var(--outline);background:var(--night-3);padding:6px 12px;cursor:pointer;font-weight:900}.toggle.on{background:var(--leaf);color:#10300a}.tabs{display:flex;gap:6px;background:var(--night-2);padding:4px;border-radius:var(--r-pill);border:2px solid var(--outline)}.tabs button{border:0;background:none;padding:6px 18px;border-radius:var(--r-pill);cursor:pointer;font-weight:900}.tabs button[aria-selected=true]{background:var(--sky);color:var(--outline)}.howto,.bios{width:min(560px,100%);display:grid;gap:12px;line-height:1.5}.howto p{margin:0}.score-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.score-table td{padding:6px 8px;border-bottom:1px solid #2f2658}.score-table td:last-child{text-align:right;color:var(--gold);font-weight:900;white-space:nowrap}.score-table img{width:20px;height:20px;object-fit:contain;vertical-align:-4px;margin-right:6px}kbd{display:inline-block;min-width:1.6em;text-align:center;padding:1px 6px;margin:0 2px;border-radius:6px;background:var(--night-3);border:2px solid var(--outline);border-bottom-width:4px;font-family:var(--font-body);font-weight:900;font-size:.85em}.bio{display:flex;gap:14px;align-items:center;background:var(--night-2);border:2px solid var(--outline);border-radius:14px;padding:10px 14px}.bio b{font-family:var(--font-display);font-weight:400;font-size:1.2rem;letter-spacing:.03em}.bio p{margin:2px 0 0;color:var(--shell-dim)}.game-view{flex:1;min-height:0;display:flex;flex-direction:column}.hud{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--night-2);border-bottom:3px solid var(--outline);padding-block:8px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));font-variant-numeric:tabular-nums}.hud-block{display:flex;flex-direction:column;line-height:1;min-width:3.4em}.hud-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--shell-dim);font-weight:900}.hud-num{font-family:var(--font-display);font-size:1.35rem;margin-top:3px;display:flex;align-items:center;gap:4px}.hud-num small{font-size:.75rem;color:var(--shell-dim)}.egg-count img{width:14px;height:17px}.hud-lives{display:flex;gap:2px}.hud-lives img{width:30px;height:30px;object-fit:contain;transition:opacity .3s,filter .3s}.hud-lives img.lost{opacity:.25;filter:grayscale(1)}.hud-actions{margin-left:auto;display:flex;gap:6px}.icon-btn{width:40px;height:40px;padding:0;border:0;background:none;cursor:pointer;border-radius:12px}.icon-btn img{width:100%;height:100%;object-fit:contain;display:block}.power-bar{flex-basis:100%;display:flex;align-items:center;gap:10px;height:0;overflow:hidden;opacity:0;transition:height .2s,opacity .2s}.power-bar.active{height:18px;opacity:1}.power-label{font-family:var(--font-display);color:var(--gold);font-size:.9rem;letter-spacing:.08em}.power-track{flex:1;height:10px;border-radius:var(--r-pill);background:var(--outline);overflow:hidden}.power-fill{display:block;height:100%;background:linear-gradient(90deg,#ff9d1a,var(--gold));transform-origin:left}.power-bar.ending .power-fill{animation:blink .25s steps(2) infinite}.power-secs{width:3.2em;text-align:right;font-weight:900;color:var(--gold);font-size:.85rem}@keyframes blink{50%{opacity:.2}}.stage{position:relative;flex:1;min-height:0;touch-action:none;overflow:hidden}.stage .phaser-host{position:absolute;top:6px;bottom:6px;left:max(6px,env(safe-area-inset-left,0px));right:max(6px,env(safe-area-inset-right,0px));width:auto;height:auto;overflow:hidden}.phaser-host canvas{display:block;border-radius:10px}.banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:5;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px;animation:pop .35s cubic-bezier(.2,1.6,.4,1);text-align:center;width:max-content;max-width:92%}.banner-title{font-family:var(--font-display);font-size:clamp(2.2rem,9vw,3.6rem);color:var(--shell);line-height:1;-webkit-text-stroke:3px var(--outline);paint-order:stroke fill;text-shadow:0 5px 0 var(--outline)}.banner-big .banner-title{color:var(--gold);font-size:clamp(2.6rem,11vw,4.4rem)}.banner-sub{background:var(--outline);color:var(--shell);padding:5px 14px;border-radius:var(--r-pill);font-weight:900;font-size:.95rem}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}}.dpad{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,54px);grid-template-areas:". up ." "left . right" ". down .";justify-content:center;gap:4px;padding-block:6px 10px;flex:none}.dp{border:3px solid var(--outline);background:var(--night-3);border-radius:16px;cursor:pointer;box-shadow:0 4px 0 var(--outline);touch-action:none;display:grid;place-items:center}.dp:active{background:var(--leaf);transform:translateY(3px);box-shadow:0 1px 0 var(--outline)}.dp svg{width:26px;height:26px;fill:var(--shell)}.dp-up{grid-area:up}.dp-down{grid-area:down}.dp-down svg{transform:rotate(180deg)}.dp-left{grid-area:left}.dp-left svg{transform:rotate(-90deg)}.dp-right{grid-area:right}.dp-right svg{transform:rotate(90deg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#080516b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding-block:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));overflow-y:auto}.card{background:var(--night-2);border:3px solid var(--outline);border-radius:24px;box-shadow:0 8px 0 var(--outline);padding:22px 20px;width:min(400px,100%);display:flex;flex-direction:column;align-items:center;gap:14px}.overlay:has(.card-victory){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;align-items:end}.card-victory{background:#1d1638e0}.card .pose{margin-bottom:-10px}.big-score{margin:0;font-family:var(--font-display);font-size:2.6rem;color:var(--gold);font-variant-numeric:tabular-nums;line-height:1}.name-entry{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.name-entry label{color:var(--shell-dim);font-weight:800}.name-entry input{width:6ch;text-align:center;font-family:var(--font-display);font-size:2.4rem;letter-spacing:.2em;padding:6px 0 4px .2em;background:var(--outline);border:3px solid var(--sky);border-radius:14px;text-transform:uppercase;-webkit-user-select:text;user-select:text}@media (max-width: 560px){.hide-narrow{display:none}.hud{flex-wrap:wrap;gap:4px 8px;padding-block:6px}.hud-block{min-width:0}.hud-label{font-size:.6rem}.hud-num{font-size:1.05rem}.icon-btn{width:32px;height:32px}.hud-lives img{width:20px;height:20px}.hud-actions{gap:4px}.stage .phaser-host{top:2px;bottom:2px;left:max(2px,env(safe-area-inset-left,0px));right:max(2px,env(safe-area-inset-right,0px))}.dpad{grid-template-columns:repeat(3,82px);grid-template-rows:repeat(3,66px);gap:6px;padding-block:6px 12px}.dp svg{width:30px;height:30px}.screen{padding-block:16px 24px;gap:14px}.btn{padding:10px 16px;font-size:1.15rem}}@media (min-width: 700px) and (pointer: coarse){.dpad{grid-template-columns:repeat(3,84px);grid-template-rows:repeat(3,70px)}}@media (orientation: landscape) and (max-height: 820px) and (pointer: coarse){.game-view{position:relative}.dpad{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:4;opacity:.9;padding:0}.game-view.has-dpad .stage .phaser-host{right:calc(max(12px,env(safe-area-inset-right,0px)) + 276px)}}@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse){.game-view.has-dpad .stage .phaser-host{right:calc(max(12px,env(safe-area-inset-right,0px)) + 216px);left:max(12px,env(safe-area-inset-left,0px))}.dpad{grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,58px)}}@media (orientation: landscape) and (max-height: 500px){.hud{padding-block:4px}.hud-label{font-size:.55rem}.hud-num{font-size:1rem;margin-top:1px}.power-bar.active{height:12px}.title-screen .chase-strip,.tagline{display:none}.logo-dino,.logo-rush{font-size:2.6rem}.logo-egg{font-size:2rem}.title-screen .menu{width:min(520px,100%);display:grid;grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion: reduce){.chase-run,.banner,.power-bar.ending .power-fill{animation:none}.sprite{animation-duration:0s!important}}
