@font-face{font-family:"BB Kenney";src:url("ui-redesign/fonts/kenney-future.ttf") format("truetype");font-display:swap}
:root{font-family:Georgia,serif;color:#f0f8e7;background:#0d251f;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;background:#153b2a}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}
.cycle-app{width:min(100%,750px);min-height:100dvh;margin:auto;padding:10px 12px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px}
.cycle-header,.cycle-hud,.arena-shell,.cycle-status,.cycle-bottom,.cycle-rules,.cycle-debug{width:100%}
.cycle-header{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:8px}
.home-button,.restart-button{height:44px;border:0;border-radius:12px;background:#285846;color:#fff8df}
.home-button{display:grid;place-items:center;width:46px}.home-button img{width:27px;height:27px;object-fit:contain;filter:brightness(0) invert(1)}
.restart-button{padding:0 12px;font:700 .67rem/1 "BB Kenney",Georgia,serif}
.heading{text-align:center;min-width:0}.heading span{display:block;color:#c9dfad;text-transform:uppercase;letter-spacing:.13em;font-size:.58rem}.heading h1{margin:2px 0 0;color:#fff9e5;font:700 clamp(1rem,4vw,1.48rem)/1.3 "BB Kenney",Georgia,serif}
.cycle-hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.cycle-hud>div{min-width:0;min-height:52px;padding:7px 3px;border-radius:11px;background:#0b281f;text-align:center}
.cycle-hud span{display:block;color:#d6e4bd;text-transform:uppercase;letter-spacing:.07em;font:700 .54rem/1.2 "BB Kenney",Georgia,serif}
.cycle-hud strong{display:block;margin-top:4px;color:#ffe6a0;font:700 clamp(.86rem,2.8vw,1.1rem)/1.25 "BB Kenney",Georgia,serif}
.arena-shell{position:relative;flex:none;width:min(100%,calc((100dvh - 214px)*.833333));aspect-ratio:5/6;margin:4px auto 0;border-radius:18px;overflow:hidden;background:#153829}
#arena{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}
.cycle-status{min-height:20px;margin:5px 0 0;color:#ffdfa0;text-align:center;font:700 .68rem/1.4 "BB Kenney",Georgia,serif}
.cycle-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#dfebcf;font:700 .62rem/1.3 "BB Kenney",Georgia,serif}
.cycle-bottom span{min-width:0}.cycle-bottom button{flex:none;border:0;border-radius:9px;padding:7px 9px;background:#1d4e3c;color:#fff9e5;font:700 .6rem/1 "BB Kenney",Georgia,serif}
.cycle-rules{margin:0;color:#d0dec9;text-align:center;font-size:.72rem;line-height:1.35}
.result-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,25,20,.73)}.result-overlay[hidden]{display:none}
.result-card{width:min(87%,390px);padding:25px 20px;border-radius:18px;background:#1d4939;text-align:center}
.result-card>span{color:#f8dc91;text-transform:uppercase;letter-spacing:.13em;font:700 .7rem/1.3 "BB Kenney",Georgia,serif}
.result-card h2{margin:10px 0 18px;font:700 1.22rem/1.4 "BB Kenney",Georgia,serif}.result-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.result-numbers>div{display:grid;gap:7px;padding:9px 3px;border-radius:10px;background:#153b2a;color:#d5e6c8;font-size:.75rem}.result-numbers b{color:#ffe6a0;font:700 .9rem/1 "BB Kenney",Georgia,serif}.result-card p{margin:18px 0;color:#e0edcd}.result-card button{width:100%;min-height:46px;border:0;border-radius:10px;background:#e6ad50;color:#173124;font:700 .75rem/1 "BB Kenney",Georgia,serif}
.cycle-debug{margin:0;padding:8px;border-radius:8px;background:#08231b;color:#e3f6e3;font:11px/1.4 monospace;white-space:pre-wrap}
@media(max-width:520px){.cycle-app{padding:8px 8px max(12px,env(safe-area-inset-bottom));gap:6px}.cycle-header{grid-template-columns:40px 1fr auto;gap:5px}.home-button,.restart-button{height:40px;border-radius:10px}.home-button{width:40px}.home-button img{width:23px;height:23px}.restart-button{padding:0 7px;font-size:.55rem}.heading span{font-size:.46rem}.cycle-hud>div{min-height:47px}.cycle-hud span{font-size:.43rem}.cycle-hud strong{font-size:.78rem}.arena-shell{width:min(100%,calc((100dvh - 190px)*.833333))}.cycle-status{font-size:.58rem}.cycle-bottom{font-size:.53rem}.cycle-bottom button{font-size:.51rem}.cycle-rules{font-size:.65rem}}
@media(max-height:640px){.cycle-rules{display:none}.arena-shell{width:min(100%,calc((100dvh - 168px)*.833333))}}
