*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#071007;color:#fff}button,input,select{font:inherit}button{cursor:pointer;font-weight:900}button:disabled{opacity:.42;cursor:not-allowed}.field{position:relative;min-height:100dvh;overflow:hidden;background:#0b170d url('assets/hero.png') center center/cover fixed no-repeat}.veil{position:fixed;inset:0;background:linear-gradient(90deg,#010802bf 0%,#07100865 55%,#0108029c 100%);pointer-events:none}.logo{position:fixed;top:7%;left:3%;width:min(28vw,340px);max-height:48vh;object-fit:contain;filter:drop-shadow(0 10px 30px #000);z-index:3;pointer-events:none}.topbar{position:fixed;z-index:6;top:0;left:0;right:0;padding:9px 17px;background:#071007a6;display:flex;justify-content:space-between;color:#aaf66d;font-size:11px;font-weight:800;letter-spacing:.1em}.scene{position:relative;z-index:4;min-height:100dvh;display:none;align-items:center;justify-content:flex-end;padding:6vh 5vw 4vh 33vw;animation:slide .32s ease-out}.scene.active{display:flex}@keyframes slide{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}.orb{position:absolute;top:45%;left:50%;transform:translate(-50%,-20%);width:clamp(155px,23vw,260px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#d7ff9d,#84d72b);border:4px solid #eaffd8;color:#0b1c08;box-shadow:0 0 0 12px #a4ff3935,0 0 85px #9cff4c85;font-size:clamp(16px,2vw,26px);line-height:1.25}.orb span{display:block;font-size:32px}.coach-entry{position:absolute;right:3%;bottom:4%;background:#0c1d12e8;color:#d7ead9;border:1px solid #6f985c;padding:11px 16px;border-radius:10px;font-size:12px}.glass{width:100%;max-width:950px;background:linear-gradient(125deg,#09140eec,#13261bf0);border:1px solid #8bdb5b8c;border-radius:22px;box-shadow:0 20px 70px #000a,0 0 40px #a4ff221b;backdrop-filter:blur(14px);padding:clamp(17px,2.8vw,40px);display:flex;flex-direction:column;gap:12px;max-height:91dvh;overflow:auto}.glass h1,.coach-card h1{font-size:clamp(25px,3vw,49px);margin:0;letter-spacing:-.04em;line-height:1}.glass small,.coach-card small{color:#b7ff77;font-weight:900;letter-spacing:.14em;font-size:11px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#c5ddc7}input,select{width:100%;min-width:0;background:#182a1e;color:#fff;border:1px solid #4b6b50;border-radius:10px;padding:12px;font-size:16px}input:focus,select:focus{outline:2px solid #b0f876}.actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:8px}.next,.back,.danger{border-radius:11px;border:0;padding:13px 21px}.next{background:#b2f66d;color:#10210d}.back{background:#283b2e;color:#fff;border:1px solid #658466}.danger{background:#cf3f40;color:#fff}.release{background:#1b3021;border:1px solid #3d5e40;border-radius:12px;padding:12px;display:grid;gap:7px}.release strong{font-size:13px}.legal{font-size:12px;color:#d2dfd4;line-height:1.35;max-height:75px;overflow:auto}.check{flex-direction:row;align-items:center;letter-spacing:0;font-size:13px}.check input{width:20px;height:20px}.completed{text-align:center;align-items:center}.number-bubble{width:clamp(105px,17vw,190px);height:clamp(105px,17vw,190px);display:grid;place-items:center;background:#b1f76b;border:5px solid white;border-radius:50%;font-size:clamp(50px,7vw,90px);font-weight:1000;color:#08120a;box-shadow:0 0 50px #9cff5270}.completed h2{margin:0}.completed p{font-weight:900}.compact{max-width:560px}.coach-scene{padding:6vh 2vw 2vh 26vw}.coach-card{background:#08150deb;border:1px solid #6ea654;border-radius:20px;width:100%;padding:18px;max-height:93dvh;overflow:auto}.coach-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.coach-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:16px}.camera-col{position:relative}.camera-col video{width:100%;aspect-ratio:4/3;background:#000;object-fit:cover;border:2px solid #557f4d;border-radius:14px}.camera-placeholder{position:absolute;top:0;left:0;right:0;aspect-ratio:4/3;display:grid;place-content:center;text-align:center;background:#102016;color:#b5f781;border:2px solid #557f4d;border-radius:14px;font-weight:900}.camera-placeholder span{color:#9eaea1;font-size:12px;font-weight:400}.video-controls,.timer-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.video-controls button,.timer-controls button{flex:1;white-space:nowrap;padding:11px 7px;font-size:12px}.controls-col{display:grid;gap:10px;align-content:start}.timer-label{font-size:12px;font-weight:900;color:#b3ff77}.clock{font-size:clamp(38px,5vw,76px);font-weight:900;line-height:1;color:#b4f976;font-variant-numeric:tabular-nums}.clock span{font-size:15px}.full{width:100%}.notice{color:#d4e2d5;font-size:12px;line-height:1.4}.attempts{font-size:12px;color:#bde5b8}.admin{max-width:1000px}.admin-list{max-height:40vh;overflow:auto;font-size:13px}.admin-list .line{border-bottom:1px solid #415b46;padding:8px}.admin-list button{margin-left:8px;background:#2b4830;color:#fff;border:1px solid #6b8e62;border-radius:7px;padding:5px}.admin-list video{max-width:300px;max-height:180px;display:block}.admin-list .line span{color:#b3f677}#toast{position:fixed;z-index:20;bottom:14px;left:50%;transform:translateX(-50%);background:#162f1b;color:#fff;border:1px solid #a4f766;padding:12px 18px;border-radius:12px;display:none;max-width:90vw;text-align:center}#toast.show{display:block}@media(max-width:850px){.logo{width:24vw;top:9%}.scene{padding-left:26vw;padding-right:3vw}.coach-scene{padding-left:3vw}.coach-layout{grid-template-columns:1fr 1fr}.glass{padding:18px}}@media(orientation:portrait){.field{background-attachment:scroll}.logo{width:34vw;max-height:20vh;top:4%}.scene{padding:23vh 4vw 3vh;justify-content:center}.coach-scene{padding:9vh 3vw 3vh}.glass{max-height:74dvh}.coach-layout{grid-template-columns:1fr}.coach-card{max-height:88dvh}.orb{top:47%;left:50%;width:190px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}.completed .number-bubble{width:145px;height:145px}.glass h1{font-size:29px}}@media(max-height:540px) and (orientation:landscape){.logo{top:8%;width:21vw}.scene{padding-top:8vh;padding-bottom:2vh}.glass{gap:7px;padding:13px 18px;max-height:88dvh}.glass h1{font-size:24px}.fields{gap:7px}input,select{padding:8px}.release{padding:7px}.legal{max-height:40px}.coach-card{max-height:90dvh}.clock{font-size:45px}}
