@font-face{font-family:Hebrew-siddour;src:url(/Tinos-Bold.ttf) format("truetype");font-weight:700;font-display:block}:root{--primary: #0175C2;--bg: #0175C2;--success: #48BB78;--error: #FC8181;--gold: #D4AF37;--gold-dark: #B8860B;--gold-light: #FFD700}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:#2d3748;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}body{font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden;touch-action:none}button{font-family:inherit;cursor:pointer}input{font-family:inherit;-webkit-user-select:text;user-select:text}.app{position:fixed;inset:0;background:#f8f9fa}.app-bg{position:absolute;inset:0;background:url(/images/background.webp) center/cover;opacity:.5;pointer-events:none}.screen{position:absolute;inset:0;display:flex;flex-direction:column}.topbar{position:absolute;top:8px;right:12px;display:flex;gap:8px;z-index:50}.topbar button{background:#ffffffeb;border:none;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--primary)}.premium-pill{background:var(--gold-light);color:#000;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700}.auth-screen{align-items:center;justify-content:center;padding:24px}.auth-card{background:#fffffff7;border-radius:16px;padding:28px 26px;width:100%;max-width:380px;box-shadow:0 12px 40px #0003}.auth-card h1{margin:0 0 6px;font-size:24px;text-align:center;color:var(--primary)}.auth-card .subtitle{text-align:center;color:#666;margin:0 0 20px;font-size:14px}.auth-card label{display:block;font-size:13px;font-weight:600;color:#333;margin:12px 0 6px}.auth-card input{width:100%;padding:11px 12px;border:1px solid #ddd;border-radius:10px;font-size:15px;outline:none}.auth-card input:focus{border-color:var(--primary)}.auth-card .primary-btn{margin-top:18px;width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600}.auth-card .primary-btn:disabled{opacity:.6}.auth-card .switch-link{margin-top:14px;text-align:center;font-size:14px;color:#666}.auth-card .switch-link button{background:none;border:none;color:var(--primary);font-weight:600;padding:0;margin-left:4px}.auth-card .err{margin-top:12px;color:var(--error);font-size:13px;text-align:center}.vowel-select{padding:24px;align-items:stretch}.vowel-select h1{font-size:36px;font-weight:700;color:#000;text-align:center;margin:0}.vowel-select .subtitle{text-align:center;font-size:15px;color:#000000d9;margin:6px 0 18px}.vowel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;flex:1;align-content:start}.vowel-card{position:relative;aspect-ratio:1.2 / 1;border-radius:16px;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 8px #0000001a;cursor:pointer;padding:6px;font-family:inherit}.vowel-card.current{outline:3px solid #000;outline-offset:-3px}.vowel-card.locked{opacity:.55}.vowel-card .v-symbol{font-family:Hebrew-siddour,serif;font-size:36px;font-weight:700;color:#000;line-height:1}.vowel-card .v-name{font-size:14px;font-weight:700;color:#000;margin-top:4px}.vowel-card .v-sound{font-size:12px;color:#000000b3}.vowel-card .v-progress{font-size:12px;font-weight:600;color:#000c;margin-top:4px}.vowel-card .v-bar{width:70%;height:4px;background:#0003;border-radius:2px;margin-top:2px;overflow:hidden}.vowel-card .v-bar>div{height:100%;background:#000;transition:width .3s}.badge-corner{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px}.badge-corner.locked{background:#000000b3}.badge-corner.complete{background:var(--success)}.badge-reset{position:absolute;bottom:8px;left:8px;width:24px;height:24px;border-radius:50%;background:#00000080;color:#fff;font-size:14px;border:none;display:flex;align-items:center;justify-content:center}.game-screen{position:absolute;inset:0}.game-content{position:absolute;top:15%;left:0;right:0;display:flex;flex-direction:column;align-items:center}.coin-wrap{position:relative;display:inline-block;touch-action:none}.coin-wrap.disabled{opacity:.5;pointer-events:none}.coin-wrap.dragging .coin{transform:scale(1.05)}.coin{position:relative;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--gold-dark) 0deg 1.5deg,var(--gold) 1.5deg 3deg) 50% / 100% 100%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0000004d;transition:transform .15s}.coin-inner{position:absolute;width:88%;height:88%;border-radius:50%;background:linear-gradient(135deg,gold,#ffc107 30%,#d4af37 70%,#b8860b);border:2px solid var(--gold-dark);box-shadow:inset 0 -4px 8px #00000026}.coin-shine{position:absolute;top:12%;left:15%;width:25%;height:12%;border-radius:50%;background:linear-gradient(to bottom,#ffffff80,#fff0)}.coin-letter{position:relative;font-family:Hebrew-siddour,serif;color:#5d4037;font-weight:700;text-shadow:-1px -1px 1px rgba(255,215,0,.4),1px 1px 2px rgba(0,0,0,.5);z-index:1;line-height:1}.coin.error-flash{animation:shakeCoin .5s ease-in-out}.coin.error-flash:before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid var(--error)}@keyframes shakeCoin{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.jars-row{margin-top:16px;display:flex;gap:18px;justify-content:center;align-items:flex-end;width:100%}.jar{position:relative;border-radius:20px 20px 8px 8px;background:linear-gradient(to bottom,#7dddd7,#4ecdc4,#3aafa9);border:3px solid var(--gold);box-shadow:0 4px 8px #0000004d;display:flex;flex-direction:column;align-items:center;padding-top:6%;cursor:pointer;transition:transform .2s}.jar.pulsing{animation:jarPulse .8s ease-in-out infinite alternate}.jar.hover{transform:scale(1.15);box-shadow:0 4px 8px #0000004d,0 0 20px 5px #4ecdc480}@keyframes jarPulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.jar-slot{width:45%;height:6%;background:#5d4037;border:2px solid var(--gold);border-radius:2px;box-shadow:0 1px 2px #0006 inset;margin-bottom:6%}.jar-text{font-family:Hebrew-siddour,serif;color:#fff;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.5);line-height:1}.jar-icon{margin-top:auto;margin-bottom:12%;color:#ffffffe6;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.jar-icon.listened{color:#4caf50}.score-block{position:absolute;top:16px;left:12px;display:flex;flex-direction:column;align-items:flex-start;z-index:30}.back-btn{background:none;border:none;font-size:24px;color:#000;padding:8px}.score-pill{background:#ffffffd9;border-radius:16px;padding:6px 12px;font-size:16px;font-weight:700;color:#333;box-shadow:0 2px 4px #00000026;margin-left:12px}.right-col{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-end;z-index:10;pointer-events:none}.child-wrap{position:relative;padding:16px;pointer-events:auto;cursor:pointer}.child-img{height:45vh;display:block}.help-icon{position:absolute;right:calc(16px + 30%);top:0;width:18vh;height:18vh;pointer-events:auto;cursor:pointer}.found-list{flex:1;overflow-y:auto;padding:8px 16px 12px 0;pointer-events:auto;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin}.found-item{width:36px;height:36px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#000;font-weight:700;font-family:Hebrew-siddour,serif;font-size:14px}.overlay-shade{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100}.feedback-card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 0 40px 10px #48bb7866;display:flex;flex-direction:column;align-items:center;animation:popIn .3s ease-out}@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.dancing-stars{display:flex;gap:4px;margin-bottom:12px}.dancing-stars span{font-size:36px;animation:starDance .5s ease-in-out infinite alternate;display:inline-block}@keyframes starDance{0%{transform:scale(1)}to{transform:scale(1.2)}}.dance-emoji{font-size:56px;animation:emojiDance .4s ease-in-out infinite alternate;display:inline-block}@keyframes emojiDance{0%{transform:scale(1)}to{transform:scale(1.15)}}.streak-badge{margin-top:14px;padding:8px 16px;background:linear-gradient(to right,gold,orange);border-radius:20px;box-shadow:0 0 12px 2px #ffd70080;display:flex;gap:6px;align-items:center;animation:badgePulse .8s ease-in-out infinite alternate}@keyframes badgePulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.streak-badge .num{font-size:24px;color:#fff;font-weight:700;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.error-card{background:#fff;border-radius:24px;padding:24px;box-shadow:0 0 40px 10px #fc818166;display:flex;flex-direction:column;align-items:center;animation:popIn .3s ease-out}.confetti-canvas{position:absolute;inset:0;pointer-events:none;z-index:99}.running-gif{position:absolute;pointer-events:none;z-index:98}.nekouda-celebration{position:absolute;inset:0;background:#0000004d;z-index:110;display:flex;align-items:center;justify-content:center;overflow:hidden}.nekouda-grid{position:absolute;inset:0;display:grid}.nekouda-grid img{width:100%;height:100%;object-fit:cover}.nekouda-score{position:relative;z-index:2;background:#fff;padding:20px 32px;border-radius:24px;box-shadow:0 0 30px 5px #0000004d;text-align:center}.nekouda-score .trophy{font-size:48px}.nekouda-score .score{font-size:42px;font-weight:700;color:var(--gold)}.paywall{align-items:center;justify-content:center;padding:18px;background:#00000080;z-index:150}.paywall-card-wrapper{position:relative;width:100%;max-width:460px}.paywall-card{background:#fff;border-radius:20px;padding:26px 24px;box-shadow:0 16px 48px #0000004d;text-align:center}.paywall-card .lock-icon{font-size:44px}.paywall-card h1{margin:6px 0 12px;font-size:22px;color:var(--primary)}.paywall-card ul{list-style:none;padding:0;margin:14px 0 18px;text-align:left;font-size:14px}.paywall-card li{padding:6px 0;display:flex;gap:8px}.paywall-card li:before{content:"✓";color:var(--success);font-weight:800}.paywall-card .primary-btn{width:100%;padding:13px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700}.paywall-card .secondary{margin-top:12px;background:none;color:var(--primary);border:none;font-size:14px;font-weight:600}.paywall-card .status{margin-top:10px;font-size:13px;color:#666;min-height:18px}.close-btn{position:absolute;top:10px;right:14px;background:none;border:none;font-size:24px;color:#666;z-index:2}.complete{align-items:center;justify-content:center;text-align:center;color:#000;padding:24px}.complete h1{font-size:36px;margin:0}.complete p{margin-top:12px;font-size:16px}.complete button{margin-top:22px;background:var(--primary);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:700;font-size:15px}
