:root{--color-pool-900:#063a56;--color-pool-700:#0b4f76;--color-pool-500:#0e6ba8;--color-pool-100:#eaf4fa;--color-slate-900:#1e293b;--color-slate-700:#334155;--color-slate-500:#526277;--color-slate-200:#e2e8f0;--color-slate-100:#f1f5f9;--color-surface:#fff;--color-ok-fg:#065f46;--color-ok-bg:#d1fae5;--color-error-fg:#7f1d1d;--color-error-bg:#fee2e2;--color-warning-bg:#fef3c7;--color-warning-fg:#78350f;--radius-md:.5rem;--radius-lg:.75rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--focus-ring:3px solid #ffb703}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--color-slate-100);color:var(--color-slate-900);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--color-pool-700);text-underline-offset:.2em}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.skip-link{background:var(--color-pool-900);color:#fff;padding:var(--space-3) var(--space-4);z-index:100;border-radius:var(--radius-md);position:absolute;top:auto;left:-999px}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:linear-gradient(135deg, var(--color-pool-900), var(--color-pool-700));color:#fff;padding:var(--space-6) var(--space-4);text-align:center}.app-header h1{letter-spacing:.03em;margin:0;font-size:1.5rem}.app-header__subtitle{margin:var(--space-2) 0 0;color:var(--color-pool-100);font-size:.95rem}.proof-notice{padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning-fg);text-align:center;border-bottom:1px solid #f5c66b;margin:0;font-size:.9rem}.update-banner{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-pool-100);color:var(--color-pool-900);border-bottom:1px solid var(--color-pool-500);flex-wrap:wrap;display:flex}.update-banner p{margin:0}.app-main{gap:var(--space-4);padding:var(--space-4);flex-direction:column;flex:1;width:100%;max-width:40rem;margin:0 auto;display:flex}.panel{background:var(--color-surface);border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);padding:var(--space-4)}.panel h2{color:var(--color-pool-900);margin-top:0;font-size:1.1rem}.panel h3{color:var(--color-slate-700);margin-bottom:var(--space-2);font-size:1rem}.panel__hint{color:var(--color-slate-500);font-size:.85rem}.panel--placeholder{color:var(--color-slate-500);text-align:center}.pill{border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600;display:inline-block}.pill--ok{background:var(--color-ok-bg);color:var(--color-ok-fg)}.pill--error{background:var(--color-error-bg);color:var(--color-error-fg)}.health-network{font-size:.95rem}.health-status p{margin:var(--space-2) 0}.error-banner{background:var(--color-error-bg);color:var(--color-error-fg);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid #fca5a5}.error-banner p{margin:0}.error-banner__hint{font-size:.85rem;margin-top:var(--space-2)!important}form{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}label{font-size:.9rem;font-weight:600}input[type=password],input[type=text],select{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);min-height:2.75rem;color:var(--color-slate-900);border:1px solid #94a3b8;font-family:inherit;font-size:1rem}.field-error{color:var(--color-error-fg);margin:0;font-size:.85rem}.button{min-height:2.75rem;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border:none;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.6}.button--primary{background:var(--color-pool-500);color:#fff}.button--primary:hover:not(:disabled){background:var(--color-pool-700)}.button--secondary{background:var(--color-surface);color:var(--color-slate-700);border:1px solid #cbd5e1;align-self:flex-start}.button--secondary:hover:not(:disabled){background:var(--color-slate-200);filter:brightness(.95)}.update-banner button{min-height:2.5rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-pool-900);color:#fff;cursor:pointer;border:none;font-weight:600}.report-elapsed{font-size:1.05rem}.report-disclaimer{color:var(--color-slate-500);font-size:.85rem;font-style:italic}.check-list{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.report-grid{gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);grid-template-columns:1fr;display:grid}.report-grid dt{color:var(--color-slate-700);font-size:.85rem;font-weight:600}.report-grid dd{margin:0 0 var(--space-2);font-size:1rem}.report-limits{color:var(--color-slate-700);padding-left:1.2rem;font-size:.9rem}.app-footer{text-align:center;color:var(--color-slate-500);padding:var(--space-4);font-size:.8rem}@media (width>=40rem){.app-header h1{font-size:2rem}.report-grid{grid-template-columns:1fr 1fr}.report-grid dt{grid-column:1}.report-grid dd{grid-column:2}}.app-notice{padding:var(--space-3) var(--space-4);background:var(--color-warning-bg);color:var(--color-warning-fg);text-align:center;gap:var(--space-3);border-bottom:1px solid #f5c66b;flex-wrap:wrap;justify-content:center;align-items:center;margin:0;font-size:.9rem;display:flex}.app-notice p{margin:0}.app-nav{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.app-nav a{color:#fff;font-weight:600;text-decoration:underline}.app-nav a:hover{color:var(--color-pool-100)}.pill--warning{background:var(--color-warning-bg);color:var(--color-warning-fg)}.panel--inset{margin-top:var(--space-3);background:var(--color-slate-100);border:1px solid var(--color-slate-200);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.form-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.field-error-list{color:var(--color-error-fg);margin:var(--space-2) 0 0;padding-left:1.2rem;font-size:.85rem}.students-filter{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.students-filter select{max-width:12rem}.student-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.student-row{border:1px solid var(--color-slate-200);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.student-row__identity{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.student-row__username{font-size:1.05rem;font-weight:600}.student-row__cycle{color:var(--color-slate-500);font-size:.9rem}.student-row__confirm{background:var(--color-warning-bg);color:var(--color-warning-fg);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.secret-reveal{border:1px dashed var(--color-pool-500);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-2);background:var(--color-pool-100);color:var(--color-slate-900);flex-direction:column;display:flex}.secret-reveal__label{margin:0;font-weight:600}.secret-reveal__value{align-items:center;gap:var(--space-3);flex-wrap:wrap;font-size:1.1rem;display:flex}.secret-reveal__value code{letter-spacing:.04em;word-break:break-all;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace}@media (width>=40rem){.student-row__identity{justify-content:space-between}}.app-main--planning{max-width:68rem}.app-main--planning a{color:var(--color-pool-700);text-underline-offset:.2em}.app-nav a[aria-current=page]{text-underline-offset:.3em;text-decoration:underline}.planning-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.planning-card{border:1px solid var(--color-slate-200);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}.planning-card+.planning-card,.planning-card h3{margin-top:0}.planning-actions,.planning-meta{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.planning-actions{margin-block:var(--space-3)}.planning-actions .button--secondary{align-self:auto;margin-top:0}.planning-meta{justify-content:space-between}.planning-list{gap:var(--space-3);padding:0;list-style:none;display:grid}.planning-list>li{min-width:0}.planning-form{gap:var(--space-4)}.app-main--planning form label{gap:var(--space-2);flex-direction:column;display:flex}.app-main--planning fieldset{border:1px solid var(--color-slate-200);border-radius:var(--radius-md);min-width:0;padding:var(--space-4);gap:var(--space-3);margin:0;display:grid}.app-main--planning legend{padding-inline:var(--space-2);color:var(--color-pool-900);font-weight:600}.app-main--planning input:not([type=checkbox]),.app-main--planning select,.app-main--planning textarea{width:100%;min-width:0;max-width:100%;min-height:2.75rem;padding:var(--space-3);border-radius:var(--radius-md);font:inherit;color:var(--color-slate-900);background:var(--color-surface);border:1px solid #94a3b8}.app-main--planning textarea{resize:vertical;min-height:6rem}.app-main--planning input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--color-pool-700)}.app-main--planning label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:2.75rem}.app-main--planning .button:not(.button--secondary):not(.button--danger){background:var(--color-pool-700);color:#fff}.button--danger{background:var(--color-error-bg);color:var(--color-error-fg);border:1px solid #fca5a5}.planning-preview{padding:var(--space-4);border-left:4px solid var(--color-pool-500);border-radius:var(--radius-md);background:var(--color-pool-100)}.planning-preview p,.app-main--planning dd{white-space:pre-wrap;overflow-wrap:anywhere}.planning-warning{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning-fg);margin-block:var(--space-3)}.planning-success{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-ok-bg);color:var(--color-ok-fg)}.app-main--planning summary{cursor:pointer;min-height:2.75rem;padding-block:var(--space-2);font-weight:600}.app-main--planning p,.app-main--planning h2,.app-main--planning h3{overflow-wrap:anywhere}.app-main--planning .error-banner{margin-block:var(--space-3)}@media (width>=48rem){.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main--planning{padding:var(--space-6)}}.result-diff-wrapper{margin-block:var(--space-3);overflow-x:auto}.result-diff{border-collapse:collapse;width:100%;min-width:22rem;font-size:.9rem}.result-diff th,.result-diff td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-slate-200);vertical-align:top}.result-diff thead th{color:var(--color-slate-700);text-transform:uppercase;letter-spacing:.02em;font-size:.8rem}.result-diff tbody th{color:var(--color-slate-900);white-space:normal;font-weight:600}.app-main--planning .planning-actions[role=group] .button--primary{margin-top:0}.student-row__retention{margin:var(--space-2) 0 0;color:var(--color-warning-fg);background:var(--color-warning-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.85rem}.app-header--product{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-6);padding:var(--space-3) max(var(--space-4), calc((100% - 65rem) / 2));background:var(--color-surface);color:var(--color-pool-900);border-bottom:1px solid var(--color-slate-200);text-align:left;flex-wrap:wrap;display:flex}.app-header--product h1{letter-spacing:-.03em;font-size:1.2rem}.app-header--product .app-nav{justify-content:flex-start;gap:.25rem;margin:0}.app-header--product .app-nav a{border-radius:var(--radius-md);min-height:2.75rem;color:var(--color-slate-700);align-items:center;padding:.5rem .75rem;font-size:.9rem;text-decoration:none;display:inline-flex}.app-header--product .app-nav a:hover{background:var(--color-slate-100)}.app-header--product .app-nav a[aria-current=page]{color:var(--color-pool-900);background:var(--color-pool-100)}.app-header--product .app-nav .button{padding:.5rem .75rem;font-size:.85rem}.section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.section-heading h2{margin:0}.disclosure{min-width:0}.disclosure>summary{cursor:pointer;min-height:2.75rem;color:var(--color-pool-700);padding-block:.65rem;font-weight:600}.disclosure[open]>summary{margin-bottom:var(--space-3)}.disclosure:not(.panel){border-top:1px solid var(--color-slate-200)}.panel.disclosure{padding-block:var(--space-2)}.session-instructions{white-space:pre-wrap}.planning-meta dd{margin:0}.planning-preview .planning-card{border:0;border-bottom:1px solid #cbd5e1;padding:.5rem 0}.planning-preview .planning-card:last-child{border-bottom:0}.planning-preview .planning-list{gap:var(--space-2);margin:0}.planning-preview .planning-meta{margin:.5rem 0}.planning-preview ul{margin-block:.5rem}.planning-grid>.planning-card{align-self:start}.planning-grid>.planning-card label:not(:has(input)){margin-top:var(--space-3);display:block}.planning-grid>.planning-card .panel__hint{margin-block:.35rem}@media (width<=40rem){.app-header--product{gap:.25rem}.app-header--product .app-nav{width:100%}.app-header--product .app-nav a{padding-inline:.5rem;font-size:.85rem}.app-header--product .app-nav .button{padding-inline:.5rem;font-size:.8rem}.app-main{padding:var(--space-3)}}
