/* makekite classroom tools (static/classroom.js) */
.cl-tool{margin:12px 0 20px;color:#123452}
.cl-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}
.cl-side{display:flex;flex-direction:column;gap:8px;background:#f4fafd;border:1px solid #cfe0ec;border-radius:12px;padding:12px}
.cl-side textarea{width:100%;box-sizing:border-box;font:inherit}.cl-side label{display:flex;flex-direction:column;gap:4px;font-weight:600}.cl-side label.chk{flex-direction:row;align-items:center;font-weight:400}
.cl-stage{background:#fff;border:1px solid #cfe0ec;border-radius:16px;padding:16px;text-align:center}
.cl-stage:fullscreen{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:0}
.cl-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:10px 0}
.cl-btns button,.cl-side button{padding:8px 14px;border-radius:10px;border:1.5px solid #123452;background:#fff;color:#123452;font-weight:700;cursor:pointer}
.cl-go{background:#ff6b61!important;border-color:#ff6b61!important;color:#fff!important;font-size:1.15rem;padding:10px 22px!important}
.cl-big{font-size:clamp(1.4rem,4vw,2.6rem);font-weight:800;margin:10px 0;min-height:1.3em}.cl-note{font-size:.9rem;color:#4a6a82;margin:4px 0}
/* wheel */
.cw-wrap{position:relative;width:min(100%,560px);margin:0 auto}.cw-wrap canvas{width:100%;height:auto;display:block;cursor:pointer}
.cw-ptr{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #123452;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}
.cl-stage:fullscreen .cw-wrap{width:min(80vh,90vw)}
/* timer */
.ct-mode{display:inline-flex;border:1.5px solid #123452;border-radius:10px;overflow:hidden}.ct-mode button{border:0;background:#fff;padding:8px 16px;font-weight:700;color:#123452;cursor:pointer}.ct-mode button.on{background:#123452;color:#fff}
.ct-time{font-size:clamp(4rem,18vw,11rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05;margin:10px 0}
.cl-stage:fullscreen .ct-time{font-size:28vw}
.ct-bar{height:14px;background:#edf5fa;border-radius:8px;overflow:hidden;max-width:700px;margin:0 auto}.ct-bar span{display:block;height:100%;background:#7bd389;transition:width .2s linear}
.ct-low .ct-time{color:#e5484d}.ct-low .ct-bar span{background:#ff6b61}
.ct-done{animation:ctflash 1s ease-in-out 3}@keyframes ctflash{50%{background:#ffe6e3}}
.cl-btns input[type=number]{width:4.5em}
/* groups */
.cg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;text-align:left}
.cg-card{border:2px solid var(--c);border-radius:12px;padding:8px 12px;break-inside:avoid}.cg-card h3{margin:0 0 6px;background:var(--c);margin:-8px -12px 8px;padding:6px 12px;border-radius:9px 9px 0 0;color:#123452}
.cg-card ul{margin:0;padding-left:1.2em;font-size:1.1rem}
/* noise */
.cn-face{font-size:clamp(5rem,16vw,10rem);line-height:1}
.cn-meter{position:relative;height:38px;background:#edf5fa;border-radius:20px;overflow:hidden;max-width:760px;margin:14px auto}
.cn-meter span{display:block;height:100%;width:0;background:#7bd389;transition:width .1s}.cn-meter span.mid{background:#ffd45e}.cn-meter span.hi{background:#ff6b61}
.cn-meter i{position:absolute;top:0;bottom:0;width:3px;background:#123452}
/* seating */
.cs-h{margin:4px 0}.cs-front{background:#123452;color:#fff;border-radius:8px;padding:6px;margin:8px auto 14px;max-width:60%;font-weight:700}
.cs-grid{display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));gap:10px}
.cs-desk{min-height:58px;border:2px solid #123452;border-radius:10px;background:#fff;font-weight:700;font-size:.95rem;color:#123452;cursor:pointer;padding:4px;word-break:break-word}
.cs-desk.empty{border-style:dashed;border-color:#9ab7cb}.cs-desk.sel{background:#ffd45e}
@media(max-width:820px){.cl-row{grid-template-columns:1fr}.cs-grid{gap:6px}.cs-desk{font-size:.8rem;min-height:46px}}
@media print{.cl-side,.cl-btns,.cl-note{display:none!important}.cl-row{display:block}.cl-stage{border:0;padding:0}.cs-desk{min-height:18mm}.cg-card ul{font-size:12pt}}
