/* Kindness Wave only: no shared teacher menu or other activity rules. */
#kabuKindnessWave{margin-top:30px;padding:24px;border:2px solid white;border-radius:26px;background:linear-gradient(135deg,#f3eafa,#e7f6ed);color:#443453;line-height:1.65;min-width:0}
#kabuKindnessWave .kww-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}
#kabuKindnessWave .kww-heading>div{min-width:0;flex:1 1 520px}
#kabuKindnessWave .kww-eyebrow{font-size:13px;font-weight:800;letter-spacing:.7px;color:#795699}
#kabuKindnessWave h4{font-size:clamp(30px,3.6vw,42px);line-height:1.25;color:#6540b5;margin:10px 0}
#kabuKindnessWave .kww-slogan{font-size:22px;font-weight:800;color:#674892;margin:0}
#kabuKindnessWave .kww-count{display:inline-block;padding:12px 16px;background:white;border:2px solid #decfed;border-radius:16px;color:#6540b5;font-size:19px;white-space:nowrap}
#kabuKindnessWave .kww-date-note{font-size:13px;line-height:1.6;color:#736581;margin:16px 0}
#kabuKindnessWave .kww-date-note a{text-decoration:underline;text-underline-offset:2px}
#kabuKindnessWave .kww-instruction{font-size:20px;font-weight:700;line-height:1.6;margin:18px 0}
#kabuKindnessWave .kww-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:22px;margin:12px 0}
#kabuKindnessWave .kww-wave{position:relative;width:100%;max-width:530px;aspect-ratio:6/5;margin:0 auto;min-width:0}
#kabuKindnessWave #kwwWaveDrawing{width:100%;height:100%}
#kabuKindnessWave #kwwWaveDrawing svg{display:block;width:100%;height:100%}
#kabuKindnessWave #kwwMascot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:29%;height:auto;max-height:46%;object-fit:contain;background:transparent;filter:drop-shadow(0 3px 2px #6540b519)}
#kabuKindnessWave .kww-ring-new{transform-box:view-box;transform-origin:center;animation:kwwRingIn .55s ease-out}
#kabuKindnessWave .kww-heart-new{transform-box:fill-box;transform-origin:center;animation:kwwHeartIn .5s ease-out}
#kabuKindnessWave .kww-behavior-area{min-width:0}
#kabuKindnessWave .kww-empty{padding:22px;background:#ffffff90;border:2px dashed #d9c8e9;border-radius:22px;font-size:19px;line-height:1.75}
#kabuKindnessWave .kww-behaviors{display:grid;grid-template-columns:1fr;gap:12px;list-style:none;padding:0;margin:0;min-width:0}
#kabuKindnessWave .kww-behaviors.kww-many{grid-template-columns:repeat(2,minmax(0,1fr))}
#kabuKindnessWave .kww-behaviors li{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#ffffffd9;border:2px solid var(--kww-item-color);border-radius:18px;box-shadow:0 3px 0 #6540b50d;font-size:18px;line-height:1.65;min-width:0}
#kabuKindnessWave .kww-item-number{display:grid;place-items:center;min-width:28px;min-height:28px;font-size:15px;font-weight:850;color:#6540b5;background:#f0e8fa;border-radius:10px;flex:none}
#kabuKindnessWave .kww-item-text{min-width:0;overflow-wrap:anywhere;word-break:normal}
#kabuKindnessWave .kww-message{min-height:1.7em;margin:12px 0;font-size:20px;font-weight:750;color:#6540b5}
#kabuKindnessWave .kww-entry-label{display:block;font-size:18px;font-weight:750;margin:12px 0 8px}
#kabuKindnessWave .kww-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#kabuKindnessWave #kwwInput{flex:1 1 400px;width:100%;min-width:0;min-height:54px;padding:13px 15px;border:2px solid #d8c8eb;border-radius:15px;background:white;color:#443453;font:inherit;font-size:18px}
#kabuKindnessWave #kwwInput[aria-invalid="true"]{border-color:#967025}
#kabuKindnessWave .kww-characters{display:block;margin-top:7px;font-size:14px;color:#77628c}
#kabuKindnessWave button{min-height:50px;padding:13px 18px;border:0;border-radius:15px;font:inherit;font-size:17px;font-weight:750;line-height:1.4;background:#6540b5;color:white;box-shadow:0 4px 0 #4e2e90}
#kabuKindnessWave button:disabled{opacity:.5;box-shadow:none;cursor:default}
#kabuKindnessWave :is(button,input,summary,a):focus-visible{outline:3px solid #563397;outline-offset:4px}
#kabuKindnessWave .kww-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
#kabuKindnessWave #kwwIdea,#kabuKindnessWave #kwwUndo,#kabuKindnessWave #kwwReset{background:#e4d7f5;color:#53347f;box-shadow:0 4px 0 #cebbe9}
#kabuKindnessWave #kwwPrint{background:#317a5b;box-shadow:0 4px 0 #245b44}
#kabuKindnessWave #kwwStatus{font-size:17px;font-weight:750;min-height:1.7em;margin:14px 0 0;color:#5c447a}
#kabuKindnessWave .kww-privacy{font-size:14px;line-height:1.6;color:#746180;margin:16px 0}
#kabuKindnessWave .kww-help{padding:0 18px 18px;background:#fff5dc;border:1px solid #e6d5a9;border-radius:18px;margin-top:20px;font-size:16px}
#kabuKindnessWave .kww-help>summary{display:list-item;list-style:disclosure-closed;min-height:58px;padding:16px 0;font-size:19px;font-weight:750;color:#6540b5;cursor:pointer}
#kabuKindnessWave .kww-help[open]>summary{list-style:disclosure-open}#kabuKindnessWave .kww-help>summary::-webkit-details-marker{display:inline}
#kabuKindnessWave .kww-help ol{padding-left:24px}#kabuKindnessWave .kww-help li{margin-bottom:8px}
#kabuKindnessWave [hidden]{display:none!important}
@keyframes kwwRingIn{from{opacity:.2;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes kwwHeartIn{from{opacity:.2;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@media(max-width:850px){#kabuKindnessWave .kww-workspace{grid-template-columns:1fr;gap:12px}#kabuKindnessWave .kww-wave{max-width:420px}#kabuKindnessWave .kww-behaviors.kww-many{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#kabuKindnessWave{padding:18px 12px}#kabuKindnessWave .kww-count{font-size:18px}#kabuKindnessWave .kww-slogan{font-size:20px}#kabuKindnessWave .kww-wave{max-width:340px}#kabuKindnessWave .kww-behaviors,#kabuKindnessWave .kww-behaviors.kww-many{grid-template-columns:1fr}#kabuKindnessWave .kww-behaviors li{font-size:18px}#kabuKindnessWave .kww-entry button,#kabuKindnessWave .kww-actions button{flex:1 1 145px}#kabuKindnessWave #kwwInput{font-size:17px}}
@media(prefers-reduced-motion:reduce){#kabuKindnessWave *,#kabuKindnessWave *::before{animation:none!important;transition:none!important}}
