/* Read-a-Thon Competition Studio v2.3 */
.cs-main{max-width:1390px}.cs-hero{background:linear-gradient(115deg,#10244b 20%,#1b477b 70%,#156f87);color:white;border-radius:25px;padding:clamp(24px,4vw,48px)}.cs-hero p{max-width:900px}.cs-sectionhead{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.cs-pill{padding:8px 13px;border-radius:999px;background:#e7f5f1;color:#26725e;font-weight:900;font-size:12px}.cs-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}.cs-cat{background:#f6faff;border:2px solid #e1eaf7;border-radius:15px;padding:16px 12px;display:flex;flex-direction:column;text-align:left;gap:8px;cursor:pointer;font:inherit;color:#17355d;min-height:145px}.cs-cat strong{font-size:15px}.cs-cat small{font-size:12px;line-height:1.4;color:#597393}.cs-cat .cs-emoji{font-size:26px}.cs-cat[aria-pressed=true]{border-color:#1d8d84;background:#edf9f4;box-shadow:0 0 0 2px #208f7830}.cs-cat:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #e3ac46;outline-offset:3px}.cs-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.85fr);gap:18px;align-items:start}.cs-primary,.cs-side{min-width:0;display:grid;gap:16px}.cs-fields{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.cs-fields label,.cs-notes-label{display:grid;gap:7px;color:#3b5b80;font-size:13px;font-weight:800}.cs-select-wide{flex:1;min-width:250px}.cs-fields select,.cs-fields input,.cs-notes-label input,.cs-notes-label textarea,.cs-notes-label select{font:inherit;color:#143055;border:1px solid #c2d2e8;border-radius:10px;padding:11px 12px;background:#fff;min-width:0;max-width:100%;width:100%}.cs-choicefields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cs-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}.cs-actions .btn{white-space:normal}.cs-preview{background:#f3f7fd;border:1px solid #d7e5f5;border-radius:15px;padding:20px}.cs-preview h3{color:#123362;margin:4px 0 12px}.cs-meta{font-size:11px;font-weight:950;letter-spacing:.06em;color:#55759c}.cs-passage{font-size:clamp(16px,1.55vw,19px);line-height:1.78;white-space:pre-wrap;overflow-wrap:anywhere;color:#183655}.cs-prompt{border-left:4px solid #f7bb43;padding:12px;background:#fff9e9;border-radius:8px;font-weight:750;color:#234468;line-height:1.55}.cs-tip{background:#eff5ff;border-left:3px solid #4d87c3;padding:12px;border-radius:8px;font-size:13px;line-height:1.55;color:#486b8b}.cs-status{font-size:13px;color:#3b6895;line-height:1.5}.cs-choices{display:grid;gap:9px;margin:14px 0}.cs-choice{padding:14px;border:1px solid #d7e4f4;border-radius:12px;background:#f7faff;line-height:1.5;color:#18375d}.cs-choice.correct{border-color:#2f9d77;background:#e8f9f1;font-weight:850}.cs-explanation{background:#eef9f3;border:1px solid #b7e3ca;color:#255c49;border-radius:11px;padding:13px;line-height:1.5}.cs-rubric{display:grid;gap:11px}.cs-rubrow{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:14px;align-items:center;padding:11px 13px;background:#f3f8ff;border-radius:12px}.cs-rubrow label{color:#33577b;font-size:13px;font-weight:750}.cs-rubrow input{border:1px solid #b6cce5;padding:10px;border-radius:9px;max-width:100%;font:inherit}.cs-scoreline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0}.cs-scoreline span{font-size:24px;font-weight:900;color:#173b70}.cs-clock{font-size:clamp(38px,5vw,60px);font-weight:950;letter-spacing:-.03em;color:#173a6d;font-variant-numeric:tabular-nums;margin:18px 0}.cs-teams{display:grid;gap:10px;margin:10px 0}.cs-team{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:6px;background:#f4f8fe;padding:9px;border-radius:10px;color:#1b3e69}.cs-team span{font-size:13px;font-weight:800}.cs-team b{min-width:32px;text-align:center}.cs-team button{border:0;background:#dfeafa;color:#244f7b;border-radius:7px;padding:8px;cursor:pointer;font-weight:800}.cs-check{display:flex;gap:9px;align-items:center;font-size:13px;margin-bottom:13px;color:#345577}.cs-results{font-size:13px;line-height:1.55;color:#3b5b7e;max-height:220px;overflow:auto}.cs-record{border-bottom:1px solid #d8e6f2;padding:10px 2px}.cs-custom summary{cursor:pointer;font-size:17px;font-weight:850;color:#23486d}.cs-custom form{margin-top:18px}.cs-import{cursor:pointer}.cs-tvbody{margin:0;background:linear-gradient(145deg,#0d2045,#0b4875);color:white;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}.cs-tvbody *{box-sizing:border-box}.cs-tv{min-height:100vh;padding:clamp(15px,3vw,38px);display:flex;flex-direction:column;gap:10px}.cs-tvtop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.cs-tvbrand{font-weight:950;font-size:clamp(22px,2.5vw,34px);color:#ffd16d}.cs-tvminor{color:#c4d9f2;font-size:13px}.cs-tvtools{display:flex;gap:16px;align-items:center}.cs-tvclock{font-size:clamp(32px,4vw,62px);font-weight:950;color:#ffca63;font-variant-numeric:tabular-nums}.cs-tvtools button{background:#ffcd6c;color:#0c2c55;padding:12px 16px;border-radius:12px;border:0;font-size:15px;font-weight:850;cursor:pointer}.cs-tvcenter{width:100%;max-width:1440px;margin:auto}.cs-tvcategory{text-transform:uppercase;letter-spacing:.07em;color:#bdddf8;font-weight:800;font-size:clamp(13px,1.3vw,19px)}.cs-tv h1{font-size:clamp(26px,4vw,60px);color:#ffd16d;line-height:1.14;margin:15px 0 25px}.cs-tvcart{background:white;color:#102b4e;border-radius:22px;padding:clamp(22px,3.5vw,45px);box-shadow:0 20px 45px #0003;min-height:200px}.cs-tvpassage{white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(19px,2.1vw,34px);line-height:1.65;margin:0}.cs-tvcart h2{font-size:clamp(21px,2.7vw,43px);line-height:1.3;color:#142e58}.cs-tvchoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cs-tvchoice{padding:19px;border-radius:12px;background:#edf4fc;font-size:clamp(17px,2vw,30px);font-weight:650;line-height:1.35}.cs-tvchoice.correct{background:#dcf8e5;border:3px solid #3ca171}.cs-tvreveal{margin-top:18px;background:#e9faef;border-radius:12px;padding:16px;color:#225844;font-size:clamp(16px,1.7vw,25px)}.cs-tvteams{display:flex;gap:15px;flex-wrap:wrap;margin-top:21px}.cs-tvteam{padding:12px 19px;border:1px solid #6685af;border-radius:12px;background:#ffffff1a;font-size:clamp(17px,1.8vw,26px);font-weight:800}.cs-tvfoot{margin-top:20px}
@media(max-width:1000px){.cs-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-layout{grid-template-columns:1fr}}@media(max-width:650px){.cs-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-choicefields{grid-template-columns:1fr}.cs-tvchoices{grid-template-columns:1fr}.cs-hero{padding:22px}.cs-team{grid-template-columns:1fr auto auto auto}.cs-tv{padding:13px}}

/* Story Roulette v2.4: visually matches the original classroom concept without copying inaccessible code. */
.cs-roulette-card{background:linear-gradient(150deg,#f4fbff,#f5f7fd);border:1px solid #cbdff0;border-radius:18px;margin:14px 0 18px;padding:18px;box-shadow:0 12px 32px #234b7410;text-align:center}
.cs-roulette-head,.cs-tvwheel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left}.cs-roulette-head strong{font-weight:950;color:#16456a;font-size:15px}.cs-roulette-head p{color:#587795;font-size:12px;line-height:1.5;margin:5px 0}.cs-roulette-pill{background:#e1f6ec;color:#11705f;font-size:11px;font-weight:950;border-radius:999px;padding:9px 13px;white-space:nowrap}
.cs-wheel-stage{display:flex;position:relative;justify-content:center;align-items:center;max-width:350px;margin:12px auto 2px;padding-top:19px}.cs-wheel-frame{position:relative;width:min(67vw,292px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:8px solid white;box-shadow:0 8px 30px #234c7760,inset 0 0 0 2px #ffffff;isolation:isolate}.cs-wheel-disc{position:absolute;inset:0;border-radius:50%;border:3px solid #e9f4ff;background:conic-gradient(from -90deg,#21bcb1 0 45deg,#17345b 45deg 90deg,#ffa74f 90deg 135deg,#2477aa 135deg 180deg,#20b5a2 180deg 225deg,#17345b 225deg 270deg,#f5b653 270deg 315deg,#25a2ad 315deg 360deg);box-shadow:inset 0 0 0 4px #ffffffbd;transform:rotate(0deg);transition:transform 4s cubic-bezier(.15,.74,.1,1)}.cs-wheel-disc::after{content:"";position:absolute;inset:12%;border:2px dashed #ffffffbd;border-radius:50%}.cs-wheel-pointer{position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:26px solid #ea7b31;z-index:5;filter:drop-shadow(0 2px 2px #173e4a40)}.cs-wheel-button{z-index:2;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border:7px solid #ecf3f6;border-radius:50%;width:85px;height:85px;box-shadow:0 4px 13px #10335750;cursor:pointer;font:inherit;font-size:24px;color:#173659}.cs-wheel-button strong{font-size:13px;letter-spacing:.05em}.cs-wheel-button:disabled{cursor:not-allowed;opacity:.65}.cs-wheel-button:focus-visible{outline:4px solid #f9aa48;outline-offset:5px}.cs-wheel-status{font-weight:900;color:#193e64;min-height:28px;margin:12px 0;overflow-wrap:anywhere}.cs-wheel-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.cs-wheel-permission{display:flex;align-items:flex-start;justify-content:center;gap:8px;color:#285574;font-size:13px;line-height:1.5;text-align:left;margin:14px auto 7px;max-width:460px}.cs-wheel-permission input{width:17px;height:17px;accent-color:#158b83;flex-shrink:0;margin-top:1px}.cs-wheel-note{font-size:12px;line-height:1.5;color:#5f7690;margin:8px 0 0}
.cs-tvroulette{background:linear-gradient(130deg,#17385b,#195d79);border:1px solid #6091ba60;border-radius:24px;padding:clamp(15px,2vw,26px);margin:15px auto 20px;max-width:840px;text-align:center}.cs-tvwheel-header{text-align:left}.cs-tvwheel-header h2{color:#fff9ec;font-size:clamp(18px,2.3vw,30px);margin:5px 0}.cs-tvwheel{width:min(47vw,315px);max-width:315px}.cs-tvroulette .cs-wheel-status,.cs-tvroulette .cs-tvminor{color:#d6e7f6}.cs-tvroulette[hidden]{display:none}.cs-tvroulette.spinning .cs-wheel-button{pointer-events:none}.cs-tvroulette.is-done{max-width:650px}.cs-tvroulette.is-done .cs-wheel-stage{max-width:220px}.cs-tvroulette.is-done .cs-tvwheel{width:155px}.cs-tvroulette.is-done .cs-wheel-button{width:60px;height:60px;font-size:18px;border-width:4px}.cs-tvroulette.is-done .cs-wheel-button strong{font-size:10px}.cs-tvroulette.is-done .cs-wheel-pointer{border-left-width:10px;border-right-width:10px;border-top-width:19px;top:4px}
@media(max-width:600px){.cs-roulette-card{padding:12px}.cs-roulette-head{align-items:start}.cs-wheel-stage{padding-top:20px}.cs-tvroulette .cs-wheel-stage{max-width:260px}.cs-tvwheel{width:min(75vw,260px)}.cs-tvclock{font-size:30px}}
@media(prefers-reduced-motion:reduce){.cs-wheel-disc{transition-duration:.01s !important}}
