/* V4.1 Staging — tokens semantici pubblici e modale lezione fail-visible. */
:root{
  --v41-public-surface:#f4f8fc;--v41-public-elevated:#fff;--v41-public-text:#102b4c;
  --v41-public-muted:#526b84;--v41-public-border:#a9bed1;--v41-public-focus:#0868c9;
  --v41-public-selection:#d9ebff;--v41-public-primary:#075fb7;--v41-public-primary-text:#fff;
  --v41-public-disabled:#65798d;
}
:root[data-bt-theme="dark"]{
  --v41-public-surface:#071829;--v41-public-elevated:#0d2439;--v41-public-text:#f4f8fc;
  --v41-public-muted:#b9c9d8;--v41-public-border:#526b84;--v41-public-focus:#66b6ff;
  --v41-public-selection:#173e62;--v41-public-primary:#58afff;--v41-public-primary-text:#061523;
  --v41-public-disabled:#8fa4b7;
}
:is(#publicView,#publicDemoView){background:var(--v41-public-surface);color:var(--v41-public-text)}
:is(#publicView,#publicDemoView) :where(h1,h2,h3,h4,p,span,strong,label){color:inherit}
:is(#publicView,#publicDemoView) :where(.muted,.small,.eyebrow,.public-hero p){color:var(--v41-public-muted)}
:is(#publicView,#publicDemoView) :where(.public-nav,.feature-card,.demo-card,.public-panel,.v21-public-header,.v21-audience,.v21-demo-card){background:var(--v41-public-elevated);border-color:var(--v41-public-border);color:var(--v41-public-text)}
:is(#publicView,#publicDemoView) :where(.public-secondary,.v21-nav-link){background:transparent;border-color:var(--v41-public-border);color:var(--v41-public-text)}
:is(#publicView,#publicDemoView) :where(.public-secondary,.v21-nav-link):is(:hover,:active){background:var(--v41-public-selection);color:var(--v41-public-text)}
:is(#publicView,#publicDemoView) .btn.primary{background:var(--v41-public-primary);border-color:var(--v41-public-primary);color:var(--v41-public-primary-text)}
:is(#publicView,#publicDemoView) :where(a,button):focus-visible{outline:3px solid var(--v41-public-focus);outline-offset:3px}
:is(#publicView,#publicDemoView) :where(a:visited){color:var(--v41-public-text)}
:is(#publicView,#publicDemoView) :where(button:disabled,a[aria-disabled="true"]){color:var(--v41-public-disabled);opacity:1}

#coachWorkoutModal{overflow:hidden;padding:clamp(8px,2vw,24px)}
#coachWorkoutModal>.modal-card.v41-coach-workout-card{width:min(820px,100%);max-height:min(92dvh,900px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0}
.v41-coach-workout-header{padding:18px 20px 12px;border-bottom:1px solid var(--v311-border,var(--line));background:var(--v311-surface,var(--panel));color:var(--v311-text,var(--ink))}
#coachWorkoutBody.v41-coach-workout-scroll{min-width:0;overflow-x:hidden;overflow-y:auto;padding:18px 20px;overscroll-behavior:contain}
.v41-coach-workout-card .v41-coach-workout-scroll .coach-workout-header{background:var(--v311-surface-alt,var(--panel2))!important;color:var(--v311-text,var(--ink))!important;border-color:var(--v311-border,var(--line))!important}
.v41-coach-workout-scroll .coach-workout-header .muted{color:var(--v311-muted,var(--muted))}
.v41-coach-workout-footer{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--v311-border,var(--line));background:var(--v311-surface,var(--panel));color:var(--v311-text,var(--ink));box-shadow:0 -10px 28px rgb(0 0 0/.16)}
.v41-coach-workout-footer .coach-submit-result{min-height:48px;white-space:normal}
.v41-coach-submit-proxy{display:none!important}
.v41-coach-status{min-height:1.4em;color:var(--muted);overflow-wrap:anywhere}
.v41-coach-status[data-state="success"]{color:#16864a}.v41-coach-status[data-state="error"]{color:#c2393e}
.v41-coach-status[data-state="loading"]{color:var(--v311-text,var(--ink))}
.v412-error-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:8px}.v412-error-quick{min-width:42px;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:800}.v412-error-quick[aria-pressed="true"]{outline:3px solid var(--primary);outline-offset:1px}.v412-error-controls label{display:grid;gap:4px;min-width:130px}.v412-error-controls input{min-height:42px}
.training-result-input .result-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:7px;overflow:visible}.training-result-input .result-other{display:grid;grid-template-columns:minmax(110px,auto) minmax(100px,180px);gap:10px;align-items:center;margin-top:12px;font-weight:800}.training-result-input .result-other-value{min-height:44px}

/* V4.1.2 — inspector compatto senza comprimere tavolo o comandi. */
#diagramBuilderModal .premium-builder-right{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
#diagramBuilderModal .premium-builder-right h4{font-size:13px;margin:2px 0 7px}
#diagramBuilderModal .premium-builder-right .premium-panel-title{margin:2px 0 6px}
#diagramBuilderModal .premium-builder-right .premium-prop-card{font-size:11px;line-height:1.35;padding:7px;margin-bottom:7px}
#diagramBuilderModal .premium-builder-right .field{margin-bottom:6px}
#diagramBuilderModal .premium-builder-right :is(input,select,.btn){min-height:34px;font-size:11px;padding:5px 7px}
#diagramBuilderModal .premium-builder-right .premium-node-list{gap:3px}.premium-node-row{padding:4px 6px;font-size:10px}
.v412-builder-defaults{border:1px solid #2b465a;border-radius:9px;padding:7px;margin-bottom:8px}.v412-builder-defaults summary{cursor:pointer;font-size:11px;font-weight:850;color:#dceaf4}.v412-builder-default-grid{display:grid;gap:6px;margin-top:7px}
.v412-trajectory-default-preview{width:100%;height:28px;border:1px solid #29475d;border-radius:6px;background:#081722}.v412-default-preview-line{fill:none;stroke:#62d3f4;stroke-linecap:round}.v412-trajectory-default-preview marker path{fill:#62d3f4;stroke:#62d3f4}
.premium-ball-face{display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;background:#f6f1e2!important;color:#111!important;text-shadow:none!important}.premium-ball-face::before{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--ball-color);box-shadow:inset -4px -5px 6px #0005,inset 3px 3px 4px #fff8;z-index:-1}.premium-ball-face[data-striped="true"]::before{inset:8px 2px;background:var(--ball-color);border-radius:4px}.premium-ball-face[data-number="0"]::after{content:"";width:6px;height:6px;border-radius:50%;background:#111}.premium-ball-face[data-number="8"]{color:#fff!important}.premium-ball-face span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#f8f5ea;color:#111;font-size:9px;font-weight:950}
.trajectory-ghost-ball{pointer-events:none;opacity:.42;filter:blur(.35px) drop-shadow(0 2px 2px #0008)}
.diagram-ball[data-lod="compact"] .ball-highlight{opacity:.3}.diagram-ball[data-lod="compact"] .ball-shadow{opacity:.15}.diagram-ball[data-lod="micro"] :is(.ball-highlight,.ball-shadow,.ball-optical-outline,.cue-marker-side){display:none}.diagram-ball[data-lod="micro"] .ball-number-disc{r:9.4px}.diagram-ball[data-lod="micro"] text{font-size:11px;font-weight:950}.diagram-ball[data-lod="micro"] .ball-perceptual-edge{stroke-width:1.6px}

.premium-tool[data-v41-schema]{white-space:nowrap}
.v41-schema-preview{position:fixed;inset:0;z-index:10020;background:rgb(3 12 20/.82);display:grid;place-items:center;padding:20px}
.v41-schema-preview-card{width:min(980px,100%);max-height:90dvh;overflow:auto;background:#0b1823;color:#f3f8fb;border:1px solid #46627a;border-radius:16px;padding:18px}
.v41-schema-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v41-schema-preview figure{margin:0}.v41-schema-preview svg{width:100%;height:auto}
.premium-zone-vertex{cursor:crosshair;touch-action:none}
@media(max-width:700px){.v41-coach-workout-footer{grid-template-columns:1fr}.v41-schema-preview-grid{grid-template-columns:1fr}}
