/* Word Builder / Kelime Kur. Builds on the Kids design system v3 tokens in kids-product.css. */
.ww{--ww-accent:var(--k-mint);--ww-paper:#fff6e4;--ww-ink:#1d2246;--ww-mark:#d63a6a;position:relative}
.ww *{box-sizing:border-box}
.ww-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ww button{cursor:pointer;font-family:"Manrope",Inter,sans-serif}
.ww button:focus-visible,.ww-prompt:focus-visible,.ww-win h3:focus-visible{outline:4px solid var(--k-gold);outline-offset:3px}

/* Toolbar: modes and levels */
.ww-toolbar{margin-bottom:12px}
.ww .kg-levels{max-width:100%}
.ww .kg-levels button{display:inline-flex;align-items:center;gap:8px}
.ww-mode-ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ww-modes button[aria-pressed="true"]{background:var(--ww-accent);color:#062018}
.ww-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ww-level button[aria-pressed="true"]{background:var(--k-gold);color:#241a05}
.ww .kg-score{margin:0}
.ww-star-ico{width:18px;height:18px;fill:var(--k-gold)}

/* How to play + progress */
.ww-howto{display:flex;align-items:flex-start;gap:10px;margin:16px 0 12px;padding:10px 14px;border-radius:16px;background:rgba(98,227,171,.1);border:1px solid rgba(98,227,171,.32);color:var(--k-ink)!important;font-weight:700;font-size:.98rem;line-height:1.4}
.ww-howto svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--ww-accent);stroke-width:2.2;stroke-linecap:round;margin-top:1px}
.ww-dots{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0 0 4px;padding:0}
.ww-dots li{width:16px;height:16px;border-radius:50%;background:var(--k-bg-2);border:2px solid var(--k-line);transition:background .2s,border-color .2s,transform .2s}
.ww-dots li.is-current{border-color:var(--ww-accent);box-shadow:0 0 0 3px rgba(98,227,171,.25);transform:scale(1.15)}
.ww-dots li.is-star{background:var(--k-gold);border-color:var(--k-gold)}
.ww-dots li.is-done{background:var(--k-sky);border-color:var(--k-sky)}

/* Prompt + board */
.ww-play{margin-top:14px}
.ww-prompt{font-size:clamp(1.15rem,2.6vw,1.5rem)!important;line-height:1.3;margin:0 0 16px!important;color:var(--k-ink)!important;border-radius:10px;overflow-wrap:anywhere}
.ww-board{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(16px,3vw,34px);align-items:center}
.ww-work{display:flex;flex-direction:column;gap:22px;min-width:0}
.ww-card{margin:0;background:var(--ww-paper);border-radius:28px;padding:clamp(10px,2vw,16px);box-shadow:0 10px 0 rgba(0,0,0,.18),0 0 0 4px rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;min-width:0}
.ww-pic{display:block;width:100%;height:auto;aspect-ratio:1/1}
.ww-word{font-weight:800;font-family:"Manrope",Inter,sans-serif;font-size:clamp(1.3rem,3.2vw,1.9rem);color:var(--ww-ink);letter-spacing:.02em;line-height:1.15;text-align:center;overflow-wrap:anywhere}
.ww-word b,.ww-pick-word b{color:var(--ww-mark)}

/* Slots */
.ww-slots{display:flex;flex-wrap:wrap;gap:clamp(6px,1.2vw,10px)}
.ww-slot{min-width:clamp(42px,7.4vw,66px);height:clamp(54px,9.4vw,80px);padding:0 4px;border-radius:16px;border:3px dashed var(--k-line);background:var(--k-bg-2);display:grid;place-items:center;font:800 clamp(1.6rem,4.2vw,2.5rem)/1 "Manrope",Inter,sans-serif;color:var(--k-ink)}
.ww-slots.is-long .ww-slot{min-width:clamp(34px,6.2vw,56px);font-size:clamp(1.35rem,3.6vw,2.2rem)}
.ww-slots.is-syl .ww-slot{min-width:clamp(92px,15vw,140px);padding:0 10px}
.ww-slot.is-next{border-color:var(--ww-accent);border-style:solid;box-shadow:0 0 0 4px rgba(98,227,171,.18)}
.ww-slot.is-filled{border-style:solid;border-color:#b9ffe0;background:linear-gradient(180deg,#7cf0bf,#3fcf90);color:#05261a}
.ww-slot.is-given{border:3px solid transparent;background:var(--ww-paper);color:var(--ww-ink)}

/* Tiles (letters gold, syllables sky) */
.ww-tiles{display:flex;flex-wrap:wrap;gap:clamp(8px,1.6vw,14px)}
.ww-tile{min-width:clamp(54px,9.6vw,76px);min-height:clamp(56px,9.6vw,76px);padding:4px 10px;border-radius:18px;border:3px solid #ffd98a;background:linear-gradient(180deg,#ffe7a8,#f6c96c);color:#2a1b02;font:800 clamp(1.6rem,4.2vw,2.4rem)/1 "Manrope",Inter,sans-serif;box-shadow:0 6px 0 #a07a2a;transition:transform .12s ease,box-shadow .12s,opacity .15s}
.ww-tiles.is-syl .ww-tile{min-width:clamp(88px,14vw,128px);border-color:#bfe0ff;background:linear-gradient(180deg,#cfe8ff,#8cc4ff);color:#0b1d40;box-shadow:0 6px 0 #3f6fae}
.ww-tile:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 0 #a07a2a}
.ww-tiles.is-syl .ww-tile:not(:disabled):hover{box-shadow:0 8px 0 #3f6fae}
.ww-tile:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 #a07a2a}
.ww-tile:disabled{opacity:.2;cursor:default;box-shadow:none}

/* Missing-letter choices */
.ww-choices{display:flex;flex-wrap:wrap;gap:clamp(10px,2vw,16px)}
.ww-choice{flex:1 1 0;min-width:64px;max-width:130px;min-height:clamp(78px,12vw,104px);border-radius:22px;border:3px solid var(--k-line);background:linear-gradient(180deg,var(--k-surface-3),var(--k-surface-2));color:var(--k-ink);font:800 clamp(2.2rem,5.4vw,3.2rem)/1 "Manrope",Inter,sans-serif;box-shadow:0 6px 0 #0a0f2e;transition:transform .12s ease,box-shadow .12s}
.ww-choice:not(:disabled):hover{border-color:var(--ww-accent);transform:translateY(-2px)}
.ww-choice:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 #0a0f2e}
.ww-choice:disabled{opacity:.35;cursor:default;box-shadow:none}
.ww-choice.is-wrong{border-style:dashed;border-color:var(--k-coral)}

/* Rhyme picks */
.ww-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,18px)}
.ww-picks.is-two{grid-template-columns:repeat(2,minmax(0,200px))}
.ww-picks.is-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ww-pick{position:relative;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:clamp(8px,1.4vw,12px);border-radius:24px;border:4px solid transparent;background:var(--ww-paper);box-shadow:0 7px 0 rgba(0,0,0,.28);transition:transform .12s ease,box-shadow .12s,border-color .15s}
.ww-pick:not(:disabled):hover{border-color:var(--ww-accent);transform:translateY(-3px)}
.ww-pick:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px 0 rgba(0,0,0,.28)}
.ww-pick-n{position:absolute;top:8px;left:10px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 .8rem "Manrope",Inter,sans-serif;background:var(--k-surface);color:var(--k-ink)}
.ww-pick-word{font-weight:800;font-size:clamp(1rem,2.3vw,1.35rem);color:var(--ww-ink);overflow-wrap:anywhere;text-align:center;line-height:1.15}
.ww-pick.is-right{border-color:var(--ww-accent);box-shadow:0 0 0 5px rgba(98,227,171,.35),0 7px 0 rgba(0,0,0,.28)}
.ww-pick.is-wrong{opacity:.5;cursor:default;border-color:var(--k-coral);border-style:dashed}
.ww-pick:disabled:not(.is-right):not(.is-wrong){opacity:.75;cursor:default}
.ww-play[data-mode="rhyme"] .ww-board{grid-template-columns:minmax(0,230px) minmax(0,1fr)}

/* Actions */
.ww-actions .kp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ww-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ww-keys{margin:14px 0 0;font-size:.85rem}

/* Win */
.ww.is-won .kg-status{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ww.is-won .ww-keys,.ww.is-won .ww-howto{display:none}
.ww.is-won .ww-actions{display:none}
.ww.is-won .ww-dots{margin-bottom:6px}
.ww-win h3{outline:0;border-radius:10px}
.ww-win .kg-stars{gap:12px}
.ww-star{width:clamp(48px,10vw,64px);height:auto;fill:rgba(246,201,108,.22);stroke:rgba(246,201,108,.5);stroke-width:1}
.ww-star.is-on{fill:var(--k-gold);stroke:#fff3c9;filter:drop-shadow(0 0 10px rgba(246,201,108,.55))}
.ww-win-actions{justify-content:center}
.ww-win:not([hidden]){animation:ww-pop .45s ease-out both}
.ww-win:not([hidden]) .ww-star.is-on{animation:ww-star .6s ease-out both}
.ww-win .ww-star:nth-child(2){animation-delay:.12s}
.ww-win .ww-star:nth-child(3){animation-delay:.24s}

/* Feedback motion (all off with reduced motion) */
.is-cheer{animation:ww-cheer .6s ease-out}
.is-shake{animation:ww-shake .42s ease-in-out}
.is-pop{animation:ww-popin .3s ease-out}
.is-hinted{animation:ww-hint .7s ease-out}
@keyframes ww-cheer{0%{transform:scale(1)}35%{transform:scale(1.05) rotate(-1.5deg)}70%{transform:scale(.98) rotate(1deg)}100%{transform:none}}
@keyframes ww-shake{0%,100%{transform:none}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@keyframes ww-popin{0%{transform:scale(.8)}70%{transform:scale(1.08)}100%{transform:none}}
@keyframes ww-hint{0%{box-shadow:0 0 0 0 rgba(246,201,108,.9)}100%{box-shadow:0 0 0 18px rgba(246,201,108,0)}}
@keyframes ww-pop{0%{opacity:0;transform:translateY(10px) scale(.97)}100%{opacity:1;transform:none}}
@keyframes ww-star{0%{transform:scale(.3) rotate(-30deg);opacity:0}70%{transform:scale(1.15)}100%{transform:none;opacity:1}}

/* Worksheet: print only */
.ww-sheet{display:none}

/* Responsive */
@media(max-width:860px){
 .ww-board,.ww-play[data-mode="rhyme"] .ww-board{grid-template-columns:minmax(0,1fr)}
 .ww-card{max-width:230px;width:100%;justify-self:center}
 .ww-slots,.ww-tiles,.ww-choices{justify-content:center}
}
@media(max-width:600px){
 .ww .kg-toolbar{flex-direction:column;align-items:stretch}
 .ww-modes{display:grid!important;grid-template-columns:1fr 1fr;border-radius:22px!important}
 .ww-modes button{justify-content:flex-start;border-radius:16px!important;padding:6px 10px!important}
 .ww-level{border-radius:22px!important}
 .ww-level button{padding:6px 12px!important}
 .ww-picks,.ww-picks.is-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ww-pick{border-radius:18px;border-width:3px;padding:6px}
 .ww-card{max-width:190px}
 .ww-choice{min-width:56px}
}
@media(max-width:380px){
 .ww-modes{grid-template-columns:1fr}
 .ww-slot{min-width:34px;height:50px;border-radius:12px;font-size:1.4rem;border-width:2px}
 .ww-slots.is-syl .ww-slot{min-width:76px}
 .ww-slots.is-long .ww-slot{min-width:28px;font-size:1.2rem;padding:0 2px}
 .ww-tile{min-width:52px;min-height:56px;font-size:1.5rem;border-radius:14px}
 .ww-tiles.is-syl .ww-tile{min-width:76px}
 .ww-pick-n{display:none}
}
@media(prefers-reduced-motion:reduce){
 .ww *,.ww *:before,.ww *:after{animation:none!important;transition:none!important}
 .ww-tile:hover,.ww-choice:hover,.ww-pick:hover,.ww-tile:active,.ww-choice:active,.ww-pick:active,.ww-dots li.is-current{transform:none!important}
}

/* Print: only the worksheet, black outlines on white A4 */
@media print{
 @page{size:A4;margin:14mm}
 .kp-header,.kp-footer,.kids-skip,.kp-back,.kg-hero,.kg-grownups,.ww .kg-toolbar,.ww-sub,.ww-howto,.ww-dots,.ww-play,.kg-status,.ww-actions,.ww-keys,.ww-win{display:none!important}
 .kg-stage.ww{background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important}
 .ww-sheet{display:block;color:#000}
 .ww-sheet p{color:#000!important;margin:0 0 3mm!important;max-width:none}
 .ww-sheet-title{font:800 22pt/1.2 "Manrope",Inter,sans-serif;text-align:center}
 .ww-sheet-title span{font-weight:600;font-size:14pt}
 .ww-sheet-name{font-size:13pt}
 .ww-sheet-name span{display:inline-block;width:70mm;border-bottom:.4mm solid #000;margin-left:2mm}
 .ww-sheet-task{font-size:12pt}
 .ww-sheet-grid{list-style:none;margin:5mm 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7mm 8mm}
 .ww-sheet-grid li{display:flex;align-items:center;gap:4mm;break-inside:avoid;border:.4mm solid #000;border-radius:4mm;padding:3mm}
 .ww-sheet-pic{width:30mm;height:30mm;flex:none;filter:grayscale(1) contrast(1.15)}
 .ww-sheet-boxes{display:flex;flex-wrap:wrap;gap:2.4mm}
 .ww-sheet-syl{display:flex}
 .ww-sheet-box{width:8.5mm;height:10mm;border:.45mm solid #000;margin-left:-.45mm;display:grid;place-items:center;font:700 14pt/1 "Manrope",Inter,sans-serif;color:#999}
 .ww-sheet-syl .ww-sheet-box:first-child{margin-left:0}
}
