
:root{--g:#174b2b;--g2:#2f7b43;--muted:#647367;--line:rgba(23,75,43,.15);--ok:#24753d;--okbg:#e1f4df;--red:#c74646;--redbg:#fde8e5;--ink:#17301f}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--ink)}body{background:linear-gradient(180deg,#eef8df,#fffdf7)}button,a{font:inherit}.shell{width:min(calc(100% - 30px),720px);margin:auto;padding:22px 0 60px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.logo{font-weight:950;font-size:1.2rem;color:var(--g)}.tiny{font-size:.72rem;font-weight:850;color:var(--g2)}.hero{padding:26px 0 8px}.kicker{font-size:.76rem;font-weight:950;letter-spacing:.08em;color:var(--g2)}h1{font-size:clamp(3rem,14vw,5.3rem);line-height:.95;margin:8px 0 16px;letter-spacing:-.07em;color:var(--g)}.lead{line-height:1.8;color:#506157}.quick{display:flex;border-block:1px solid var(--line);margin:24px 0}.qi{flex:1;text-align:center;padding:15px 5px}.qi strong{display:block;color:var(--g)}.qi span{font-size:.68rem;color:var(--muted)}.section{padding:20px 0;border-bottom:1px solid var(--line)}.stitle{font-size:.8rem;font-weight:950;color:var(--g);margin-bottom:12px}.rules{list-style:none;margin:0;padding:0;display:grid;gap:9px}.rules li{display:flex;gap:10px;font-size:.85rem;line-height:1.55;color:#526358}.no{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--g);color:#fff;font-size:.68rem;font-weight:950}.streak{display:flex;justify-content:space-between;align-items:center;padding:18px 0;color:var(--g);font-weight:950}.btn{border:0;border-radius:15px;min-height:52px;padding:0 18px;font-weight:950;cursor:pointer;text-decoration:none;display:grid;place-items:center}.primary{background:linear-gradient(135deg,var(--g),var(--g2));color:#fff}.secondary{background:transparent;border:1px solid var(--line);color:var(--g)}.hidden{display:none!important}.error{display:none;margin-top:12px;padding:11px;background:var(--redbg);color:#922d2d;border-radius:10px}.error.show{display:block}.maintenance{text-align:center;padding:60px 0}.progresshead{display:flex;justify-content:space-between;font-size:.8rem;font-weight:900;color:var(--g);margin-bottom:8px}.progress{height:8px;background:#dce8d1;border-radius:99px;overflow:hidden}.bar{height:100%;background:linear-gradient(90deg,var(--g2),#a8db72)}.question{padding-top:34px}.qno{font-size:.76rem;font-weight:950;color:var(--g2)}.qtext{font-size:1.25rem;line-height:1.65;font-weight:900;margin:10px 0 24px}.choices{display:grid;gap:11px}.choice{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px;width:100%;padding:12px 15px;border:1.5px solid var(--line);border-radius:15px;background:rgba(255,255,255,.55);text-align:left;font-weight:850}.cl{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e8f2dc;color:var(--g);font-weight:950}.choice.ok{background:var(--okbg);border-color:#75b47d;color:var(--ok)}.choice.ok .cl{background:var(--ok);color:#fff}.choice.ng{background:var(--redbg);border-color:#df8a84;color:#a53232}.choice.ng .cl{background:var(--red);color:#fff}.feedback{text-align:center;min-height:32px;margin-top:14px;font-weight:950}.resulthead{text-align:center;padding:18px 0 22px;border-bottom:1px solid var(--line)}.score{font-size:4rem;font-weight:950;color:var(--g);letter-spacing:-.07em}.compare{padding:22px 0;border-bottom:1px solid var(--line)}.grid{display:grid;grid-template-columns:1.1fr 1fr 1fr}.grid>div{padding:10px 5px;border-bottom:1px solid rgba(23,75,43,.08)}.head{font-size:.7rem;color:var(--muted);font-weight:900;text-align:center}.metric{font-size:.78rem;color:#526358;font-weight:850}.value{text-align:center;color:var(--g);font-weight:950}.summary{margin-top:14px;padding-left:12px;border-left:3px solid #66b84f;font-size:.83rem;line-height:1.7;color:#506157}.actions{display:grid;gap:10px;margin-top:14px}.toggle{width:100%;border:0;border-block:1px solid var(--line);background:transparent;padding:18px 4px;display:flex;justify-content:space-between;color:var(--g);font-weight:950;margin-top:24px}.ex{padding:21px 0;border-bottom:1px solid var(--line)}.exhead{display:flex;align-items:center;gap:10px}.judge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950}.judge.ok{background:var(--ok)}.judge.ng{background:var(--red)}.exq{font-weight:850;line-height:1.6;margin:12px 0}.op{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;font-size:.8rem;color:#5a695e;margin:6px 0}.letter{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;background:#edf3e7;color:var(--g);font-weight:950}.abox{margin-top:8px;padding:10px 12px;border-radius:11px;font-size:.82rem;font-weight:850}.abox.ok{background:var(--okbg);color:var(--ok)}.abox.ng{background:var(--redbg);color:#a53232}.explain{margin-top:12px;font-size:.82rem;line-height:1.7;color:#526358}

/* ===== Top / Play / Result foundation ===== */
.hero{padding-top:8px}.hero h1{margin-top:0}.challenge-block{padding:18px 0 20px;border-bottom:1px solid var(--line)}
.challenge-block .streak{padding:0 0 13px}.availability-note{margin-top:10px;font-size:.76rem;line-height:1.6;color:var(--muted);text-align:center}
.qline{display:flex;align-items:flex-start;gap:10px;margin:22px 0 24px}.qline .qno{flex:0 0 auto;padding-top:.18em;font-size:1.15rem}.qline .qtext{margin:0;flex:1}
.progresshead{align-items:center}.timeleft{font-variant-numeric:tabular-nums;font-weight:950;color:var(--g)}
.judge-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;pointer-events:none;background:rgba(255,255,255,.08);opacity:0}
.judge-overlay.show{animation:judgeFade 1.55s ease both}.judge-overlay .mark{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;font-size:7rem;line-height:1;color:#fff;font-weight:950;box-shadow:0 18px 50px rgba(0,0,0,.16);transform:scale(.3)}
.judge-overlay.show .mark{animation:judgePop 1.55s cubic-bezier(.2,.8,.2,1) both}.judge-overlay.ok .mark{background:var(--ok)}.judge-overlay.ng .mark{background:var(--red)}
@keyframes judgeFade{0%{opacity:0}12%,75%{opacity:1}100%{opacity:0}}@keyframes judgePop{0%{transform:scale(.3) rotate(-10deg)}20%{transform:scale(1.12) rotate(3deg)}34%{transform:scale(1)}78%{transform:scale(1)}100%{transform:scale(.86)}}
.result-hero{text-align:center;padding:8px 0 24px}.squirrel-stage{min-height:130px;display:grid;place-items:center;margin:4px 0 8px}.squirrel-fallback{font-size:5.6rem;line-height:1;filter:drop-shadow(0 8px 12px rgba(23,75,43,.12));animation:squirrelBounce 1.8s ease-in-out infinite}.result-message{font-size:1.55rem;font-weight:950;color:var(--g);margin:4px 0 5px}.result-submessage{font-size:.86rem;color:var(--muted);line-height:1.6}
@keyframes squirrelBounce{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
.stat-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 8px}.stat-pill{border:2px solid var(--g2);border-radius:18px;overflow:hidden;background:#fff}.stat-pill .cap{padding:5px 4px;background:var(--g2);color:#fff;font-size:.68rem;font-weight:950;text-align:center}.stat-pill .num{min-height:68px;display:grid;place-items:center;padding:8px;font-size:1.18rem;font-weight:950;color:var(--g)}
.compare-title{font-size:.78rem;font-weight:950;color:var(--g);margin-bottom:8px}.compare.compact{padding-top:18px}.compare.compact .grid>div{padding-top:8px;padding-bottom:8px}
.hp-link{margin-top:0}
@media(max-width:520px){.qline{gap:8px}.qline .qno{font-size:1.02rem}.qline .qtext{font-size:1.08rem}.judge-overlay .mark{width:132px;height:132px;font-size:6rem}.stat-pills{gap:7px}.stat-pill .num{font-size:1.02rem}.result-message{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){.judge-overlay.show,.judge-overlay.show .mark,.squirrel-fallback{animation:none}.judge-overlay.show{opacity:1}}

/* ===== Feedback visibility / Result comparison ===== */
.judge-overlay{background:rgba(255,255,255,.30);visibility:hidden}
.judge-overlay.show{visibility:visible;animation:judgeFade 1.65s ease both}
.judge-overlay.show .mark{animation:judgePop 1.65s cubic-bezier(.2,.8,.2,1) both}
.stat-pill{display:flex;flex-direction:column}
.stat-pill .num{flex:1}
.stat-foot{min-height:36px;padding:7px 5px 8px;border-top:1px solid rgba(23,75,43,.10);font-size:.62rem;line-height:1.35;font-weight:900;text-align:center;background:#f5f8f1;color:var(--muted)}
.stat-foot.better{background:var(--okbg);color:var(--ok)}
.stat-foot.worse{background:var(--redbg);color:#a53232}
.stat-foot.neutral{background:#f5f8f1;color:var(--muted)}
.national-count{text-align:center;margin-top:11px;font-size:.7rem;color:var(--muted)}
@media(max-width:520px){.stat-foot{font-size:.56rem;padding-left:3px;padding-right:3px}.squirrel-fallback{font-size:4.9rem}}

/* ===== Judge overlay: base animation ===== */
.judge-overlay{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  place-items:center;
  pointer-events:none;
  background:transparent;
  opacity:0;
  visibility:hidden;
}
.judge-overlay.show{
  visibility:visible;
  animation:judgeFadeCompact 1.65s ease both;
}
.judge-overlay .mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  background:transparent;
  box-shadow:none;
  font-size:64px;
  line-height:1;
  font-weight:950;
  transform:scale(.45);
}
.judge-overlay.ok .mark{color:var(--ok);}
.judge-overlay.ng .mark{color:var(--red);}
.judge-overlay.show .mark{
  animation:judgePopCompact 1.65s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes judgeFadeCompact{
  0%{opacity:0}
  10%,76%{opacity:1}
  100%{opacity:0}
}
@keyframes judgePopCompact{
  0%{transform:scale(.45)}
  18%{transform:scale(1.18)}
  32%{transform:scale(1)}
  78%{transform:scale(1)}
  100%{transform:scale(.82)}
}
@media(max-width:520px){
  .judge-overlay .mark{
    width:60px;
    height:60px;
    font-size:60px;
  }
}

/* ===== Judge overlay: large mark sizing ===== */
.judge-overlay .mark{
  width:270px;
  height:270px;
  font-size:270px;
  line-height:1;
}
@media(max-width:520px){
  .judge-overlay .mark{
    width:240px;
    height:240px;
    font-size:240px;
  }
}

/* ===== Judge overlay: geometric circle / cross ===== */
.judge-overlay{
  position:fixed !important;
  inset:auto !important;
  z-index:50;
  display:block !important;
  pointer-events:none;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:0;
  visibility:hidden;
}
.judge-overlay.show{
  visibility:visible;
  animation:v8JudgeFade 1.65s ease both !important;
}
.judge-shape{
  position:relative;
  width:100%;
  height:100%;
  background:transparent !important;
  border:0;
  border-radius:0;
  box-shadow:none !important;
  transform:scale(.72);
}
.judge-overlay.show .judge-shape{
  animation:v8JudgePop 1.65s cubic-bezier(.2,.8,.2,1) both !important;
}

/* ○: outlined circle, never a filled disc */
.judge-shape.circle{
  border:clamp(12px,3.8vw,22px) solid var(--ok);
  border-radius:50%;
}

/* ×: two diagonal strokes filling the same A-to-D height */
.judge-shape.cross::before,
.judge-shape.cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:118%;
  height:clamp(12px,3.8vw,22px);
  border-radius:999px;
  background:var(--red);
  transform-origin:center;
}
.judge-shape.cross::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.judge-shape.cross::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
@keyframes v8JudgeFade{
  0%{opacity:0}
  10%,76%{opacity:1}
  100%{opacity:0}
}
@keyframes v8JudgePop{
  0%{transform:scale(.72)}
  18%{transform:scale(1.05)}
  32%,78%{transform:scale(1)}
  100%{transform:scale(.94)}
}

/* Keep the lower "○ 正解！ / × 不正解" text as-is. */

/* ===== Result metrics ===== */
.stat-pill .num{
  min-height:88px;
  font-size:clamp(1.45rem,4.6vw,2.15rem) !important;
  line-height:1;
  letter-spacing:-.035em;
}
.stat-pill:first-child .num{
  font-size:clamp(1.6rem,5vw,2.35rem) !important;
}
.stat-foot{
  min-height:34px;
  display:grid;
  place-items:center;
  font-size:.66rem;
  line-height:1.25;
  background:#f5f8f1 !important;
  color:var(--muted) !important;
}
@media(max-width:520px){
  .stat-pill .num{
    min-height:80px;
    font-size:1.42rem !important;
  }
  .stat-pill:first-child .num{
    font-size:1.55rem !important;
  }
  .stat-foot{font-size:.58rem}
}

/* ===== Judge overlay: center inside choices ===== */
.choices-wrap{position:relative}
.choices-wrap .choices{position:relative;z-index:1}
.choices-wrap .judge-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:5;
  display:grid !important;
  place-items:center;
  pointer-events:none;
  background:transparent !important;
  opacity:0;
  visibility:hidden;
}
.choices-wrap .judge-overlay.show{
  visibility:visible;
  animation:v9JudgeFade 1.65s ease both !important;
}
.choices-wrap .judge-shape{
  width:min(75%,220px);
  aspect-ratio:1;
  position:relative;
  transform:scale(.72);
}
.choices-wrap .judge-overlay.show .judge-shape{
  animation:v9JudgePop 1.65s cubic-bezier(.2,.8,.2,1) both !important;
}
.choices-wrap .judge-shape.circle{
  border:clamp(12px,3vw,20px) solid var(--ok);
  border-radius:50%;
}
.choices-wrap .judge-shape.cross::before,
.choices-wrap .judge-shape.cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:118%;
  height:clamp(12px,3vw,20px);
  border-radius:999px;
  background:var(--red);
  transform-origin:center;
}
.choices-wrap .judge-shape.cross::before{transform:translate(-50%,-50%) rotate(45deg)}
.choices-wrap .judge-shape.cross::after{transform:translate(-50%,-50%) rotate(-45deg)}
@keyframes v9JudgeFade{0%{opacity:0}10%,76%{opacity:1}100%{opacity:0}}
@keyframes v9JudgePop{0%{transform:scale(.72)}18%{transform:scale(1.05)}32%,78%{transform:scale(1)}100%{transform:scale(.94)}}

.maintenance-button{
  background:#b8c8ba !important;
  color:#f7faf7 !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
  opacity:1 !important;
}

/* =========================================================
   V10 — based on Design Specification v0.7.1
   ========================================================= */

/* 正解○は横幅を基準に必ず正円にする。
   V8で残っていた height:100% を明示的に打ち消す。 */
.choices-wrap .judge-shape{
  width:min(75%,220px) !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box;
  flex:0 0 auto;
}

/* ×の描画方式・位置はV9のまま維持 */

/* Result: 全国平均参加者数 → streak → X共有 の間隔を圧縮 */
.result-hero{
  padding-bottom:6px;
}
.national-count{
  margin-top:7px;
}
.result-hero + .streak{
  padding:6px 0 4px;
}
.result-hero + .streak + .actions{
  margin-top:5px;
}

/* =========================================================
   V11 — Design Specification v0.7.2
   Result character: original SVG + entrance pop + score motion
   ========================================================= */

/* 従来の絵文字リス表示領域をそのまま使用する */
.squirrel-stage{
  min-height:130px;
  height:130px;
  display:grid;
  place-items:center;
  margin:4px 0 8px;
  overflow:visible;
}

/* 画像は既存の絵文字位置・表示範囲内に収める */
.result-squirrel{
  display:block;
  width:auto;
  height:116px;
  max-width:150px;
  object-fit:contain;
  transform-origin:50% 72%;
  will-change:transform,opacity;
  filter:drop-shadow(0 8px 12px rgba(23,75,43,.12));
}

/* Result表示時に1回だけポップ */
.result-squirrel.squirrel-enter{
  animation:squirrelResultEnter 1.0s cubic-bezier(.2,.85,.2,1) both;
}
@keyframes squirrelResultEnter{
  0%{transform:scale(.72);opacity:0}
  55%{transform:scale(1.08);opacity:1}
  78%{transform:scale(.97);opacity:1}
  100%{transform:scale(1);opacity:1}
}

/* 10/10: 少し強めに弾む */
.result-squirrel.squirrel-loop-perfect{
  animation:squirrelPerfectBounce 1.4s ease-in-out infinite;
}
@keyframes squirrelPerfectBounce{
  0%,100%{transform:translateY(0) scale(1)}
  42%{transform:translateY(-10px) scale(1.025)}
  58%{transform:translateY(-7px) scale(1.01)}
}

/* 5〜9点: やさしく上下 */
.result-squirrel.squirrel-loop-good{
  animation:squirrelGoodFloat 1.8s ease-in-out infinite;
}
@keyframes squirrelGoodFloat{
  0%,100%{transform:translateY(0) rotate(-1.5deg)}
  50%{transform:translateY(-7px) rotate(1.5deg)}
}

/* 0〜4点: 考えるように軽く左右へ傾く */
.result-squirrel.squirrel-loop-try{
  animation:squirrelTryThink 2.2s ease-in-out infinite;
}
@keyframes squirrelTryThink{
  0%,100%{transform:rotate(0deg) translateY(0)}
  35%{transform:rotate(-2.5deg) translateY(-4px)}
  70%{transform:rotate(2deg) translateY(-2px)}
}

@media(max-width:520px){
  .squirrel-stage{
    min-height:130px;
    height:130px;
  }
  .result-squirrel{
    height:112px;
    max-width:145px;
  }
}

@media(prefers-reduced-motion:reduce){
  .result-squirrel.squirrel-enter,
  .result-squirrel.squirrel-loop-perfect,
  .result-squirrel.squirrel-loop-good,
  .result-squirrel.squirrel-loop-try{
    animation:none !important;
    opacity:1;
    transform:none;
  }
}

/* =========================================================
   V12 — Design Specification v0.7.3
   Top official icon + larger compact Result mascot
   ========================================================= */

/* Top: replace large text title with official Agalingo icon */
.home-hero{
  padding-top:4px;
  text-align:center;
}
.home-icon{
  display:block;
  width:clamp(180px,58vw,220px);
  height:auto;
  margin:0 auto 14px;
}
.home-hero .lead{
  margin:0;
  text-align:left;
}

/* Result: enlarge mascot while keeping the first screen compact */
.result-page .shell{
  padding-top:18px;
}
.result-page .top{
  margin-bottom:12px;
}
.result-page 
.result-page .result-hero{
  padding-top:0;
  padding-bottom:2px;
}
.result-page .squirrel-stage{
  min-height:166px;
  height:166px;
  margin:0 0 2px;
}
.result-page .result-squirrel{
  height:160px;
  max-width:205px;
}
.result-page .result-message{
  font-size:1.55rem;
  line-height:1.2;
  margin:0 0 2px;
}
.result-page .result-submessage{
  font-size:.78rem;
  line-height:1.35;
  margin:0 auto;
  max-width:94%;
}
.result-page .stat-pills{
  margin:10px 0 4px;
  gap:7px;
}
.result-page .stat-pill .cap{
  padding:4px 3px;
}
.result-page .stat-pill .num{
  min-height:58px;
  font-size:1.65rem !important;
  padding:5px 3px;
}
.result-page .stat-pill:first-child .num{
  font-size:1.78rem !important;
}
.result-page .stat-foot{
  min-height:28px;
  padding:5px 2px;
  font-size:.58rem;
}
.result-page .national-count{
  margin-top:5px;
  line-height:1.25;
}
.result-page .result-hero + .streak{
  padding:4px 0 2px;
  line-height:1.25;
}
.result-page .result-hero + .streak + .actions{
  margin-top:4px;
}
.result-page #share{
  min-height:48px;
}
.result-page .toggle{
  margin-top:14px;
}

@media(max-width:520px){
  .home-icon{
    width:min(56vw,210px);
    margin-bottom:12px;
  }

  .result-page .shell{
    padding-top:14px;
  }
  .result-page .top{
    margin-bottom:9px;
  }
  .result-page .squirrel-stage{
    min-height:160px;
    height:160px;
  }
  .result-page .result-squirrel{
    height:154px;
    max-width:198px;
  }
  .result-page .result-message{
    font-size:1.42rem;
  }
  .result-page .result-submessage{
    font-size:.72rem;
  }
  .result-page .stat-pills{
    margin-top:8px;
  }
  .result-page .stat-pill .num{
    min-height:54px;
    font-size:1.48rem !important;
  }
  .result-page .stat-pill:first-child .num{
    font-size:1.58rem !important;
  }
  .result-page .stat-foot{
    min-height:26px;
    font-size:.54rem;
  }
  .result-page .national-count{
    font-size:.66rem;
  }
  .result-page .result-hero + .streak{
    font-size:.9rem;
  }
}

/* Short mobile screens: preserve character presence but prioritize X share visibility */
@media(max-width:520px) and (max-height:760px){
  .result-page .top{
    margin-bottom:6px;
  }
  .result-page .squirrel-stage{
    min-height:142px;
    height:142px;
  }
  .result-page .result-squirrel{
    height:138px;
    max-width:180px;
  }
  .result-page .result-message{
    font-size:1.32rem;
  }
  .result-page .result-submessage{
    font-size:.68rem;
    line-height:1.25;
  }
  .result-page .stat-pills{
    margin-top:6px;
  }
  .result-page .stat-pill .num{
    min-height:48px;
  }
}

/* =========================================================
   V13 — Design Specification v0.7.4
   Result mascot +30% and iPhone SE 375x667 spacing
   ========================================================= */
.result-page .squirrel-stage{
  min-height:208px;
  height:208px;
  margin:0 0 3px;
}
.result-page .result-squirrel{
  height:202px;
  max-width:258px;
}
.result-page .result-message{margin:0 0 1px}
.result-page .result-submessage{margin:0 auto;line-height:1.28}
.result-page .stat-pills{margin:7px 0 3px}
.result-page .stat-pill .num{min-height:50px}
.result-page .national-count{margin-top:4px}
.result-page .result-hero + .streak{padding:4px 0 3px}
.result-page .result-hero + .streak + .actions{margin-top:5px}
.result-page #share{min-height:48px}

@media(max-width:390px) and (max-height:680px){
  .result-page .shell{padding-top:10px;padding-bottom:42px}
  .result-page .top{margin-bottom:5px}
  .result-page 
  .result-page .squirrel-stage{min-height:198px;height:198px;margin-bottom:1px}
  .result-page .result-squirrel{height:194px;max-width:246px}
  .result-page .result-message{font-size:1.28rem;margin-bottom:1px}
  .result-page .result-submessage{font-size:.66rem;line-height:1.18;max-width:96%}
  .result-page .stat-pills{margin-top:5px;margin-bottom:2px;gap:6px}
  .result-page .stat-pill .cap{padding:3px 2px}
  .result-page .stat-pill .num{min-height:43px;font-size:1.38rem !important;padding:3px 2px}
  .result-page .stat-pill:first-child .num{font-size:1.48rem !important}
  .result-page .stat-foot{min-height:23px;padding:3px 2px;font-size:.50rem}
  .result-page .national-count{margin-top:3px;font-size:.62rem;line-height:1.15}
  .result-page .result-hero + .streak{padding:3px 0 2px;font-size:.84rem;line-height:1.15}
  .result-page .result-hero + .streak + .actions{margin-top:4px}
  .result-page #share{min-height:46px}
}
@media(max-width:390px) and (max-height:640px){
  .result-page .squirrel-stage{min-height:184px;height:184px}
  .result-page .result-squirrel{height:180px;max-width:230px}
  .result-page .stat-pill .num{min-height:40px}
}

/* =========================================================
   V14 — Design Specification v0.7.5
   Restore standard vertical spacing from result comment
   through X share button
   ========================================================= */

.result-page .result-submessage{
  margin:4px auto 0;
  line-height:1.4;
}

.result-page .stat-pills{
  margin:14px 0 8px;
}

.result-page .national-count{
  margin-top:10px;
  line-height:1.35;
}

.result-page .result-hero + .streak{
  padding:10px 0 7px;
  line-height:1.35;
}

.result-page .result-hero + .streak + .actions{
  margin-top:8px;
}

.result-page #share{
  min-height:50px;
}

/* iPhone SE class: keep standard-looking spacing, only modestly tighten */
@media(max-width:390px) and (max-height:680px){
  .result-page .result-submessage{
    margin-top:3px;
    line-height:1.35;
  }

  .result-page .stat-pills{
    margin-top:10px;
    margin-bottom:6px;
  }

  .result-page .national-count{
    margin-top:7px;
    line-height:1.25;
  }

  .result-page .result-hero + .streak{
    padding:8px 0 6px;
    line-height:1.25;
  }

  .result-page .result-hero + .streak + .actions{
    margin-top:7px;
  }

  .result-page #share{
    min-height:48px;
  }
}

/* =========================================================
   V15 — Design Specification v0.7.6
   Add breathing room between Result header and squirrel
   ========================================================= */

.result-page .top{
  margin-bottom:22px;
}

@media(max-width:520px){
  .result-page .top{
    margin-bottom:20px;
  }
}

@media(max-width:390px) and (max-height:680px){
  .result-page .top{
    margin-bottom:18px;
  }
}

/* ===== Current layout refinement ===== */
.home-footer-actions{
  margin-top:20px;
}

/* ===== Current layout refinement ===== */
.result-page .result-stat-pills{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.result-page .result-stat-pills .stat-pill .num{
  font-size:1.8rem !important;
}
.result-page .result-stat-pills .stat-pill:first-child .num{
  font-size:1.9rem !important;
}
.result-page .result-stat-pills .stat-foot{
  font-size:.66rem;
}
@media(max-width:390px){
  .result-page .result-stat-pills{gap:8px}
  .result-page .result-stat-pills .stat-pill .num{font-size:1.7rem !important}
  .result-page .result-stat-pills .stat-pill:first-child .num{font-size:1.8rem !important}
  .result-page .result-stat-pills .stat-foot{font-size:.62rem}
}

/* ===== Current layout refinement ===== */
.result-page .result-stat-pills .stat-pill .num{
  padding-top:10px !important;
  padding-bottom:10px !important;
  min-height:64px;
  display:grid;
  place-items:center;
}
@media(max-width:390px){
  .result-page .result-stat-pills .stat-pill .num{
    padding-top:9px !important;
    padding-bottom:9px !important;
    min-height:60px;
  }
}
