.tfj-app{--j-ink:#10251e;--j-green:#173c31;--j-teal:#29aaa6;--j-cyan:#4bd8d4;--j-paper:#f5f5f0;--j-line:#d8ddd9;--j-muted:#60716b;--j-red:#b74435;max-width:1280px;margin:1rem auto 5rem;color:var(--j-ink);font-size:1rem}.tfj-app *{box-sizing:border-box}.tfj-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem 2rem;background:var(--j-green);color:#fff}.tfj-brand{display:flex;align-items:center;gap:1rem}.tfj-brand img{width:74px;height:74px;object-fit:contain}.tfj-brand p{margin:0;color:var(--j-cyan);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.tfj-brand h1{margin:.1rem 0 0;color:#fff;font-family:Georgia,serif;font-size:2rem;font-weight:400}.tfj-head-actions{display:flex;align-items:center;gap:1.5rem}.tfj-head-actions>a{color:#fff;font-weight:750;text-underline-offset:.3rem}.tfj-private{display:flex;align-items:center;gap:.55rem;color:#dce9e4;font-size:.82rem}.tfj-private i{width:8px;height:8px;border-radius:50%;background:var(--j-cyan)}.tfj-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--j-line);border-top:0;background:#fff}.tfj-tabs button{display:flex;align-items:center;gap:.65rem;min-height:58px;padding:.8rem 1.2rem;border:0;border-right:1px solid var(--j-line);background:#fff;color:var(--j-muted);font-weight:750;cursor:pointer}.tfj-tabs button:last-child{border-right:0}.tfj-tabs button>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--j-line);border-radius:50%;font-size:.72rem}.tfj-tabs button>b{margin-left:auto;padding:.1rem .45rem;border-radius:1rem;background:#e8eeeb;font-size:.72rem}.tfj-tabs button.is-active{color:var(--j-ink);box-shadow:inset 0 -4px 0 var(--j-cyan)}.tfj-live{height:0;overflow:hidden}.tfj-live.is-visible{height:auto;margin:1rem 0;padding:.8rem 1rem;background:#def4f2;color:#155c59}.tfj-view{padding:clamp(2rem,5vw,4rem);border:1px solid var(--j-line);border-top:0;background:var(--j-paper)}.tfj-view[hidden]{display:none}.tfj-view-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.tfj-view-head h2{margin:.25rem 0 0;font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:400;letter-spacing:-.04em}.tfj-view-head>p{max-width:360px;color:var(--j-muted)}.tfj-kicker{margin:0;color:#167f7c;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.tfj-card{padding:1.5rem;border:1px solid var(--j-line);background:#fff}.tfj-event-form{display:grid;grid-template-columns:1.4fr .7fr 1fr 1fr;gap:1rem}.tfj-app label>span,.tfj-filter label{display:block;margin-bottom:.4rem;color:var(--j-muted);font-size:.78rem;font-weight:750}.tfj-app input,.tfj-app select{width:100%;min-height:46px;padding:.65rem .75rem;border:1px solid #bfc9c4;border-radius:.2rem;background:#fff;color:var(--j-ink);font:inherit}.tfj-app input:focus,.tfj-app select:focus{outline:3px solid rgba(41,170,166,.22);border-color:var(--j-teal)}.tfj-privacy-note{margin-top:1rem}.tfj-privacy-note p{margin:.25rem 0 1rem;color:var(--j-muted)}.tfj-danger-link{padding:0;border:0;background:none;color:var(--j-red);font-weight:750;text-decoration:underline;cursor:pointer}.tfj-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1rem;border:1px solid var(--j-teal);border-radius:.2rem;background:var(--j-teal);color:#fff;font-weight:800;cursor:pointer}.tfj-button:hover{background:#218d89}.tfj-button:disabled{cursor:not-allowed;opacity:.45}.tfj-button-dark{background:var(--j-green);border-color:var(--j-green)}.tfj-button-quiet{border-color:var(--j-line);background:#fff;color:var(--j-ink)}.tfj-button-stop{border-color:#cb5445;background:#cb5445}.tfj-team-form{display:grid;grid-template-columns:1.1fr .8fr .8fr auto;align-items:end;gap:1rem}.tfj-list,.tfj-run-list{display:grid;gap:.75rem;margin-top:1rem}.tfj-empty{padding:3rem 1.5rem;border:1px dashed #aebcb6;text-align:center;color:var(--j-muted);background:rgba(255,255,255,.5)}.tfj-team{display:grid;grid-template-columns:55px 1.3fr 1fr auto auto;align-items:center;gap:1rem;padding:1rem 1.2rem;border:1px solid var(--j-line);background:#fff}.tfj-order{font-family:Georgia,serif;font-size:1.55rem;color:#168580}.tfj-team strong,.tfj-team small{display:block}.tfj-team small{color:var(--j-muted)}.tfj-grade{display:inline-flex;width:max-content;padding:.3rem .55rem;border-radius:1rem;background:#def4f2;color:#155c59;font-size:.75rem;font-weight:800}.tfj-icon-button{width:40px;height:40px;border:1px solid var(--j-line);background:#fff;color:var(--j-muted);cursor:pointer}.tfj-run{display:grid;grid-template-columns:52px minmax(170px,1fr) auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--j-line);background:#fff}.tfj-run.is-running{border-color:var(--j-teal);box-shadow:0 0 0 3px rgba(41,170,166,.12)}.tfj-run.is-complete{background:#f0f7f4}.tfj-run-status{display:flex;align-items:center;gap:.4rem;color:var(--j-muted);font-size:.78rem}.tfj-run-status i{width:8px;height:8px;border-radius:50%;background:#98a6a0}.tfj-run.is-running .tfj-run-status i{background:var(--j-teal);animation:tfj-pulse 1.2s infinite}.tfj-run.is-complete .tfj-run-status i{background:#218864}.tfj-run-name strong,.tfj-run-name span{display:block}.tfj-run-name span{color:var(--j-muted);font-size:.85rem}.tfj-run-time{min-width:105px;font:400 1.45rem/1 Georgia,serif;font-variant-numeric:tabular-nums;text-align:right}.tfj-run-score{min-width:82px;text-align:right}.tfj-run-score strong{font-family:Georgia,serif;font-size:1.5rem}.tfj-filter{display:flex;align-items:center;gap:.6rem}.tfj-filter label{margin:0}.tfj-filter select{width:auto}.tfj-grade-switch{display:flex;gap:.4rem;margin-bottom:1rem;overflow:auto}.tfj-grade-switch button{white-space:nowrap;padding:.6rem .9rem;border:1px solid var(--j-line);background:#fff;color:var(--j-muted);font-weight:750;cursor:pointer}.tfj-grade-switch button.is-active{background:var(--j-green);color:#fff;border-color:var(--j-green)}.tfj-ranking-table{width:100%;border-collapse:collapse;background:#fff}.tfj-ranking-table th,.tfj-ranking-table td{padding:1rem;border-bottom:1px solid var(--j-line);text-align:left}.tfj-ranking-table th{color:var(--j-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.07em}.tfj-rank{font-family:Georgia,serif;font-size:1.6rem}.tfj-rank-score{font-family:Georgia,serif;font-size:1.35rem}.tfj-qual{display:inline-block;padding:.28rem .5rem;border-radius:1rem;background:#def4f2;color:#155c59;font-size:.72rem;font-weight:800}.tfj-dialog{width:min(900px,calc(100% - 24px));max-height:92vh;padding:0;border:0;border-radius:.35rem;background:#fff;color:var(--j-ink);box-shadow:0 24px 70px rgba(0,0,0,.3)}.tfj-dialog::backdrop{background:rgba(7,20,16,.72)}.tfj-dialog-shell{padding:0}.tfj-dialog header{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 2rem;border-bottom:1px solid var(--j-line)}.tfj-dialog h2{margin:.2rem 0;font-family:Georgia,serif;font-size:2rem;font-weight:400}.tfj-dialog header p:last-child{margin:0;color:var(--j-muted)}.tfj-close{align-self:start;width:40px;height:40px;border:1px solid var(--j-line);border-radius:50%;background:#fff;font-size:1.5rem;cursor:pointer}.tfj-timer-card{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.4rem 2rem;background:var(--j-green);color:#fff}.tfj-timer-card span,.tfj-timer-card strong,.tfj-timer-card small{display:block}.tfj-timer-card span,.tfj-timer-card small{color:#c7d8d2}.tfj-timer-card strong{margin:.25rem 0;font:400 2.6rem/1 Georgia,serif;font-variant-numeric:tabular-nums}.tfj-timer-actions{display:flex;gap:.5rem}.tfj-dialog fieldset{margin:0;padding:1.4rem 2rem;border:0;border-bottom:1px solid var(--j-line)}.tfj-dialog legend{padding:0;font-family:Georgia,serif;font-size:1.3rem}.tfj-help{margin:.15rem 0 1rem;color:var(--j-muted);font-size:.82rem}.tfj-found label{display:flex;align-items:center;gap:.65rem;font-weight:800}.tfj-found input{width:22px;height:22px;min-height:0}.tfj-score-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.tfj-score-field{display:grid;grid-template-columns:1fr 85px;align-items:center;gap:1rem}.tfj-score-field label{font-size:.9rem}.tfj-score-field small{display:block;color:var(--j-muted)}.tfj-penalties{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tfj-penalties .tfj-wide{grid-column:1/-1}.tfj-total{display:flex;align-items:baseline;gap:.5rem;padding:1.4rem 2rem;background:#edf7f5}.tfj-total>span{margin-right:auto;font-weight:800}.tfj-total strong{font:400 2.2rem Georgia,serif;color:#126f6b}.tfj-total b{margin-left:1rem;padding:.3rem .6rem;border-radius:1rem;background:#fff;font-size:.75rem}.tfj-dialog footer{display:flex;justify-content:flex-end;gap:.7rem;padding:1.2rem 2rem}.tfj-dialog[open]{animation:tfj-in .18s ease-out}@keyframes tfj-in{from{opacity:0;transform:translateY(10px)}}@keyframes tfj-pulse{50%{opacity:.35}}
@media(max-width:900px){.tfj-event-form{grid-template-columns:1fr 1fr}.tfj-team-form{grid-template-columns:1fr 1fr}.tfj-team-form .tfj-button{grid-column:1/-1}.tfj-team{grid-template-columns:42px 1fr auto}.tfj-team>div:nth-child(3){display:none}.tfj-run{grid-template-columns:40px 1fr auto}.tfj-run-time{grid-column:2;text-align:left}.tfj-run-score{grid-column:3;grid-row:1/3}.tfj-head-actions .tfj-private{display:none}}
@media(max-width:620px){.tfj-app{margin-top:0}.tfj-head{align-items:flex-start;padding:1rem}.tfj-brand img{width:54px;height:54px}.tfj-brand h1{font-size:1.55rem}.tfj-head-actions{align-self:center}.tfj-tabs button{justify-content:center;padding:.7rem .3rem;font-size:.75rem}.tfj-tabs button>span{display:none}.tfj-tabs button>b{display:none}.tfj-view{padding:2rem 1rem}.tfj-view-head{align-items:flex-start;flex-direction:column;gap:1rem}.tfj-event-form,.tfj-team-form{grid-template-columns:1fr}.tfj-team-form .tfj-button{grid-column:auto}.tfj-team{grid-template-columns:35px 1fr auto;padding:.8rem}.tfj-team .tfj-grade{grid-column:2}.tfj-run{grid-template-columns:32px 1fr}.tfj-run-score{grid-column:2;grid-row:auto;text-align:left}.tfj-run .tfj-button{grid-column:1/-1}.tfj-ranking-table{display:block;overflow-x:auto}.tfj-dialog{max-height:96vh}.tfj-dialog header,.tfj-dialog fieldset,.tfj-dialog footer,.tfj-timer-card{padding:1.1rem}.tfj-timer-card{align-items:flex-start;flex-direction:column}.tfj-timer-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.tfj-timer-actions .tfj-button-quiet{grid-column:1/-1}.tfj-score-fields,.tfj-penalties{grid-template-columns:1fr}.tfj-penalties .tfj-wide{grid-column:auto}.tfj-total{padding:1rem;flex-wrap:wrap}.tfj-total>span{width:100%}.tfj-total b{margin-left:0}.tfj-dialog footer .tfj-button{flex:1}}
@media print{.site-header,.site-footer,.breadcrumbs-wrap,.tfj-head,.tfj-tabs,.tfj-view:not([data-panel="classifica"]),.tfj-view-head .tfj-button,.tfj-grade-switch{display:none!important}.tfj-app,.tfj-view{margin:0;padding:0;border:0}.tfj-view[data-panel="classifica"]{display:block!important}.tfj-ranking-table{font-size:12px}}

/* Interazione semplificata: inserimento rapido, scelte tattili e timer prioritario. */
.tfj-team-form{grid-template-columns:1.1fr .8fr auto auto}
.tfj-form-hint{margin:.65rem 0 0;color:var(--j-muted);font-size:.8rem}
.tfj-grade-picker{display:flex;gap:.35rem;margin:0;padding:0;border:0}
.tfj-grade-picker legend{margin-bottom:.4rem;color:var(--j-muted);font-size:.78rem;font-weight:750}
.tfj-grade-picker label{cursor:pointer}
.tfj-grade-picker input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
.tfj-grade-picker label>span{display:grid;place-items:center;min-width:48px;height:46px;margin:0;border:1px solid #bfc9c4;background:#fff;color:var(--j-muted);font-weight:850}
.tfj-grade-picker input:checked+span{border-color:var(--j-green);background:var(--j-green);color:#fff;box-shadow:0 0 0 2px rgba(41,170,166,.2)}
.tfj-grade-picker input:focus-visible+span{outline:3px solid rgba(41,170,166,.3)}
.tfj-timer-primary{min-width:175px;font-size:1.02rem}
.tfj-timer-primary span{font-size:.8rem}
.tfj-score-fields{display:grid;grid-template-columns:1fr;gap:.75rem}
.tfj-score-field{display:grid;grid-template-columns:minmax(170px,.8fr) 1.6fr;align-items:center;gap:1rem;padding:.7rem;border:1px solid var(--j-line);background:#fafbf9}
.tfj-score-field>div:first-child{font-size:.9rem;font-weight:750}
.tfj-score-field small{display:block;color:var(--j-muted);font-weight:500}
.tfj-score-choices{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem}
.tfj-score-choices button{min-height:46px;padding:.25rem;border:1px solid #bec9c4;background:#fff;color:var(--j-muted);font-weight:800;cursor:pointer}
.tfj-score-choices button small{display:block;font-size:.65rem;line-height:1}
.tfj-score-choices button.is-selected{border-color:var(--j-teal);background:var(--j-green);color:#fff;box-shadow:0 0 0 2px rgba(41,170,166,.18)}
.tfj-score-choices button.is-selected small{color:#dceae5}
@media(max-width:900px){.tfj-team-form{grid-template-columns:1fr 1fr}.tfj-grade-picker{align-self:end}.tfj-team-form .tfj-button{grid-column:auto}}
@media(max-width:620px){.tfj-team-form{grid-template-columns:1fr}.tfj-grade-picker{align-self:auto}.tfj-score-field{grid-template-columns:1fr}.tfj-score-choices{gap:.2rem}.tfj-score-choices button{min-height:50px;padding:.2rem;font-size:.78rem}.tfj-score-choices button small{font-size:.59rem}.tfj-timer-primary{min-width:0}}

/* Modalità gara: tutta la superficie è dedicata agli strumenti del giudice. */
body.is-judge-panel{margin:0;background:#edf0ed;overflow-x:hidden}
body.is-judge-panel .site-main{padding:0!important}
body.is-judge-panel .judge-content-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.is-judge-panel .tfj-app{max-width:none;min-height:100vh;margin:0}
body.is-judge-panel .tfj-head{min-height:58px;padding:.45rem 1rem}
body.is-judge-panel .tfj-brand{gap:.65rem}
body.is-judge-panel .tfj-brand img{width:45px;height:45px}
body.is-judge-panel .tfj-brand p{font-size:.65rem}
body.is-judge-panel .tfj-brand h1{font-size:1.35rem;line-height:1}
body.is-judge-panel .tfj-head-actions{gap:1rem}
body.is-judge-panel .tfj-tabs{position:sticky;top:0;z-index:20;box-shadow:0 3px 12px rgba(16,37,30,.08)}
body.is-judge-panel .tfj-tabs button{min-height:48px;padding:.5rem 1rem}
body.is-judge-panel .tfj-view{min-height:calc(100vh - 107px);padding:1.25rem clamp(1rem,2.2vw,2rem)}
body.is-judge-panel .tfj-view-head{align-items:center;margin-bottom:1rem}
body.is-judge-panel .tfj-view-head h2{font-size:clamp(1.75rem,3vw,2.5rem)}
body.is-judge-panel .tfj-view-head p{margin-bottom:0}
body.is-judge-panel .tfj-card{padding:1rem}
body.is-judge-panel .tfj-event-form{gap:.7rem}
body.is-judge-panel .tfj-privacy-note{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
body.is-judge-panel .tfj-privacy-note p{margin:0}
body.is-judge-panel .tfj-team-form{gap:.7rem;padding:.8rem}
body.is-judge-panel .tfj-form-hint{margin:.35rem 0 0}
body.is-judge-panel .tfj-list,body.is-judge-panel .tfj-run-list{gap:.45rem;margin-top:.65rem}
body.is-judge-panel .tfj-team{min-height:54px;padding:.55rem .8rem}
body.is-judge-panel .tfj-run{min-height:62px;padding:.6rem .8rem}
body.is-judge-panel .tfj-run-name span{font-size:.78rem}
body.is-judge-panel .tfj-run-name small{margin-top:.1rem}
body.is-judge-panel .tfj-run-time{font-size:1.3rem}
body.is-judge-panel .tfj-run .tfj-button{min-height:40px;padding:.55rem .8rem}
body.is-judge-panel .tfj-grade-switch{margin-bottom:.6rem}
body.is-judge-panel .tfj-ranking-table th,body.is-judge-panel .tfj-ranking-table td{padding:.65rem .8rem}
body.is-judge-panel .tfj-dialog{width:min(1120px,calc(100% - 16px));max-height:98vh}
body.is-judge-panel .tfj-dialog header{padding:.75rem 1rem}
body.is-judge-panel .tfj-dialog h2{font-size:1.55rem}
body.is-judge-panel .tfj-timer-card{position:sticky;top:0;z-index:2;padding:.7rem 1rem}
body.is-judge-panel .tfj-timer-card strong{font-size:2.15rem}
body.is-judge-panel .tfj-timer-primary{min-height:52px}
body.is-judge-panel .tfj-dialog fieldset{padding:.75rem 1rem}
body.is-judge-panel .tfj-dialog legend{font-size:1.1rem}
body.is-judge-panel .tfj-help{margin-bottom:.5rem}
body.is-judge-panel .tfj-score-fields{gap:.4rem}
body.is-judge-panel .tfj-score-field{grid-template-columns:minmax(180px,.62fr) 1.8fr;gap:.65rem;padding:.4rem .55rem}
body.is-judge-panel .tfj-score-choices button{min-height:39px}
body.is-judge-panel .tfj-penalties{gap:.6rem}
body.is-judge-panel .tfj-total{position:sticky;bottom:65px;z-index:2;padding:.65rem 1rem;box-shadow:0 -3px 12px rgba(16,37,30,.08)}
body.is-judge-panel .tfj-total strong{font-size:1.8rem}
body.is-judge-panel .tfj-dialog footer{position:sticky;bottom:0;z-index:3;padding:.6rem 1rem;background:#fff;border-top:1px solid var(--j-line)}
@media(max-width:700px){body.is-judge-panel .tfj-head{min-height:52px}body.is-judge-panel .tfj-brand img{width:39px;height:39px}body.is-judge-panel .tfj-brand p{display:none}body.is-judge-panel .tfj-head-actions .tfj-private{display:none}body.is-judge-panel .tfj-tabs button{min-height:44px}body.is-judge-panel .tfj-view{min-height:calc(100vh - 96px);padding:.8rem}body.is-judge-panel .tfj-view-head{margin-bottom:.65rem}body.is-judge-panel .tfj-view-head h2{font-size:1.8rem}body.is-judge-panel .tfj-privacy-note{display:block}body.is-judge-panel .tfj-privacy-note p{margin:.2rem 0 .6rem}body.is-judge-panel .tfj-score-field{grid-template-columns:1fr}body.is-judge-panel .tfj-dialog{width:100%;max-height:100vh;height:100vh;border-radius:0}body.is-judge-panel .tfj-dialog header{padding:.55rem .7rem}body.is-judge-panel .tfj-dialog fieldset{padding:.6rem .7rem}body.is-judge-panel .tfj-timer-card{padding:.6rem .7rem}body.is-judge-panel .tfj-timer-card strong{font-size:2rem}}
@media(max-width:700px){body.is-judge-panel .tfj-run{grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.25rem .65rem;min-height:72px;padding:.5rem .65rem}body.is-judge-panel .tfj-run>.tfj-order{grid-column:1;grid-row:1/3;align-self:center}body.is-judge-panel .tfj-run-name{grid-column:2;grid-row:1}body.is-judge-panel .tfj-run-name>span{display:inline;margin-right:.4rem}body.is-judge-panel .tfj-run-name>small{display:inline-flex}body.is-judge-panel .tfj-run-time{grid-column:2;grid-row:2;align-self:center;font-size:1.15rem}body.is-judge-panel .tfj-run-score{grid-column:3;grid-row:1;text-align:right}body.is-judge-panel .tfj-run-score strong{font-size:1.25rem}body.is-judge-panel .tfj-run .tfj-button{grid-column:3;grid-row:2;min-height:36px;padding:.35rem .55rem;font-size:.72rem;white-space:nowrap}}

/* The scoring sheet owns its scroll area so mobile browser chrome cannot hide
   the final action. vh is kept as a fallback; dvh follows the visible viewport. */
body.is-judge-panel .tfj-dialog{
  max-height:98vh;
  max-height:98dvh;
  overflow:hidden;
}
body.is-judge-panel .tfj-dialog-shell{
  max-height:98vh;
  max-height:98dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
body.is-judge-panel .tfj-dialog footer{
  padding-bottom:calc(.6rem + env(safe-area-inset-bottom, 0px));
}
@media(max-width:700px){
  body.is-judge-panel .tfj-view{
    min-height:calc(100vh - 96px);
    min-height:calc(100dvh - 96px);
  }
  body.is-judge-panel .tfj-dialog{
    position:fixed;
    inset:auto;
    top:var(--tfj-visible-top, 0px);
    left:var(--tfj-visible-center-x, 50vw);
    width:min(100%, var(--tfj-visible-width, 100vw));
    height:var(--tfj-visible-height, 100dvh);
    max-height:var(--tfj-visible-height, 100dvh);
    margin:0;
    transform:translateX(-50%);
    border-radius:0;
    animation:none;
  }
  body.is-judge-panel .tfj-dialog-shell{
    height:100%;
    max-height:100%;
  }
}

/* Mobile reliability: some WebKit/Android combinations clip sticky children
   inside a modal dialog. The dialog itself becomes the only scroll container
   and the final actions return to the normal document flow. */
@media(max-width:700px){
  body.is-judge-panel .tfj-dialog{
    top:calc(var(--tfj-visible-top, 0px) + 4px);
    width:calc(var(--tfj-visible-width, 100vw) - 8px);
    height:calc(var(--tfj-visible-height, 100dvh) - 8px);
    max-height:calc(var(--tfj-visible-height, 100dvh) - 8px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.is-judge-panel .tfj-dialog-shell{
    height:auto;
    max-height:none;
    overflow:visible;
  }
  body.is-judge-panel .tfj-timer-card,
  body.is-judge-panel .tfj-total,
  body.is-judge-panel .tfj-dialog footer{
    position:static;
  }
  body.is-judge-panel .tfj-dialog footer{
    padding-bottom:calc(1rem + env(safe-area-inset-bottom, 0px));
  }
  body.is-judge-panel .tfj-dialog-shell::after{
    content:"";
    display:block;
    width:100%;
    height:140px;
    height:max(120px, calc(env(safe-area-inset-bottom, 0px) + 15dvh));
    flex:0 0 auto;
  }
}
