:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#0d1c33}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{display:flex;justify-content:center;background:radial-gradient(circle at 50% 0,#304e81,#0d1c33 72%)}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}#shell{width:min(100%,460px);height:100dvh;min-height:590px;max-height:1000px;position:relative;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(155deg,#213c64 0%,#112741 65%,#12243f);box-shadow:0 0 36px #020c22aa}.topbar{height:62px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;z-index:2}.brand{font-size:19px;font-weight:900;letter-spacing:1.4px}.brand b{color:#5fe2c3}.brandicon{color:#6becc5;font-size:25px;margin-right:8px}.mini{border:1px solid #6d8ea4;border-radius:12px;color:#fff;background:#28466a;min-width:42px;height:40px}.screen{display:none;flex:1;min-height:0;overflow-y:auto;padding:8px 22px 16px}.screen.active{display:flex;flex-direction:column}.hero{text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.pill{border:1px solid #66bdb6;padding:7px 12px;color:#9bece0;border-radius:30px;font-size:10px;font-weight:800;letter-spacing:1.2px}.mascot{font-size:98px;line-height:1.4;filter:drop-shadow(0 12px 12px #07172b88);animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-9px)}}h1{margin:0;font-size:clamp(32px,8vw,44px);line-height:1.1;font-weight:950}h1 em{font-style:normal;color:#7decbd}p{line-height:1.45}.hero p{color:#c5d5e4;font-size:14px}.menu,.panel{gap:11px}.identity{text-align:center;font-size:12px;color:#b9daee}.primary,.secondary{width:100%;border-radius:15px;padding:14px 12px;font-weight:900;letter-spacing:.4px;border:0;min-height:49px}.primary{background:linear-gradient(120deg,#5df2bc,#20c8a9);color:#10223a;box-shadow:0 5px 0 #158c7b}.secondary{background:#28476b;color:white;border:1px solid #58789d}.primary:active,.secondary:active{transform:translateY(2px)}.hint{font-size:12px;text-align:center;color:#9cb4ce}.screen.panel{padding-top:35px;align-items:stretch}.panel h2{text-align:center;color:#78edca;margin:0;font-size:25px}.panel h1{text-align:center}.intro{text-align:center;color:#c1d4e7;font-size:13px}.bigicon{text-align:center;font-size:80px}.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.statgrid>div{border:1px solid #6687a5;padding:14px 5px;border-radius:12px;text-align:center;background:#294667}.statgrid strong{display:block;font-size:22px;color:#80efc5}.statgrid small,.hud small{display:block;font-size:10px;color:#bccee4;font-weight:800;letter-spacing:1px}footer{text-align:center;color:#7f9bb9;font-size:9px;letter-spacing:1px;padding:10px}.hud{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.hud div{min-width:60px}.hud strong{color:#83ebc9;font-size:20px}#game{padding:3px 12px 6px;overflow:hidden}#field{position:relative;flex:1;min-height:0;border-radius:16px;overflow:hidden;border:3px solid #527c96;background:#142840}canvas{display:block;width:100%;height:100%;touch-action:none}.gamecontrols{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:10px;margin-top:9px}.gamecontrols button{border:1px solid #8de6d3;border-radius:15px;min-height:65px;background:#295579;color:white;font-size:20px;font-weight:900}.gamecontrols #jumpBtn{background:#54e0ad;color:#133750;font-size:16px}.overlay{position:absolute;inset:0;background:#081a2fdf;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:16px;padding:25px}.overlay h2{margin:0}.hidden{display:none!important}.countdown{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-size:90px;font-weight:900;text-shadow:0 5px 15px #000}#authTabs{display:flex;gap:9px;margin:15px 0}button.tab{flex:1;padding:11px;border-radius:10px;border:1px solid #7597b9;color:white;background:#294665}.tab.chosen{background:#21bda2;color:#072841}form{display:flex;flex-direction:column;gap:15px}label{font-size:13px;font-weight:700;display:block}input{display:block;width:100%;margin-top:6px;background:#eaf5fa;border:2px solid transparent;border-radius:12px;padding:14px;color:#0e2840;outline:none}input:focus{border-color:#62e8b7}.error{min-height:17px;color:#ff9d9d;font-size:12px;margin:0}.textbtn{color:#a1dddb;background:none;border:0;text-decoration:underline;padding:10px}.ranking{display:flex;flex-direction:column;gap:8px;flex:1;min-height:100px}.rankrow{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;border:1px solid #4a6989;border-radius:12px;background:#294666;padding:12px}.rankrow strong{color:#a4ffda}.rankrow small{display:block;color:#a7bed4}.rankrow span{overflow-wrap:anywhere}#resultLabel{text-align:center;color:#abc4d7}@media(max-height:670px){.topbar{height:50px}.hero .mascot{font-size:60px}.hero p{margin:5px;font-size:12px}.primary,.secondary{min-height:40px;padding:9px}.hint{margin:4px}.gamecontrols button{min-height:48px}.screen.panel{padding-top:8px}.bigicon{font-size:50px}}

/* Optional locally stored selfie as nurse face */
.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:transparent;color:#b8f6ea;padding:4px 12px;cursor:pointer}
.avatar-preview{display:flex;align-items:center;justify-content:center;width:99px;height:99px;border-radius:50%;background-color:#325d79;background-position:center;background-size:cover;border:3px solid #85f0c9;font-size:68px;box-shadow:0 6px 24px #07192d88}
.avatar-edit{font-size:11px;letter-spacing:.7px;font-weight:800}
.avatar-editor{width:100%;max-width:310px;padding:12px;display:grid;gap:7px;background:#1c3854;border:1px solid #588e99;border-radius:15px;box-shadow:0 8px 26px #07192daa}
.avatar-editor p{margin:0;font-size:12px;color:#c7e6e8}
.avatar-editor .secondary{min-height:38px;padding:8px}
.avatar-editor .textbtn{padding:3px}
.avatar-message{text-align:center;font-size:11px!important}
@media(max-height:690px){.avatar-preview{width:70px;height:70px;font-size:48px}.avatar-editor{padding:7px;gap:4px}}

/* Camera edition 2: large face and optional real-time camera */
.avatar-preview{width:132px;height:132px;font-size:88px;border-width:4px}
.face-video{display:block;width:112px;height:96px;margin:auto;object-fit:cover;transform:scaleX(-1);border-radius:12px;border:2px solid #85f0c9;background:#07192d}
.avatar-editor{max-width:340px;max-height:min(51dvh,390px);overflow-y:auto}
@media(max-height:690px){.avatar-preview{width:96px;height:96px;font-size:64px}.hero h1{font-size:30px}}
