@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--ink:#173c35;--muted:#617970;--green:#235d47;--yellow:#f5d271;--paper:#f5f6ee;--line:#dbe2d5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:18px Nunito,Arial,sans-serif}.shell{max-width:1440px;margin:auto;padding:24px 5%}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;gap:15px}button,input,select{font:inherit}button{border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);padding:13px 21px;cursor:pointer;font-weight:800;transition:transform .15s,background .15s}button:hover{background:#e6eddc;transform:translateY(-2px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:5px solid #e9a72e;outline-offset:4px;box-shadow:0 0 0 8px #fff}button:disabled{opacity:.45;cursor:default;transform:none}.brand{display:flex;align-items:center;gap:12px;border:0;padding:0;background:none;font-size:32px;letter-spacing:-1px}.brand span{font-size:25px;text-align:left}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:3px}.tools{display:flex;gap:10px;align-items:center}.tools>span{font-weight:900;margin-right:10px}main{min-height:72vh}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px;padding:34px 0 22px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:2px;color:#608474;text-transform:uppercase}h1{font-size:clamp(34px,4.1vw,62px);line-height:1.05;letter-spacing:-2px;margin:15px 0}h1 em{font-style:normal;color:#599165}p{color:var(--muted);line-height:1.6}h2{font-size:30px;letter-spacing:-.8px;margin:0 0 12px}h3{margin:12px 0 7px;font-size:22px}.island{height:260px;background:#e4ecdc;border-radius:120px 90px 110px 65px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.island .big{font-size:140px;filter:drop-shadow(0 15px 0 #bed3b177);transform:rotate(-7deg)}.float{position:absolute;background:#fffef5;padding:15px;border-radius:22px;box-shadow:0 7px 0 #cfdbc8;font-size:35px}.f1{left:10%;top:25px;transform:rotate(-12deg)}.f2{right:8%;bottom:30px;transform:rotate(12deg)}.tag{position:absolute;right:9%;top:25px;font-size:12px;background:var(--yellow);padding:8px 14px;border-radius:40px;font-weight:900}.sectionline{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0}.units{display:flex;gap:10px;flex-wrap:wrap}.active,.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#327557}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mode{text-align:left;padding:23px;min-height:180px;position:relative}.mode .icon{display:block;font-size:33px;width:62px;height:62px;line-height:62px;text-align:center;border-radius:18px;background:#eef0df}.mode small{display:block;color:var(--muted);font-size:14px;font-weight:600;line-height:1.5}.mode .arrow{position:absolute;right:23px;top:27px;font-size:25px}.mode:nth-child(2) .icon{background:#fce6cd}.mode:nth-child(3) .icon{background:#e8e3f6}.mode:nth-child(4) .icon{background:#e0edf2}.mode:nth-child(5) .icon{background:#f8e2de}.progress{height:7px;background:#dce5d6;border-radius:10px;overflow:hidden;margin-top:16px}.progress>div{height:100%;background:#72975c}footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);padding:20px 0;margin-top:30px}footer b{margin:0 8px}.gamehead{display:flex;justify-content:space-between;align-items:center;margin:26px 0}.stage{max-width:1000px;margin:0 auto;text-align:center;padding:25px 40px;background:#fff;border-radius:30px;border:1px solid var(--line)}.picture{font-size:95px;background:#edf2e4;border-radius:26px;width:190px;margin:0 auto 15px;padding:15px}.word{font-size:clamp(28px,3.5vw,46px);font-weight:900;margin:12px 0}.pron{font-size:20px;color:#647a72}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0 0}.choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.choices button{min-height:78px;font-size:22px}.feedback{min-height:40px;margin-top:17px;font-weight:900;font-size:20px}.good{color:#287241}.bad{color:#a34b2b}.answer{width:100%;max-width:620px;padding:16px;border:2px solid #b4c5b3;border-radius:14px;margin:16px auto 0;font-size:25px;text-align:center}.keyboard{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;max-width:680px;margin:20px auto}.keyboard button{min-width:47px;padding:12px}.keyboard .wide{min-width:115px}.matchgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.matchcol{display:grid;gap:12px}.matchcol button{min-height:76px;font-size:19px}.selected{background:#fff0b6;border:3px solid #d9a526}.matched{background:#dfefda}.info{padding:20px;background:#eaf0e3;border-radius:20px;margin:25px 0;text-align:left}.list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.list button{text-align:left;line-height:1.5}.list small{display:block;color:var(--muted)}body.tv{font-size:23px}body.tv .shell{max-width:1700px}body.tv button{min-height:62px}body.tv footer{font-size:16px}body.tv .mode small{font-size:18px}#audioStatus{font-size:14px;text-align:center}.pill{background:#e8edde;padding:8px 15px;border-radius:25px;font-size:15px;font-weight:800}.notice{font-size:14px;margin:10px 0;color:#7c684b}@media(max-width:760px){.shell{padding:18px 5%}.hero{grid-template-columns:1fr;padding-top:25px}.island{display:none}.cards{grid-template-columns:1fr 1fr}.mode{padding:17px}.tools{gap:5px}.tools button{padding:10px}.brand span{font-size:18px}.brand small{font-size:8px}.sectionline{align-items:flex-start;flex-direction:column}.stage{padding:22px 15px}.choices button{font-size:18px}.list{grid-template-columns:1fr}footer span:last-child{display:none}.tools>span{font-size:14px;margin:0}.matchcol button{padding:10px;font-size:16px}}
/* Roomier play area and TV-readable controls. */
.shell{max-width:1800px;padding-left:3%;padding-right:3%}.tools{flex-wrap:wrap;justify-content:flex-end}.score-chip{white-space:nowrap;font-size:24px}.piggy{display:flex;align-items:center;gap:9px;background:#ffeced;border:2px solid #efc5cd;border-radius:22px;padding:8px 17px;min-width:180px}.pig-icon{font-size:42px}.piggy strong{font-size:27px;display:block;line-height:1.15}.piggy small{display:block;font-size:10px;letter-spacing:.7px;font-weight:900;color:#96566c}.stage{max-width:none;min-height:66vh;padding:22px 4%;font-size:clamp(20px,1.7vw,29px)}.stage h2{font-size:clamp(28px,2.7vw,44px)}.stage .word{font-size:clamp(36px,4vw,68px)}.stage .pron{font-size:clamp(25px,2.5vw,40px)}.stage .picture{font-size:clamp(70px,10vh,130px);width:auto;max-width:240px;padding:8px 20px;margin-bottom:14px}.stage p{margin:12px 0}.stage .notice{font-size:17px}.stage button{font-size:clamp(21px,1.8vw,30px);min-height:64px}.stage .choices{max-width:1400px;margin:22px auto 0;gap:22px}.stage .choices button{min-height:95px}.stage .feedback{font-size:clamp(22px,2vw,33px);min-height:42px}.stage .keyboard{max-width:1100px;gap:10px;margin:16px auto}.stage .keyboard button{min-width:58px;min-height:55px;padding:8px 15px}.stage .answer{max-width:960px;font-size:clamp(25px,2.5vw,40px)}.playing .gamehead{margin:16px 0}.playing footer{margin-top:16px;padding:12px 0}body.tv .shell{max-width:none;padding:18px 3%}body.tv .stage{min-height:70vh}body.tv .stage button{font-size:clamp(23px,2.1vw,36px)}body.tv .pill{font-size:22px}.matchgrid{position:relative;column-gap:18%;margin:28px auto;max-width:1500px}.matchcol{position:relative;z-index:1;gap:20px}.matchcol button{min-height:100px;font-size:clamp(21px,2vw,32px);padding:15px;position:relative}.matchcol button.matched{opacity:1;color:#125d37;background:#d8f4df;border:3px solid #24965b}.matchcol button.matched::after{content:' ✓';font-weight:900;color:#148747}#matchlines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.match-line{fill:none;stroke:#24965b;stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 3px 2px #195c2420)}
#celebration{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}.spark{position:absolute;width:11px;height:11px;border-radius:50%;box-shadow:0 0 12px currentColor;animation:firework 1.35s ease-out both}.cheer{position:absolute;top:17%;left:50%;transform:translateX(-50%);background:#fff5cc;color:#295538;padding:15px 35px;border-radius:50px;font-size:clamp(28px,3.5vw,60px);font-weight:900;box-shadow:0 8px 35px #16392f30;white-space:nowrap;animation:cheer 1.5s both}@keyframes firework{0%{transform:translate(0,0) scale(.2);opacity:0}12%{opacity:1}75%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}@keyframes cheer{0%{opacity:0;scale:.8}15%,75%{opacity:1;scale:1}100%{opacity:0;scale:1.05}}
.balloon-stage{padding:16px 2%;overflow:hidden}.balloon-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:0 1%}.balloon-prompt h2{margin:4px 0}.balloon-prompt .eyebrow{font-size:15px}.balloon-instructions{font-size:17px}.flight-meter{height:9px;background:#d9e4e9;border-radius:20px;margin:12px 0;overflow:hidden}.flight-meter div{height:100%;background:#3ca8a1;width:100%;transition:width .1s linear}.sky{position:relative;height:clamp(330px,46vh,650px);background:linear-gradient(#d1edf8,#eefaff 75%,#e4f3d9);border:2px solid #c3e2e7;border-radius:25px;overflow:hidden;isolation:isolate}.sky::before{content:'☁️';position:absolute;font-size:100px;left:9%;top:12%;opacity:.5}.sky::after{content:'☁️';position:absolute;font-size:130px;right:13%;top:1%;opacity:.35;z-index:-1}.balloon{position:absolute;left:var(--lane);top:0;width:21%;max-width:360px;height:clamp(150px,21vh,225px);border-radius:49% 49% 45% 45%;background:var(--balloon-color);border:3px solid #ffffffb0;box-shadow:inset -12px -15px 0 #00000010,0 10px 15px #27566318;display:flex;align-items:center;justify-content:center;padding:18px 12px!important;line-height:1.13;font-size:clamp(20px,2vw,34px)!important;font-weight:900;color:#203b43;will-change:transform;transition:background .15s;z-index:2;text-wrap:balance;overflow:visible}.balloon::before{content:'';position:absolute;width:24%;height:12%;top:13%;left:17%;border-radius:50%;background:#ffffff65;transform:rotate(-25deg)}.balloon::after{content:'';position:absolute;width:2px;height:55px;background:#56727c80;left:50%;top:100%}.balloon:hover{background:var(--balloon-color)}.balloon:focus-visible{outline:7px solid #173d72;outline-offset:5px;box-shadow:0 0 0 12px #ffdf61,inset -12px -15px 0 #00000010}.balloon.wrong{background:#ffc0bc;animation:wrong-shake .35s}.balloon.popped{pointer-events:none;animation:balloon-pop .55s forwards}.balloon.popped::after{display:none}.balloon-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:80px}.balloon-footer .feedback{text-align:left;margin:0;font-size:clamp(20px,1.8vw,30px)}@keyframes balloon-pop{40%{scale:1.2;opacity:.9}100%{scale:1.7;opacity:0}}@keyframes wrong-shake{25%{margin-left:-8px}75%{margin-left:8px}}.sky.paused .balloon{opacity:.55}.paused-label{position:absolute;inset:30% 0 auto;text-align:center;font-size:40px;font-weight:900;z-index:5;color:#183e52;pointer-events:none}
@media(max-width:900px){header{flex-wrap:wrap}.tools{gap:8px}.piggy{min-width:145px;padding:5px 10px}.pig-icon{font-size:32px}.piggy strong{font-size:23px}.stage{padding:20px 3%}.matchgrid{column-gap:12%}.matchcol button{font-size:20px}.balloon-prompt{align-items:flex-start}.balloon-prompt h2{font-size:26px}.balloon{width:22%;font-size:18px!important;padding:9px!important}.balloon-footer{flex-wrap:wrap}.sky{height:390px}.stage .choices button{font-size:22px}.stage .keyboard button{min-width:45px}.stage .picture{font-size:70px}}@media(prefers-reduced-motion:reduce){.spark{display:none}.cheer{animation:none}.balloon.popped{animation-duration:.15s}}@media(max-height:800px) and (min-width:1000px){.shell{padding-top:14px}header{padding-bottom:12px}.stage{padding-top:14px;padding-bottom:14px}.stage .picture{font-size:64px;padding:3px 14px;margin-bottom:8px}.stage p{margin:8px 0}.stage .actions{margin-top:12px}.stage .choices button{min-height:75px}.stage .keyboard{margin:10px auto;gap:7px}.stage .keyboard button{min-height:48px}.sky{height:40vh;min-height:270px}.balloon{height:150px}.matchcol button{min-height:80px}.matchcol{gap:12px}}
/* Eight activity: picture-memory board, 20 cards. */
.memory-stage{padding:18px 2%;min-height:0}.memory-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.memory-heading h2{font-size:clamp(25px,2.2vw,38px);margin:0}.memory-heading p{font-size:18px;margin:0}.memory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.stage .memory-card{position:relative;min-height:100px;height:clamp(100px,13vh,155px);border-radius:19px;border:3px solid #83b59b;background:repeating-linear-gradient(135deg,#225b48,#225b48 14px,#28664f 14px,#28664f 28px);color:#fff;display:flex;align-items:center;justify-content:center;padding:10px;transition:background .2s,border-color .2s,transform .2s}.memory-card:hover{background:#30775a}.memory-card.flipped{background:#fff7db;color:#244236;border-color:#e7c86d}.memory-card.found{opacity:1;background:#d5f4dc;border-color:#29915c}.memory-card.found::after{content:'✓';position:absolute;right:10px;top:6px;color:#197948;font-weight:900;font-size:23px}.card-back{display:flex;align-items:center;gap:12px}.card-back>span{font-size:43px}.card-back small{font-size:18px;opacity:.75}.memory-word{font-size:clamp(18px,1.8vw,29px);line-height:1.15;text-wrap:balance}.memory-art{font-size:clamp(43px,4.5vw,73px);line-height:1.05}.memory-stage .feedback{margin-top:13px;font-size:clamp(19px,1.8vw,28px)}
/* Smaller independent balloons, at most two spaced flights per lane. */
.stage .balloon,body.tv .stage .balloon{width:18%;max-width:225px;height:clamp(105px,16vh,160px);min-height:0;font-size:clamp(16px,1.5vw,25px)!important;padding:14px 9px!important}.balloon::after{height:35px}.balloon:disabled{opacity:1}.balloon.wrong:disabled{opacity:.55}
@media(max-width:760px){.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.memory-heading{display:block}.memory-heading p{font-size:14px;margin-top:8px}.stage .memory-card{height:105px;min-height:105px;padding:6px}.memory-word{font-size:16px}.memory-art{font-size:39px}.card-back{gap:5px}.card-back>span{font-size:30px}.card-back small{font-size:13px}.stage .balloon,body.tv .stage .balloon{width:21%;height:130px;font-size:16px!important;--lane:0}.memory-card.found::after{font-size:16px;right:4px;top:3px}}
.hero-stage{padding:18px 2%;min-height:0}.hero-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.hero-heading h2{margin:5px 0 8px;font-size:clamp(25px,2.3vw,38px)}.hero-tokens{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:9px 0}.hero-token{min-width:42px;padding:6px 11px;border-bottom:4px solid #bed0bb;font-size:clamp(20px,2vw,31px);font-weight:900;background:#f1f4e8;border-radius:9px}.hero-token.current{background:#fff0ba;border-color:#d7aa32}.hero-token.collected{background:#d3efdb;border-color:#36945a}.hero-power{font-size:18px;font-weight:800;margin:8px 0 12px;color:#34674d}#heroCanvas{display:block;width:100%;max-height:51vh;aspect-ratio:1100/480;object-fit:contain;border:3px solid #bad8cc;border-radius:18px;background:#cbeafb;outline-offset:4px}#heroCanvas:focus{outline:4px solid #dda833}.hero-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:15px}.hero-controls button{touch-action:none;user-select:none;min-width:110px}.hero-stage .feedback{font-size:clamp(19px,1.6vw,27px);margin-top:10px}.hero-stage #next button{margin:10px 0}@media(max-width:760px){#heroCanvas{max-height:none;min-height:200px}.hero-controls{gap:7px}.hero-controls button{font-size:17px!important;min-width:75px;padding:10px}.hero-power{font-size:15px}.hero-token{min-width:27px;padding:4px 7px;font-size:19px}}@media(max-height:800px) and (min-width:1000px){#heroCanvas{max-height:43vh}.hero-stage{padding-top:10px}.hero-heading h2{font-size:29px}.hero-tokens{margin:4px}.hero-controls{margin-top:10px}.hero-stage .hero-controls button{min-height:48px;padding:7px 14px}}
.ws-stage{padding:18px 2%;min-height:0}.ws-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.ws-heading h2{font-size:clamp(25px,2.4vw,39px);margin:0}.ws-heading p{font-size:18px;margin:0}.ws-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.85fr);gap:35px;text-align:left;align-items:start}.ws-board{display:grid;grid-template-columns:repeat(var(--ws-n),minmax(0,1fr));width:100%;max-width:740px;margin:0 auto;border:2px solid #c7d6c0;border-radius:18px;padding:12px;background:#fafbf5;gap:2px;touch-action:none;user-select:none}.stage .ws-cell,body.tv .stage .ws-cell{border:0;border-radius:7px;padding:0;min-height:0;width:100%;aspect-ratio:1;font-size:clamp(17px,1.65vw,28px);font-weight:900;background:transparent;line-height:1;color:#203d32;transition:background .12s;transform:none}.ws-cell:hover{background:#e2edda}.ws-cell:focus-visible{outline:3px solid #c68211;outline-offset:0;box-shadow:inset 0 0 0 2px white;z-index:2}.stage .ws-cell.ws-preview{background:#ffe49b!important;box-shadow:inset 0 0 0 2px #d89c30}.stage .ws-cell.ws-anchor{outline:3px solid #946117;outline-offset:-2px}.ws-found{font-weight:900}.ws-sidebar h3{margin:0 0 12px}.ws-list{display:grid;gap:9px}.stage .ws-list button{position:relative;text-align:left;padding:10px 14px;min-height:0;border-left:7px solid var(--word-color);font-size:clamp(19px,1.6vw,27px)}.ws-list small{display:block;color:#617970;font-size:16px;line-height:1.4;margin-top:2px}.ws-result{display:block;font-size:13px;margin-top:3px;color:#396e53}.ws-word-found{background:#e8f2e5!important}.ws-word-found b{text-decoration:line-through;text-decoration-thickness:2px}.ws-sidebar .actions{justify-content:flex-start;margin-top:13px}.stage .ws-sidebar .actions button{font-size:18px;padding:10px 15px;min-height:48px}.ws-stage .feedback{font-size:clamp(18px,1.6vw,26px);margin-top:14px}.ws-sidebar .notice{font-size:15px;line-height:1.4}@media(max-width:800px){.ws-layout{grid-template-columns:1fr;gap:20px}.ws-heading{display:block}.ws-heading p{font-size:15px;margin-top:7px}.ws-board{padding:7px;gap:1px}.stage .ws-cell,body.tv .stage .ws-cell{font-size:clamp(13px,3.1vw,24px)}.ws-list{grid-template-columns:1fr 1fr}.stage .ws-list button{font-size:18px}.ws-list small{font-size:14px}}@media(max-height:800px) and (min-width:1000px){.ws-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:25px}.ws-board{max-width:520px;padding:7px}.stage .ws-cell,body.tv .stage .ws-cell{font-size:19px}.ws-list{grid-template-columns:1fr 1fr;gap:9px}.stage .ws-list button{font-size:19px;padding:8px 10px}.ws-list small{font-size:15px}.ws-heading{margin-bottom:12px}.ws-heading h2{font-size:30px}}
/* Kelime Kesişmesi: isolated styles preserve other activities and TV sizing. */
.cw-stage{min-height:0;padding:20px 2%}.cw-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.cw-heading h2{margin:0;font-size:clamp(25px,2.3vw,38px)}.cw-heading p{font-size:17px}.cw-switch{display:flex;gap:6px;flex-wrap:wrap}.stage .cw-switch button{font-size:16px;min-height:44px;padding:8px 12px}.cw-switch [aria-pressed=true]{background:#194f3f;color:white}.cw-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:28px;align-items:start;text-align:left}.cw-scroll{min-width:0;overflow-x:auto;padding:5px}.cw-board{display:grid;grid-template-columns:repeat(var(--cw-cols),minmax(0,1fr));gap:2px;max-width:780px;min-width:calc(var(--cw-cols)*25px);margin:auto;background:#edf0e5;padding:12px;border-radius:18px}.stage .cw-cell,body.tv .stage .cw-cell{position:relative;padding:0;min-height:0;aspect-ratio:1;border:1.5px solid #9cae9c;border-radius:3px;font-size:clamp(15px,1.8vw,27px);background:#fff;color:#163e31;transform:none}.cw-cell small{position:absolute;left:2px;top:0;font-size:clamp(8px,.8vw,12px);line-height:1}.cw-cell b{display:block;padding-top:5px}.stage .cw-cell.cw-active{background:#fff0ba;border-color:#cb9829}.stage .cw-cell.cw-solved{background:#ccebd5;border-color:#318455}.cw-cell:focus-visible{outline:3px solid #cc861b;outline-offset:0;z-index:1}.cw-panel{background:#f3f5eb;padding:20px;border-radius:20px}.cw-panel label{display:block;font-size:15px;margin:12px 0 5px}.cw-prompt{display:flex;align-items:center;gap:13px;min-height:72px;font-size:clamp(22px,2vw,30px);line-height:1.25}.cw-art{font-size:42px;line-height:1.3}.cw-panel .answer{width:100%;font-size:25px;letter-spacing:3px;text-transform:uppercase}.cw-panel .actions{justify-content:flex-start;gap:8px}.stage .cw-panel .actions button{font-size:18px;min-height:48px;padding:8px 12px}.cw-keys{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}.stage .cw-keys button,body.tv .stage .cw-keys button{padding:4px;min-height:42px;font-size:20px}.cw-clues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.stage .cw-clues button{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-align:left;font-size:18px;min-height:78px;padding:12px}.cw-clues .cw-art{font-size:30px}.cw-clues small{display:block;font-size:13px}.cw-clues .cw-selected{border:3px solid #c7972e}.cw-clues .cw-done{background:#d8eedc}.cw-stage .notice{font-size:14px}.cw-stage .feedback{font-size:22px}.cw-stage #next button{margin:8px 0}@media(max-width:850px){.cw-layout{grid-template-columns:1fr}.cw-heading{display:block}.cw-clues{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-panel{padding:15px}.cw-scroll{max-width:100%}.cw-board{padding:6px}.stage .cw-cell,body.tv .stage .cw-cell{font-size:18px}.cw-cell small{font-size:9px}.cw-heading .cw-switch{justify-content:center}.cw-panel .answer{font-size:22px}}@media(max-width:420px){.cw-clues{grid-template-columns:1fr}}
/* Taller playfields for the two action games, with proportional canvas rendering. */
.hero-stage #heroCanvas{width:min(100%,920px,max(440px,calc(200vh - 840px)));height:auto;aspect-ratio:1100/550;max-height:none;min-height:0;object-fit:contain;margin:0 auto}
.balloon-stage .sky{height:calc(clamp(165px,23vh,325px) + clamp(225px,31vh,410px))}
.balloon-burst{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}.burst-letter{position:absolute;font-weight:900;font-size:clamp(22px,2.3vw,36px);color:#194b51;text-shadow:0 2px 0 white;line-height:1;animation:letter-scatter 1s cubic-bezier(.13,.65,.2,1) forwards}.burst-ring{position:absolute;width:55px;height:55px;border:4px solid #fff7b9;border-radius:50%;animation:pop-ring 1.1s ease-out forwards}.balloon-stage .balloon.popped{color:transparent!important;text-shadow:none;animation:balloon-pop .25s forwards}
@keyframes letter-scatter{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}20%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(2.5) rotate(var(--burst-rotate))}}
@keyframes pop-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}70%,100%{opacity:0;transform:translate(-50%,-50%) scale(5)}}
@media(max-width:760px){.balloon-stage .sky{height:clamp(415px,calc(32.5vh + 195px),535px)}}
@media(prefers-reduced-motion:reduce){.burst-letter{animation:burst-fade .2s linear forwards}.burst-ring{animation:burst-fade .25s linear forwards}@keyframes burst-fade{to{opacity:0}}}

@media(max-height:800px) and (min-width:1000px){.balloon-stage .sky{height:calc(max(135px,20vh) + clamp(225px,31vh,410px))}}

/* Keep the entire hero activity compact, including controls and bonus feedback. */
body.tv .hero-stage,.hero-stage{min-height:0;padding:12px 2%}
.hero-stage .hero-heading h2{font-size:clamp(24px,2vw,32px);margin:3px 0 5px}
.hero-stage .hero-tokens{margin:5px 0;gap:6px}
.hero-stage .hero-token{font-size:clamp(18px,1.6vw,25px);padding:4px 9px;min-width:32px}
.hero-stage .hero-power{font-size:16px;margin:5px 0 9px}
.hero-stage .hero-controls{margin-top:10px;gap:8px}
.hero-stage .hero-controls button,body.tv .hero-stage .hero-controls button{font-size:clamp(18px,1.5vw,23px);min-height:46px;padding:8px 14px}
.hero-stage .feedback{font-size:clamp(17px,1.4vw,22px);min-height:26px;margin-top:8px}
.hero-stage #next button{min-height:44px;font-size:20px;margin:6px 0;padding:8px 16px}
@supports(height:100svh){.hero-stage #heroCanvas{width:min(100%,920px,max(440px,calc(200svh - 840px)))}}
@media(max-width:760px){.hero-stage #heroCanvas{width:100%}.hero-stage .hero-controls button{min-width:70px;padding:8px 10px}.hero-stage .hero-power{font-size:14px}}
/* Shared viewport layout for every activity. Game rules and canvas coordinates stay unchanged. */
body.playing .shell{max-width:1440px;padding:12px 2% 0}body.playing header{padding-bottom:10px;gap:10px}body.playing .brand span{font-size:21px}body.playing .tools button{min-height:40px;padding:8px 12px;font-size:16px}body.playing .piggy{min-width:130px;padding:4px 10px}body.playing .pig-icon svg{height:38px;width:34px}body.playing .piggy strong{font-size:22px}body.playing .score-chip{font-size:20px}
body.playing main{min-height:0;position:relative;overflow:hidden;overflow:clip}body.playing .game-fit{display:flow-root;width:100%;transform-origin:top center}body.playing .gamehead{margin:10px 0;gap:10px;font-size:16px}body.playing .gamehead button{min-height:40px;padding:8px 14px;font-size:17px}body.playing .pill{font-size:16px}body.playing footer{margin-top:8px;padding:8px 0;font-size:12px}body.playing #audioStatus{margin:4px 0;font-size:12px}
body.playing .stage{min-height:0;padding:14px 2%;font-size:20px}body.playing .stage h2{font-size:clamp(23px,2vw,32px)}body.playing .stage button{font-size:clamp(17px,1.5vw,23px);min-height:44px}body.playing .stage p{margin:7px 0}body.playing .stage .picture{font-size:clamp(55px,8vh,90px);margin-bottom:8px;padding:5px 12px}body.playing .stage .word{font-size:clamp(28px,3vw,44px);margin:8px 0}body.playing .stage .pron{font-size:24px}body.playing .stage .actions{margin-top:12px;gap:8px}body.playing .stage .feedback{font-size:clamp(17px,1.5vw,23px);min-height:28px;margin-top:8px}body.playing .stage .choices{margin-top:12px;gap:12px}body.playing .stage .choices button{min-height:60px}body.playing .stage .keyboard{margin:12px auto;gap:6px}body.playing .stage .keyboard button{min-height:40px;min-width:38px;padding:6px 10px}body.playing .stage .answer{font-size:24px;padding:10px;margin-top:8px}body.playing .stage .notice{font-size:14px}
body.playing .matchgrid{margin:16px auto}body.playing .matchcol{gap:12px}body.playing .matchcol button{min-height:65px}
body.playing .memory-grid{gap:10px}body.playing .memory-card{min-height:0;height:clamp(70px,10vh,110px)}body.playing .memory-word{font-size:clamp(16px,1.5vw,23px)}body.playing .memory-art{font-size:clamp(35px,4vw,55px)}
body.playing .balloon-stage .sky{height:clamp(240px,42vh,480px)}body.playing .stage .balloon{min-height:0}
body.playing .cw-heading{margin-bottom:10px;gap:10px}body.playing .cw-heading p{font-size:15px}body.playing .cw-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:20px}body.playing .cw-board{--cw-height:min(48vh,430px);width:min(100%,calc(var(--cw-height) / var(--cw-rows) * var(--cw-cols)));max-width:none;min-width:0;padding:4px;gap:1px}body.playing .stage .cw-cell{min-height:0;font-size:clamp(12px,1.3vw,20px);border-radius:2px}body.playing .stage .cw-cell small{font-size:8px}body.playing .stage .cw-cell b{padding-top:3px}body.playing .cw-panel{padding:12px}body.playing .cw-prompt{font-size:22px;min-height:42px}body.playing .cw-art{font-size:30px}body.playing .cw-keys{gap:4px;margin-top:10px}body.playing .cw-keys button{min-height:32px;padding:3px;font-size:17px}body.playing .cw-clues{gap:7px;margin:10px 0}body.playing .cw-clues button{min-height:48px;padding:6px 9px;font-size:15px;gap:6px}body.playing .cw-clues .cw-art{font-size:23px}body.playing .cw-clues small{font-size:12px}body.playing .cw-switch button{min-height:32px;padding:5px 8px;font-size:13px}body.playing .cw-panel .notice{font-size:12px}
body.playing .ws-board{max-width:min(100%,48vh);padding:5px}body.playing .stage .ws-cell{min-height:0;font-size:clamp(12px,1.3vw,20px)}body.playing .ws-heading{margin-bottom:10px}body.playing .ws-list button{min-height:0;padding:7px 10px;font-size:18px}body.playing .ws-list small{font-size:14px}
@media(max-width:760px){body.playing .shell{padding:8px 2% 0}body.playing header{gap:6px}body.playing .tools{gap:4px}body.playing .brand span{font-size:16px}body.playing .piggy{min-width:105px}body.playing .piggy small{font-size:8px}body.playing .tools button{font-size:14px;padding:6px 8px}body.playing .cw-layout{grid-template-columns:minmax(0,1fr) minmax(170px,.85fr);gap:8px}body.playing .cw-panel{padding:8px}body.playing .cw-prompt{font-size:17px}body.playing .cw-panel .answer{font-size:18px;letter-spacing:1px}body.playing .cw-keys{grid-template-columns:repeat(7,1fr);gap:3px}body.playing .cw-keys button{font-size:13px;min-height:26px}body.playing .cw-panel .actions button{font-size:13px;padding:5px;min-height:30px}body.playing .cw-panel .notice{font-size:11px}body.playing .cw-clues{grid-template-columns:repeat(2,minmax(0,1fr))}body.playing .cw-clues button{font-size:13px}body.playing .stage .cw-cell{font-size:12px}body.playing .cw-board{--cw-height:40vh}body.playing .cw-heading h2{font-size:21px}body.playing .cw-heading p{font-size:13px}body.playing .ws-layout{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:10px}body.playing .ws-list{grid-template-columns:1fr}body.playing .ws-list button{font-size:14px}body.playing .ws-list small{font-size:12px}body.playing footer{font-size:10px}}
@media(max-width:420px){body.playing .cw-layout,body.playing .ws-layout{grid-template-columns:1fr}body.playing .cw-board{--cw-height:32vh;max-width:100%}body.playing .cw-clues .cw-art{font-size:18px}body.playing .cw-clues button{min-height:36px}body.playing .ws-list{grid-template-columns:1fr 1fr}}
/* Crossword proportions: one measured cell size governs boxes, letters and numbers. */
body.playing .cw-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:24px;align-items:center}
body.playing .cw-scroll{display:flex;justify-content:center;align-items:center;overflow:visible;padding:5px;min-width:0}
body.playing #cwBoard{--cw-cell:28px;--cw-letter:15px;--cw-number:6px;display:grid;grid-template-columns:repeat(var(--cw-cols),var(--cw-cell));grid-auto-rows:var(--cw-cell);width:max-content;max-width:none;min-width:0;gap:2px;padding:6px;border-radius:12px;margin:auto}
body.playing .stage #cwBoard .cw-cell{width:var(--cw-cell);height:var(--cw-cell);min-width:0;min-height:0;padding:0;aspect-ratio:1;border:1px solid #94ac98;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;line-height:1;font-size:var(--cw-letter);border-radius:3px}
body.playing #cwBoard .cw-cell b{font:inherit;font-weight:900;line-height:1;padding:0;margin:0;transform:translateY(8%)}
body.playing #cwBoard .cw-cell small{font-size:var(--cw-number);line-height:1;left:1px;top:1px;font-weight:700}
body.playing .cw-panel{padding:12px}body.playing .cw-panel .cw-prompt{font-size:20px;gap:8px}body.playing .cw-panel .cw-art{font-size:28px}body.playing .cw-panel .answer{font-size:22px;letter-spacing:1px}body.playing .cw-panel .actions button{font-size:16px;min-height:38px;padding:6px 10px}body.playing .cw-panel .cw-keys button{font-size:16px;min-height:30px;padding:3px}body.playing .cw-panel .notice{font-size:12px}
@media(max-width:760px){body.playing .cw-layout{grid-template-columns:1fr;gap:12px}body.playing .cw-panel{width:100%;max-width:480px;margin:auto}body.playing .cw-panel .cw-keys{grid-template-columns:repeat(13,minmax(0,1fr))}body.playing .cw-panel .cw-keys button{font-size:14px;min-height:28px}body.playing .cw-panel .cw-prompt{min-height:30px}body.playing .cw-panel .notice{margin:5px 0}body.playing .cw-heading{margin-bottom:8px}}

/* v15: picture matching and consistent activity card backgrounds */
.match-art{display:inline-block;font-size:clamp(38px,4.5vw,64px);line-height:1.15;vertical-align:middle}
.mode:nth-child(6){background:white}

/* v16: Home-only responsive scaling */
.home-fit{width:100%;transform-origin:top left}
@media(max-width:760px){.home-fit{transform:none!important}}

/* v16 polish: remove forced 72vh minimum on the scaled homepage only. */
main:has(.home-fit){min-height:0}

/* v17: stable Harf Kahramanı layout during letter collection and bonus stages. */
body.playing .hero-stage .hero-power{min-height:3.2em;display:flex;align-items:center;justify-content:center}
body.playing .hero-stage .feedback{height:3.3em;min-height:3.3em;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.playing .hero-stage #next{min-height:64px;display:flex;align-items:center;justify-content:center}
body.playing #heroJump{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}

/* v19: fixed-size submarine playfield and touch/TV controls */
body.playing .submarine-stage{max-width:1080px;padding:14px 18px;text-align:center}
.submarine-top{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;margin-bottom:10px}
.submarine-top h2{margin:4px 0;font-size:clamp(24px,3vw,38px)}
.submarine-top span{font-size:14px}
.submarine-oxygen{min-width:145px;font-size:16px;font-weight:800}
.submarine-oxygen strong{font-size:22px}
.submarine-oxygen-track{height:13px;background:#b3d1d5;border-radius:20px;overflow:hidden;margin-top:5px}
#subOxygenBar{display:block;height:100%;width:100%;background:#36bfa2;border-radius:20px;transition:width .2s}
#submarineCanvas{display:block;width:min(100%,960px);height:auto;aspect-ratio:960/560;margin:0 auto;border-radius:18px;background:#07547e;touch-action:none}
.submarine-controls{display:flex;justify-content:center;gap:12px;margin:12px auto}
body.playing .submarine-controls button{min-height:55px;min-width:120px;padding:8px 15px;font-size:18px;touch-action:none;user-select:none}
.submarine-feedback{min-height:42px;font-weight:800}
#submarineNext{min-height:58px}
@media(max-width:760px){body.playing .submarine-stage{padding:8px}.submarine-oxygen{min-width:100px}.submarine-controls{gap:6px}body.playing .submarine-controls button{min-width:82px;font-size:14px;padding:8px}}

/* v19.3: keep navigation inside the scaled playfield and reserve stable result space. */
body.playing:has(#submarineCanvas) .gamehead{padding:6px 12px;margin:8px 0 10px;min-height:60px;box-sizing:border-box}
body.playing:has(#submarineCanvas) .gamehead button{position:relative;z-index:2;flex-shrink:0}
body.playing .submarine-stage #submarineNext{min-height:64px;display:flex;align-items:center;justify-content:center}

/* v19.6: reliable oxygen symbol and animated auto-next countdown. */
.submarine-o2-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:28px;height:28px;margin-right:5px;border:2px solid #168ac3;border-radius:50%;background:linear-gradient(135deg,#b8f5ff,#46b6e7);color:#034d73;font-size:12px;font-weight:900;box-shadow:inset -3px -3px 0 #ffffff55,0 2px 7px #1598cb44}
body.playing .submarine-stage #submarineNext{gap:14px;flex-wrap:wrap}
.submarine-countdown{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:48px;border-radius:50%;background:#e4f5ef;border:2px solid #3d997a;color:#14573e;font-size:28px;font-weight:900}
.submarine-countdown.pulse{animation:submarine-count-pulse .45s ease-out}
@keyframes submarine-count-pulse{0%{transform:scale(1.3);background:#b9e9d5}100%{transform:scale(1);background:#e4f5ef}}
