.session-clock{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-top:8px;padding:9px 13px;box-shadow:none;background:#fbf4e4ed;width:100%;text-align:left}
.session-clock>span{display:flex;flex-direction:column}.session-clock small{font-size:10px;font-weight:400;line-height:1.4}.session-clock strong{font-size:19px;font-variant-numeric:tabular-nums}.session-clock .clock-label{font-size:10px;letter-spacing:.5px;font-weight:700}
#playTimeGate{position:fixed;inset:auto;left:var(--gate-left,50%);top:var(--gate-top,50%);transform:translate(-50%,-50%);margin:0;width:min(540px,calc(var(--gate-width,100vw) - 24px));max-width:calc(var(--gate-width,100vw) - 24px);max-height:calc(var(--gate-height,100dvh) - 24px);padding:28px;overscroll-behavior:contain}#playTimeTitle:focus{outline:none}#playTimeGate .play-time-copy{font-size:16px;margin:14px 0 22px}
.play-time-options{border:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 20px}.play-time-options legend{padding:0;margin-bottom:12px;font-weight:700;font-size:15px}.play-time-options label{position:relative;cursor:pointer}.play-time-options input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.play-time-options span{display:block;text-align:center;padding:13px 3px;border:1px solid #d9cbae;border-radius:12px;font-size:14px;font-weight:700}.play-time-options input:checked+span{background:#f6d68c;border-color:#8d6c2c}.play-time-options input:focus-visible+span{outline:3px solid #ab6611;outline-offset:2px}
.play-time-pin-label{display:block;font-size:14px;font-weight:700;margin:15px 0}.play-time-pin-label input{display:block;box-sizing:border-box;width:100%;height:50px;margin-top:7px;padding:10px 14px;border:1px solid #bcb69f;border-radius:12px;background:#fffaf0;color:#17394c;letter-spacing:7px;font-size:23px}
#playTimeGate .play-time-note{font-size:13px;color:#466774;line-height:1.5}#playTimeGate .play-time-error{font-size:14px;color:#8b4234;line-height:1.5}#playTimeGate .play-time-error:empty{display:none}
.play-time-primary{width:100%;background:#efbc55;margin:5px 0 12px}#playTimeGate .play-time-exit{display:block;margin-top:12px;padding:10px 0;text-align:center;font-size:14px}.parent-time-mirror{display:block;font-size:10px;line-height:1.4;margin-top:6px;font-variant-numeric:tabular-nums}
@media(max-width:600px){.session-clock{min-height:46px;margin-top:6px;padding:6px 10px;gap:8px}.session-clock strong{font-size:17px}.session-clock small{font-size:9px}#playTimeGate{padding:22px}.play-time-options{gap:6px}.play-time-options span{font-size:13px}}
@media(max-height:500px){.session-clock{min-height:40px;max-width:180px}.session-clock small{font-size:8px}.session-clock strong{font-size:16px}}
.speech-footer .speech-clock{display:none;flex:none;align-items:center;gap:6px;min-height:44px;margin:0;padding:6px 9px;border:1px solid #d9cbae;border-radius:10px;background:#f8edcf;text-decoration:none;white-space:nowrap}.speech-clock strong{font-size:16px;font-variant-numeric:tabular-nums}
@media(max-width:700px),(max-height:570px) and (orientation:landscape){.speech .speech-footer{display:flex}.speech-footer .speech-clock{display:inline-flex}}
