:root{color:#14213d;background:#f7f4ef;font-family:Segoe UI,sans-serif}body{margin:0}*{box-sizing:border-box}.page{background:#fff;border-radius:12px;max-width:48rem;margin:2rem auto;padding:1.5rem;box-shadow:0 8px 24px #14213d14}.toolbar,.choices{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}button,textarea,select{font:inherit}button,.button-link{color:#fff;cursor:pointer;background:#1b4b73;border:0;border-radius:8px;padding:.6rem 1rem;text-decoration:none}button:disabled{opacity:.6;cursor:not-allowed}textarea{width:100%;margin:.5rem 0 1rem;padding:.75rem}select{margin:.5rem 0 1rem;padding:.6rem;display:block}progress{width:100%}[role=alert]{color:#9b2226}.eyebrow{color:#52677a;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}h1,h2,h3,h4{color:#14213d}.secondary{color:#163b59;background:#e7eef4}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.choice-card,.selected{text-align:left;min-height:4rem}.choice-card{color:#163b59;background:#e7eef4}.selected{background:#1b4b73;outline:3px solid #8cc8ff}.selection-page section,.case-brief,.criterion-meter,.complete-page section,.review-card section{margin-top:1.5rem}.case-brief,.criterion-meter{background:#f7fafc;border:1px solid #ccd9e3;border-radius:10px;padding:1rem}.meter-heading,.status-counts,.quality-flags{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-counts{padding:0;list-style:none}.status-dot{border-radius:50%;width:.75rem;height:.75rem;margin-right:.35rem;display:inline-block}.status-dot.met,.pass{color:#155b2c;background:#d7f1df}.status-dot.progressing{background:#ffd166}.status-dot.pending{background:#cbd5df}.conversation,.source-list,.pending-list{padding:0;list-style:none}.message{background:#eef3f7;border-radius:12px;max-width:85%;margin:.75rem 0;padding:.8rem 1rem}.message.player{background:#dceeff;margin-left:auto}.message.evaluation{border-left:4px solid #1b4b73}.message.hint{background:#fff3cd}.message p{margin-bottom:0}.unlock{border:1px dashed #7f8c99;border-radius:10px;margin-top:1.5rem;padding:1rem}.unlock.unlocked{background:#eefaf1;border-color:#237a43}.final-score{font-size:1.5rem;font-weight:700}.source-list li{margin-bottom:1rem}blockquote{border-left:3px solid #ccd9e3;margin:.5rem 0;padding-left:1rem}.generate-panel,.users-panel{margin-bottom:1.5rem}.user-list{padding:0;list-style:none}.user-list li{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.user-list select{margin:0}.admin-page{max-width:90rem;margin:1.5rem auto;padding:1.5rem}.admin-toolbar,.admin-layout{gap:1rem;display:grid}.admin-toolbar{grid-template-columns:1fr auto;align-items:center}.admin-layout{grid-template-columns:minmax(15rem,22rem) minmax(0,1fr)}.pending-list button{width:100%;margin-bottom:.5rem}.pending-list span{margin-top:.35rem;display:block}.review-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 8px 24px #14213d14}.restricted,.danger-zone{border-radius:8px;padding:1rem}.restricted{background:#fff9e8;border:1px solid #d3b765}.danger-zone{background:#fff5f5;border:1px solid #d59595}.danger{background:#9b2226}.quality-flags span{border-radius:999px;padding:.4rem .7rem}.fail{color:#842029;background:#f8d7da}.checklist{gap:.5rem;margin-bottom:1rem;display:grid}code{margin-top:.35rem;display:block}.admin-page{color:#15263d;background:radial-gradient(circle at 5% 0,#4091d11f,#0000 28rem),radial-gradient(circle at 95% 15%,#60d5b11a,#0000 25rem)}.admin-toolbar{margin-bottom:1.5rem;padding:.5rem 0}.admin-toolbar h1{letter-spacing:-.04em;margin:.25rem 0 0;font-size:clamp(1.8rem,3vw,2.7rem)}.admin-page .review-card,.generation-batches{border:1px solid #143c5917;border-radius:18px;box-shadow:0 1px 2px #14213d08,0 16px 42px #14213d14}.generate-panel{padding:clamp(1.25rem,3vw,2rem);position:relative;overflow:hidden}.generate-panel:before{content:"";background:linear-gradient(90deg,#1976a3,#40b993);height:4px;position:absolute;inset:0 0 auto}.panel-heading,.queue-heading,.generate-actions,.batch-summary,.batch-counts{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-heading{align-items:flex-start}.panel-heading h2,.queue-heading h2{letter-spacing:-.02em;margin:.25rem 0;font-size:1.45rem}.panel-description{color:#52677a;max-width:47rem;margin:.4rem 0 0;line-height:1.55}.model-badge,.batch-status{color:#17664f;letter-spacing:.02em;background:#eaf8f3;border:1px solid #b6dfd1;border-radius:999px;flex:none;padding:.45rem .75rem;font-size:.78rem;font-weight:700}.generate-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.field{flex-direction:column;gap:.45rem;min-width:0;display:flex}.field>span{font-size:.9rem;font-weight:700}.field>span em{color:#748797;font-size:.78rem;font-style:normal;font-weight:500}.field-wide{grid-column:1/-1}.field select,.field input{color:#14213d;width:100%;min-height:3rem;font:inherit;background:#fbfcfd;border:1px solid #c8d4df;border-radius:10px;outline:none;margin:0;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s}.field select:hover,.field input:hover{background:#fff;border-color:#8ba4b8}.field select:focus,.field input:focus{background:#fff;border-color:#2476a8;box-shadow:0 0 0 4px #2476a821}.field small{color:#66798a;min-height:1.2rem;line-height:1.4}.field-error{color:#a52b32!important}.generate-actions{border-top:1px solid #e2e9ef;margin-top:1.5rem;padding-top:1.25rem}.generate-actions strong{font-size:1.05rem}.generate-actions span{color:#66798a}.generate-actions button{background:linear-gradient(135deg,#17678f,#19517b);min-height:3rem;padding-inline:1.4rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #19517b33}.generate-actions button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 24px #19517b47}.generation-status{color:#17664f;background:#eaf8f3;border-radius:10px;margin:1rem 0 0;padding:.8rem 1rem}.generation-batches{background:#fff;margin-bottom:1.5rem;padding:1.5rem}.generation-batches ul{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.generation-batches li{background:#f9fbfc;border:1px solid #dde6ed;border-radius:12px;padding:1rem}.batch-summary strong,.batch-summary span{display:block}.batch-summary div>span,.batch-counts{color:#66798a;font-size:.85rem}.generation-batches progress{accent-color:#278e70;border:0;border-radius:999px;height:.55rem;margin:.75rem 0 .45rem;overflow:hidden}.batch-status.status-failed,.batch-status.status-partiallycompleted{color:#97252c;background:#fff0f1;border-color:#ecc0c3}.batch-status.status-queued{color:#52677a;background:#edf2f6;border-color:#ced8e2}.batch-error{color:#97252c;margin:.65rem 0 0;font-size:.85rem}@media (width<=48rem){.admin-layout,.admin-toolbar{grid-template-columns:1fr}.page,.admin-page{border-radius:0;margin:0}.generate-form{grid-template-columns:1fr}.panel-heading,.generate-actions{flex-direction:column;align-items:stretch}.generate-actions button{width:100%}}
