/* TÉS · Tumpu — paper look. Three looks share one layout: day, evening, Halloween (see themes at the bottom). */
@font-face{font-family:'Nunito';font-weight:600;font-display:swap;src:url(fonts/nunito-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Nunito';font-weight:700;font-display:swap;src:url(fonts/nunito-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Nunito';font-weight:800;font-display:swap;src:url(fonts/nunito-cyrillic-800-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Nunito';font-weight:900;font-display:swap;src:url(fonts/nunito-cyrillic-900-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Nunito';font-weight:600;font-display:swap;src:url(fonts/nunito-latin-ext-600-normal.woff2) format('woff2');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:'Nunito';font-weight:700;font-display:swap;src:url(fonts/nunito-latin-ext-700-normal.woff2) format('woff2');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:'Nunito';font-weight:800;font-display:swap;src:url(fonts/nunito-latin-ext-800-normal.woff2) format('woff2');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:'Nunito';font-weight:900;font-display:swap;src:url(fonts/nunito-latin-ext-900-normal.woff2) format('woff2');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:'Nunito';font-weight:600;font-display:swap;src:url(fonts/nunito-latin-600-normal.woff2) format('woff2');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:'Nunito';font-weight:700;font-display:swap;src:url(fonts/nunito-latin-700-normal.woff2) format('woff2');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:'Nunito';font-weight:800;font-display:swap;src:url(fonts/nunito-latin-800-normal.woff2) format('woff2');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:'Nunito';font-weight:900;font-display:swap;src:url(fonts/nunito-latin-900-normal.woff2) format('woff2');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:'Caveat';font-weight:700;font-display:swap;src:url(fonts/caveat-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Caveat';font-weight:700;font-display:swap;src:url(fonts/caveat-latin-ext-700-normal.woff2) format('woff2');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:'Caveat';font-weight:700;font-display:swap;src:url(fonts/caveat-latin-700-normal.woff2) format('woff2');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}

:root{--top:max(34px,calc(env(safe-area-inset-top,0px) / var(--s) + 14px));--bot:max(26px,calc(env(safe-area-inset-bottom,0px) / var(--s) + 14px));--ink:#3A2216;--ink2:#5A3A2B;--lab:#7A4E38;--on-ground:#3A2216;--on-ground2:#5A3A2B;--bg:url(img/bg/paper-day.webp);--card:url(img/bg/card-day.webp);--card-bg:#FFFCF4;--card-edge:#BDAB8E;
  --yel:#FDC128;--yel-edge:#C99408;--yel-hi:rgba(255,255,255,.5);--coral:#F6543D;--track:#EBD6A8;--row:#F7ECD4;--circ:#FFFCF4;--shade:40,22,12;--tint:rgba(98,62,42,.26);--hi:rgba(255,255,255,.7);
  font-family:'Nunito','Trebuchet MS',system-ui,sans-serif;color:var(--ink);font-synthesis:none;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:#FBF1DC}[data-theme=night] body{background:#1E130F}[data-theme=halloween] body{background:#170C27}html{height:100%;overflow:hidden;overflow:clip;overscroll-behavior:none}body{overscroll-behavior:none;-webkit-touch-callout:none}img{-webkit-user-drag:none}
button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}
/* The app is drawn on a logical phone screen (width --lw, height --lh, in CSS px) that JS scales by --s to fit the real screen; the paper fills the whole real screen behind it. */
:root{--s:1;--lw:390px;--lh:844px}
#ground{position:fixed;inset:0;z-index:0;background:var(--bg) center top/cover no-repeat}
#app{position:fixed;z-index:1;left:50%;top:0;width:var(--lw);height:var(--lh);transform:translateX(-50%) scale(var(--s));transform-origin:50% 0;overflow:hidden;overflow:clip;background:none}
#view{position:absolute;inset:0;overflow:hidden;overflow:clip}
#layer{position:absolute;inset:0;z-index:30;pointer-events:none}#layer>*{pointer-events:auto}
.boot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.boot b{font-weight:900;font-size:46px;letter-spacing:5px;color:rgba(98,62,42,.28);animation:fade .7s var(--ease) both}[data-theme=night] .boot b,[data-theme=halloween] .boot b{color:rgba(246,233,208,.3)}
.screen{position:relative;display:flex;flex-direction:column;height:100%;color:var(--on-ground);text-shadow:0 1px 0 var(--hi)}
#rotate{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#FBF1DC;color:#3A2216;font-weight:900;font-size:22px;line-height:1.25}
#rotate p{margin:0;max-width:320px}
html.rotate-needed #rotate{display:flex}html.rotate-needed #app,html.rotate-needed #ground{display:none}
[data-theme=night] #rotate,[data-theme=halloween] #rotate{background:#1E130F;color:#F6E9D0}
/* header */
.hdr{flex:none;position:relative;z-index:6;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:var(--top) 20px 0;min-height:calc(var(--top) + 46px)}
.hdr .mark{position:absolute;left:0;right:0;top:var(--top);height:44px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.mark b{padding:10px 6px 2px;font-weight:900;font-size:22px;letter-spacing:2px;line-height:1;background-image:linear-gradient(var(--tint),var(--tint)),var(--bg);background-size:100% 100%,390px 844px;background-position:0 0,-165px -66px;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 1px 1px rgba(var(--shade),.5)) drop-shadow(-1px -1px 1px rgba(255,255,255,.9));text-shadow:none}
.chip{display:flex;align-items:center;gap:7px;padding:8px 14px 8px 12px;border-radius:20px;background:var(--yel);color:#2A130A;font-weight:800;font-size:14px;line-height:1;text-shadow:none}
.chip svg{flex:none}
.round{flex:none;width:46px;height:46px;border-radius:23px;background:#FFE3A6;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 3px 0 #DDAE46,0 8px 12px -4px rgba(58,34,22,.35);text-shadow:none}
/* stage: hero + card */
.stage{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:column;justify-content:flex-end;padding:0 16px;position:relative;z-index:2}
.peek{position:relative;flex:none}
.card{position:relative;z-index:2;overflow:hidden;background:var(--card-bg);border-radius:34px 40px 32px 38px/38px 32px 40px 34px;box-shadow:0 8px 0 var(--card-edge),0 10px 14px -2px rgba(var(--shade),.26),0 26px 34px -12px rgba(var(--shade),.36);text-shadow:0 1px 0 var(--hi)}
.card::before{content:"";position:absolute;inset:0;background:var(--card) center/cover}
.card::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 2px 0 rgba(255,255,255,.8),inset 0 -3px 0 rgba(120,90,50,.12);pointer-events:none}
.card .in{position:relative;z-index:1;padding:calc(36px * var(--fs,1)) 24px calc(28px * var(--fs,1))}
.lab{font-weight:800;font-size:calc(15px * var(--fs,1));line-height:1.3;color:var(--lab);margin:0 0 6px}
.q{margin:0;font-weight:900;font-size:calc(26px * var(--fs,1));line-height:1.15;letter-spacing:-.3px;color:var(--ink)}
.q.sm{font-size:calc(22px * var(--fs,1))}.txt{margin:10px 0 0;font-weight:700;font-size:calc(17px * var(--fs,1));line-height:1.4;color:var(--ink2)}
.cap{text-align:center;font-weight:700;font-size:calc(15px * var(--fs,1));color:var(--lab);margin-top:8px}
.opts{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.opt{display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 18px;border-radius:26px;background:var(--row);font-weight:800;font-size:calc(17px * var(--fs,1));line-height:1.25;color:var(--ink);text-align:left;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 rgba(150,110,40,.22)}
.opt[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 3px 0 var(--yel-edge),0 6px 8px -2px rgba(var(--shade),.3)}
.opt .tick{margin-left:auto;display:none}.opt[aria-pressed=true] .tick{display:block}
.ring{position:relative;width:calc(132px * var(--fs,1));height:calc(132px * var(--fs,1));margin:calc(14px * var(--fs,1)) auto 6px}.ring>svg{width:100%;height:100%}
.ring svg{display:block}.ring .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .n b{font-weight:900;font-size:calc(56px * var(--fs,1));line-height:1;color:var(--ink)}.ring .n i{font-style:normal;font-weight:800;font-size:calc(15px * var(--fs,1));color:var(--lab)}
.bignum{font-weight:900;font-size:calc(96px * var(--fs,1));line-height:1;text-align:center;margin:10px 0 0}
/* heroes */
.hero,.hero-cast{position:absolute;display:block;z-index:4}
.hero-cast{z-index:3;filter:brightness(0) blur(6px);opacity:.2;transform:translateX(8px) scaleY(-.3) skewX(-30deg)}
/* no drop-shadow filters on heroes: iPhone Safari does not draw such an element; depth comes from the silhouette copies (.hero-amb, .amb) and .hero-cast */
.sh{position:absolute;z-index:3;border-radius:50%;pointer-events:none}
.bubble{position:absolute;z-index:6;width:max-content;max-width:190px;padding:10px 16px 12px;background:var(--circ);border-radius:26px 30px 24px 28px;font-family:'Caveat','Segoe Print',cursive;font-weight:700;font-size:28px;line-height:1.05;color:var(--ink);box-shadow:0 4px 0 var(--card-edge),0 8px 12px -4px rgba(var(--shade),.3);text-shadow:none}
.bubble small{display:block;font-family:'Nunito',sans-serif;font-weight:900;font-size:11px;letter-spacing:1.6px;line-height:1;margin-bottom:3px}
.bubble svg{position:absolute}
/* footer */
.ftr{flex:none;position:relative;z-index:6;display:flex;gap:10px;padding:12px 16px var(--bot)}
.btn{flex:1;height:58px;border-radius:29px;background:var(--yel);color:var(--ink);font-weight:900;font-size:19px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:inset 0 2px 0 var(--yel-hi),inset 0 -2px 0 rgba(150,100,0,.25),0 6px 0 var(--yel-edge),0 14px 20px -4px rgba(var(--shade),.4);text-shadow:0 1px 0 var(--hi)}
.btn:disabled{opacity:.45;box-shadow:inset 0 2px 0 var(--yel-hi),0 6px 0 var(--yel-edge)}

.circ{color:#3A2216;flex:none;width:58px;height:58px;border-radius:29px;background:var(--circ);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 4px 0 rgba(150,110,40,.28),0 8px 10px -2px rgba(var(--shade),.25)}
.circ[aria-pressed=true]{background:var(--coral)}.circ[aria-pressed=true] svg{stroke:#fff}
.link{align-self:center;font-weight:800;font-size:15px;color:var(--on-ground2);padding:10px 4px;text-shadow:0 1px 0 var(--hi)}
.pills{display:flex;gap:8px;margin-top:8px}.pill{flex:1;height:48px;border-radius:24px;background:var(--circ);font-weight:900;font-size:19px;color:var(--ink);box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 3px 0 rgba(150,110,40,.28),0 6px 8px -2px rgba(var(--shade),.25)}
.pill[aria-pressed=true]{background:#F66E1C;box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -3px 0 rgba(120,40,0,.25),0 3px 0 #B84A0A,0 6px 8px -2px rgba(var(--shade),.3)}
.setup{background:#FFE9B8;border-radius:30px;padding:16px 18px 18px;box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 8px 0 #DDAE46,0 10px 14px -2px rgba(var(--shade),.3),0 26px 34px -12px rgba(var(--shade),.38);text-shadow:none;color:#3A2216}
.setup .lab{color:#3A2216;font-size:17px}
.mini{display:flex;gap:6px}.mini button{flex:1;height:36px;border-radius:18px;background:rgba(255,255,255,.7);font-weight:800;font-size:14px;color:#3A2216}.mini button[aria-pressed=true]{background:#3A2216;color:#FFE9B8}
.h1{margin:0;font-weight:900;font-size:36px;line-height:1.1;letter-spacing:-.6px;color:var(--on-ground)}.sub{margin:8px 0 0;font-weight:700;font-size:17px;line-height:1.4;color:var(--on-ground2)}
.rows{display:flex;flex-direction:column;gap:8px;margin-top:10px}.row{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:20px;background:var(--row);box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 2px 0 rgba(150,110,40,.18);font-weight:800;font-size:15px;line-height:1.25}
.dot{flex:none;width:34px;height:34px;border-radius:17px;display:flex;align-items:center;justify-content:center}
.sig{font-family:'Caveat','Segoe Print',cursive;font-weight:700;font-size:32px;line-height:1;text-shadow:none}
.sigs{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.q-row .sig{flex:none;width:86px}
.toast{position:absolute;left:50%;bottom:120px;translate:-50% 12px;z-index:50;background:#3A2216;color:#FFF6E4;padding:11px 20px;border-radius:22px;font-weight:800;font-size:15px;opacity:0;transition:opacity .22s var(--ease),translate .3s var(--spring);pointer-events:none!important;box-shadow:0 8px 20px -6px rgba(0,0,0,.5)}.toast.on{opacity:1;translate:-50% 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid #3A5BD0;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* evening and Halloween share the dark UI; Halloween only swaps the ground picture */
[data-theme=night],[data-theme=halloween]{--ink:#3A2216;--on-ground:#F6E9D0;--on-ground2:#D9C3A0;--bg:url(img/bg/paper-night.webp);--card:url(img/bg/card-night.webp);--card-bg:#EAD8B8;--card-edge:rgba(0,0,0,.6);--yel:#FFD27A;--yel-edge:#B8873A;--yel-hi:rgba(255,255,255,.35);--track:#D8BE88;--row:#DDC9A4;--circ:#EAD8B8;--shade:0,0,0;--tint:rgba(222,206,184,.2);--hi:rgba(255,255,255,.35)}
[data-theme=halloween]{--bg:url(img/bg/halloween.webp)}
[data-theme=night] .card,[data-theme=halloween] .card{color:#3A2216}


[data-theme=night] .h1,[data-theme=night] .sub,[data-theme=night] .link,[data-theme=halloween] .h1,[data-theme=halloween] .sub,[data-theme=halloween] .link{text-shadow:0 2px 8px rgba(0,0,0,.65),0 1px 2px rgba(0,0,0,.6)}
.dots{display:flex;justify-content:center;gap:10px;margin-top:14px}.dots i{width:22px;height:22px;border-radius:11px;background:var(--track);box-shadow:inset 0 2px 0 rgba(0,0,0,.1)}.dots i.on{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 2px 0 var(--yel-edge)}
.quote{margin:12px 0 0;font-family:'Caveat','Segoe Print',cursive;font-weight:700;font-size:34px;line-height:1.1;color:var(--ink);text-shadow:none}
.pair{display:flex;gap:10px;margin-top:14px}.pair .btn{height:52px;font-size:17px}
.btn.ghost{background:var(--circ);box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 4px 0 rgba(150,110,40,.28),0 8px 10px -2px rgba(var(--shade),.25)}
.opt.ok{background:#CDE8B0;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 #86AD5E}.opt.no{background:#F6C1B6;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 3px 0 #D9806F}

.herobox{position:absolute;inset:0;transform-origin:50% 0;pointer-events:none;z-index:5}
.herobox>*{pointer-events:none}.herobox>.hero.live{pointer-events:auto;cursor:pointer}
.bignum.fit{font-size:46px;overflow-wrap:anywhere;line-height:1.05}

[data-theme=halloween] .ttl{margin:0 -10px;padding:12px 20px 14px;border-radius:32px;background:radial-gradient(ellipse 78% 90% at 50% 50%,rgba(23,12,39,.68) 45%,rgba(23,12,39,0) 100%)}
/* ---- live heroes (rig.js) ---- */
.rig{position:relative;display:block;width:100%;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.rig-stage{position:absolute;inset:0;transform-origin:50% 100%}
.rig-body{position:absolute;inset:0;transform-origin:50% 100%}
.rl{position:absolute;display:block;pointer-events:none;-webkit-user-drag:none}
.rig .eye{position:absolute}.rig .eye-white,.rig .eye-clip{position:absolute;inset:0;width:100%;height:100%;display:block}
.rig .eye-clip{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.rig .pupil{position:absolute;display:block;will-change:transform}
.rig-body.giggle{animation:giggle .22s ease-in-out infinite}
@keyframes giggle{0%,100%{transform:translateY(0) scale(1,1)}50%{transform:translateY(-2.2%) scale(1.012,.986)}}
.rigrow{display:flex;justify-content:center;align-items:flex-end;gap:2px;margin:0 -6px}
.rigrow .slot{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}
.rigrow .rigbox{position:relative;width:100%;max-width:96px}.rigrow .rig{max-width:96px}

.round.home,.round.gear{position:absolute;left:20px;top:var(--top);z-index:7}
.hero.live{display:block}
.hero.live .rig{max-width:none}
.wyr{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:12px}
.wyr .opt{min-height:64px;justify-content:center;text-align:center;font-size:calc(19px * var(--fs,1));line-height:1.25;border-radius:30px}
.wyr .or{align-self:center;margin:-6px 0;z-index:1;padding:4px 14px;border-radius:14px;background:var(--ink);color:#FFF6E4;font-weight:900;font-size:13px;letter-spacing:1.4px;text-shadow:none}

.rows.scroll{max-height:calc(var(--lh) - 300px);overflow-y:auto;overscroll-behavior:contain}

.screen.tight .h1{font-size:28px}.screen.tight .sub{font-size:15px;margin-top:4px}.screen.tight .setup{padding:12px 14px 14px;margin-top:8px!important}.screen.tight .pills{margin-top:6px}.screen.tight .pill{height:40px}.screen.tight .mini button{height:32px}
.screen.tighter .sub{display:none}.screen.tighter .setup .lab{font-size:15px}

/* section strip: sits in the free area under the header; on tall screens it opens into two rows */
.sections{flex:none;position:relative;z-index:5;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:6px 16px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.sections::-webkit-scrollbar{display:none}
.sec{flex:none;display:flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 11px;border-radius:19px;background:var(--circ);font-weight:800;font-size:14px;line-height:1;color:#3A2216;white-space:nowrap;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 3px 0 rgba(150,110,40,.28),0 6px 8px -2px rgba(var(--shade),.25)}
.sec[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),inset 0 -2px 0 rgba(150,100,0,.22),0 3px 0 var(--yel-edge),0 6px 8px -2px rgba(var(--shade),.3)}

.sections.wrap{flex-wrap:wrap;overflow:visible;justify-content:center;gap:10px 8px;padding:12px 16px 4px}
.sections.wrap .sec{height:46px;font-size:15px;padding:0 16px 0 13px}
.savebtn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;margin-top:16px;padding:10px 18px;border-radius:26px;background:var(--row);font-weight:900;font-size:calc(16px * var(--fs,1));color:#3A2216;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 rgba(150,110,40,.22)}
.savebtn[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 3px 0 var(--yel-edge)}
.savebtn[aria-pressed=true] svg{fill:#C8402F;stroke:#C8402F}
.sec.here::after{content:'';position:absolute;right:7px;top:6px;width:7px;height:7px;border-radius:4px;background:var(--coral)}.sec{position:relative}

/* =====================================================================================
   FEEL: one motion vocabulary for the whole game
   springy press, soft entrances, light ripple, pops, hearts, a bottom sheet
   ===================================================================================== */
:root{--spring:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.22,.8,.3,1);--ease-in:cubic-bezier(.5,0,.8,.4);--r-sm:16px;--r-md:26px;--r-lg:34px}
.btn,.circ,.opt,.pill,.sec,.tile,.round,.savebtn,.mini button{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;
  transition:transform .2s var(--spring),box-shadow .2s var(--ease),background-color .25s var(--ease),color .25s var(--ease),filter .2s var(--ease),opacity .2s}
.round.home,.round.gear{position:absolute}
/* pressed: the button sinks into the paper (its solid edge gets shorter), then springs back */
.btn:not(:disabled):active{transform:translateY(4px) scale(.985);filter:brightness(.98);box-shadow:inset 0 2px 0 var(--yel-hi),inset 0 -2px 0 rgba(150,100,0,.25),0 2px 0 var(--yel-edge),0 6px 10px -4px rgba(var(--shade),.4)}
.circ:active,.round:active{transform:translateY(3px) scale(.94);box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 1px 0 rgba(150,110,40,.28),0 3px 6px -2px rgba(var(--shade),.25)}
.opt:active,.sec:active,.pill:active,.savebtn:active,.mini button:active{transform:translateY(2px) scale(.972)}
.mini button{transition:transform .2s var(--spring),background-color .25s var(--ease),color .25s var(--ease)}
.rip{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),rgba(255,255,255,0) 68%);transform:scale(0);opacity:1;animation:rip .65s var(--ease) forwards;pointer-events:none}
@keyframes rip{to{transform:scale(1);opacity:0}}
.pop{animation:pop .45s var(--ease)}
@keyframes pop{0%{scale:1}30%{scale:1.12}62%{scale:.97}100%{scale:1}}
.bp{position:absolute;z-index:40;pointer-events:none;font-style:normal;font-size:17px;line-height:1;animation:bp .9s var(--ease) forwards}
@keyframes bp{0%{transform:translate(-50%,-50%) scale(.3) rotate(0);opacity:1}60%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.15) rotate(var(--rot));opacity:0}}
/* last five seconds */
.ring #arc{transition:stroke .4s var(--ease)}.ring.hot #arc{stroke:#E23A28}.ring.hot .n b{color:#C8301E}
/* ---- a screen arrives: card rises, hero springs up, bubble pops, buttons follow one by one ---- */
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes cardIn{from{opacity:0;translate:0 30px;scale:.965}to{opacity:1;translate:0 0;scale:1}}
@keyframes cardInBack{from{opacity:0;translate:0 -22px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes heroIn{0%{opacity:0;translate:0 26px;scale:.86}55%{opacity:1;translate:0 -5px;scale:1.035}100%{opacity:1;translate:0 0;scale:1}}
@keyframes bubbleIn{0%{opacity:0;scale:.55}65%{opacity:1;scale:1.07}100%{opacity:1;scale:1}}
@keyframes rise{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@keyframes nudge{0%,86%,100%{scale:1}92%{scale:1.035}96%{scale:.99}}
@keyframes ghostOut{0%{opacity:1}35%{opacity:.22}100%{opacity:0;translate:0 -10px;scale:.985}}
.screen.enter .hdr>*{animation:fade .45s var(--ease) both}
.screen.enter .sections{animation:rise .45s var(--ease) .04s backwards}
.screen.enter .card{animation:cardIn .5s var(--ease) backwards}
.screen.enter.back .card{animation-name:cardInBack}
.screen.enter .herobox{animation:fade .3s var(--ease) .06s backwards}
.screen.enter .hero{animation:heroIn .66s var(--spring) .1s backwards;transform-origin:50% 100%}
.screen.enter .bubble{animation:bubbleIn .5s var(--spring) .3s backwards;transform-origin:30px 100%}
.screen.enter .ftr>*{animation:rise .42s var(--ease) .16s backwards}
.screen.enter .ftr>:nth-child(2){animation-delay:.21s}.screen.enter .ftr>:nth-child(3){animation-delay:.26s}
.screen.enter .ttl{animation:rise .5s var(--ease) .22s backwards}
.screen.enter .setup{animation:cardIn .55s var(--ease) .3s backwards}
.screen.opening .hero{animation-duration:.9s;animation-delay:.18s}
.screen.opening .ftr .btn{animation:rise .5s var(--ease) .5s backwards,nudge 3.6s ease-in-out 2.4s infinite}
.old-screen{position:absolute;inset:0;pointer-events:none!important;animation:ghostOut .26s var(--ease) both}
.old-screen *{pointer-events:none!important}
/* ---- settings sheet ---- */
@keyframes sheetUp{from{translate:0 115%}to{translate:0 0}}
@keyframes sheetDown{to{translate:0 115%}}
@keyframes fadeOut{to{opacity:0}}
.sheet-back{position:absolute;inset:0;background:rgba(24,12,6,.46);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .28s var(--ease) both}
.sheet{position:absolute;left:10px;right:10px;bottom:calc(var(--bot) * .5 + 6px);padding:10px 22px 22px;background:var(--card-bg);border-radius:36px;color:#3A2216;text-shadow:none;box-shadow:0 8px 0 var(--card-edge),0 22px 44px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.8);animation:sheetUp .5s var(--spring) both}
.sheet::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--card) center/cover;opacity:.55;pointer-events:none}
.sheet>*{position:relative}
.sheet .grab{width:44px;height:5px;border-radius:3px;background:rgba(58,34,22,.22);margin:2px auto 10px}
.sheet h2{margin:0 0 6px;font-weight:900;font-size:24px}
.sheet .lab{margin:14px 0 6px;color:#7A4E38}.sheet .hint{margin:6px 2px 0;font-weight:700;font-size:13px;color:#6B4C39}
.sheet .mini button{height:42px;font-size:15px;border-radius:21px}
#sheet.out .sheet{animation:sheetDown .3s var(--ease-in) both}#sheet.out .sheet-back{animation:fadeOut .3s both}
/* nobody should feel dizzy: reduced motion keeps colours, drops movement (the global rule above already stops animations) */
@media (prefers-reduced-motion:reduce){.btn,.circ,.opt,.pill,.sec,.round,.savebtn,.mini button{transition:background-color .15s,color .15s}.btn:not(:disabled):active,.circ:active,.round:active,.opt:active,.sec:active,.pill:active,.savebtn:active,.mini button:active{transform:none;filter:none}}
.sheet .hint.ver{text-align:center;margin:12px 0 0;opacity:.7}

/* sections menu */
.round.burger.on::after{content:'';position:absolute;top:9px;right:9px;width:9px;height:9px;border-radius:5px;background:var(--coral);box-shadow:0 0 0 2px #FFE3A6}
.sheet.menu{padding-bottom:22px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.tile{display:flex;align-items:center;gap:10px;min-height:62px;padding:8px 22px 8px 11px;border-radius:26px;background:var(--row);font-weight:800;font-size:16px;line-height:1.1;text-align:left;color:#3A2216;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 rgba(150,110,40,.22)}
.tile .ti{flex:none;width:36px;height:36px;border-radius:18px;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center}
.tile .tl{flex:1;min-width:0;overflow-wrap:anywhere}
.tile[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 3px 0 var(--yel-edge)}
.tile.here::after{content:'';position:absolute;top:8px;right:10px;width:8px;height:8px;border-radius:4px;background:var(--coral)}
.tile:active{transform:translateY(2px) scale(.972)}

.screen,.stage,.peek,.card{scroll-margin:0}

/* the ring is the start button */
.ring.tap{display:block;padding:0;border-radius:50%;overflow:hidden;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:none;transition:transform .22s var(--spring),filter .2s var(--ease)}
.ring.tap:active{transform:scale(.94);filter:brightness(.97)}
.ring.tap.ready{animation:ringPulse 2.4s ease-in-out infinite}
@keyframes ringPulse{0%,100%{scale:1}50%{scale:1.05}}
.ring .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring.cd .n b{font-size:calc(34px * var(--fs,1));letter-spacing:1px}
.ring.tap .n{pointer-events:none}

/* writing a memory: a card at the TOP of the screen so the phone keyboard never hides the buttons */
.sheet.note{top:calc(var(--top) + 54px);bottom:auto;left:10px;right:10px;padding:12px 16px 14px;animation:noteIn .46s var(--spring) both}
@keyframes noteIn{from{opacity:0;translate:0 -26px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
@keyframes noteOut{to{opacity:0;translate:0 -18px;scale:.97}}
#sheet.out .sheet.note{animation:noteOut .24s var(--ease-in) both}
.nbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.nbar h2{flex:1;margin:0;text-align:center;font-size:20px;font-weight:900}
.circ.sm{width:44px;height:44px;flex:none}.btn.sm{flex:none;height:44px;padding:0 20px;font-size:16px;border-radius:22px}
.nctx{margin:0 4px 10px;font-weight:700;font-size:14px;line-height:1.3;color:#7A4E38;max-height:3.9em;overflow:hidden}
#notetext{display:block;width:100%;min-height:150px;resize:none;border-radius:22px;border:2px solid rgba(58,34,22,.16);background:#FFFCF4;color:#3A2216;padding:14px 16px;font-family:'Nunito',system-ui,sans-serif;font-weight:700;font-size:max(17px,calc(16.5px / var(--s)));line-height:1.35;box-shadow:inset 0 3px 6px rgba(58,34,22,.08);-webkit-appearance:none;appearance:none;outline:none;text-shadow:none;-webkit-user-select:text;user-select:text;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
#notetext:focus{border-color:var(--yel-edge);box-shadow:inset 0 3px 6px rgba(58,34,22,.08),0 0 0 4px rgba(253,193,40,.38)}
#notetext::placeholder{color:#806652;font-weight:700}
.su-pin::placeholder,.su-age::placeholder{color:#806652;opacity:1}
.nfoot{display:flex;align-items:flex-start;gap:8px;margin-top:10px}.chips{flex:1;display:flex;flex-wrap:wrap;gap:6px}
.chipbtn{height:34px;padding:0 13px;border-radius:17px;background:rgba(255,255,255,.78);font-weight:800;font-size:13px;color:#3A2216;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(150,110,40,.22);transition:transform .2s var(--spring)}.chipbtn:active{transform:translateY(2px) scale(.96)}
.ncount{flex:none;font-weight:800;font-size:12px;opacity:.55;padding-top:9px}
.linkbtn{display:block;margin:12px auto 0;font-weight:800;font-size:14px;color:#B23A2A;padding:8px 12px;text-shadow:none}
.mrow{cursor:pointer;align-items:flex-start}.mrow .dot{margin-top:2px}.mrow .mt{flex:1;min-width:0}.mrow .circ.sm{width:38px;height:38px}
.mn{font-weight:800;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.mp{font-weight:700;font-size:12px;color:#7A4E38;margin-top:3px;line-height:1.25}.md{font-weight:700;font-size:11px;opacity:.6;margin-top:3px}

/* =============== QUIET screens (timers and countdowns): approved preview ported =============== */
.ghost{position:relative;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;color:#3A2216;text-shadow:none;
  background:rgba(255,252,244,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 2px 10px rgba(var(--shade),.14);
  transition:transform .2s var(--spring),background-color .25s var(--ease),color .25s var(--ease);touch-action:manipulation;-webkit-user-select:none;user-select:none}
.ghost:active{transform:scale(.9)}
.ghost[aria-pressed=true]{background:#F6543D;color:#fff}.ghost[aria-pressed=true] svg{fill:#fff}
.ghost.home,.ghost.gear{position:absolute;left:20px;top:var(--top);z-index:7}
.ghost.burger.on::after{content:'';position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:5px;background:var(--coral);box-shadow:0 0 0 2px #FFF3D6}
[data-theme=night] .ghost,[data-theme=halloween] .ghost{background:rgba(255,235,200,.16);color:#F6E9D0;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 10px rgba(0,0,0,.35)}
[data-theme=night] .ghost[aria-pressed=true],[data-theme=halloween] .ghost[aria-pressed=true]{background:#F6543D;color:#fff}
.quiet .hdr{justify-content:flex-end;gap:8px}.quiet .hdr .ghost{width:42px;height:42px}
.quiet .card{box-shadow:0 6px 0 var(--card-edge),0 16px 30px -12px rgba(var(--shade),.38)}
.quiet .card .in{padding:calc(30px * var(--fs,1)) 26px calc(22px * var(--fs,1))}
.quiet .lab{font-size:calc(13px * var(--fs,1));letter-spacing:.3px;opacity:.9;margin:0 0 9px}
.quiet .q{font-size:calc(26px * var(--fs,1));line-height:1.16}
.quiet .txt{font-size:calc(15px * var(--fs,1));opacity:.78;margin:12px 0 0;line-height:1.42}
.go{margin:12px 0 0;font-weight:900;font-size:12px;letter-spacing:1.6px;color:var(--lab);opacity:.55}
.tapcard{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .22s var(--spring)}
.tapcard:active{transform:scale(.988)}
.tapcard:focus-visible{outline:3px solid #3A5BD0;outline-offset:3px}
.quiet .ring{width:calc(148px * var(--fs,1));height:calc(148px * var(--fs,1));margin:calc(18px * var(--fs,1)) auto 4px}
.quiet .ring svg{width:100%;height:100%}
.quiet .ring #arc{stroke:#F66E1C;transition:stroke .4s var(--ease),opacity .3s,stroke-dasharray .35s var(--ease)}
.quiet .ring .n b{font-size:calc(58px * var(--fs,1))}
.quiet .ring.cd .n b{font-size:calc(34px * var(--fs,1))}
.quiet .ring.big .n b{font-size:calc(64px * var(--fs,1))}
.quiet .ring.pulse{animation:ringPulse 2.4s ease-in-out infinite}
.quiet.is-hot #arc{stroke:#E23A28}.quiet.is-hot .ring .n b{color:#C8301E}
.quiet.is-paused #arc{opacity:.45}
.quiet.is-up #arc{stroke:#3FA66B}.quiet.is-up .ring .n b{font-size:calc(25px * var(--fs,1));letter-spacing:-.4px;color:#2E8A55;max-width:84%;text-align:center;line-height:1.05}
.quiet.is-up .ring.big .n b{font-size:calc(52px * var(--fs,1))}
.quiet .cap{margin:6px 0 0;text-align:center;font-weight:700;font-size:calc(14px * var(--fs,1));color:var(--lab);opacity:.8;min-height:20px}
.quiet .ftr{align-items:center;justify-content:flex-start;gap:12px}
.grow{flex:1}
.nextlink{position:relative;overflow:hidden;display:flex;align-items:center;gap:8px;height:48px;padding:0 20px 0 22px;border-radius:24px;font-weight:900;font-size:19px;color:#3A2216;text-shadow:none;
  background:rgba(255,252,244,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 2px 10px rgba(var(--shade),.14);transition:transform .2s var(--spring);touch-action:manipulation}
[data-theme=night] .nextlink,[data-theme=halloween] .nextlink{background:rgba(255,235,200,.16);color:#F6E9D0}
.nextlink:active{transform:scale(.95)}
.choices{display:flex;gap:10px;margin-top:14px}
.choice{position:relative;overflow:hidden;flex:1;height:50px;border-radius:25px;font-weight:900;font-size:16px;color:#3A2216;text-shadow:none;background:rgba(255,255,255,.72);box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 3px 0 rgba(150,110,40,.2);transition:transform .2s var(--spring);display:flex;align-items:center;justify-content:center;gap:6px}
.choice.yes{background:#CDE8B0;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 #86AD5E}
.choice:active{transform:translateY(2px) scale(.97)}
@media (prefers-reduced-motion:reduce){.ghost:active,.nextlink:active,.choice:active,.tapcard:active{transform:none}}

/* a still picture of the hero under the living layers: visible at once, fades out when the layers are ready */
.fph{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;transition:opacity .4s var(--ease)}
.live>.fph{opacity:0}
.sheet .hint.diag{opacity:.45;font-size:11px;margin-top:4px;word-break:break-word}

/* silhouette copies give the hero its soft shadow (only brightness+blur filters, which iPhone draws fine) */
.hero-amb{position:absolute;z-index:3;display:block;filter:brightness(0) blur(7px);opacity:.2;translate:6px 8px;pointer-events:none}
.famhero>.amb,.rigbox>.amb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:brightness(0) blur(6px);opacity:.2;translate:5px 7px;pointer-events:none}
[data-theme=night] .hero-amb,[data-theme=halloween] .hero-amb,[data-theme=night] .famhero>.amb,[data-theme=halloween] .famhero>.amb,[data-theme=night] .rigbox>.amb,[data-theme=halloween] .rigbox>.amb{opacity:.5}
.screen.enter .hero-amb{animation:fade .5s var(--ease) .2s backwards}

/* "guess the object": steps, YES / NO chips and question tokens */
.q2{margin:14px 0 0;font-weight:900;font-size:calc(22px * var(--fs,1));letter-spacing:.5px;color:var(--ink)}
.ans{display:flex;gap:10px;margin-top:12px}
.ans .a{flex:1;display:flex;align-items:center;justify-content:center;height:46px;border-radius:23px;font-weight:900;font-size:18px;letter-spacing:1px;text-shadow:none}
.ans .yes{background:#CDE8B0;color:#2E5A1E;box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 3px 0 #86AD5E}
.ans .no{background:#F6C1B6;color:#7A2A1C;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 3px 0 #D9806F}
.qtokens{display:flex;justify-content:center;gap:14px;margin-top:16px}
.qt{position:relative;overflow:hidden;width:58px;height:58px;border-radius:50%;font-weight:900;font-size:24px;color:#3A2216;background:var(--row);text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.65),0 4px 0 rgba(150,110,40,.25);transition:transform .2s var(--spring),background-color .25s var(--ease);display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.qt:active{transform:translateY(2px) scale(.94)}
.qt[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 3px 0 var(--yel-edge)}

/* the living family portrait (family.js) */
.fam{position:relative;display:block;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.fam>*{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fam-still{object-fit:contain;transition:opacity .45s var(--ease)}.fam.live>.fam-still{opacity:0}
.fam-amb{object-fit:contain;filter:brightness(0) blur(7px);opacity:.2;translate:6px 8px}
[data-theme=night] .fam-amb,[data-theme=halloween] .fam-amb{opacity:.5}
.fam .fh,.fam .fhand{position:absolute;inset:0;will-change:translate}
.fam .fhand{inset:auto}
.fam .fl,.fam .eye,.fam .ec,.fam .ew,.fam .pup{position:absolute;display:block;pointer-events:none;-webkit-user-drag:none}
.fam .eye .ew,.fam .eye .ec{inset:0;width:100%;height:100%}
.fam .ec{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.fam .pup{will-change:transform}
.fam .giggle{animation:famGiggle .22s ease-in-out infinite}
@keyframes famGiggle{0%,100%{translate:0 0}50%{translate:0 -.9%}}
.screen.enter .fam{animation:heroIn .8s var(--spring) .15s backwards;transform-origin:50% 100%}

/* =============== MINIMAL START SCREEN (approved preview) =============== */
.sm .hdr{justify-content:flex-end}
.sm .hdr .ghost{width:44px;height:44px}
.sm .stage{padding:0 22px;justify-content:center;gap:12px}
.sm .famwrap{position:relative;flex:none;height:150px;margin:0 -6px}
.sm .ttl{margin-top:0}.sm .h1{font-size:38px}.sm .sub{font-size:16px;opacity:.85;max-width:300px}
.sm .ftr{flex-direction:column;align-items:stretch;gap:6px;padding-top:14px}.sm .ftr .btn{flex:none;width:100%}
.infoline{align-self:center;display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:18px;font-weight:800;font-size:14px;color:var(--on-ground2);text-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s var(--spring);touch-action:manipulation}
[data-theme=day] .infoline{text-shadow:none}
.infoline:active{transform:scale(.95)}
.sheet.menu2{max-height:calc(var(--lh) - 70px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:18px}
.sheet.menu2 h2{margin-bottom:2px}.sheet.menu2 .lab{margin:14px 0 6px}
.sheet.menu2 .mini button{font-size:14px;padding:0 4px}
.menurow{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;min-height:54px;margin-top:12px;padding:8px 16px 8px 12px;border-radius:27px;background:var(--row);font-weight:800;font-size:16px;color:#3A2216;text-align:left;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 rgba(150,110,40,.22);transition:transform .2s var(--spring)}
.menurow:active{transform:translateY(2px) scale(.98)}
.menurow .mi{flex:none;width:36px;height:36px;border-radius:18px;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center}
.menurow .mt{flex:1}.menurow .mc{font-weight:800;font-size:13px;opacity:.55}.menurow.danger{color:#B23A2A}

.circ[data-act=dice] svg,.ghost[data-act=dice] svg{transition:transform .6s var(--ease)}
.circ[data-act=dice].roll svg,.ghost[data-act=dice].roll svg{transform:rotate(540deg)}

/* =============== SETUP SHEET ("Настроим путешествие"), TURN CHIP, VOTES, HINTS (approved previews) =============== */
.sheet.su{top:calc(var(--top) + 6px);bottom:auto;left:10px;right:10px;padding:12px 0 0;display:flex;flex-direction:column;max-height:calc(var(--lh) - var(--top) - 24px);overflow:hidden;animation:noteIn .46s var(--spring) both}
#sheet.out .sheet.su{animation:noteOut .24s var(--ease-in) both}
.sheet.su h2{margin:2px 18px 0}.su-lead{margin:2px 18px 6px;font-weight:700;font-size:14px;color:#6B4C39}
.su-body{overflow-y:auto;overscroll-behavior:contain;padding:0 18px 8px;flex:1 1 auto;min-height:0}
.su .lab{margin:16px 0 8px;display:flex;justify-content:space-between;align-items:baseline;color:#7A4E38}.su .lab small{font-weight:700;font-size:12px}
.su-chips{display:flex;flex-wrap:wrap;gap:8px}
.suc{position:relative;overflow:hidden;height:40px;padding:0 14px;border-radius:20px;background:rgba(255,255,255,.72);color:#3A2216;font-weight:800;font-size:14px;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 3px 0 rgba(150,110,40,.2);transition:transform .2s var(--spring);touch-action:manipulation}
.suc:active{transform:translateY(2px) scale(.97)}.suc[aria-pressed=true]{background:#3A2216;color:#FFE9B8;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.su-seg3{margin-top:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.su-seg3 .suc{height:auto;padding:8px 6px;line-height:1.2;display:flex;flex-direction:column;align-items:center}.su-seg3 .suc small{font-weight:700;font-size:11px;opacity:.75;white-space:nowrap;line-height:1.25}
.av{flex:none;width:32px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:15px;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.35),0 2px 0 rgba(0,0,0,.16);transition:opacity .2s}
.av.sm{width:22px;height:22px;border-radius:11px;font-size:11px;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.su-row{display:flex;align-items:center;gap:6px;margin-top:8px}.su-row.off .su-pin,.su-row.off .su-age{opacity:.4}.su-row.off .su-pin{text-decoration:line-through}.su-row.noname .su-age,.su-row.noname .su-grp{display:none}
.su-row .av{position:relative;width:38px;height:38px;border-radius:19px;transition:background-color .2s,transform .2s var(--spring);touch-action:manipulation}.su-row .av:active{transform:scale(.9)}
.su-row.off .av{background:#CDBB9C!important;color:#6B4C39}.su-row.off .av::after{content:'';position:absolute;left:5px;right:5px;top:50%;height:3px;margin-top:-1.5px;border-radius:2px;background:#6B4C39;transform:rotate(-40deg)}
.su-pin,.su-age{height:42px;padding:0 12px;border-radius:21px;border:2px solid rgba(58,34,22,.16);background:#FFFCF4;color:#3A2216;font-family:'Nunito',system-ui,sans-serif;font-weight:800;font-size:max(17px,calc(16.5px / var(--s)));-webkit-appearance:none;appearance:none;outline:none;text-shadow:none;box-shadow:inset 0 3px 6px rgba(58,34,22,.08);-webkit-user-select:text;user-select:text}
.su-pin{flex:1;min-width:0}.su-age{width:62px;text-align:center;padding:0 4px}.su-pin:focus,.su-age:focus{border-color:var(--yel-edge);box-shadow:inset 0 3px 6px rgba(58,34,22,.08),0 0 0 4px rgba(253,193,40,.38)}
.su-grp{flex:none;width:44px;text-align:center;font-weight:800;font-size:11px;color:#6B4C39;line-height:1.1}
.su-rm{flex:none;width:28px;height:34px;display:flex;align-items:center;justify-content:center;color:#A08672;text-shadow:none}
.su-linkrow{display:flex;justify-content:space-between;margin-top:8px}.su-link{font-weight:800;font-size:14px;color:#3A2216;padding:8px 4px;text-shadow:none}.su-link.red{color:#B23A2A}
.su-hint{margin:6px 2px 0;font-weight:700;font-size:13px;color:#6B4C39;line-height:1.35}.su-hint.warn{color:#B23A2A}
.su-cnt{display:flex;gap:6px;align-items:center}.su-cnt .suc{width:46px;padding:0}
.su-acc{position:relative;overflow:hidden;width:100%;display:flex;align-items:center;gap:10px;min-height:48px;margin-top:10px;padding:6px 14px;border-radius:24px;background:rgba(255,255,255,.62);box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 3px 0 rgba(150,110,40,.18);text-align:left;color:#3A2216;text-shadow:none;font-weight:800;font-size:15px;transition:transform .2s var(--spring)}
.su-acc:active{transform:scale(.985)}.su-acc span{flex:none}.su-acc b{flex:1;min-width:0;text-align:right;font-weight:800;font-size:14px;color:#6B4C39;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.su-acc svg{flex:none;transition:transform .25s var(--ease);opacity:.6}.su-acc[aria-expanded=true] svg{transform:rotate(90deg)}
.su-foot{padding:10px 18px 14px;border-top:1px solid rgba(58,34,22,.1);background:linear-gradient(0deg,rgba(255,248,232,.98),rgba(255,248,232,.9))}
.su-foot .meta{display:flex;justify-content:space-between;align-items:baseline;margin:0 4px 8px;font-weight:800;font-size:13px;color:#6B4C39}.su-foot .meta b{color:#3A2216;font-size:15px}
.su-foot .btn{flex:none;width:100%}.su-foot .btn[disabled]{opacity:.45;pointer-events:none}
/* whose turn */
.turn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:9px;max-width:100%;margin:0 0 12px;padding:5px 14px 5px 5px;border-radius:22px;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 2px 0 rgba(150,110,40,.18);font-weight:800;font-size:14px;color:#3A2216;text-shadow:none;text-align:left;transition:transform .2s var(--spring)}
button.turn:active{transform:scale(.97)}.turn small{display:block;font-weight:700;font-size:11px;opacity:.6;line-height:1.1}.turn b{font-weight:900;font-size:15px}.turn svg{opacity:.5;margin-left:2px}
.turn.static{padding:5px 14px 5px 8px}.turn .avs{display:flex}.turn .avs .av.sm{margin-left:-6px;box-shadow:0 0 0 2px #FFFCF4}.turn .avs .av.sm:first-child{margin-left:0}
.writechip{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.55);border:2px dashed rgba(122,78,56,.35);font-weight:800;font-size:14px;color:#7A4E38;text-shadow:none;transition:transform .2s var(--spring)}.writechip:active{transform:scale(.96)}
/* would you rather: who chose what */
.wyr .opt{position:relative}.wyr .marks{position:absolute;right:12px;top:50%;translate:0 -50%;display:flex;gap:3px}.wyr .marks .av.sm{box-shadow:0 0 0 2px rgba(255,255,255,.9)}.wyr .marks .dt{width:14px;height:14px;border-radius:7px;background:#3A2216;opacity:.8}
.wyrbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.wyrbar .cap{margin:0}
.wyrbar .su-link{font-size:13px;padding:6px 4px;opacity:.75}
/* first-use hints */
.hintpop{position:absolute;left:50%;bottom:calc(var(--bot) * .5 + 92px);translate:-50% 0;z-index:40;max-width:min(300px,86%);padding:10px 16px;border-radius:18px;background:#3A2216;color:#FFE9B8;font-weight:800;font-size:14px;line-height:1.3;text-align:center;box-shadow:0 8px 20px rgba(0,0,0,.35);pointer-events:none;animation:hintIn .5s var(--spring) both,hintOut .4s var(--ease-in) 4.2s forwards}
.hintpop::after{content:'';position:absolute;left:50%;bottom:-6px;translate:-50% 0;border:7px solid transparent;border-bottom:0;border-top-color:#3A2216}
@keyframes hintIn{from{opacity:0;translate:-50% 14px}to{opacity:1;translate:-50% 0}}@keyframes hintOut{to{opacity:0;translate:-50% 8px}}
@media (prefers-reduced-motion:reduce){.hintpop{animation:none}}
.circ[data-act=mem][aria-pressed=true] svg,.ghost[data-act=mem][aria-pressed=true] svg{fill:none;stroke:#fff}

.hintpop.left{left:126px;right:66px;max-width:none;bottom:calc(var(--bot) * .5 + 42px);transform:translateY(50%);translate:0 0;padding:7px 12px;font-size:13px;line-height:1.25;text-align:left}.hintpop.left::after{left:-6px;bottom:auto;top:50%;margin-top:-7px;translate:0 0;border:7px solid transparent;border-left:0;border-right-color:#3A2216}
@keyframes hintInL{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes hintOutL{to{opacity:0;translate:0 8px}}
.hintpop.left{animation:hintInL .5s var(--spring) both,hintOutL .4s var(--ease-in) 4.2s forwards}

/* Safari kept the text of some chips at the left edge: centre it explicitly, the same way in every browser */
.suc,.mini button,.chip{display:flex;align-items:center;justify-content:center;text-align:center}
.su-seg3 .suc{flex-direction:column}
.su-cnt .suc{width:46px;min-width:46px;padding:0}

/* summary footer: one main button, two quiet links (the approved design) */
.sumfoot{flex-direction:column;align-items:stretch;gap:0;padding-top:10px}.sumfoot .btn{flex:none;width:100%}
.sumlinks{display:flex;justify-content:center;flex-wrap:nowrap}
.lnk{position:relative;overflow:hidden;padding:9px 14px;border-radius:18px;font-weight:800;font-size:14px;white-space:nowrap;color:var(--on-ground2);text-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s var(--spring);touch-action:manipulation}
[data-theme=day] .lnk{text-shadow:none}.lnk:active{transform:scale(.95)}

/* =============== BUILD 2: path line, small stamp, finale label, the end of a journey (approved previews) =============== */
.jpbar{position:absolute;left:22px;right:22px;top:calc(var(--top) + 52px);height:12px;display:flex;gap:3px;align-items:center;z-index:3;pointer-events:none}
.jpbar i{--c:#4FA371;flex:1;height:5px;border-radius:3px;background:rgba(58,34,22,.16);transition:background-color .3s var(--ease),height .3s var(--spring)}
.jpbar i.o{--c:#4FA371}.jpbar i.a{--c:#3A5BD0}.jpbar i.b{--c:#8A5BD0}.jpbar i.e{--c:#E0661C}
[data-theme=night] .jpbar i,[data-theme=halloween] .jpbar i{background:rgba(246,233,208,.2)}
.jpbar i.d{background:var(--c)}.jpbar i.c{height:10px;background:var(--c);box-shadow:0 0 0 2px rgba(255,252,244,.9)}[data-theme=night] .jpbar i.c,[data-theme=halloween] .jpbar i.c{box-shadow:0 0 0 2px rgba(255,235,200,.55)}
.stpop{position:absolute;right:20px;bottom:calc(var(--bot) * .5 + 76px);z-index:30;padding:6px 14px 6px 8px;border-radius:18px;color:#fff;font-weight:900;font-size:14px;display:flex;align-items:center;gap:7px;text-shadow:none;box-shadow:0 4px 0 rgba(0,0,0,.18),0 10px 20px rgba(0,0,0,.2);animation:stpop 1.25s var(--ease) forwards;pointer-events:none}
.stpop b{width:22px;height:22px;border-radius:11px;background:rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center}
@keyframes stpop{0%{opacity:0;transform:translateY(12px) scale(.7) rotate(-6deg)}18%{opacity:1;transform:translateY(0) scale(1.06) rotate(2deg)}30%{transform:scale(1) rotate(0)}78%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}
@media (prefers-reduced-motion:reduce){.stpop{animation:none;opacity:1}}
.finlab{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;padding:5px 13px 5px 8px;border-radius:16px;background:rgba(224,102,28,.16);color:#8A4A10;font-weight:900;font-size:13px;text-shadow:none}
.sj .hdr{justify-content:flex-end;gap:8px}.sj .hdr .ghost{width:42px;height:42px}.sj .stage{padding:0 22px;justify-content:center;gap:6px}.sj .famwrap{position:relative;flex:none;height:120px;margin:0 -6px}
.sj .h1{font-size:31px;line-height:1.1}.sj .sub{font-size:15px;opacity:.85;margin:6px 0 0;line-height:1.4}
.sj-thanks{margin:4px 0 0;font-weight:800;font-size:15px;line-height:1.35}.sj-sig{margin:0;font-family:'Caveat','Nunito',cursive;font-weight:700;font-size:19px;opacity:.85}
.sj-pass{margin-top:6px}.sj-plab{font-weight:900;font-size:12px;letter-spacing:1.6px;opacity:.9;margin:0 0 8px;text-align:center}
.sj-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 4px}.sj-st{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.sj-disc{position:relative;width:66px;height:66px;animation:sjIn .6s var(--spring) backwards}.sj-ring{position:absolute;left:0;top:0;width:100%;height:100%}
.sj-face{position:absolute;inset:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.4),0 3px 0 rgba(0,0,0,.18)}.sj-face svg{width:26px;height:26px}
.sj-num{position:absolute;right:-2px;top:-3px;min-width:26px;height:26px;border-radius:13px;padding:0 6px;background:#3A2216;color:#FFE9B8;font-weight:900;font-size:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 0 rgba(0,0,0,.25);text-shadow:none}
.sj-st b{font-weight:800;font-size:12px;line-height:1.1}.sj-st.zero .sj-face{background:rgba(255,255,255,.35)!important;color:rgba(58,34,22,.35);box-shadow:none}.sj-st.zero b{opacity:.8}
@keyframes sjIn{0%{transform:scale(1.7) rotate(-14deg);opacity:0}55%{transform:scale(.92) rotate(3deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@media (prefers-reduced-motion:reduce){.sj-disc{animation:none}}

/* =============== v0.19.1: setup back arrow, one list of players, TÉS tap =============== */
.su-head{display:flex;align-items:center;gap:10px;margin:2px 18px 0}.su-head h2{margin:0!important;flex:1;min-width:0;line-height:1.1}
.su-back{position:relative;overflow:hidden;flex:none;width:38px;height:38px;border-radius:19px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.7);color:#3A2216;text-shadow:none;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 2px 0 rgba(150,110,40,.2);transition:transform .2s var(--spring)}.su-back:active{transform:scale(.9)}
.su-link[hidden]{display:none}
.sm .hdr .mark b,.sj .hdr .mark b{pointer-events:auto;cursor:pointer}

.peek .card{-webkit-user-select:none;user-select:none}      /* dragging the card with a mouse must not select its text */

/* =============== v0.20: translucent round controls, forward arrow, stamp under the path line =============== */
.ftr .ghost[data-act=next],.ftr .ghost[data-act=prev]{margin-left:auto}.ftr .ghost[data-act=prev] ~ .ghost[data-act=next]{margin-left:0}
.stpop{right:auto;left:22px;bottom:auto;top:calc(var(--top) + 78px)}

/* =============== GUESS GAME: guesses on the "answer is hidden" step and the answer (approved preview previews/guess-vote.*) =============== */
.opts.guess .opt{position:relative;padding-right:18px}.opts.guess .opt .tick{margin-left:8px}
.opts.guess .opt .marks{margin-left:auto;display:flex;gap:3px;flex:none;padding-left:8px}
.opts.guess .opt .marks .av.sm{margin-left:0;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.opts.guess .opt .marks .dt{width:14px;height:14px;border-radius:7px;background:#3A2216;opacity:.8}
.opts.guess .opt.ok .tick{display:block}
.opts.guess .opt:not(.ok).dim{opacity:.6}
.gbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px;margin-top:10px;text-align:center}.gbar .su-link{white-space:nowrap}
.gbar .cap{margin:0}
.gres{text-align:center;font-weight:900;font-size:calc(17px * var(--fs,1));color:var(--ink);margin-top:12px}

/* =============== "ADD TO THE HOME SCREEN" plate on the start screen (approved preview previews/install-hint.*); no z-index: an opened sheet lies above it =============== */
.a2hs{position:absolute;left:16px;right:16px;bottom:calc(var(--bot) * .5 + 92px);pointer-events:auto;max-width:420px;margin:0 auto;padding:12px 14px 10px;border-radius:20px;background:#3A2216;color:#FFE9B8;box-shadow:0 10px 24px rgba(0,0,0,.38);text-shadow:none;animation:a2hsIn .55s var(--spring) both}
.a2hs .a2-top{display:flex;gap:12px;align-items:center}
.a2hs .a2-ico{flex:none;width:44px;height:44px;border-radius:11px;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.a2hs p{margin:0;font-weight:800;font-size:14px;line-height:1.3}
.a2hs ol{margin:8px 0 0;padding:0 0 0 2px;list-style:none;display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px;line-height:1.3}
.a2hs ol li{display:flex;align-items:center;gap:8px}
.a2hs ol .a2-n{flex:none;width:22px;height:22px;border-radius:11px;background:#FFE9B8;color:#3A2216;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.a2hs .a2-shr{display:inline-flex;vertical-align:-5px;margin:0 2px;color:#7DB8FF}
.a2hs .a2-note{margin-top:8px;font-size:13px;font-weight:700;color:#F2C98A}
.a2hs .a2-row{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:8px}
.a2hs .a2-go{height:34px;padding:0 14px;border-radius:17px;background:#FFD66B;color:#3A2216;font-weight:900;font-size:14px;box-shadow:0 2px 0 #C9962E}
.a2hs .a2-later{height:34px;padding:0 10px;color:#FFE9B8;opacity:.8;font-weight:800;font-size:14px}
@keyframes a2hsIn{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
.a2hs.now{animation:none}      /* opening the steps changes the plate in place, no second slide-in */
@media (prefers-reduced-motion:reduce){.a2hs{animation:none}}

/* start screen during a journey: "↺ Start over" · players / language */
.startlinks{align-self:center;display:flex;align-items:center;justify-content:center;gap:2px}.startlinks .dot{font-weight:900;color:var(--on-ground2);opacity:.6}
.relink{display:flex;align-items:center;padding:9px 10px;border-radius:18px;font-weight:800;font-size:14px;color:var(--on-ground2);transition:transform .2s var(--spring);touch-action:manipulation}.relink:active{transform:scale(.95)}

/* =============== BUILD 4: breakfast (pick 3 of 8), symbols (remember 6, one is missing), made-up detail (typed secret) =============== */
.opts.multi{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.opts.multi .opt{min-height:46px;padding:8px 12px;border-radius:22px;font-size:calc(15px * var(--fs,1));gap:6px}
.opts.multi .opt .tick svg{width:18px;height:18px}
.opts.multi .opt.ok .tick{display:block}.opts.multi .opt.dim{opacity:.6}
.opts.multi .opt.team{box-shadow:inset 0 0 0 3px rgba(58,34,22,.55),0 3px 0 rgba(150,110,40,.2)}
.opts.multi .opt .tm{margin-left:auto;flex:none;width:22px;height:22px;border-radius:11px;background:#3A2216;color:#FFE9B8;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px auto 4px;max-width:250px}
.slot{aspect-ratio:1;border-radius:20px;background:rgba(255,255,255,.72);box-shadow:inset 0 2px 0 rgba(255,255,255,.8),0 3px 0 rgba(150,110,40,.2);display:flex;align-items:center;justify-content:center;position:relative}
.slot svg{width:70%;height:70%}.slot.gap{background:rgba(255,255,255,.28);box-shadow:none;border:3px dashed rgba(122,78,56,.4)}.slot.gap b{font-weight:900;font-size:34px;color:rgba(122,78,56,.55)}
.symopts{display:flex;gap:10px;justify-content:center;margin:14px auto 0;padding-top:14px;border-top:2px dashed rgba(122,78,56,.3);max-width:270px}      /* the answer choices, set apart from the board */
.symopts .opt{flex:1;aspect-ratio:1;max-width:80px;min-height:0;padding:0;border-radius:20px;background:rgba(255,255,255,.72);box-shadow:inset 0 2px 0 rgba(255,255,255,.8),0 4px 0 rgba(150,110,40,.22);display:flex;align-items:center;justify-content:center}
.symopts .opt svg{width:76%;height:76%}
.symopts .opt.right{background:#CDE8B0;box-shadow:inset 0 2px 0 rgba(255,255,255,.6),0 3px 0 #86AD5E}.symopts .opt.wrong{background:#F6C1B6;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 3px 0 #D9806F}
.verdict{font-weight:900;font-size:26px;margin:2px 0 0;color:var(--ink)}
.sdlab{display:block;margin-top:12px}
.sdbox{width:100%;margin-top:6px;padding:12px 14px;border-radius:18px;border:2px solid rgba(122,78,56,.35);background:rgba(255,255,255,.75);font:800 calc(17px * var(--fs,1))/1.3 inherit;color:var(--ink);resize:none}
.sdbox:focus{outline:none;border-color:#E0661C}
.nextlink:disabled{opacity:.45}
.symopts .opt[aria-pressed=true]{background:var(--yel);box-shadow:inset 0 2px 0 var(--yel-hi),0 3px 0 var(--yel-edge);transform:translateY(1px)}

/* Halloween look: the costumed family (img/family/halloween.webp) under the live faces; bodies and tufts come from that picture, so no hop */
.fam .fam-hw{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fam.hw .fl-body,.fam.hw .fl-tuft{opacity:0}.fam.hw .giggle{animation:none}

/* start screen: the big button 16 points higher in every look (v0.30) - balanced space above the family and under the title, and away from the home bar */
.sm .ftr{padding-bottom:calc(var(--bot) + 16px)}

/* short screens (iPhone SE, small Android): the whole setup sheet fits above the "Go" button */
@media (max-height:700px){.su-row{margin-top:5px}.su .lab{margin:10px 0 4px}.su-acc{margin-top:7px;min-height:44px}.su-linkrow{margin-top:2px}.su-hint{margin-top:2px}}
