/* Brush Words — watercolor word puzzle (sky blue / lilac / peach on paper, indigo ink) */
@font-face{font-family:"Kalam";src:url("fonts/kalam.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Caveat Brush";src:url("fonts/caveat.woff") format("woff");font-weight:400;font-display:swap}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#fbf6ee;--paper-d:#eadfce;--ink:#2e2a4f;--ink-l:#57537a;--muted:#6f6a8a;
  --sky:#8fc3e8;--sky-d:#4f8fc4;--lilac:#b9a3e0;--lilac-d:#7f66bf;--peach:#f6b998;--peach-d:#e2825f;--rose:#e98aa6;
  --head:"Caveat Brush","Kalam",cursive;--body:"Kalam",system-ui,-apple-system,"Segoe UI",sans-serif;
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
  --wob:255px 18px 225px 16px/16px 225px 18px 255px;
}
html,body{height:100%;overflow:hidden;background:#dfe9f3;color:var(--ink);font-family:var(--body);font-weight:700;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}
#app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:var(--paper)}
#game{display:block;width:100%;height:100%;touch-action:none;cursor:pointer}
button{font-family:inherit}
.hidden{display:none!important}
.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:calc(12px + var(--safe-top)) 12px calc(12px + var(--safe-bottom));
  background:rgba(120,110,170,.18);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:10;overflow-y:auto}
.screen.active{opacity:1;pointer-events:auto}
.panel{width:min(392px,100%);margin:auto;padding:16px 18px 14px;text-align:center;
  background:rgba(253,250,244,.94);border:2px solid rgba(46,42,79,.7);border-radius:var(--wob);
  box-shadow:3px 4px 0 rgba(127,102,191,.35),0 14px 34px rgba(60,50,110,.22);
  background-image:radial-gradient(circle at 14% 10%,rgba(143,195,232,.30),transparent 38%),radial-gradient(circle at 92% 88%,rgba(246,185,152,.32),transparent 40%),radial-gradient(circle at 85% 12%,rgba(185,163,224,.22),transparent 32%)}
.panel.small{width:min(300px,100%)}
.panel.wide{width:min(520px,100%)}
.lang-picker{display:flex;gap:8px;justify-content:center;margin-bottom:4px}
.lang-btn{min-width:48px;min-height:34px;border:2px solid rgba(46,42,79,.55);border-radius:var(--wob);background:#fff;color:var(--muted);font-family:var(--body);font-size:15px;cursor:pointer}
.lang-btn.active{background:var(--lilac);color:#fff;border-color:var(--ink)}
.badge{font-size:13px;letter-spacing:.14em;color:var(--lilac-d);margin-top:4px}
h1{font-family:var(--head);font-weight:400;font-size:62px;line-height:.92;color:var(--sky-d);margin:2px 0 4px;text-shadow:2px 3px 0 rgba(143,195,232,.45)}
h1 span{color:var(--peach-d);text-shadow:2px 3px 0 rgba(246,185,152,.5)}
h2{font-family:var(--head);font-weight:400;font-size:38px;color:var(--lilac-d);margin-bottom:2px;line-height:1}
.tagline{color:var(--ink-l);font-size:15px;margin-bottom:4px;line-height:1.2}
.ver{display:inline-block;font-size:11px;color:var(--lilac-d);border:2px solid var(--lilac);border-radius:var(--wob);padding:0 8px;margin-bottom:4px}
.howto{text-align:left;font-size:14px;line-height:1.25;color:var(--ink);margin:4px 0 8px 20px;font-weight:400}
.howto li{margin:3px 0}
.btn{display:block;width:100%;min-height:48px;margin:8px 0;border:2px solid var(--ink);border-radius:var(--wob);cursor:pointer;font-family:var(--head);font-size:25px;
  text-decoration:none;line-height:44px;transition:transform .08s;color:var(--ink)}
.btn:active{transform:translateY(2px) rotate(-.4deg)}
.btn-play{background:radial-gradient(circle at 30% 30%,#ffd9c4,var(--peach) 70%);box-shadow:3px 4px 0 rgba(226,130,95,.55)}
.btn-alt{background:radial-gradient(circle at 30% 30%,#d6ecfb,var(--sky) 75%);font-size:21px;box-shadow:3px 4px 0 rgba(79,143,196,.45)}
.btn-daily{background:radial-gradient(circle at 30% 30%,#e8defa,var(--lilac) 75%);box-shadow:3px 4px 0 rgba(127,102,191,.45)}
.btn-ghost{background:#fff;color:var(--ink);font-size:20px;min-height:40px;line-height:36px;border-color:rgba(46,42,79,.5)}
.btn-tip{background:#fff3f6;color:#b4476a;font-size:19px;min-height:38px;line-height:34px;border-color:#d4708f}
.btn-pair{display:flex;gap:8px}
.btn-pair .btn{flex:1}
.hint{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.25;font-weight:400}
.keys{font-size:11.5px}
.studio{font-family:var(--head);font-size:16px;color:var(--lilac-d);margin-top:4px;letter-spacing:.06em}
.level-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:6px 0 4px}
.level-grid h3{grid-column:1/-1;font-family:var(--head);font-weight:400;font-size:21px;text-align:left;margin-top:4px;color:var(--ink-l)}
.lv-btn{min-height:48px;border:2px solid rgba(46,42,79,.55);border-radius:var(--wob);background:#fff;color:var(--ink);font-family:var(--body);font-size:17px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;padding:0}
.lv-btn small{font-size:10px;color:var(--peach-d);letter-spacing:0;margin-top:2px}
.lv-btn.done{background:#eef6fd}
.lv-btn.cur{outline:3px solid var(--peach);outline-offset:1px}
.lv-btn:disabled{opacity:.4;cursor:default}
.stars-big{display:flex;justify-content:center;gap:8px;min-height:62px;margin:2px 0;font-size:54px;line-height:1}
.stars-big span{display:inline-block;transform:scale(0);animation:pop .45s cubic-bezier(.3,1.6,.5,1) forwards;color:#f2b04f;text-shadow:2px 3px 0 rgba(226,130,95,.4)}
.stars-big span.off{color:#d9d2e6;text-shadow:none}
.stars-big span:nth-child(2){animation-delay:.18s}.stars-big span:nth-child(3){animation-delay:.36s}
@keyframes pop{to{transform:scale(1)}}
.result{font-family:var(--head);font-size:42px;color:var(--peach-d);line-height:1.1}
.result-sub{font-size:15px;color:var(--ink);font-weight:400}
.result-sub.small{font-size:13px;color:var(--muted)}
.new-record{font-family:var(--head);color:var(--lilac-d);font-size:24px;animation:pulse .8s ease-in-out infinite alternate}
@keyframes pulse{to{transform:scale(1.07)}}
.hud{position:absolute;left:0;right:0;top:0;z-index:5;padding:calc(6px + var(--safe-top)) 8px 0;pointer-events:none}
.hud-row{display:flex;align-items:center;gap:6px;max-width:640px;margin:0 auto}
.hud-block{flex:1;min-width:0;background:rgba(255,253,248,.88);border:2px solid rgba(46,42,79,.55);border-radius:var(--wob);padding:1px 4px 2px;text-align:center}
.hud-label{display:block;font-size:10px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}
.hud-block span:last-child{font-size:18px;color:var(--ink);white-space:nowrap;line-height:1.1}
.hud-block.goal span:last-child{color:#e0983c;letter-spacing:1px}
.hud-block.coins span:last-child::before{content:"● ";color:#f2b04f}
.hud-block.coins.bump{animation:bump .35s ease}
@keyframes bump{50%{transform:scale(1.15)}}
.icon-btn{pointer-events:auto;width:44px;height:44px;flex:0 0 44px;border:2px solid rgba(46,42,79,.6);border-radius:var(--wob);background:#fff;color:var(--lilac-d);font-size:16px;font-weight:700;cursor:pointer}
.icon-btn.off{color:#b8b3c8}
.coach{position:absolute;left:50%;transform:translateX(-50%);top:calc(62px + var(--safe-top));z-index:6;width:min(520px,calc(100% - 20px));
  display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;background:rgba(255,253,248,.95);color:var(--ink);font-size:15px;line-height:1.2;text-align:left;font-weight:400;
  border:2px solid rgba(46,42,79,.6);border-radius:var(--wob);box-shadow:3px 3px 0 rgba(185,163,224,.5);pointer-events:none;animation:coachIn .3s ease}
.coach-ico{font-size:24px;flex:0 0 auto}
@keyframes coachIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
.toast{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:7;padding:6px 14px;background:rgba(46,42,79,.88);color:#fff;font-size:16px;border-radius:var(--wob);pointer-events:none;
  animation:coachIn .25s ease;text-align:center;max-width:90%}
.tray-btn{position:absolute;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:62px;height:62px;border:2px solid rgba(46,42,79,.65);
  border-radius:50% 46% 52% 44%/46% 52% 44% 50%;background:rgba(255,253,248,.92);color:var(--ink);font-family:var(--body);font-size:11px;cursor:pointer;line-height:1.05;
  box-shadow:2px 3px 0 rgba(143,195,232,.55)}
.tray-btn .ico{font-size:22px;line-height:1;color:var(--sky-d)}
.tray-btn#btn-hint .ico{color:var(--peach-d)}
.tray-btn b{position:absolute;top:-6px;right:-8px;min-width:24px;height:22px;padding:0 4px;border-radius:11px;background:#f2b04f;color:#4a2a00;font-size:12px;line-height:22px;border:1.5px solid var(--ink)}
.tray-btn.jar b{background:var(--lilac);color:#fff}
.tray-btn.full{animation:bump .5s ease 2}
.tray-btn:disabled{opacity:.45;cursor:default}
.tray-btn:active{transform:translateY(2px)}
.bonus-list{font-size:13px;color:var(--ink-l)}
@media (max-width:420px){
  h1{font-size:54px}.panel{padding:14px 14px 12px}.howto{font-size:13px}
  .hud-block span:last-child{font-size:15px}.hud-label{font-size:9px}.icon-btn{width:40px;height:40px;flex-basis:40px}
  .coach{font-size:13.5px;top:calc(54px + var(--safe-top))}
  .tray-btn{width:54px;height:54px;font-size:10px}.tray-btn .ico{font-size:19px}
  .level-grid{gap:5px}.lv-btn{min-height:42px;font-size:15px}
}
@media (max-height:560px){.howto{display:none}h1{font-size:46px}}
.tray-btn.poor b{background:#ddd;color:#888}
