/* Expedition interface: the arena owns all movement coordinates. */
#gc{--sidebar:228px;--gap:32px;background:#f5f3e9;color:#263d2c;padding:0;min-height:460px}
#game-header{position:absolute;left:32px;right:32px;top:0;height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9decd;z-index:210}
#game-header .wordmark{font-size:18px}#game-header .wordmark span{font-size:8px;letter-spacing:1.5px}.header-center{font:10px 'Share Tech Mono',monospace;letter-spacing:2px;color:#89947c;display:flex;align-items:center;gap:9px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#829b56;box-shadow:0 0 0 4px #829b5612;flex-shrink:0}
#game-actions{display:flex;gap:8px}#mu,#pause-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d2d9c7;background:#eef0e5;color:#3b5134;border-radius:8px;font:16px Arial,sans-serif;box-shadow:none;padding:0;cursor:pointer}#mu:hover,#pause-button:hover{background:#e1e7d5}#pause-button{font-weight:bold}
#hud{position:absolute;top:118px;left:32px;bottom:35px;width:var(--sidebar);padding:0 24px 0 0;display:flex;flex-direction:column;justify-content:flex-start;gap:27px;z-index:200;border-right:1px solid #d9decd}
.hl,.section-label{font:10px 'Share Tech Mono',monospace;letter-spacing:1.5px;color:#859075}#sc{font:700 56px Arial,sans-serif;letter-spacing:-3px;color:#293f2c;line-height:1.1;margin-top:9px}#bs{font:9px 'Share Tech Mono',monospace;color:#8a9679;letter-spacing:1px;margin-top:9px}#bs:empty{display:none}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}.section-label span{color:#657652;letter-spacing:0}#hbg{width:100%;height:6px;border:0;border-radius:3px;background:#dfe5d3;margin-top:11px}#hb{border-radius:3px;background:#8ea95b!important}#gc.low-health #hb{background:#c77052!important}#wpm{font:12px 'Share Tech Mono',monospace;color:#687d57;letter-spacing:.5px;margin-top:14px}.objective{border-top:1px solid #d9decd;padding-top:25px}.objective h2{font:700 20px Arial,sans-serif;letter-spacing:-.7px;margin:11px 0}.objective p,.field-tip p{font:12px/1.8 Arial,sans-serif;color:#818c74}#wi{font:11px 'Share Tech Mono',monospace;letter-spacing:1px;color:#415a37;margin-top:23px}#wcd{position:static;transform:none;background:none;padding:0;border:0;border-radius:0;font:10px 'Share Tech Mono',monospace;color:#869177;letter-spacing:0;text-shadow:none;margin-top:8px}#wave-track{position:static;width:100%;height:3px;background:#dfe5d3;margin-top:11px}#wave-fill{background:#6f8d45}#co{position:static;padding:9px 10px;font:11px 'Share Tech Mono',monospace;background:#e4ebd4;color:#648339;border:1px solid #d5e0c3;border-radius:7px;letter-spacing:0;text-shadow:none;margin-top:-12px;white-space:normal;min-height:32px}.field-tip{margin-top:auto}.field-tip>span{font:9px 'Share Tech Mono',monospace;color:#9aa58b;letter-spacing:1px}.field-tip p{font-size:11px;margin:10px 0 15px}.field-tip>div{font:8px 'Share Tech Mono',monospace;color:#9aa38d;display:flex;align-items:center;gap:7px}kbd{font:9px 'Share Tech Mono',monospace;border:1px solid #d7ddc9;border-radius:4px;padding:3px 5px;background:#f1f3e9}
#arena-shell{position:absolute;left:calc(32px + var(--sidebar) + 28px);right:32px;top:108px;bottom:142px;display:flex;flex-direction:column;gap:12px}
.arena-heading{height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.arena-heading>div{display:flex;align-items:center;gap:10px}#expedition-name{position:static;transform:none;background:none;border:0;border-radius:0;padding:0;font:11px 'Share Tech Mono',monospace;color:#465d3c;letter-spacing:1.6px}#mode-badge{font:8px 'Share Tech Mono',monospace;letter-spacing:1.2px;border:1px solid #d7deca;color:#7e8d6c;padding:5px 9px;border-radius:4px}
#arena{position:relative;flex:1;min-height:0;border-radius:12px;overflow:hidden;isolation:isolate;background:#6f9c62;--dino-size:145px;box-shadow:0 6px 20px #29372513;border:1px solid #4c624832}
#bg{position:absolute;inset:0;background-color:#6f9c62;background-size:cover;background-position:center;filter:brightness(1.12) saturate(1.05);image-rendering:pixelated;image-rendering:crisp-edges;transition:background-image .6s}#scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#8fd6ff1c,transparent 35%,#2f4a2c10);box-shadow:inset 0 0 65px #2a44281f;z-index:1;pointer-events:none}#sl{z-index:2}.lane-guide{position:absolute;left:58px;right:30px;height:1px;background:linear-gradient(90deg,#e9efcd30,#e9efcd06 20%,#e9efcd12 85%,transparent)}.lane-guide>span{position:absolute;left:-36px;top:-4px;color:#f4f5d675;font:8px 'Share Tech Mono',monospace;letter-spacing:1px}#defense-line{position:absolute;left:54px;top:30px;bottom:10%;width:1px;z-index:4;border-left:1px dashed #f1c49255;pointer-events:none}#defense-line span{position:absolute;left:-19px;bottom:-18px;color:#f4c79a99;font:7px 'Share Tech Mono',monospace;letter-spacing:1px}.arena-caption{display:flex;justify-content:space-between;color:#99a18c;font:8px 'Share Tech Mono',monospace;letter-spacing:.8px;height:12px;flex-shrink:0}
/* Every dinosaur is a consistent six-frame rendered sprite. */
.dino{transform:translateX(-50%);width:var(--dino-size);bottom:10%;z-index:20;align-items:center;pointer-events:none}.dino.boss{width:calc(var(--dino-size)*1.4)}
.dino .ds,.dino.boss .ds{position:relative;display:block;width:var(--dino-size)!important;height:calc(var(--dino-size)*.8)!important;animation:none!important;filter:drop-shadow(0 3px 2px #0d1b1630);overflow:visible;flex-shrink:0}
.dino.boss .ds{width:calc(var(--dino-size)*1.5)!important;height:calc(var(--dino-size)*1.2)!important}
.sprite-sheet{position:absolute;inset:0;background-size:600% 100%;background-repeat:no-repeat;z-index:1;image-rendering:pixelated;image-rendering:crisp-edges}.rendered-dino::after{content:'';position:absolute;bottom:-2%;left:20%;width:60%;height:9%;background:#0e201bb0;border-radius:50%;filter:blur(4px);z-index:0}.dino.fly .rendered-dino::after{opacity:.3;transform:scale(.6)}
.rendered-dino>img.sprite-probe{display:none;transform:none}.rendered-dino>svg{display:none;position:absolute;inset:0;animation:none!important}.rendered-dino.sprite-failed>svg{display:block;visibility:visible}.sprite-failed .sprite-sheet{display:none}
.dw,.dino.boss .dw{position:relative;flex-shrink:0;font:15px 'Share Tech Mono',monospace!important;letter-spacing:1.8px;background:#f8f7e8f5;color:#35432c;border:1px solid #e6e9ca!important;border-radius:6px;padding:7px 11px;margin-bottom:-8px;white-space:nowrap;box-shadow:0 4px 8px #14201233;max-width:min(330px,75vw)}.dw::after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:7px;height:7px;background:inherit;transform:rotate(45deg)}.dw.act{border-color:#d6ef7e!important;background:#e8f7b6;box-shadow:0 0 0 3px #d6ed7950,0 4px 12px #19241230}.tc{color:#8ba752}.danger .dw{background:#f9e1c8;color:#82482a;border-color:#e3ac79!important}.dw.bad{background:#f6cfbc!important;border-color:#d1815d!important}.dino.die{animation:dissolve .38s ease-out forwards}.dino.die .ds{animation:none!important}@keyframes dissolve{to{opacity:0;filter:brightness(1.7);transform:translateX(-50%) translateY(-12px) scale(.9)}}
#arena .sp{width:22px;height:22px;font-size:0;border:2px solid #e4f1ac;border-radius:50%;box-shadow:0 0 16px #e4f1ac;animation:burst .55s ease-out forwards}@keyframes burst{from{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(3)}}
#arena .pop{font:14px 'Share Tech Mono',monospace!important;letter-spacing:1px;color:#eff6c9!important;text-shadow:0 2px 4px #112716!important}
#wb,#ba,#cb{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;color:#f1f4d8;text-shadow:0 2px 20px #1a291a80;font:700 clamp(23px,3.2vw,44px) Arial,sans-serif;letter-spacing:-1px;white-space:nowrap;z-index:90;opacity:0;pointer-events:none}#wb small,#ba small{display:block;font:10px 'Share Tech Mono',monospace;letter-spacing:3px;margin-bottom:12px;color:#d6e3b1}#ba{font-size:clamp(22px,2.8vw,38px);color:#f5d4ab}#ba small{color:#e9c18d}#cb{font:12px 'Share Tech Mono',monospace;letter-spacing:3px}
#bhu{position:absolute;top:12px;bottom:auto;left:50%;transform:translateX(-50%);width:min(360px,65%);padding:8px 14px;background:#14251cce;border:1px solid #bfca9140;border-radius:6px;gap:6px;z-index:50}#bn{font:9px 'Share Tech Mono',monospace;color:#edddbe!important;text-shadow:none!important;letter-spacing:1px}#bbg{width:100%;height:4px;border:0;background:#b4b29326;border-radius:3px}#bb{border-radius:3px;background:#d4a35f!important}
#ia{position:absolute;bottom:30px;left:calc(32px + var(--sidebar) + 28px);right:32px;transform:none;width:auto;display:grid;grid-template-columns:1fr 270px;gap:9px 16px;align-items:stretch;z-index:200}.typing-console{border:1px solid #cdd7be;background:#fafbf0;border-radius:9px;padding:12px 16px 9px;min-width:0;box-shadow:0 3px 9px #34432a05}.typing-console:focus-within{border-color:#8ca968;box-shadow:0 0 0 3px #a9c68416}.input-caption{display:flex;justify-content:space-between;font:8px 'Share Tech Mono',monospace;color:#9ba789;letter-spacing:1px;gap:8px}.input-caption span:first-child{color:#72885a}#ti{display:block;border:0;border-radius:0;background:transparent;box-shadow:none;width:100%;max-width:none;font:20px 'Share Tech Mono',monospace;color:#324c2b;text-align:left;letter-spacing:1px;padding:9px 0 0;caret-color:#738d4d}#ti:focus{box-shadow:none;border:0}#ti::placeholder{color:#859474;font-size:17px}#focus-button{display:flex;align-items:center;gap:12px;position:relative;width:auto;padding:14px 16px;overflow:hidden;border:1px solid #ced9bc;background:#e8eddc;color:#79925b;border-radius:9px;text-align:left;letter-spacing:.3px}#focus-button .focus-symbol{font:30px Arial,sans-serif;z-index:1}.focus-copy{display:flex;flex-direction:column;gap:7px}.focus-copy strong{font:10px 'Share Tech Mono',monospace;letter-spacing:1px}#focus-label{font:8px 'Share Tech Mono',monospace;color:#889976}#focus-button kbd{margin-left:auto;z-index:1;color:#90a176;font-size:8px;background:#f1f5e7;border-color:#d1ddbd;padding:5px}#focus-fill{top:auto;bottom:0;height:3px;background:#94b65c;transition:width .15s}#focus-button.ready{background:#dfeeb9;border-color:#a3bd63;color:#54712d;box-shadow:0 0 0 3px #bed87b16}#focus-button.ready #focus-label{color:#597735}#th{grid-column:1/-1;text-align:center;font:8px 'Share Tech Mono',monospace;letter-spacing:1.2px;color:#9aa68b;opacity:1;text-shadow:none}
#focus-aura{z-index:60;box-shadow:inset 0 0 90px #d3ef7655}.low-health #arena{box-shadow:0 0 0 2px #c87b5344}.focused .arena-heading .live-dot{background:#b0cd68;box-shadow:0 0 10px #a2c252}
#pz{position:absolute;inset:0;background:#eff1e7e6;backdrop-filter:blur(8px);z-index:450;gap:20px}.pause-eyebrow{font:10px 'Share Tech Mono',monospace;letter-spacing:3px;color:#8a9c72}#pz .pt{font:700 46px Arial,sans-serif;letter-spacing:-2px;color:#2c432c;text-shadow:none}#pz .ps{font:10px 'Share Tech Mono',monospace;letter-spacing:1.6px;color:#92a17b}#return-menu{color:#869575;margin-top:24px;font-size:11px}
@media(max-width:1100px){#gc{--sidebar:185px}#game-header{left:24px;right:24px}#hud{left:24px;padding-right:20px}#arena-shell,#ia{left:calc(24px + var(--sidebar) + 22px);right:24px}#ia{grid-template-columns:1fr 220px}.header-center{font-size:8px;letter-spacing:1px}.input-caption span:last-child{display:none}#focus-button{padding:12px;gap:8px}#focus-button kbd{display:none}#sc{font-size:48px}.objective h2{font-size:18px}}
@media(max-width:760px){#gc{--sidebar:0px;min-height:520px}#game-header{left:18px;right:18px;height:74px}.header-center{display:none}#game-header .wordmark{font-size:15px}#game-header .wordmark span{font-size:6px}#hud{top:91px;left:18px;right:18px;bottom:auto;width:auto;border:0;padding:0;flex-direction:row;justify-content:space-between;gap:15px;height:72px}.score-card{min-width:90px}#sc{font-size:30px;letter-spacing:-1px;margin:3px 0 0}.hl{font-size:8px;letter-spacing:1px}#bs{display:none}.vitals{width:120px}#wpm{font-size:10px;margin-top:9px}.section-label{font-size:7px}#hbg{width:100%}.objective{margin:0;padding:0;border:0;text-align:right}.objective .hl,.objective h2,.objective p{display:none}#wi{margin-top:0;font-size:11px}#wcd{font-size:8px;margin-top:8px}#wave-track{margin-top:8px}.field-tip{display:none}#co{display:none}#arena-shell{left:18px;right:18px;top:180px;bottom:169px;gap:10px}.arena-heading{height:16px}#expedition-name{font-size:9px;letter-spacing:1px}.arena-caption{font-size:6px;letter-spacing:.2px}.arena-caption span:first-child{max-width:70%}.dino .dw,.dino.boss .dw{font-size:12px!important;letter-spacing:1px;padding:6px 8px}#ia{left:18px;right:18px;bottom:22px;grid-template-columns:1fr;gap:8px}.typing-console{padding:9px 12px}#ti{padding:7px 0 0;font-size:17px}#ti::placeholder{font-size:15px}#focus-button{padding:9px 12px;min-height:36px}.focus-copy{flex-direction:row;align-items:center;gap:12px;flex:1;justify-content:space-between}#focus-button .focus-symbol{font-size:19px}.focus-copy strong{font-size:8px}#focus-label{font-size:7px}#focus-button kbd{display:block;font-size:7px;padding:3px}#th{display:none}#bhu{width:70%;padding:7px;top:7px}#bn{font-size:7px;letter-spacing:0}#pz .pt{font-size:32px}#mu,#pause-button{width:32px;height:32px}}
@media(max-height:650px) and (min-width:761px){#hud{gap:18px;top:104px}.objective{padding-top:17px}.field-tip p{margin:7px 0;font-size:10px}#sc{font-size:40px}#arena-shell{top:101px;bottom:132px}#ia{bottom:24px}.objective p{font-size:11px}.objective h2{font-size:16px}.field-tip>div{display:none}}
@media(prefers-reduced-motion:reduce){.dino.die{animation:none!important;opacity:0}.sprite-sheet{background-position:0 0!important}#arena .sp{display:none}}
#arena #bg{background-size:100% 100%}
.vitals{width:100%}
.dino .dw,.dino.boss .dw{margin-bottom:-31px}
.dino:has([data-family="quad"]) .dw{margin-bottom:-56px}
.dino:has([data-family="low"]) .dw{margin-bottom:-68px}
.dino:has([data-family="tall"]) .dw{margin-bottom:-19px}
@media(max-width:760px){.vitals{width:110px}.dino .dw,.dino.boss .dw{font-size:11px!important}.dino:has([data-family="quad"]) .dw{margin-bottom:-45px}.dino:has([data-family="low"]) .dw{margin-bottom:-55px}}
/* Full-window gameplay, with compact controls floating over the environment. */
#gc{min-height:0;height:100dvh;background:#eaf0dd}
#arena-shell{inset:0;display:block}
#arena{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}
#scene-shade{background:linear-gradient(180deg,#7fc9f23d,transparent 27%,transparent 74%,#2c46293d);box-shadow:inset 0 0 90px #2a442816}
.arena-heading{position:absolute;top:24px;left:50%;transform:translateX(-50%);height:auto;z-index:205;flex-direction:column;gap:8px;pointer-events:none}
#expedition-name{color:#edf1d2;font-size:12px;letter-spacing:2px;text-shadow:0 2px 5px #142317}
#mode-badge{color:#c9d5b1;border-color:#c7d3a92b;background:#172b2199}
.arena-caption{position:absolute;bottom:24px;left:24px;right:24px;z-index:5;color:#d0d9b17a;pointer-events:none}
#game-header{top:20px;right:24px;left:auto;width:auto;height:auto;border:0}
#game-header .wordmark,.header-center{display:none}
#game-actions{gap:7px}
#mu,#pause-button,#fullscreen-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid #c4d19a3b;border-radius:8px;background:#172c22d9;backdrop-filter:blur(12px);color:#e0eac4;font:17px Arial,sans-serif;cursor:pointer;box-shadow:0 4px 12px #0c1b1720}
#mu:hover,#pause-button:hover,#fullscreen-button:hover{background:#35513ae6}
#hud{display:contents}
.score-card,.vitals,.objective{position:absolute;z-index:200;background:#2c4433cc;border:1px solid #dff0b866;border-radius:16px;backdrop-filter:blur(12px);box-shadow:0 5px 18px #0b201322}
.score-card{top:20px;left:24px;min-width:146px;padding:13px 17px}
.hl,.section-label{color:#b2c39a;font-size:9px}
#sc{color:#f1f5d7;font-size:36px;letter-spacing:-1px;margin-top:5px}
#bs{color:#a6bd88;font-size:8px;margin-top:5px}
.vitals{top:72px;right:24px;width:176px;padding:12px 14px}
.section-label span{color:#c6d9ad}#hbg{background:#dae5b520}#wpm{color:#d2dfb6;font-size:11px;margin-top:10px}
.objective{top:85px;left:50%;transform:translateX(-50%);width:220px;padding:10px 14px;text-align:center}
.objective .hl,.objective h2,.objective p,.field-tip{display:none}
#wi{margin:0;color:#dae9b9;font-size:10px}#wcd{color:#b2c89a;font-size:9px;margin-top:5px}#wave-track{margin-top:7px;background:#dae5b520}
#co{position:absolute;top:132px;left:24px;margin:0;background:#223b27db;color:#e0efa6;border-color:#b5cc7940;z-index:200}
#ia{left:50%;right:auto;bottom:28px;transform:translateX(-50%);width:min(760px,calc(100% - 48px));grid-template-columns:minmax(0,1fr) 250px;gap:8px 12px}
.typing-console{background:#122a21e6;border-color:#aabd7d66;backdrop-filter:blur(16px);box-shadow:0 5px 22px #091d1733}
.input-caption{color:#a6ba8a}.input-caption span:first-child{color:#c6dea1}
#ti{color:#edf4d1;caret-color:#d6ed9c}#ti::placeholder{color:#b8cba0}
.typing-console:focus-within{border-color:#c7df8d;box-shadow:0 0 0 3px #cee58e12}
#focus-button{background:#213920e6;color:#d0e4a2;border-color:#8aa26566;backdrop-filter:blur(16px)}#focus-label{color:#b1c88e}
#focus-button kbd{background:#31492a;border-color:#8ca16b55;color:#cfdfa9}
#focus-button.ready{background:#cee896;color:#324a1e;border-color:#e0f2b7}
#th{color:#d7e2b690;font-size:8px}
#defense-line{top:155px}
#bhu{top:150px}
@media(max-width:760px){
  #game-header{top:14px;right:14px}
  #mu,#pause-button,#fullscreen-button{width:31px;height:31px;font-size:15px}
  .score-card{left:14px;top:14px;min-width:98px;padding:10px 12px}#sc{font-size:28px}.score-card .hl{font-size:7px;letter-spacing:.6px}
  .vitals{right:14px;top:54px;width:137px;padding:10px}#wpm{font-size:9px}.section-label{font-size:7px}
  .arena-heading{top:122px;gap:5px}#expedition-name{font-size:10px}#mode-badge{display:none}
  .objective{top:145px;width:184px;padding:7px 12px}#wi{font-size:9px}#wcd{font-size:8px}#wave-track{margin-top:5px}
  #co{display:none}#defense-line{top:194px}
  #ia{bottom:max(16px,env(safe-area-inset-bottom));width:calc(100% - 28px);grid-template-columns:1fr;gap:7px}
  #focus-button{min-height:34px;padding:8px 12px}.arena-caption{display:none}#bhu{top:198px;width:65%}
}
@media(max-height:600px) and (min-width:761px){
  .score-card{padding:9px 13px}#sc{font-size:27px}.vitals{top:68px;padding:9px 12px}
  .objective{top:70px;padding:7px 12px}.arena-heading{top:17px}#ia{bottom:12px}#th,.arena-caption{display:none}
  #co{top:115px}#bhu{top:126px}#defense-line{top:134px}
}
#fullscreen-button[hidden]{display:none}
@media(max-width:760px){.arena-heading{top:23px}.objective{left:14px;top:96px;transform:none;width:137px}}
