


@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-cyrillic-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-cyrillic-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-cyrillic-800-normal.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Montserrat";src:url(/fonts/montserrat-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Shrikhand";src:url(/fonts/shrikhand-latin-400-normal.woff2) format("woff2");font-display:swap}

:root{
  --vanilla:#FFF7E6;--navy:#0A122A;--apricot:#E8963A;--pom:#B3263E;
  --line:#EADCC2;--soft:#F6EAD3;--muted:#58607A;--apri-soft:#F8D9B0;
  --sans:"HySans","Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --disp:"HySerif","Montserrat",Georgia,serif;
  --r:16px;}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--vanilla);color:var(--navy);font:500 16px/1.55 var(--sans);overscroll-behavior-y:none;}
a{color:inherit;}
button{font:inherit;color:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--apricot);outline-offset:2px;border-radius:6px;}
.scr{font-family:var(--sans);}
[hidden]{display:none!important;}

.top{display:flex;justify-content:space-between;margin:0 auto;padding:14px 16px 0;font-size:14px;}
.back-home{text-decoration:none;color:var(--muted);}
.langpick{position:relative;}
.langpick summary{list-style:none;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--soft);cursor:pointer;white-space:nowrap;}
.langpick summary::-webkit-details-marker{display:none;}
.langpick summary svg{width:12px;height:12px;transition:transform .15s;}
.langpick[open] summary svg{transform:rotate(180deg);}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:190px;padding:6px;border-radius:14px;background:#FFFDF8;box-shadow:0 10px 30px rgba(10,18,42,.14),0 0 0 1px rgba(10,18,42,.07);display:grid;gap:2px;}
.lang-menu-h{font-size:12px;color:var(--muted);padding:8px 10px 5px;}
.lang-opt{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px;border-radius:9px;text-decoration:none;font-weight:600;font-size:15px;}
.lang-opt small{font-weight:500;font-size:12px;color:var(--muted);}
.lang-opt:hover,.lang-opt[aria-current="true"]{background:var(--soft);}
main{max-width:760px;margin:0 auto;padding:8px 16px 72px;outline:none;}

/* cover */
.cover{padding:24px 0 8px;}
.cover-n{display:flex;align-items:baseline;gap:6px;font-family:"Shrikhand",var(--disp);line-height:.9;}
.cover-n small{font-size:34px;}
.cover-n b{font-weight:400;font-size:112px;color:var(--navy);}
.cover-meta{font-size:14px;color:var(--muted);margin-top:4px;}
.cover h1{font:800 44px/1.05 "Montserrat",sans-serif;margin:10px 0 4px;letter-spacing:-.01em;}
.cover-sub{margin:0;color:var(--muted);}

.sec{margin-top:36px;}
.sec h2{font:800 20px/1.2 "Montserrat",sans-serif;margin:0 0 12px;}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 12px;}
.count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;}
.cell{text-decoration:none;color:inherit;aspect-ratio:1;border:1.5px solid var(--line);border-radius:12px;background:transparent;display:flex;align-items:center;justify-content:center;font:800 26px/1 var(--disp);padding:0;position:relative;}
.cell.s-seen{border-color:var(--navy);}
.cell.s-read{background:var(--apri-soft);border-color:var(--apri-soft);}
.cell.s-write{background:var(--apricot);border-color:var(--apricot);}
.cell.locked{color:var(--muted);}
.cell .gap{position:absolute;inset:auto 0 -1px 0;height:0;}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:10px;}
.legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px;border:1.5px solid var(--navy);}
.legend i.r{background:var(--apri-soft);border-color:var(--apri-soft);}
.legend i.w{background:var(--apricot);border-color:var(--apricot);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--navy);background:transparent;border-radius:999px;padding:12px 20px;font-weight:700;line-height:1.35;text-align:center;max-width:100%;text-decoration:none;min-height:46px;}
.btn.pri{background:var(--apricot);border-color:var(--apricot);}
.btn.block{width:100%;}
.btn.sm{padding:8px 14px;min-height:44px;font-size:14px;}
.btn[aria-disabled="true"],.lacts a[aria-disabled="true"]{opacity:.5;cursor:not-allowed;}
.row{display:flex;gap:10px;flex-wrap:wrap;}
.cta{margin-top:24px;}

.steps{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--line);}
.steps li{border-bottom:1.5px solid var(--line);}
.step-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:14px 0;text-decoration:none;}
.step-n{font:400 40px/1 "Shrikhand",var(--disp);text-align:center;}
.step-t{font-weight:700;display:block;}
.step-l{font:400 18px/1.4 var(--sans);letter-spacing:.08em;color:var(--muted);}
.step-meta{font-size:13px;color:var(--muted);text-align:right;white-space:nowrap;}
.step-row.locked{color:#6E695D;}
.step-row.locked .step-l{color:var(--muted);}
.bar{height:6px;border-radius:6px;background:var(--soft);overflow:hidden;margin-top:6px;width:72px;margin-left:auto;}
.bar i{display:block;height:100%;background:var(--apricot);border-radius:6px;}
.lock{width:16px;height:16px;vertical-align:-3px;}

.phr{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.phr li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:12px 14px;border-radius:var(--r);background:var(--soft);}
.phr .w{font:600 24px/1.25 var(--sans);}
.phr .w .u{color:#6E695D;}
.phr .m{color:var(--muted);font-size:14px;}

.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.shelf div{border:1.5px dashed var(--line);border-radius:var(--r);padding:14px;color:#6E695D;font-size:14px;}
.shelf b{display:block;color:#6E695D;margin-bottom:2px;}

.switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);}
.switch input{appearance:none;width:52px;height:30px;border-radius:30px;background:var(--line);position:relative;flex:none;cursor:pointer;margin:0;transition:background .2s;}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s;}
.switch input:checked{background:var(--apricot);}
.switch input:checked::after{transform:translateX(22px);}
.small{font-size:13px;color:var(--muted);}
.foot{margin-top:40px;font-size:12px;color:var(--muted);}
.banner{background:var(--soft);border-radius:var(--r);padding:12px 14px;font-size:14px;margin-top:16px;}

/* step page */
.crumbs{font-size:14px;}
.crumbs a{color:var(--muted);text-decoration:none;}
.step-head{display:flex;gap:14px;margin-top:14px;}
.step-head .step-n{font-size:72px;line-height:.85;}
.step-head h1{font:800 28px/1.1 "Montserrat",sans-serif;margin:0;}
.kicker{font-size:14px;color:var(--muted);}
.lead{font-size:17px;margin:16px 0 0;}
.hint{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:8px 0;color:var(--muted);font-size:14px;line-height:1.45;text-align:left;}
.hint svg{width:20px;height:20px;flex:none;}
.hint[aria-expanded="true"]{color:var(--navy);}
.hint-body{background:var(--soft);border-radius:12px;padding:10px 12px;font-size:15px;margin:4px 0 0;}

.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.lcard{border:1.5px solid var(--line);border-radius:20px;padding:14px;background:#FFFBF2;display:flex;flex-direction:column;gap:6px;}
.lcard.focus{border-color:var(--apricot);box-shadow:0 0 0 3px var(--apri-soft);}
.lpair{font:800 52px/1 var(--disp);display:flex;gap:12px;align-items:baseline;}
.lpair .up{font-size:40px;color:#4A526C;}
.lsound{font:800 22px/1.1 "Montserrat",sans-serif;}
.lname{font-size:13px;color:var(--muted);}
.lname .scr{font-size:15px;}
.lnote{font-size:14px;margin:2px 0;}
.lacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px;align-items:center;}
.stars{letter-spacing:2px;color:var(--apricot);font-size:14px;}
.stars .e{color:var(--line);}
.play{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--navy);background:none;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.play svg{width:18px;height:18px;}

.words{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;}
.word{width:100%;text-align:left;background:#FFFBF2;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;min-height:92px;}
.word .w{font:600 26px/1.2 var(--sans);display:block;}
.word .tr{display:block;font-size:14px;color:var(--muted);margin-top:4px;}
.word .tr b{color:var(--navy);font-weight:700;}
.reading{background:var(--soft);border-radius:20px;padding:16px;}
.reading p{margin:0;}
.reading .t{font:500 22px/1.6 var(--sans);}
.check{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:15px;}
.check li::before{content:"○ ";color:var(--muted);}
.check li.ok::before{content:"● ";color:var(--apricot);}

/* cards */
.deck{margin-top:18px;display:flex;flex-direction:column;align-items:stretch;gap:16px;}
.progress{height:6px;background:var(--soft);border-radius:6px;overflow:hidden;}
.progress i{display:block;height:100%;background:var(--apricot);}
.card{min-height:300px;border-radius:24px;background:#FFFBF2;border:1.5px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center;gap:10px;}
.card .big{font:800 120px/1 var(--disp);}
.card .word-big{font:600 48px/1.2 var(--sans);}
.card .q{font-size:15px;color:var(--muted);}
.card .snd{font:800 56px/1 "Montserrat",sans-serif;}
.card .ans{font-size:18px;}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:340px;}
.opt{font:800 48px/1 var(--disp);border:1.5px solid var(--line);background:#fff;border-radius:18px;padding:16px 0;min-height:84px;}
.opt.right{background:var(--apricot);border-color:var(--apricot);}
.opt.wrong{border-color:var(--pom);color:var(--pom);}
.rate{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.receipt{background:#fff;border-radius:6px;padding:20px 18px;font-size:15px;max-width:340px;margin:20px auto 0;border-top:6px dotted var(--vanilla);box-shadow:0 1px 0 var(--line);}
.receipt .ln{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:6px 0;}
.receipt h3{font:800 18px/1.2 "Montserrat",sans-serif;margin:0 0 8px;text-align:center;}

/* writing */
.wchips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;margin:12px -2px 0;scrollbar-width:none;}
.wchip{flex:none;border:1.5px solid var(--line);background:#FFFBF2;border-radius:12px;padding:4px 8px 2px;text-align:center;min-width:46px;text-decoration:none;}
.wchip b{display:block;font:800 24px/1.1 var(--disp);}
.wchip span{display:block;min-height:13px;font-size:10px;line-height:13px;color:var(--apricot);letter-spacing:1px;}
.wchip[aria-current="true"]{border-color:var(--navy);background:var(--soft);}
.stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0;}
.stage{border:1.5px solid var(--line);background:none;border-radius:12px;padding:8px 3px;min-height:52px;font-size:13px;font-weight:700;line-height:1.2;white-space:normal;min-width:0;}
.stage small{display:block;margin-top:3px;line-height:1.3;font-weight:500;color:var(--muted);font-size:11px;}
.stage[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:var(--vanilla);}
.stage[aria-pressed="true"] small{color:#C9CEDC;}
.stage.done small{color:var(--apricot);}
.pad{position:relative;border-radius:22px;background:#FFFDF8;border:1.5px solid var(--line);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.pad canvas{display:block;width:100%;touch-action:none;}
.pad-msg{min-height:44px;text-align:center;font-size:15px;line-height:1.35;padding:8px 6px 0;}
.pad-msg.good{color:#8A4E0E;font-weight:700;}
.pad-msg.warn{color:var(--pom);}
.tools{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px;}
.tools .btn{padding:10px 6px;font-size:14px;}
body.writing{overflow:hidden;position:fixed;inset:0;overflow-y:auto;}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--navy);color:var(--vanilla);padding:10px 16px;border-radius:999px;font-size:14px;max-width:90vw;text-align:center;z-index:5;}

@media (min-width:700px){
  .letters{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
  .lpair{font-size:64px}.lpair .up{font-size:52px}
  .cover-n b{font-size:150px}
  .cover h1{font-size:56px}
  .grid{grid-template-columns:repeat(10,1fr)}
  .card .big{font-size:150px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.stage.pulse{animation:pulse 1.2s ease-in-out 3;border-color:var(--apricot);}
@keyframes pulse{50%{box-shadow:0 0 0 5px var(--apri-soft)}}

/* fruit illustrations */
.art{display:block;height:auto;user-select:none;-webkit-user-drag:none;}
.cover-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;}
.cover-art{width:min(46vw,260px);margin-bottom:6px;}
.step-head{align-items:center;}
.step-head-t{flex:1;min-width:0;}
.step-art{width:84px;flex:none;margin-left:auto;}
.step-n .step-mini{width:30px;margin:4px auto 0;}
.step-row.locked .step-mini{opacity:.35;filter:grayscale(.6);}
.receipt-art{width:76px;margin:0 auto 6px;}
.done-card{display:flex;align-items:center;gap:14px;background:var(--soft);border-radius:var(--r);padding:12px 14px;margin-top:16px;}
.done-art{width:60px;flex:none;}
@media (min-width:700px){.step-art{width:104px}.cover-art{width:280px}}

/* Pull a small seeded wedge out; the rest of the pomegranate stays still. */
.guide{--peel:0;margin-top:28px;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);padding:16px 0;}
.guide.is-open{--peel:1;}
.guide-stage{display:flex;align-items:center;gap:18px;width:100%;background:none;border:0;text-align:left;padding:4px 0;cursor:pointer;}
.guide-fruit{position:relative;display:block;width:164px;height:128px;flex:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize;}
.fruit-art{position:absolute;width:100px;height:110px;left:32px;top:6px;pointer-events:none;}
.fruit-piece{transform:translate(calc(var(--peel) * 24px),calc(var(--peel) * 7px)) rotate(calc(var(--peel) * 18deg));transform-origin:50% 65%;transition:transform .5s cubic-bezier(.22,.8,.3,1);}
.fruit-inside{position:absolute;left:82px;top:82px;font:800 23px/1 var(--disp);color:var(--navy);opacity:var(--peel);transition:opacity .35s;}
.guide.is-dragging .fruit-piece,.guide.is-dragging .fruit-inside{transition:none;}
.guide.fresh .fruit-piece{animation:piece-nudge 1.2s ease-in-out .8s 2;}
@keyframes piece-nudge{50%{transform:translate(5px,2px) rotate(5deg)}}
@media (max-width:480px){.guide-stage{gap:12px}.guide-fruit{width:140px}.fruit-art{width:92px;height:101px;left:16px;top:12px}.fruit-inside{left:62px;top:82px}.guide-stage .guide-t b{font-size:17px}}
.guide-t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.guide-t b{font:800 19px/1.2 "Montserrat",sans-serif;}
.guide-t span{color:var(--muted);font-size:15px;}
.guide-t em{font-style:normal;font-size:14px;font-weight:700;margin-top:6px;text-decoration:underline;text-decoration-color:var(--apricot);text-decoration-thickness:2px;text-underline-offset:4px;}
.guide-body{margin-top:18px;animation:unfold .45s ease-out both;}
@keyframes unfold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.guide-body h3{font:800 16px/1.3 "Montserrat",sans-serif;margin:22px 0 6px;}
.guide-body h3:first-child{margin-top:0;}
.guide-body p{margin:0 0 8px;}
.guide-body .scr{font-weight:600;}
.kinds{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px;}
.kind{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:start;background:#FFFBF2;border:1.5px solid var(--line);border-radius:16px;padding:12px;}
.kind .kg{grid-row:span 2;font:800 44px/1 var(--disp);text-align:center;}
.kind b{font-size:15px;}
.kind span:last-child{font-size:14px;color:var(--muted);}
.kind.main{border-color:var(--apricot);background:#FFF3E2;}
.kind.later .kg{font:400 30px/1.4 var(--sans);color:var(--muted);}
.lines-demo{display:block;width:100%;max-width:420px;margin:6px auto 0;}
.lines-demo .ln-d{stroke:#E2D3B6;stroke-dasharray:5 5;stroke-width:1;}
.lines-demo .ln-b{stroke:#C9B791;stroke-width:1.6;}
.lines-demo .ln-l{font:400 64px var(--sans);fill:var(--navy);}
.lines-demo .ln-c{font:500 11px var(--sans);fill:var(--muted);}
.surprises{margin:0;padding-left:18px;display:grid;gap:6px;}
.dot{display:inline-block;width:11px;height:11px;border-radius:4px;border:1.5px solid var(--navy);margin:0 4px -1px 2px;}
.dot.r{background:var(--apri-soft);border-color:var(--apri-soft);}
.dot.w{background:var(--apricot);border-color:var(--apricot);}
@media (min-width:700px){.kinds{grid-template-columns:repeat(3,1fr)}.kind{grid-template-columns:1fr}.kind .kg{grid-row:auto;text-align:left;margin-bottom:6px}}
@media (prefers-reduced-motion:reduce){.guide.fresh .fruit-piece{animation:none}.fruit-piece,.fruit-inside{transition:none}.guide-body{animation:none}}

/* Site-language links remain visible on narrow screens. */
.top{gap:12px;}
.top-tools{display:flex;align-items:center;}
.ui-languages{display:flex;align-items:center;font-size:12px;}
.ui-languages a{text-decoration:none;}
.ui-languages a[aria-current="page"]{font-weight:700;}
.ui-languages a:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}

/* header: one row, one height (34px) and one shape for every control */
.top{align-items:center;padding-top:12px;padding-bottom:12px;border-bottom:1px solid rgba(10,18,42,.08);max-width:none;padding-inline:max(16px,calc((100% - 760px)/2));}
.back-home{align-items:center;height:34px;font:500 14px/1 var(--sans);}
.top-tools{gap:10px;flex-wrap:nowrap;}
.ui-languages{gap:0;height:34px;padding:2px;border-radius:999px;background:var(--soft);}
.ui-languages a{display:inline-flex;align-items:center;height:30px;padding:0 11px;border-radius:999px;font:600 12px/1 var(--sans);color:var(--muted);}
.ui-languages a[aria-current="page"]{background:#FFFDF8;color:var(--navy);box-shadow:0 1px 2px rgba(10,18,42,.12);}
.langpick summary{height:34px;box-sizing:border-box;padding:0 12px 0 14px;font:600 14px/1 var(--sans);}
.next-row{display:flex;justify-content:center;margin:6px 0 4px;min-height:0;}
.next-row:empty{display:none;}
.next-row .btn{font-size:16px;padding:12px 22px;}
/* step page: the path through the step, right under the intro */
.plan{list-style:none;counter-reset:pl;margin:18px 0 6px;padding:0;border:1.5px solid var(--line);border-radius:18px;background:#FFFDF8;overflow:hidden;}
.plan li{counter-increment:pl;display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);font-size:15px;line-height:1.35;}
.plan li:first-child{border-top:0;}
.plan li::before{content:counter(pl);flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);font-weight:700;font-size:13px;}
.plan li.ok::before{content:'✓';background:var(--apricot);color:var(--navy);}
.plan li span{flex:1;min-width:0;}
.plan li .btn{flex:none;}
.plan-note{margin:6px 2px 0;}
/* header never wraps: the back link gives way first */
.top{flex-wrap:nowrap;}
.back-home{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;line-height:34px;}
.top-tools{flex:none;}
@media(max-width:400px){.top-tools{gap:6px}.ui-languages a{padding:0 9px}.langpick summary{padding:0 10px 0 12px}}
/* back links: same look as the main site's back control */
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;min-height:44px;margin:4px 0 0!important;color:var(--muted);font:500 14px/1.3 var(--sans);}
.backbtn{display:inline-flex!important;align-items:center;gap:6px;max-width:100%;margin-left:-6px;padding:6px 10px 6px 6px;border-radius:999px;color:var(--muted);text-decoration:none;font:600 14px/1.2 var(--sans)!important;height:auto!important;}
.backbtn span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.backbtn svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.backbtn:hover{color:var(--navy);background:rgba(10,18,42,.06);}
.top .backbtn{min-width:0;}

/* Course preferences, backups and completion share the course controls. */
.course-mode{margin:20px 0;}.course-mode label{display:block;font-weight:700;margin-bottom:8px;}
.course-mode select{appearance:none;-webkit-appearance:none;max-width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 48px 12px 16px;font:inherit;line-height:1.4;color:var(--navy);background:#FFFDF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 7.5 5 5 5-5' fill='none' stroke='%230a122a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;background-size:18px 18px;min-height:48px;cursor:pointer;}
@media(forced-colors:active){.course-mode select{appearance:auto;-webkit-appearance:auto;background-image:none;padding-right:16px;}}
.course-mode .small{margin-top:8px;}.course-footer{margin-top:36px;padding-top:20px;border-top:1.5px solid var(--line);font-size:14px;}
.course-footer details{margin-bottom:16px;}.course-footer summary{font-weight:700;cursor:pointer;}.course-footer p{line-height:1.6;}
.audio-note{padding:12px 14px;background:var(--soft);border-radius:12px;max-width:65ch;}.completion{margin:24px 0;padding:20px;border:1.5px solid var(--line);border-radius:18px;background:#FFFDF8;}.completion h2{font-size:22px;margin:0 0 12px;}.final-reading{font:500 24px/1.7 var(--sans);}.final-options{display:grid;gap:10px;width:100%;}

/* Inline guidance remains in normal document flow; nothing to dismiss. */
.course-intro{max-width:58ch;line-height:1.65;}
.cover .course-mode{text-align:left;max-width:560px;margin:22px 0;}
.future-plans summary{cursor:pointer;font-weight:700;padding:12px 0;}
.future-plans .shelf{margin-top:16px;}
.answer-feedback{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);}
.answer-feedback .btn{width:100%;}
.mistake-list{padding-left:22px;line-height:1.7;}
.mistake-list li{margin:12px 0;}.mistake-list a{display:block;}
.assessment-result{margin:24px 0;padding:20px;border:1.5px solid var(--line);border-radius:16px;}

/* Disclosures use the same inset chevron and breathing room as preferences. */
.future-plans>summary,.course-footer details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;list-style:none;line-height:1.45;}
.future-plans>summary::-webkit-details-marker,.course-footer details>summary::-webkit-details-marker{display:none;}
.future-plans>summary::after,.course-footer details>summary::after{content:'';width:8px;height:8px;flex:none;margin:0 5px 4px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);}
.future-plans[open]>summary::after,.course-footer details[open]>summary::after{transform:rotate(225deg);margin-top:5px;}
.course-footer .row{gap:8px 20px;}.course-footer .row a{display:inline-flex;align-items:center;min-height:40px;text-underline-offset:3px;}

/* alphabet chart page */
.chart-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:18px 0 0;}
.chart-btn{display:inline-block;background:var(--navy);color:var(--vanilla);text-decoration:none;font:700 15px/1 "Montserrat",sans-serif;padding:13px 18px;border-radius:999px;}
.chart-link{font-weight:600;}
.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;}
.chart-cell{text-decoration:none;color:inherit;border:1.5px solid var(--line);border-radius:12px;padding:8px 4px 7px;display:flex;flex-direction:column;align-items:center;gap:3px;background:#FFFBF2;}
.chart-cell:hover{border-color:var(--apricot);}
.chart-pair{font:800 24px/1 var(--disp);white-space:nowrap;}
.chart-snd{font-size:13px;color:var(--muted);text-align:center;line-height:1.2;}
.chart-muted{color:var(--muted);}
.chart-q{font:700 16px/1.3 "Montserrat",sans-serif;margin:18px 0 4px;}
.lcard:target{border-color:var(--apricot);box-shadow:0 0 0 3px var(--apri-soft);}

/* cover questions (also sent as FAQPage data) */
.faq details{border-top:1px solid var(--line,#e4dccb);padding:.2rem 0}
.faq details:last-child{border-bottom:1px solid var(--line,#e4dccb)}
.faq summary{cursor:pointer;padding:.6rem 0;font-weight:700}
.faq details p{margin:0 0 .8rem}
/* text that continues the crumb link («Шаг 1, прописи «а»»): no flex gap or link padding before the comma (6px gap + 10px padding) */
.crumbs .crumb-rest{margin-left:-16px;}
/* settings: buttons clear of the divider, the copy button aligned with its link */
#progressSettings .row{margin:14px 0 22px;}
.all-link{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:18px;}

/* Georgian fonts (relative to /ka/ka.css) and palette: red, saffron, orange, cream — from the patchwork star. */
@font-face{font-family:"KaSerif";src:url(fonts/noto-serif-georgian-georgian-800-normal.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
@font-face{font-family:"KaSans";src:url(fonts/noto-sans-georgian-georgian-400-normal.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
@font-face{font-family:"KaSans";src:url(fonts/noto-sans-georgian-georgian-600-normal.woff2) format("woff2");font-weight:600 800;font-display:swap;unicode-range:U+10A0-10FF,U+1C90-1CBF,U+2D00-2D2F}
:root{
  --vanilla:#FFF5E8;--navy:#39271C;--apricot:#E59400;--pom:#C0261F;
  --line:#EED4A5;--soft:#FFEBC5;--muted:#6E5238;--apri-soft:#FFDEA0;
  --sans:"KaSans","Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --disp:"KaSerif","Montserrat",Georgia,serif;}
