/* 🕰️🔢🇺🇦 ГОДИ́ННИК · Скі́льки? v2 · Numbers — the page look (own file; the shared engine is not touched) */
:root{
  --bg:#F4EFE4; --card:#FFFDF8; --ink:#1F2B45; --ink2:#4A5570; --mute:#8C93A3; --line:#D9CFBC;
  --gold:#8A6420; --gold2:#B08A3E; --sun:#E9C46A; --green:#4E7D5B; --blue:#3D5A99; --rust:#A5573A;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
body{min-height:100vh}
button{font:inherit;color:inherit;cursor:pointer}
.s{color:var(--gold)}
#app{max-width:560px;margin:0 auto;padding:12px 16px 40px;display:flex;flex-direction:column;gap:18px}
.top{display:flex;align-items:center;justify-content:space-between;min-height:48px}
.brand{font-weight:800;font-size:20px;letter-spacing:.01em;color:var(--ink);background:none;border:0;padding:6px 0}
.icon{width:48px;height:48px;border-radius:24px;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
.icon:focus-visible,.tab:focus-visible,.row:focus-visible,.card:focus-visible,.pill:focus-visible,.opt:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.crumb{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--ink2);text-align:center}
/* level tabs */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px;scroll-snap-type:x proximity}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;min-width:64px;height:60px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 10px;scroll-snap-align:start;position:relative}
.tab b{font-size:18px;font-weight:800}
.tab span{font-size:11px;font-weight:700;color:var(--ink2);white-space:nowrap}
.tab.on{background:var(--ink);border-color:var(--ink);color:#FFFDF8}
.tab.on span{color:var(--sun)}
.tab .tick{position:absolute;top:4px;right:5px;width:14px;height:14px;border-radius:7px;background:var(--green)}
.tab .tick::after{content:"";position:absolute;left:4px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
/* level head */
.head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding-top:4px}
.head .lv{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--ink2)}
.head h1{margin:0;font-size:46px;line-height:1.05;font-weight:800}
.head .ukline{font-size:19px;font-weight:600;color:var(--ink2)}
.case{margin-top:4px;font-size:15px;font-weight:800;color:var(--blue);letter-spacing:.02em}
/* steps */
.steps{display:flex;flex-direction:column;gap:8px}
.row{display:flex;align-items:center;gap:14px;min-height:62px;padding:8px 14px;border-radius:14px;background:var(--card);border:2px solid transparent;text-align:left;width:100%}
.row.next{border-color:var(--gold2)}
.dot{flex:0 0 30px;width:30px;height:30px;border-radius:15px;border:1.5px solid #C9BFAB;color:var(--ink2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.row.done .dot{background:var(--green);border-color:var(--green);color:#fff}
.row.next .dot{background:var(--ink);border-color:var(--ink);color:#FFFDF8}
.row .txt{display:flex;flex-direction:column;flex:1;min-width:0}
.row .t1{font-size:15px;font-weight:800}
.row .t2{font-size:15px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* step */
.bars{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.bars i{width:22px;height:6px;border-radius:3px;background:#DDD3C0}
.bars i.on{background:var(--gold2)}
.bars i.seen{background:var(--ink)}
.card{width:100%;min-height:360px;border-radius:28px;border:0;background:var(--card);box-shadow:0 2px 0 #E4DAC6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 18px;text-align:center}
.card .show{font-size:28px;font-weight:800;color:var(--mute)}
.card .big{font-size:clamp(46px,17vw,84px);font-weight:700;line-height:1.05;word-break:break-word}
.card .big.long{font-size:clamp(34px,11vw,56px)}
.card .en{font-size:20px;font-weight:600;color:var(--ink2)}
.card .ipa{font-size:17px;color:var(--mute)}
.card.sent .big{font-size:clamp(28px,8.5vw,40px);line-height:1.25}
.wfw{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px}
.wfw .w{display:flex;flex-direction:column;align-items:center;gap:4px}
.wfw .w .u{font-size:clamp(26px,8vw,38px);font-weight:700;line-height:1.15}
.wfw .w .g{font-size:14px;color:var(--ink2);font-style:italic;max-width:140px}
.wfwline{font-size:15px;color:var(--ink2);font-style:italic}
.tier{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--mute)}
.nav{display:flex;gap:12px;margin-top:6px}
.pill{height:60px;border-radius:30px;border:2px solid #C9BFAB;background:var(--card);font-size:16px;font-weight:800;padding:0 18px}
.pill.go{flex:2;border:0;background:var(--ink);color:#FFFDF8}
.pill.back{flex:1}
.pill:disabled{opacity:.35}
/* pick */
.play{width:120px;height:120px;border-radius:60px;border:0;background:var(--ink);display:flex;align-items:center;justify-content:center;margin:26px auto 8px}
.opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{height:96px;border-radius:20px;border:2px solid var(--line);background:var(--card);font-size:30px;font-weight:800}
.opt.right{border-color:var(--green);background:#E7F1E9;color:var(--green)}
.opt.wrong{opacity:.35;animation:shake .35s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.donebox{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0}
.donebox .big{font-size:64px}
/* settings sheet */
.sheet{position:fixed;inset:0;background:rgba(31,43,69,.35);display:flex;align-items:flex-end;justify-content:center;z-index:50}
.sheet .in{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:var(--bg);border-radius:22px 22px 0 0;padding:18px 18px 30px;display:flex;flex-direction:column;gap:16px}
.sheet h2{margin:0;font-size:20px}
.set{display:flex;flex-direction:column;gap:8px}
.set .lab{font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--ink2)}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg button{min-height:48px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);font-weight:700}
.seg button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#FFFDF8}
.fontsbox{background:var(--card);border-radius:14px;padding:10px}
.close{align-self:flex-end}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.seg.medals button{min-width:96px}
.seg.medals button b{font-weight:800}
