/* Тест «Чи готова дитина до 1 класу» · дизайн-система «Сяйво» (токени й кнопки — з assets/site.css)
   Класи теста з префіксом dl- там, де назва збігається з класами сайту. */
.dlab,.overlay,.confetti{font-family:var(--f);color:var(--text)}
.dlab *,.overlay *{box-sizing:border-box}
.dlab h2,.dlab h3,.overlay h3{margin:0;color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.dlab p,.overlay p{margin:0}
.dlab img,.overlay img{max-width:100%;display:block}
.dlab .btn[disabled]{opacity:.4;pointer-events:none;box-shadow:none}
.dlab .btn-s,.overlay .btn-s{min-height:44px;padding:0 18px;font-size:14px}
.dlab .btn-s:has(.arr){padding-right:6px}
.dlab .btn-s .arr{width:32px;height:32px}
.i3d{width:28px;height:28px;object-fit:contain;display:inline-block;vertical-align:middle;filter:drop-shadow(0 4px 4px rgba(42,11,54,.2))}
@keyframes dl-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes dl-bob{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes dl-breathe{0%,100%{opacity:.85;scale:1}50%{opacity:1;scale:1.06}}
@keyframes dl-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes dl-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes dl-pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes dl-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes dl-drop{from{opacity:0;transform:translateY(-24px) scale(.6)}to{opacity:1;transform:none}}
@keyframes dl-spin{to{transform:rotate(360deg)}}

/* Індикатор: кільце «Сонце» і 3D-колба з ореолом */
.flask{position:relative;display:grid;place-items:center;isolation:isolate;aspect-ratio:1}
.flask::before{content:"";position:absolute;inset:8%;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(185,53,187,.3) 0%,rgba(255,201,60,.14) 42%,transparent 70%);animation:dl-breathe 4.2s ease-in-out infinite}
.flask svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.flask .trk{fill:none;stroke:var(--lav);stroke-width:9}
.flask .val{fill:none;stroke:url(#dlg);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.3,1.2,.4,1)}
.flask .fl3d{width:56%;filter:drop-shadow(var(--sh-object,0 14px 12px rgba(42,11,54,.32)));animation:dl-float 6s ease-in-out infinite}
.flask .fl3d:hover{animation:dl-bob .9s ease-in-out infinite}
.flask.boil .fl3d{animation:dl-shake .18s linear infinite}
.flask.boil .val{stroke-dasharray:60 30!important;animation:dl-spin 1s linear infinite;transform-origin:50% 50%}

/* Каркас */
.lab{max-width:1232px;margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:24px;align-items:start}
.lab.solo{grid-template-columns:minmax(0,1fr);max-width:960px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-card,22px);box-shadow:var(--sh-card)}
.side{padding:22px;position:sticky;top:100px;text-align:center}
.side .flask{width:150px;margin:0 auto}
.side .pct{font:800 30px/1 var(--f);color:var(--plum);margin-top:8px}
.side .pct small{display:block;font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.sph{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}
.sph i{display:block;aspect-ratio:1;border-radius:14px;background:var(--pale);border:1px solid var(--line);position:relative;transition:background .4s,transform .4s}
.sph i img{width:100%;height:100%;object-fit:contain;padding:5px;filter:grayscale(1) opacity(.3);transition:filter .5s}
.sph i.dl-on{background:var(--lav);transform:scale(1.04)}
.sph i.dl-on img{filter:none}
.sph i.dl-on::after{content:"";position:absolute;right:-3px;top:-3px;width:12px;height:12px;border-radius:50%;background:var(--g-leaf);border:2px solid #fff}
.stations{display:flex;justify-content:center;gap:6px;margin-top:16px}
.stations b{width:24px;height:8px;border-radius:999px;background:var(--line);transition:background .4s}
.stations b.done{background:var(--g-leaf)}
.stations b.cur{background:var(--g-sun)}

.dl-card{padding:36px 40px 30px;min-height:540px;position:relative;overflow:hidden}
.q-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.who{display:inline-flex;gap:8px;align-items:center;font:700 13px/1.2 var(--f);padding:5px 14px 5px 6px;border-radius:999px}
.who img{width:30px;height:30px;object-fit:contain}
.who.kid{background:var(--sun-bg);color:var(--sun-ink)}
.who.parent{background:var(--lav);color:var(--plum-600)}
.who.both{background:var(--leaf-bg);color:var(--leaf-ink)}
.kind{font-weight:700;font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
.kind::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--plum-400)}
.qn{font-weight:600;font-size:14px;color:var(--muted)}
.qbar{height:8px;background:var(--lav);border-radius:999px;overflow:hidden;margin-bottom:24px}
.qbar i{display:block;height:100%;width:0;border-radius:999px;background:var(--g-sun);transition:width .6s cubic-bezier(.3,1.2,.4,1)}
.q-row{display:grid;grid-template-columns:116px 1fr;gap:22px;align-items:center;margin-bottom:26px}
.q-ic{width:116px;height:116px;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(42,11,54,.25));animation:dl-float 6s ease-in-out infinite}
.q-ic:hover{animation:dl-bob .9s ease-in-out infinite}
.q-title{font:800 clamp(21px,2.2vw,28px)/1.25 var(--f);color:var(--ink);margin:0;letter-spacing:-.01em}
.q-sub{color:var(--soft);font-size:16px;margin-top:8px}
.nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:12px}
.enter{animation:dl-in .5s cubic-bezier(.2,1.1,.4,1) both}
.leave{animation:dl-out .25s ease-in both}

/* Варіанти відповіді */
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fff;border:1.5px solid var(--line-2);border-radius:18px;padding:16px 12px;font:700 16px/1.3 var(--f);color:var(--ink);cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;text-align:center;min-height:62px}
.opt:hover{border-color:var(--plum-400);transform:translateY(-4px);box-shadow:var(--sh-lift)}
.opt:focus-visible{outline:3px solid var(--orchid);outline-offset:3px}
.opt img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 10px 8px rgba(42,11,54,.2));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.opt:hover img{transform:translateY(-6px) rotate(-5deg)}
.opt[aria-pressed="true"]{border-color:var(--plum-700);background:var(--lav);box-shadow:0 0 0 3px var(--line)}
.opt[aria-pressed="true"]::after{content:"";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--g-leaf);animation:dl-pop .35s cubic-bezier(.3,1.8,.5,1);box-shadow:var(--sh-leaf)}
.opt[aria-pressed="true"]::before{content:"";position:absolute;top:15px;right:15px;width:9px;height:5px;border-left:2.5px solid var(--leaf-deep);border-bottom:2.5px solid var(--leaf-deep);transform:rotate(-45deg);z-index:1}
.opts.text .opt{flex-direction:row;justify-content:flex-start;text-align:left;padding:18px 48px 18px 20px}
.opts.nums{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}
.opts.nums .opt{font-size:30px;font-weight:800;color:var(--plum);min-height:84px}
.oror{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch}
.oror .or{align-self:center;font:800 13px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--plum-400)}
.oror .opt{min-height:150px}
.dots{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}
.dots b{width:24px;height:24px;border-radius:50%;background:var(--g-plum)}
.dots.wide{gap:34px}.dots.wide b{background:var(--g-sun)}
.scene{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:-6px 0 20px;min-height:64px;padding:16px;border-radius:18px;background:radial-gradient(circle at 50% 100%,rgba(185,53,187,.16),transparent 65%),var(--pale)}
.scene img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 8px 6px rgba(42,11,54,.2));animation:dl-drop .5s cubic-bezier(.3,1.5,.5,1) both}
.scene .plus{font:800 32px var(--f);color:var(--plum-400);align-self:center}
.pattern{display:flex;gap:12px;justify-content:center;align-items:center;margin-bottom:20px;flex-wrap:wrap;padding:16px;border-radius:18px;background:var(--pale)}
.pattern img{width:60px;height:60px;object-fit:contain}
.pattern .q{width:60px;height:60px;border-radius:14px;border:2px dashed var(--plum-400);display:grid;place-items:center;font:800 26px var(--f);color:var(--plum-400);animation:dl-breathe 2s ease-in-out infinite}

/* Повзунок */
.sl{padding:6px 4px 0}
.sl .val{text-align:center;font:800 46px/1 var(--f);color:var(--plum)}
.sl .val small{font-size:18px;color:var(--muted);font-weight:700;margin-left:6px}
.sl .face{display:block;margin:0 auto 10px;width:96px;height:96px;object-fit:contain;transition:transform .3s;filter:drop-shadow(0 12px 10px rgba(42,11,54,.25))}
.sl .dl-lbl{text-align:center;font-weight:700;color:var(--plum-400);min-height:24px;margin-top:6px}
.sl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:12px;border-radius:999px;margin:22px 0 8px;background:linear-gradient(90deg,var(--sun-lt) 0%,var(--sun-or) var(--p,50%),var(--lav) var(--p,50%))}
.sl input[type=range]:focus-visible{outline:3px solid var(--orchid);outline-offset:6px}
.sl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:36px;height:36px;border-radius:50%;background:#fff;border:6px solid var(--plum-700);box-shadow:var(--sh-card);cursor:grab}
.sl input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:6px solid var(--plum-700);cursor:grab}
.sl .ends{display:flex;justify-content:space-between;color:var(--muted);font-weight:600;font-size:14px}

/* Свайп-картка */
.swipe-wrap{display:flex;flex-direction:column;align-items:center;gap:20px}
.swipe{width:min(320px,100%);background:radial-gradient(circle at 50% 70%,rgba(185,53,187,.2),transparent 60%),var(--pale);border:1px solid var(--line);border-radius:22px;padding:26px;text-align:center;box-shadow:var(--sh-card);touch-action:pan-y;cursor:grab;user-select:none;transition:transform .35s cubic-bezier(.3,1.3,.5,1),opacity .35s;position:relative}
.swipe img{width:150px;height:150px;object-fit:contain;margin:0 auto;pointer-events:none;filter:drop-shadow(0 14px 12px rgba(42,11,54,.25))}
.swipe .hint{font-weight:600;color:var(--muted);font-size:14px;margin-top:8px}
.swipe .stamp{position:absolute;top:18px;font:800 15px var(--f);padding:5px 12px;border-radius:999px;opacity:0;transition:opacity .15s}
.swipe .stamp.y{right:18px;background:var(--leaf-bg);color:var(--leaf-ink)}
.swipe .stamp.n{left:18px;background:var(--bad-bg);color:var(--bad)}
.sw-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.sw-btns .opt{min-width:120px;flex-direction:row;padding:10px 18px;border-radius:999px;min-height:52px}
.sw-btns .opt img{width:30px;height:30px}

/* Шкала емоцій */
.emo{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.emo .opt{padding:14px 6px;font-size:14px}
.emo .opt img{width:70px;height:70px}

/* Перестановка */
.order{list-style:none;margin:0;padding:0;display:grid;gap:10px;touch-action:none}
.order li{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--line-2);border-radius:18px;padding:10px 12px;font-weight:700;color:var(--ink);cursor:grab;user-select:none;position:relative}
.order li.drag{z-index:5;border-color:var(--plum-700);box-shadow:var(--sh-lift);cursor:grabbing}
.order li.dl-moving{border-color:var(--plum-400)}
.order .n{width:32px;height:32px;border-radius:50%;background:var(--g-sun);color:var(--ink);display:grid;place-items:center;font-size:14px;font-weight:800;flex:none;box-shadow:var(--sh-sun)}
.order img{width:48px;height:48px;object-fit:contain;pointer-events:none}
.order .dl-t{flex:1}
.order button{width:40px;height:40px;border-radius:14px;border:0;background:var(--lav);font:800 16px var(--f);color:var(--plum-700);cursor:pointer}
.order button:disabled{opacity:.3;cursor:default}
.order .grip{color:var(--line-2);letter-spacing:-2px}
.dl-note{font-size:14px;color:var(--muted);margin-top:10px}

/* Міні-ігри */
.timer{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--ink);margin-bottom:14px}
.timer .tbar{flex:1;height:10px;border-radius:999px;background:var(--lav);overflow:hidden}
.timer .tbar i{display:block;height:100%;background:var(--g-sun);width:100%;transition:width 1s linear}
.grid-find{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-width:560px;margin:0 auto}
.grid-find button{aspect-ratio:1;border-radius:14px;border:1.5px solid var(--line);background:var(--pale);cursor:pointer;padding:6px;transition:transform .2s,background .2s}
.grid-find button img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.grid-find button.hit{background:var(--leaf-bg);border-color:var(--leaf);transform:scale(.92)}
.grid-find button.miss{background:var(--bad-bg);border-color:var(--bad);animation:dl-shake .3s}
.start-box{text-align:center;padding:26px;background:var(--tx-grid),var(--pale);border:1px solid var(--line);border-radius:22px}
.start-box p{margin-bottom:16px;font-weight:600;color:var(--soft)}
.mem-show{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:20px;background:radial-gradient(circle at 50% 100%,rgba(185,53,187,.18),transparent 65%),var(--pale);border-radius:22px}
.mem-show img{width:86px;height:86px;object-fit:contain;animation:dl-drop .5s cubic-bezier(.3,1.5,.5,1) both}
.mem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.mem-grid .opt{padding:8px}
.mem-grid .opt img{width:64px;height:64px}
.trace-box{position:relative;max-width:640px;margin:0 auto;background:var(--tx-grid),#fff;border-radius:22px;border:1px solid var(--line);touch-action:none;overflow:hidden}
.trace-box svg{display:block;width:100%;height:auto}
.trace-box .msg{padding:10px 12px 12px;text-align:center;font-weight:600;color:var(--soft);font-size:14px;pointer-events:none;border-top:1px solid var(--line);background:#fff}
.sort-items{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:18px;min-height:64px}
.chipq{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line-2);border-radius:999px;padding:6px 16px 6px 6px;font:700 15px var(--f);color:var(--ink);cursor:pointer;transition:transform .2s,border-color .2s}
.chipq img{width:38px;height:38px;object-fit:contain}
.chipq.sel{background:var(--plum-700);border-color:var(--plum-700);color:var(--sun);transform:translateY(-3px)}
.baskets{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.basket{border:2px dashed var(--line-2);border-radius:22px;padding:14px;min-height:150px;background:var(--pale);cursor:pointer;transition:border-color .2s,background .2s}
.basket h4{margin:0 0 10px;display:flex;align-items:center;gap:10px;font:800 18px var(--f);color:var(--ink)}
.basket h4 img{width:42px;height:42px}
.basket.ready{border-color:var(--plum-400);background:var(--lav)}
.basket .in{display:flex;flex-wrap:wrap;gap:8px}
.basket .in .chipq{font-size:13px}
.multi .opt{min-height:140px}
.counter{font-weight:700;color:var(--plum);text-align:right;margin-top:10px;display:flex;justify-content:flex-end;align-items:center;gap:10px}

/* Підказка батькам — банер «Сонце» */
.hint-panel{padding:22px;position:sticky;top:100px;background:radial-gradient(circle at 100% 0,rgba(255,201,60,.35),transparent 50%),var(--sun-bg);border:1px solid var(--sun-lt);box-shadow:none}
.hint-panel .hh{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hint-panel .hh img{width:52px;height:52px;flex:none;filter:drop-shadow(0 8px 8px rgba(122,74,0,.25));animation:dl-float 6s ease-in-out infinite}
.hint-panel .hh b{font:800 18px/1.2 var(--f);color:var(--ink)}
.hint-panel .hh small{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sun-ink);font-weight:800;margin-bottom:2px}
.hint-panel h5{margin:14px 0 4px;font:800 12px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--sun-ink)}
.hint-panel p{font-size:15px;line-height:1.55;color:var(--text)}
.hint-panel .tog{margin-top:16px;background:none;border:0;font:700 13px var(--f);color:var(--sun-ink);cursor:pointer;text-decoration:underline}
.hint-panel.fresh{animation:dl-glow 1.2s ease}
@keyframes dl-glow{0%{box-shadow:0 0 0 0 rgba(255,201,60,.7)}100%{box-shadow:0 0 0 16px rgba(255,201,60,0)}}
.hint-panel.off .body{display:none}

/* Старт */
.intro{padding:40px}
.intro h2{font-size:clamp(26px,3vw,36px);margin:12px 0 10px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}
.f-grid .l{display:block;font:800 13px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--plum-400);margin-bottom:8px}
.f-grid input[type=text]{width:100%;height:52px;font:600 17px var(--f);padding:0 16px;border:1.5px solid var(--line-2);border-radius:14px;background:#fff;color:var(--ink)}
.f-grid input[type=text]:focus{border-color:var(--orchid);outline:3px solid rgba(185,53,187,.2)}
.dl-seg{display:flex;gap:10px;flex-wrap:wrap}
.dl-seg .opt{flex:1;min-height:52px;flex-direction:row;padding:8px 16px;border-radius:999px;font-size:15px}
.dl-seg .opt img{width:34px;height:34px}
.dl-seg .opt[aria-pressed="true"]{background:var(--plum-700);border-color:var(--plum-700);color:var(--sun);box-shadow:none}
.dl-seg .opt[aria-pressed="true"]::after,.dl-seg .opt[aria-pressed="true"]::before{display:none}
.prep{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 28px}
.prep div{background:var(--pale);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;font-weight:600;font-size:15px;color:var(--soft)}
.prep img{width:64px;height:64px;margin:0 auto 8px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(42,11,54,.2))}
.st-map{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:8px 0 28px}
.st-map div{text-align:center;font-size:13px;font-weight:700;color:var(--ink)}
.st-map img{width:72px;height:72px;margin:0 auto 6px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(42,11,54,.25))}
.disc{font-size:14px;color:var(--muted);margin-top:16px}
.resume{background:var(--sun-bg);border:1px solid var(--sun-lt);border-radius:18px;padding:14px 18px;margin-bottom:20px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-weight:600;color:var(--ink)}
.resume span{display:flex;gap:10px;flex-wrap:wrap}

/* Вікна (Modal) */
.overlay{position:fixed;inset:0;z-index:200;background:rgba(26,6,34,.55);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:dl-fade .25s}
@keyframes dl-fade{from{opacity:0}}
.award,.modal{background:#fff;border-radius:26px;box-shadow:var(--sh-menu,0 24px 50px -16px rgba(42,11,54,.35));width:100%;position:relative;animation:dl-in .45s cubic-bezier(.2,1.2,.4,1)}
.award{max-width:440px;padding:34px 30px;text-align:center;overflow:hidden;isolation:isolate}
.award .halo{position:absolute;left:50%;top:22px;width:240px;height:240px;margin-left:-120px;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(255,201,60,.55) 0%,rgba(185,53,187,.18) 40%,transparent 68%);animation:dl-breathe 4.2s ease-in-out infinite}
.award img{width:160px;height:160px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 16px 14px rgba(42,11,54,.3));animation:dl-award .9s cubic-bezier(.3,1.6,.5,1) both}
@keyframes dl-award{0%{transform:scale(0) rotate(-200deg)}100%{transform:none}}
.award .eyebrow{display:block;margin-top:14px}
.award h3{font-size:26px;margin:8px 0}
.award p{color:var(--soft);margin-bottom:22px}
.award .ach{display:flex;justify-content:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.award .ach span{background:var(--leaf-bg);color:var(--leaf-ink);font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px}
.modal{max-width:500px;padding:30px;max-height:92vh;overflow:auto;color:var(--text)}
.modal h3{font-size:24px;margin-bottom:8px;padding-right:40px}
.modal .x{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--lav);color:var(--plum-700);font-size:20px;cursor:pointer;line-height:1}
.modal .sum{display:flex;justify-content:space-between;gap:12px;background:var(--pale);border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:16px 0;font-weight:700;color:var(--ink)}
.modal form{display:grid;gap:12px}
.modal input[type=email],.modal input[type=text],.modal input[type=tel]{height:52px;font:500 16px var(--f);padding:0 16px;border:1.5px solid var(--line-2);border-radius:14px}
.modal label{display:flex;gap:10px;font-size:14px;color:var(--muted);align-items:flex-start}
.pay-m{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pay-m .opt{min-height:48px;font-size:14px;border-radius:999px;padding:8px}
.pay-m .opt::after,.pay-m .opt::before{display:none}
.pay-m .opt[aria-pressed="true"]{background:var(--plum-700);color:var(--sun)}

/* Частинки */
.spark{position:fixed;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:300}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:250;overflow:hidden}
.confetti i{position:absolute;top:-30px;width:10px;height:16px;border-radius:3px;animation:dl-fall linear forwards}
.confetti img{position:absolute;top:-80px;width:56px;animation:dl-fall linear forwards}
@keyframes dl-fall{to{transform:translateY(110vh) rotate(720deg)}}

/* Фінальна реакція */
.react{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}
.react .flask{width:230px}
.react h2{font-size:28px;margin-top:20px}
.react p{color:var(--muted);font-weight:600;margin-top:6px}
.burst img{position:absolute;left:50%;top:40%;width:70px;margin:-35px;animation:dl-burst 1.4s cubic-bezier(.2,.9,.3,1) forwards;opacity:0}
@keyframes dl-burst{0%{opacity:0;transform:translate(0,0) scale(.2)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(1.1) rotate(var(--r))}}

/* Результат */
.res{padding:40px}
.res-top{display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:center}
.res-top .flask{width:220px}
.res-top .big{font:800 80px/1 var(--f);color:var(--plum);letter-spacing:-.03em;margin-top:10px}
.res-top .big small{font-size:30px}
.res-top h2{font-size:clamp(26px,3vw,36px);margin:8px 0 10px}
.res-top p{font-size:18px;color:var(--soft)}
.lvl{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:700 13px var(--f)}
.lvl::before{content:"";width:9px;height:9px;border-radius:3px;background:currentColor}
.lvl.g{background:var(--leaf-bg);color:var(--leaf-ink)}.lvl.y{background:var(--sun-bg);color:var(--sun-ink)}.lvl.p{background:var(--lav);color:var(--plum-600)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--sh-card)}
.box h3{font-size:20px;margin-bottom:12px;display:flex;gap:10px;align-items:center}
.box h3 img{width:44px;height:44px;filter:drop-shadow(0 6px 6px rgba(42,11,54,.2))}
.box p{color:var(--soft)}
.radar{width:100%;max-width:440px;margin:0 auto;display:block;overflow:visible}
.radar .area{transform-origin:220px 220px;animation:dl-grow 1.4s cubic-bezier(.3,1.3,.4,1) both .3s}
@keyframes dl-grow{from{transform:scale(0);opacity:0}}
.radar text{font:700 12px var(--f);fill:var(--soft)}
.gauge{height:14px;border-radius:999px;background:var(--lav);overflow:hidden;margin:10px 0 8px}
.gauge i{display:block;height:100%;border-radius:999px;background:var(--g-leaf);width:0;transition:width 1.6s cubic-bezier(.3,1.2,.4,1)}
.lists{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.lists ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lists li{display:flex;gap:10px;align-items:center;font-weight:700;color:var(--ink);background:var(--pale);border-radius:14px;padding:8px 12px;border:1px solid var(--line)}
.lists li img{width:36px;height:36px}
.lists li em{margin-left:auto;font-style:normal;color:var(--plum)}
.today{margin-top:20px;display:flex;gap:16px;align-items:center;background:radial-gradient(circle at 0 0,rgba(255,201,60,.35),transparent 45%),var(--sun-bg);border-radius:22px;padding:20px 24px;border:1px solid var(--sun-lt)}
.today img{width:68px;height:68px;flex:none;animation:dl-float 6s ease-in-out infinite}
.today b{color:var(--ink)}
.sec-t{font:800 clamp(24px,2.8vw,32px)/1.15 var(--f);color:var(--ink);margin:48px 0 6px;letter-spacing:-.02em}
.sec-s{color:var(--soft);margin-bottom:20px}
.acc{display:grid;gap:10px}
.acc details{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:box-shadow .2s}
.acc details[open]{box-shadow:var(--sh-card)}
.acc summary{list-style:none;display:grid;grid-template-columns:48px 1fr 150px auto 32px;gap:14px;align-items:center;padding:12px 18px;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--lav);color:var(--plum-700);font:600 20px/1 var(--f);transition:transform .2s}
.acc details[open] summary::after{transform:rotate(45deg);background:var(--sun);color:var(--ink)}
.acc summary img{width:48px;height:48px}
.acc summary b{font-size:17px;color:var(--ink)}
.acc summary .mini{height:10px;border-radius:999px;background:var(--lav);overflow:hidden}
.acc summary .mini i{display:block;height:100%;background:var(--g-leaf)}
.acc summary .sc{font-weight:800;color:var(--plum);text-align:right;display:flex;gap:8px;align-items:center;justify-content:flex-end}
.acc .bd{padding:0 22px 22px 80px;display:grid;gap:12px}
.acc .bd h5{margin:0;font:800 12px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--plum-400)}
.acc .bd p{font-size:15px;color:var(--text)}
.acc .bd .tipl{background:var(--sun-bg);border-radius:14px;padding:12px 16px}
.dl-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:1px}
.dl-dot.g{background:var(--leaf-dk)}.dl-dot.y{background:var(--sun-or)}.dl-dot.p{background:var(--plum-400)}

/* Повний звіт — «Нічна слива» */
.paid{margin-top:48px;border-radius:32px;background:var(--tx-stars),radial-gradient(circle at 100% 0,rgba(185,53,187,.45),transparent 45%),var(--g-night);color:var(--on-dark);padding:40px;position:relative;overflow:hidden}
.paid .head{display:grid;grid-template-columns:1fr 190px;gap:24px;align-items:center}
.paid h2{font-size:clamp(26px,3vw,40px);margin:12px 0;color:#fff}
.paid .sticker{background:rgba(217,166,240,.16);color:#E8C4F5;border-color:rgba(217,166,240,.25)}
.paid p{color:var(--on-dark);font-size:18px}
.paid p b{color:#fff}
.paid .gift{width:180px;filter:drop-shadow(0 20px 18px rgba(0,0,0,.35));animation:dl-float 6s ease-in-out infinite}
.incl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}
.incl div{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(217,166,240,.25);border-radius:18px;padding:12px 14px;font-weight:600;color:#fff}
.incl img{width:44px;height:44px;flex:none}
.preview{position:relative;background:#fff;color:var(--text);border-radius:22px;padding:24px;max-height:300px;overflow:hidden}
.preview .blurz{filter:blur(5px);user-select:none;pointer-events:none}
.preview .lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.94) 60%);text-align:center;font-weight:800;color:var(--ink)}
.preview .lock img{width:72px;animation:dl-float 6s ease-in-out infinite}
.buy{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:26px}
.price{font:800 44px/1 var(--f);color:var(--sun)}
.price small{display:block;font-size:14px;font-weight:500;color:var(--on-dark);margin-top:8px}

/* Повний звіт */
.full{margin-top:36px}
.full .sec-t{display:flex;gap:12px;align-items:center}
.full .sec-t img{width:52px;height:52px;filter:drop-shadow(0 8px 8px rgba(42,11,54,.22))}
.weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wk{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--sh-card);animation:dl-in .5s both}
.wk .wn{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 12px;border-radius:999px;background:var(--g-sun);color:var(--ink);font:800 13px var(--f);box-shadow:var(--sh-sun)}
.wk h4{margin:12px 0 8px;font:700 17px/1.3 var(--f);color:var(--ink)}
.wk ul{margin:0;padding-left:18px;font-size:14px;color:var(--soft);display:grid;gap:4px}
.wk p{font-size:14px;color:var(--soft)}
.games{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.game{background:var(--pale);border:1px solid var(--line);border-radius:22px;padding:18px}
.game .dl-tag{display:inline-block;font:800 12px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--leaf-ink);background:var(--leaf-bg);padding:4px 10px;border-radius:999px}
.game h4{margin:10px 0 6px;font:700 17px var(--f);color:var(--ink)}
.game p{font-size:15px;color:var(--soft)}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.tbl th{text-align:left;background:var(--pale);padding:10px 12px;font:800 12px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--plum-400)}
.tbl td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top;color:var(--text)}
.tbl .st{font-weight:700;white-space:nowrap}
.st.dl-ok{color:var(--leaf-ink)}.st.mid{color:var(--sun-ink)}.st.lo{color:var(--plum-600)}
.phr{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.phr div{border-radius:22px;padding:18px}
.phr .yes{background:var(--leaf-bg)}.phr .no{background:var(--bad-bg)}
.phr h4{margin:0 0 8px;font:700 17px var(--f);color:var(--ink)}
.phr ul{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--text)}
.check{columns:2;column-gap:24px;list-style:none;padding:0}
.check li{break-inside:avoid;display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.check input{width:20px;height:20px;accent-color:var(--leaf-dk);flex:none;margin-top:3px}
.offer-x{margin-top:40px;border-radius:32px;padding:34px;border:1px solid var(--sun-lt);background:radial-gradient(circle at 0 0,transparent 14px,rgba(255,201,60,.32) 15px,transparent 16px) 0 0/36px 36px,radial-gradient(circle at 10% 10%,rgba(255,201,60,.45),transparent 45%),var(--sun-bg);color:var(--ink);display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center}
.offer-x img{width:170px;filter:drop-shadow(0 16px 14px rgba(122,74,0,.3));animation:dl-float 6s ease-in-out infinite}
.offer-x h2{font-size:clamp(24px,2.8vw,34px);margin:12px 0 10px}
.offer-x ul{margin:10px 0 18px;padding-left:20px;display:grid;gap:6px;color:var(--text)}
.cd{display:flex;gap:10px;margin:10px 0 18px}
.cd div{background:var(--plum-700);color:var(--sun);border-radius:14px;padding:10px 14px;text-align:center;min-width:72px}
.cd b{display:block;font:800 26px/1 var(--f)}
.cd small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark)}
.res-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;justify-content:center}

@media (max-width:1180px){
  .lab{grid-template-columns:minmax(0,1fr)}
  .side{position:static;display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;text-align:left;padding:14px 18px}
  .side .flask{width:96px}
  .side .pct{font-size:24px;margin:0}
  .sph{grid-template-columns:repeat(12,1fr);gap:4px;margin-top:8px}
  .sph i{border-radius:8px}.sph i img{padding:2px}
  .stations{justify-content:flex-start;margin-top:8px}
  .hint-panel{position:static;order:2;padding:12px 16px}
  .dl-card{order:3}
  .hint-panel .hh{margin:0;cursor:pointer}
  .hint-panel .hh::after{content:"Відкрити";margin-left:auto;font-weight:700;font-size:13px;color:var(--sun-ink);white-space:nowrap;text-decoration:underline}
  .hint-panel.dl-open .hh::after{content:"Згорнути"}
  .hint-panel.dl-open .hh{margin-bottom:10px}
  .hint-panel:not(.dl-open) .body{display:none}
  .hint-panel .hh img{width:40px;height:40px}
  .hint-panel .tog{display:none!important}
}
@media (max-width:760px){
  .dl-card{padding:22px 16px;min-height:0}
  .intro,.res{padding:24px 16px}
  .q-row{grid-template-columns:72px 1fr;gap:14px}
  .q-ic{width:72px;height:72px}
  .f-grid,.duo,.lists,.phr,.incl{grid-template-columns:1fr}
  .prep{grid-template-columns:1fr 1fr}
  .st-map{grid-template-columns:repeat(3,1fr)}
  .emo{gap:4px}.emo .opt{font-size:11px;padding:8px 2px}.emo .opt img{width:44px;height:44px}
  .oror{grid-template-columns:1fr}.oror .or{text-align:center}
  .grid-find{grid-template-columns:repeat(6,1fr);gap:5px}
  .grid-find button{border-radius:10px;padding:3px}
  .mem-grid{grid-template-columns:repeat(4,1fr)}
  .baskets{grid-template-columns:1fr}
  .res-top{grid-template-columns:1fr;text-align:center}
  .res-top .flask{margin:0 auto;width:170px}
  .res-top .big{font-size:60px}
  .acc summary{grid-template-columns:40px 1fr auto 28px;padding:10px 12px}
  .acc summary img{width:40px;height:40px}
  .acc summary .mini{display:none}
  .acc .bd{padding:0 16px 18px}
  .paid,.offer-x{padding:24px 18px;border-radius:22px}
  .paid .head,.offer-x{grid-template-columns:1fr}
  .paid .gift{width:120px}
  .offer-x img{width:110px}
  .weeks,.games{grid-template-columns:1fr}
  .check{columns:1}
  .tbl{font-size:13px}.tbl td,.tbl th{padding:8px}
  .side{grid-template-columns:70px 1fr}
  .side .flask{width:70px}
  .sph{grid-template-columns:repeat(6,1fr)}
  .sw-btns .opt{min-width:96px}
}
@media print{
  .hdr,.announce,.ftr,.mnav,.page-hero,.paid .buy,.res-actions,.offer-x .btn{display:none!important}
  .panel,.box,.wk{box-shadow:none}
  .acc details{break-inside:avoid}
}
@media (prefers-reduced-motion:reduce){.dlab *,.overlay *,.confetti *{animation:none!important;transition:none!important}}

.paid .eyebrow{color:var(--sun)}
.offer-x .eyebrow{color:var(--sun-ink)}
