:root{
  --bg0:#191c38; --bg1:#23274e; --bg2:#2a2e5c;
  --panel:rgba(15,17,42,.66); --panel-hi:rgba(120,128,210,.14);
  --line:rgba(232,200,115,.3); --line-soft:rgba(200,200,240,.16);
  --text:#f2edde; --muted:#c2bcd4; --faint:#938db0;
  --gold:#e8c873; --gold-hi:#f8e7b0; --gold-mid:#caa44f; --gold-deep:#a87f35; --gold-dark:#6f5118;
  --shu:#e2604a; --shu-deep:#c04531; --shu-dark:#8e2f20;
  --fuji:#b7a8e0; --fuji-deep:#8d7cc0; --night:#241f38;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;background:#1d2042;}
html,body{overflow-x:hidden;max-width:100%;}
body{margin:0;color:var(--text);font-family:"Zen Kaku Gothic New",sans-serif;line-height:1.95;min-height:100vh;
  background-color:#1d2042;overflow-y:auto;-webkit-overflow-scrolling:touch;
  text-shadow:0 1px 5px rgba(9,10,24,.55);
  background:
    radial-gradient(1100px 640px at 50% -160px, rgba(150,160,255,.22), transparent 62%),
    radial-gradient(1000px 600px at 50% -120px, rgba(232,200,115,.1), transparent 58%),
    radial-gradient(820px 520px at 88% 26%, rgba(120,110,200,.14), transparent 62%),
    radial-gradient(760px 420px at 0% 104%, rgba(8,9,24,.85), transparent 64%),
    radial-gradient(760px 420px at 100% 104%, rgba(8,9,24,.85), transparent 64%),
    linear-gradient(180deg, #1d2042 0%, var(--bg1) 38%, #1b1e40 78%, #15172f 100%);
}
#flow{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;
  filter:blur(44px) saturate(1.15);opacity:.7;transform:translateZ(0);}
#kira{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.scroll-aura{position:fixed;inset:-24%;z-index:0;pointer-events:none;opacity:var(--aura-opacity,.14);
  background:
    radial-gradient(circle at 22% 36%,rgba(248,231,176,.32),transparent 24%),
    radial-gradient(circle at 78% 64%,rgba(164,148,255,.36),transparent 28%),
    radial-gradient(circle at 50% 50%,rgba(96,116,238,.18),transparent 42%);
  filter:blur(46px);transform:translate3d(0,var(--aura-shift,0px),0) scale(var(--aura-scale,1));
  transition:opacity .45s ease,transform .7s cubic-bezier(.2,.7,.25,1);will-change:opacity,transform;}
a{color:var(--gold);text-decoration:none;}
h1,h2,h3{font-family:"Shippori Mincho B1",serif;font-weight:700;line-height:1.45;color:var(--text);}
.divine-btn,.rh-label,.winner-item,.result-card.win,.share-btn,.blood-chip[aria-pressed="true"],.zodiac-chip[aria-pressed="true"]{text-shadow:none;}
.gtx{background:linear-gradient(180deg,var(--gold-hi) 0%,var(--gold) 42%,var(--gold-mid) 60%,var(--gold-dark) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:0 20px 64px;}
[hidden]{display:none !important;}

/* ───── ヒーロー ───── */
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;}
header.site{position:relative;margin:18px -12px 2px;padding:12px 0 4px;}
header.site::before{content:"";position:absolute;z-index:-1;inset:4% 8% -8%;border-radius:50%;
  background:radial-gradient(ellipse,rgba(232,200,115,.13),rgba(147,135,224,.14) 42%,transparent 72%);
  filter:blur(22px);}
.hero-brand-image{display:block;width:100%;height:auto;
  filter:drop-shadow(0 5px 8px rgba(4,5,20,.72)) drop-shadow(0 0 18px rgba(232,200,115,.12));}

/* ───── 暦盤ヒーロー ───── */
.koyomi-hero{position:relative;text-align:center;padding:46px 0 30px;margin:4px 0 36px;}
.eto-ring{position:absolute;left:50%;top:50%;width:min(380px,86vw);aspect-ratio:1;transform:translate(-50%,-50%);
  pointer-events:none;z-index:0;animation:ringspin 110s linear infinite;}
@keyframes ringspin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.eto-ring::before{content:"";position:absolute;inset:11%;border:1px solid rgba(220,210,255,.2);border-radius:50%;}
.eto-ring::after{content:"";position:absolute;inset:21%;border:1px dashed rgba(220,210,255,.13);border-radius:50%;}
.eto-ring .e{position:absolute;left:50%;top:50%;font-family:"Shippori Mincho B1",serif;font-size:18px;color:rgba(232,200,115,.3);
  transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(min(380px,86vw) * -0.43));}
.eto-ring .e.now{color:rgba(248,231,176,.95);text-shadow:0 0 12px rgba(248,231,176,.6);font-weight:800;}
.constel{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:constspin 240s linear infinite reverse;}
@keyframes constspin{to{transform:rotate(-360deg);}}
.koyomi-head{position:relative;z-index:1;}
.koyomi-date{display:block;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(42px,11vw,66px);
  line-height:1.15;letter-spacing:.03em;
  background:linear-gradient(180deg,#fdf6e2 0%,var(--gold) 55%,var(--gold-mid) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 5px rgba(9,10,24,.85)) drop-shadow(0 4px 22px rgba(232,200,115,.25));}
.koyomi-sub{display:block;font-size:14.5px;letter-spacing:.08em;color:var(--muted);margin:0 0 2px;}
.koyomi-kanshi{display:inline-block;margin-top:12px;padding:5px 22px;border:1px solid var(--line);border-radius:999px;
  font-size:15px;letter-spacing:.16em;color:#f0dfae;background:rgba(14,16,40,.62);backdrop-filter:blur(4px);
  box-shadow:0 0 22px rgba(232,200,115,.1);}
.koyomi-note{position:relative;z-index:1;font-size:12.5px;color:var(--faint);margin:14px 0 0;}
.kichi-badges{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:20px 0 0;min-height:42px;}
.kichi-badge{display:inline-flex;align-items:center;gap:7px;font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:16.5px;letter-spacing:.1em;color:#f0dfae;
  background:rgba(14,16,40,.62);border:1px solid var(--line);border-radius:999px;padding:7px 18px;backdrop-filter:blur(4px);
  box-shadow:0 0 16px rgba(232,200,115,.08);transition:box-shadow .4s;}
.kichi-badge .bi{font-size:13px;line-height:1;opacity:.95;font-family:"Zen Kaku Gothic New",sans-serif;}
.kichi-badge.gold{color:var(--gold-hi);border-color:rgba(232,200,115,.55);background:rgba(232,200,115,.12);
  box-shadow:0 0 18px rgba(232,200,115,.2);}
.kichi-badge.top{color:#fff7e6;background:linear-gradient(160deg,#d8573f,#9c3527);border-color:rgba(226,96,74,.7);
  box-shadow:0 0 24px rgba(226,96,74,.45),inset 0 1px 0 rgba(255,255,255,.22);animation:badgepulse 2.6s ease-in-out infinite;}
@keyframes badgepulse{0%,100%{box-shadow:0 0 16px rgba(226,96,74,.35);}50%{box-shadow:0 0 30px rgba(226,96,74,.65);}}
.koyomi-note{position:relative;z-index:1;font-size:12.5px;color:var(--faint);margin:16px 0 0;}

/* ───── STEP1 知るカード ───── */
.step-card{position:relative;background:var(--panel);border:1px solid var(--line-soft);border-radius:20px;
  padding:30px 22px 32px;text-align:center;backdrop-filter:blur(8px);
  box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(248,243,231,.06);overflow:hidden;}
.step-card::before{content:"";position:absolute;left:50%;top:0;width:60%;height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(232,200,115,.6),transparent);}
.step-label{margin:0 0 6px;font-size:13px;letter-spacing:.36em;text-indent:.36em;color:var(--gold);font-weight:700;}
.step-copy{margin:0 0 6px;font-size:16px;color:var(--muted);}
.step-copy b{color:var(--gold-hi);font-size:17.5px;}
.divine-btn{position:relative;display:block;width:100%;margin:24px 0 0;font-family:"Shippori Mincho B1",serif;
  font-size:21px;font-weight:800;letter-spacing:.34em;text-indent:.34em;color:#2a1d05;border:none;border-radius:14px;
  padding:18px 0;cursor:pointer;overflow:hidden;
  background:linear-gradient(115deg,#f6e3a8 0%,#caa44f 32%,#e8c873 50%,#caa44f 68%,#f6e3a8 100%);
  background-size:240% 100%;animation:btnflow 5.5s ease-in-out infinite;
  box-shadow:0 10px 34px rgba(232,200,115,.32),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .14s,box-shadow .14s;}
@keyframes btnflow{0%,100%{background-position:0% 0;}50%{background-position:100% 0;}}
.divine-btn::after{content:"";position:absolute;top:-50%;left:-30%;width:36%;height:200%;transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);animation:btnshine 3.4s ease-in-out infinite;}
@keyframes btnshine{0%,60%{left:-40%;}100%{left:140%;}}
.divine-btn:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(232,200,115,.45),inset 0 1px 0 rgba(255,255,255,.6);}
.divine-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}
#reveal-btn{max-width:360px;margin-left:auto;margin-right:auto;font-size:18px;letter-spacing:.08em;text-indent:.08em;}
.form-err{display:none;margin:14px 0 0;text-align:center;font-size:14.5px;color:var(--shu);}
.form-err.show{display:block;}

/* ───── 診断中オーバーレイ ───── */
.loading-veil{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;flex-direction:column;gap:24px;
  min-height:100dvh;padding:24px;background:rgba(13,14,34,.96);backdrop-filter:blur(6px);}
.loading-veil.show{display:flex;touch-action:none;}
.loading-circle{width:104px;height:104px;border-radius:50%;position:relative;
  border:2px solid rgba(232,200,115,.16);border-top-color:var(--gold);animation:spin 1.1s linear infinite;
  box-shadow:0 0 50px rgba(232,200,115,.16);}
.loading-circle::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(232,200,115,.22);
  animation:ripple 1.8s ease-out infinite;}
.loading-circle::after{content:"";position:absolute;inset:16px;border-radius:50%;border:1px solid rgba(232,200,115,.3);
  border-bottom-color:var(--gold-hi);animation:spin 1.7s linear infinite reverse;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes ripple{0%{transform:scale(.8);opacity:.9;}100%{transform:scale(1.6);opacity:0;}}
.loading-text{width:min(86vw,380px);margin:0;text-align:center;text-wrap:balance;overflow-wrap:anywhere;word-break:normal;
  font-family:"Shippori Mincho B1",serif;color:var(--gold-hi);font-size:17px;line-height:1.9;letter-spacing:.13em;animation:breathe 1.6s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.5;}50%{opacity:1;}}

/* ───── 発表エリア共通 ───── */
#winners{display:none;margin:30px 0 0;}
#winners.show{display:block;animation:rise .7s ease both;}
@keyframes rise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}
.detail-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:20px;
  backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(248,243,231,.06);}
/* ─ 解説ヘッダ ─ */
.reveal-head{text-align:center;margin:4px 0 18px;}
.rh-date{display:flex;align-items:center;justify-content:center;gap:16px;margin:0;
  font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(25px,6.2vw,31px);color:var(--text);}
.rh-date::before,.rh-date::after{content:"";width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));}
.rh-date::after{background:linear-gradient(90deg,var(--gold),transparent);}
.rh-label{display:inline-block;margin-top:10px;padding:5px 20px;border-radius:5px;
  background:linear-gradient(160deg,#f0d893,#c9a44e);color:#2a1d05;font-weight:700;font-size:13.5px;letter-spacing:.24em;text-indent:.24em;
  box-shadow:0 4px 16px rgba(232,200,115,.3);}
/* ─ フックカード ─ */
.hook-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:32px 24px;margin:0 0 16px;overflow:hidden;
  background:linear-gradient(160deg,rgba(30,32,70,.8),rgba(19,21,48,.7));backdrop-filter:blur(8px);
  box-shadow:0 24px 60px rgba(0,0,0,.4),0 0 50px rgba(232,200,115,.07) inset;}
.hook-card::before{content:"";position:absolute;inset:7px;border:1px solid rgba(232,200,115,.28);border-radius:12px;pointer-events:none;}
.hook-moon{position:absolute;left:-26px;top:-20px;width:120px;height:120px;border-radius:50%;pointer-events:none;
  background:transparent;box-shadow:30px 18px 0 0 rgba(246,228,176,.16),30px 18px 60px 12px rgba(246,228,176,.1);transform:rotate(-12deg);}
.hook-text{position:relative;margin:0;text-align:center;font-family:"Shippori Mincho B1",serif;font-weight:800;text-shadow:none;
  font-size:clamp(25px,6.4vw,33px);line-height:1.6;
  background:linear-gradient(110deg,#fdf3d4 0%,var(--gold) 50%,var(--gold-mid) 85%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 4px rgba(9,10,24,.8)) drop-shadow(0 2px 16px rgba(232,200,115,.22));}
/* ─ 開運度カード ─ */
.score-card{display:flex;gap:18px;align-items:center;background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;
  padding:20px 18px;margin:0 0 14px;backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.4);}
.score-circle{flex:none;position:relative;width:120px;height:120px;}
.gauge{position:absolute;inset:0;transform:rotate(-90deg);}
.gbg{fill:none;stroke:rgba(220,210,255,.14);stroke-width:7;}
.gfg{fill:none;stroke:#e2c06a;stroke-width:7;stroke-linecap:round;stroke-dasharray:333;stroke-dashoffset:333;
  transition:stroke-dashoffset 1.3s cubic-bezier(.3,.8,.3,1) .25s;filter:drop-shadow(0 0 6px rgba(232,200,115,.55));}
.score-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-radius:50%;background:radial-gradient(circle at 50% 36%,rgba(232,200,115,.1),rgba(14,16,40,.3) 72%);}
.sc-label{font-size:11.5px;line-height:1.35;letter-spacing:.08em;color:var(--muted);white-space:nowrap;}
.sc-num{font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:40px;line-height:1.1;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-mid));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.sc-den{font-size:12px;color:var(--faint);}
.score-right{min-width:0;flex:1;}
.stars{font-size:24px;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 12px rgba(232,200,115,.5);line-height:1.2;}
.stars .off{color:rgba(230,230,255,.16);text-shadow:none;}
.score-sum{margin:8px 0 0;font-size:15.5px;color:var(--text);}
/* ─ ミニバッジ ─ */
.mini-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 14px;}
.mini-badge{flex:0 1 calc(50% - 5px);border:1px solid var(--line);border-radius:12px;background:rgba(14,16,40,.7);padding:13px 6px 11px;text-align:center;backdrop-filter:blur(4px);
  box-shadow:0 0 18px rgba(232,200,115,.06);}
@media (min-width:560px){.mini-badge{flex-basis:calc(25% - 8px);}}
.mbi{display:block;font-size:22px;line-height:1.2;color:var(--gold);font-family:"Shippori Mincho B1",serif;margin-bottom:3px;text-shadow:0 0 12px rgba(232,200,115,.4);}
.mb-name{display:block;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:17.5px;color:#f0dfae;letter-spacing:.06em;}
.mb-sub{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;}
/* ─ セクションカード ─ */
.sec-card{display:block;background:var(--panel);border:1px solid var(--line-soft);border-radius:18px;
  padding:21px 19px;margin:0 0 14px;backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.4);}
.sec-icon{display:none;flex:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);align-items:center;justify-content:center;
  color:var(--gold);background:rgba(232,200,115,.08);box-shadow:0 0 18px rgba(232,200,115,.12);}
.sec-icon svg{width:22px;height:22px;fill:currentColor;}
.sec-body{min-width:0;flex:1;}
.sec-body h3{margin:2px 0 9px;font-size:18px;letter-spacing:.06em;color:var(--gold-hi);display:flex;align-items:center;gap:12px;}
.sec-body h3::after{content:"";flex:1;border-top:1px dotted rgba(232,200,115,.45);}
.sec-body p{margin:0 0 10px;font-size:15.5px;color:var(--text);}
.sec-body p:last-child{margin-bottom:0;}
.sec-body ul{margin:2px 0 0;padding-left:21px;}
.sec-body li{margin:0 0 9px;font-size:15.5px;color:var(--text);}
.sec-body li:last-child{margin-bottom:0;}
.rsn{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;margin:13px 0 0;}
.rsn-i{display:flex;align-items:center;justify-content:center;min-height:28px;color:var(--gold);font-family:"Shippori Mincho B1",serif;font-size:16px;}
.rsn-t{min-width:0;}
.rsn-t b{display:block;margin:0 0 2px;color:var(--gold-hi);}
.rsn-t span{display:block;color:var(--text);font-size:15px;line-height:1.85;}
/* 運気カーブ図解 */
.ecurve-wrap{margin:4px 0 14px;}
.ecurve{display:block;width:100%;height:auto;}
.ec-lb{font-size:7.5px;fill:var(--muted);font-family:"Zen Kaku Gothic New",sans-serif;}
.ec-now{font-size:7.5px;fill:#f8e7b0;font-weight:700;font-family:"Zen Kaku Gothic New",sans-serif;}
.ec-cap{margin:2px 0 0;font-size:11.5px;color:var(--faint);text-align:right;}
.ec-type{margin:8px 0 0;font-size:12.5px;color:var(--gold-hi);letter-spacing:.08em;text-align:right;}
/* チェックリスト */
.todo{display:grid;gap:9px;margin-top:6px;}
.todo-item{display:flex;gap:11px;align-items:flex-start;font-size:15px;line-height:1.75;color:var(--text);
  background:rgba(220,210,255,.06);border:1px solid var(--line-soft);border-radius:11px;padding:11px 13px;}
.tdot{flex:none;color:var(--gold);font-size:13px;margin-top:2px;text-shadow:0 0 8px rgba(232,200,115,.5);}
/* 48マス図解 */
.grid48{display:grid;grid-template-columns:32px repeat(12,1fr);gap:4px 3px;align-items:center;margin:16px 0 0;
  padding:14px 10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:rgba(14,16,40,.45);}
.g48-h{font-size:11px;text-align:center;color:var(--muted);line-height:1;}
.g48-l{font-size:11.5px;font-weight:700;color:var(--muted);text-align:center;}
.g48-c{justify-self:center;width:8px;height:8px;border-radius:50%;background:rgba(220,210,255,.22);}
.g48-c.hit{width:13px;height:13px;background:radial-gradient(circle at 40% 35%,#f8e7b0,#caa44f);
  box-shadow:0 0 10px rgba(232,200,115,.8),0 0 22px rgba(232,200,115,.4);animation:hitpulse 2.2s ease-in-out infinite;}
@keyframes hitpulse{0%,100%{box-shadow:0 0 8px rgba(232,200,115,.7);}50%{box-shadow:0 0 18px rgba(232,200,115,1);}}
.g48-cap{margin:8px 0 0;font-size:12.5px;color:var(--muted);text-align:center;}
.g48-c.you{width:13px;height:13px;background:radial-gradient(circle at 40% 35%,#e6ddf8,#8d7cc0);
  box-shadow:0 0 10px rgba(183,168,224,.8),0 0 0 2px rgba(230,221,248,.5);}
.g48-c.hit.you{box-shadow:0 0 0 2.5px rgba(255,255,255,.9),0 0 14px rgba(232,200,115,.9),0 0 26px rgba(232,200,115,.5);}
.result-body .grid48{margin-top:4px;}
.result-card.win .grid48{background:rgba(20,16,6,.5);border-color:rgba(140,109,51,.45);}
.g48-cap.dark{color:#6f5a2c;}
.csw{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:6px;vertical-align:-1.5px;border:1px solid rgba(255,255,255,.55);box-shadow:0 0 5px rgba(0,0,0,.25);}
/* 次のチャンスまでのカウントダウン図 */
.ng-title{margin:0 0 9px;font-size:14px;color:#d4c9f2;}
.ng-row{display:flex;align-items:center;gap:9px;}
.ng-today{flex:none;font-size:13px;font-weight:700;color:#ece7f7;background:rgba(183,168,224,.24);border-radius:999px;padding:3px 12px;}
.ng-track{flex:1;display:flex;align-items:center;gap:6px;justify-content:center;min-width:0;overflow:hidden;}
.ng-dot{width:6px;height:6px;border-radius:50%;background:rgba(216,206,240,.4);flex:none;}
.ng-more{color:rgba(216,206,240,.6);font-size:14px;line-height:1;}
.ng-goal{flex:none;display:flex;flex-direction:column;align-items:center;color:#f8e7b0;font-size:21px;line-height:1;text-shadow:0 0 12px rgba(232,200,115,.65);}
.ng-goal small{font-size:11.5px;color:#ece7f7;margin-top:4px;text-shadow:none;letter-spacing:.02em;}
.ng-count{margin:11px 0 0;text-align:center;font-size:14.5px;color:#ece7f7;}
.ng-count b{font-family:"Shippori Mincho B1",serif;font-size:24px;color:#f8e7b0;padding:0 3px;text-shadow:0 0 12px rgba(232,200,115,.5);}
/* 褒めの一言 */
.praise{margin:16px 0 0;padding:14px 16px;border-radius:11px;background:rgba(232,200,115,.1);
  border:1px solid rgba(232,200,115,.35);font-size:15px;}
.result-card.win .praise{background:rgba(255,253,244,.72);border-color:rgba(168,127,53,.45);}
.result-card.gentle .praise{background:rgba(183,168,224,.13);border-color:rgba(183,168,224,.42);color:#ece7f7;}
/* 運気バロメーター */
.baro{margin:4px 0 16px;padding:15px 15px 9px;border-radius:12px;background:rgba(14,16,40,.5);border:1px solid var(--line-soft);}
.result-card.win .baro{background:rgba(20,16,6,.5);border-color:rgba(140,109,51,.45);}
.baro-cap{margin:0 0 11px;font-size:13.5px;letter-spacing:.12em;color:var(--gold);font-weight:700;text-align:center;text-shadow:none;}
.baro-row{display:flex;align-items:center;gap:10px;margin:0 0 9px;}
.baro-l{flex:none;width:54px;font-size:13.5px;color:#d8d2e8;text-shadow:none;}
.baro-track{flex:1;height:9px;border-radius:999px;background:rgba(220,210,255,.16);overflow:hidden;}
.baro-fill{display:block;height:100%;border-radius:999px;width:var(--w);background:linear-gradient(90deg,#caa44f,#f3dc9a);
  box-shadow:0 0 8px rgba(232,200,115,.45);animation:barofill 1s cubic-bezier(.3,.8,.3,1) .25s backwards;}
.result-card.gentle .baro-fill{background:linear-gradient(90deg,#8d7cc0,#cfc3ee);box-shadow:0 0 8px rgba(183,168,224,.45);}
@keyframes barofill{from{width:0;}}
.baro-v{flex:none;width:28px;text-align:right;font-size:13.5px;font-weight:700;color:#f0dfae;text-shadow:none;}
.result-card.gentle .baro-v{color:#e2d9f8;}
/* 今日の運試し */
.omikuji{margin:28px 0 0;}
.omk-title{margin:0 0 4px;font-size:23px;letter-spacing:.12em;}
.omk-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 0;}
.omk-card{background:none;border:none;padding:0;cursor:pointer;perspective:700px;-webkit-tap-highlight-color:transparent;}
.omk-in{position:relative;display:block;width:100%;aspect-ratio:5/7;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.7,.3,1.05);}
.omk-card.open .omk-in{transform:rotateY(180deg);}
.omk-card:not(.open):hover .omk-in{transform:translateY(-4px);}
.omk-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:11px;display:flex;align-items:center;justify-content:center;}
.omk-back{background:linear-gradient(160deg,#262a55,#171a36);border:1px solid var(--line);color:var(--gold);font-size:23px;
  box-shadow:0 8px 20px rgba(0,0,0,.4),inset 0 0 18px rgba(232,200,115,.08);text-shadow:0 0 12px rgba(232,200,115,.6);}
.omk-back::after{content:"";position:absolute;inset:6px;border:1px solid rgba(232,200,115,.3);border-radius:7px;}
.omk-front{transform:rotateY(180deg);background:linear-gradient(165deg,#f8ecc6,#dfc183);border:1px solid #caa44f;color:#3a2a0c;
  font-family:"Shippori Mincho B1",serif;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.35);text-shadow:none;}
.omk-front b{font-size:clamp(17px,4.6vw,24px);letter-spacing:.04em;}
.omk-front.dai{background:linear-gradient(165deg,#fdf0c8,#ecc56f);}
.omk-front.dai b{color:#9c3527;}
.omk-card.picked .omk-in{transform:rotateY(180deg)!important;filter:drop-shadow(0 0 16px rgba(232,200,115,.55));}
.omk-card.picked{position:relative;}
.omk-card.picked::after{content:"選んだ札";position:absolute;left:50%;bottom:-12px;z-index:3;transform:translateX(-50%);
  padding:3px 10px;border:1px solid rgba(232,200,115,.6);border-radius:999px;background:#171a36;color:var(--gold-hi);
  font-size:10.5px;font-weight:700;line-height:1.4;letter-spacing:.08em;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.35);}
.omk-card.dim{opacity:.42;}
.omk-result{display:none;margin:28px 0 0;font-size:15.5px;color:var(--text);text-align:center;}
.omk-result.show{display:block;animation:rise .5s ease both;}
.omk-k{font-family:"Shippori Mincho B1",serif;font-size:19px;color:var(--gold-hi);margin-right:4px;}
.omk-k.dai{color:#f0a890;}
.omk-share{display:flex;width:min(100%,320px);min-height:50px;align-items:center;justify-content:center;margin:18px auto 0;padding:13px 24px;
  font-size:15px;line-height:1.4;white-space:nowrap;}
.omk-again{display:block;font-size:12.5px;color:var(--faint);margin-top:9px;}
.sec-body b{color:var(--gold-hi);}
.gold-line{color:#f3dfa4;text-shadow:0 0 14px rgba(232,200,115,.3);}
.sec-card.chance{display:block;}
.chance-head{display:block;}
.sec-card.chance .winner-list{margin-top:14px;}
/* ─ 締めバナー ─ */
.finale{text-align:center;margin:24px 0 2px;}
.fin-main{margin:0 0 4px;font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:clamp(23px,5.8vw,29px);
  background:linear-gradient(110deg,#fdf3d4,var(--gold) 60%,var(--gold-mid));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 14px rgba(232,200,115,.25));}
.fin-sub{margin:0;font-size:14.5px;color:var(--muted);}

/* ───── 4選札 ───── */
.winner-list{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.winner-item{position:relative;border-radius:12px;padding:16px 8px 13px;text-align:center;
  font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:18px;letter-spacing:.04em;color:#2c1f08;
  background:linear-gradient(160deg,#f9ecc4 0%,#e8c873 55%,#caa44f 100%);
  box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 22px rgba(232,200,115,.2),inset 0 1px 0 rgba(255,255,255,.55);
  opacity:0;transform:perspective(600px) rotateY(70deg) scale(.9);animation:flipin .65s cubic-bezier(.2,1.4,.4,1) forwards;}
.winner-item:nth-child(1){animation-delay:.2s;}
.winner-item:nth-child(2){animation-delay:.5s;}
.winner-item:nth-child(3){animation-delay:.8s;}
.winner-item:nth-child(4){animation-delay:1.1s;}
@keyframes flipin{to{opacity:1;transform:none;}}
.winner-item .wno{display:block;font-size:11.5px;letter-spacing:.3em;color:var(--shu-dark);font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;margin-bottom:3px;}
.winners-cta{margin:18px 0 0;text-align:center;font-size:15.5px;color:var(--muted);}
.winners-cta b{color:var(--gold-hi);}

/* ───── 個別解説 ───── */
.detail-card{padding:26px 22px 12px;margin:20px 0 0;}
.detail-card>h2{margin:0 0 18px;font-size:20px;letter-spacing:.12em;text-align:center;}
.detail-block{position:relative;border-left:2px solid var(--gold);padding:4px 0 4px 16px;margin:0 0 20px;}
.detail-block::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:30px;background:var(--gold-hi);box-shadow:0 0 10px rgba(232,200,115,.7);}
.detail-block h3{margin:0 0 6px;font-size:18px;letter-spacing:.04em;color:var(--gold-hi);}
.detail-block h3 .wno{display:inline-block;margin-right:11px;font-size:12px;letter-spacing:.28em;color:var(--shu);font-family:"Zen Kaku Gothic New",sans-serif;font-weight:700;vertical-align:2px;}
.detail-block p{margin:0;font-size:15.5px;color:var(--muted);}

/* ───── まとめ ───── */
.matome-card{position:relative;border-radius:20px;padding:28px 22px 22px;margin:20px 0 0;overflow:hidden;
  background:linear-gradient(165deg,rgba(232,200,115,.14),rgba(232,200,115,.04) 70%),rgba(15,17,42,.7);
  border:1px solid var(--line);backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.4);}
.matome-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(232,200,115,.24);border-radius:14px;pointer-events:none;}
.matome-card h2{margin:0 0 12px;font-size:20px;letter-spacing:.1em;text-align:center;color:var(--gold-hi);}
.matome-card h3{margin:16px 0 6px;font-size:16.5px;letter-spacing:.18em;color:var(--shu);}
.matome-card p{margin:0 0 13px;font-size:16px;position:relative;}
.matome-card b{color:var(--gold-hi);}
.matome-soft{font-size:14.5px;color:var(--muted);}

/* ───── 入力フォーム ───── */
.form-card{position:relative;background:var(--panel);border:1px solid var(--line-soft);border-radius:20px;
  padding:28px 22px 30px;margin:28px 0 0;backdrop-filter:blur(8px);
  box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 1px 0 rgba(248,243,231,.06);animation:rise .7s ease both;}
.form-card::before{content:"";position:absolute;left:50%;top:0;width:60%;height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(232,200,115,.6),transparent);}
.form-card .step-label{text-align:center;}
.form-card h2{margin:0 0 4px;font-size:23px;text-align:center;letter-spacing:.1em;}
.form-card .hint{text-align:center;font-size:14.5px;color:var(--muted);margin:0 0 14px;}
.field-label{display:block;font-size:13.5px;font-weight:700;letter-spacing:.22em;color:var(--gold);margin:18px 0 9px;}
.zodiac-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.zodiac-chip{font:inherit;font-size:16px;font-weight:700;padding:11px 0 8px;border:1px solid var(--line-soft);border-radius:11px;
  background:var(--panel-hi);color:var(--muted);cursor:pointer;transition:all .18s;line-height:1.35;backdrop-filter:blur(4px);}
.zodiac-chip small{display:block;font-size:11.5px;font-weight:400;letter-spacing:.02em;opacity:.7;}
.zodiac-chip:hover{border-color:var(--line);color:var(--text);}
.zodiac-chip[aria-pressed="true"]{background:linear-gradient(160deg,#d8573f,#9c3527);border-color:rgba(226,96,74,.8);color:#fff7ee;
  box-shadow:0 6px 20px rgba(192,69,49,.45),0 0 24px rgba(226,96,74,.3);transform:translateY(-1px);}
.zodiac-chip:focus-visible,.blood-chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.blood-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
.blood-chip{font:inherit;font-size:17.5px;font-weight:700;padding:12px 0;border:1px solid var(--line-soft);border-radius:11px;
  background:var(--panel-hi);color:var(--muted);cursor:pointer;transition:all .18s;backdrop-filter:blur(4px);}
.blood-chip:hover{border-color:var(--line);color:var(--text);}
.blood-chip[aria-pressed="true"]{background:linear-gradient(160deg,#d8573f,#9c3527);border-color:rgba(226,96,74,.8);color:#fff7ee;
  box-shadow:0 6px 20px rgba(192,69,49,.45),0 0 24px rgba(226,96,74,.3);transform:translateY(-1px);}

/* ───── 結果 ───── */
#result{display:none;margin:32px 0 0;}
#result.show{display:block;animation:rise .7s ease both;}
.result-card{position:relative;border-radius:22px;padding:38px 24px 32px;overflow:hidden;}
.result-card .stamp{position:absolute;top:18px;right:16px;width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:"Shippori Mincho B1",serif;font-weight:800;font-size:21px;line-height:1.2;letter-spacing:.06em;transform:rotate(8deg) scale(0);
  animation:stamp .5s cubic-bezier(.2,2.4,.4,1) .6s forwards;z-index:2;}
@keyframes stamp{to{transform:rotate(8deg) scale(1);}}
.result-eyebrow{position:relative;z-index:1;font-size:13px;letter-spacing:.32em;margin:0 0 10px;}
.result-title{position:relative;z-index:1;margin:0 0 8px;font-size:clamp(28px,7vw,38px);line-height:1.4;}
.result-you{position:relative;z-index:1;display:inline-block;margin:4px 0 18px;padding:5px 16px;border-radius:999px;font-size:14.5px;font-weight:700;letter-spacing:.1em;}
.result-body{position:relative;z-index:1;font-size:16.5px;}
.result-body p{margin:0 0 14px;}
.lucky-box{border-radius:14px;padding:20px 18px 16px;margin:20px 0;}
.lucky-box h3{margin:0 0 12px;font-size:16.5px;letter-spacing:.2em;}
.lucky-box ol{margin:0;padding-left:22px;font-size:16px;}
.lucky-box li{margin:0 0 9px;}
.lucky-meta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0;font-size:14.5px;}

/* 大当たり（金の御札・光輪つき） */
.result-card.win{color:#3a2a0c;background:linear-gradient(160deg,#fdf3d4 0%,#f0d99a 45%,#e2c178 100%);
  border:1px solid rgba(232,200,115,.9);
  box-shadow:0 30px 90px rgba(232,200,115,.3),0 0 120px rgba(232,200,115,.22);}
.result-card.win .result-title,.result-card.win h2,.result-card.win h3{color:#3a2a0c;}
.result-card.win::before{content:"";position:absolute;left:50%;top:42%;width:170%;aspect-ratio:1;transform:translate(-50%,-50%);
  background:repeating-conic-gradient(from 0deg,rgba(255,251,235,.5) 0deg 9deg,transparent 9deg 24deg);
  animation:rays 36s linear infinite;opacity:.5;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle,#000 0%,transparent 62%);mask-image:radial-gradient(circle,#000 0%,transparent 62%);}
@keyframes rays{to{transform:translate(-50%,-50%) rotate(360deg);}}
.result-card.win::after{content:"";position:absolute;inset:9px;border:1px solid rgba(140,109,51,.45);border-radius:15px;pointer-events:none;}
.result-card.win .stamp{background:radial-gradient(circle at 35% 30%,#d8573f,#9c3527);color:#fff;box-shadow:0 8px 22px rgba(142,51,40,.5);}
.result-card.win .result-eyebrow{color:#8c6d33;}
.result-card.win .result-you{background:rgba(58,42,12,.12);color:#5e4314;}
.result-card.win .lucky-box{background:rgba(255,253,244,.78);border:1px solid rgba(168,127,53,.4);}
.result-card.win .lucky-box h3{color:var(--shu-dark);}
.result-card.win .lucky-meta span{background:rgba(255,255,255,.8);border-radius:999px;padding:4px 14px;}

/* 通常・救済（月夜の帳） */
.result-card.gentle{background:linear-gradient(170deg,#272040 0%,#1d1832 55%,#181426 100%);
  border:1px solid rgba(183,168,224,.3);box-shadow:0 28px 80px rgba(0,0,0,.5),0 0 70px rgba(141,124,192,.14);}
.result-card.gentle::before{content:"";position:absolute;top:-74px;left:-60px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(253,248,226,.55) 0%,rgba(233,221,176,.3) 40%,rgba(233,221,176,0) 70%);
  filter:blur(1px);pointer-events:none;animation:moonglow 5s ease-in-out infinite;}
@keyframes moonglow{0%,100%{opacity:.5;}50%{opacity:.75;}}
.result-card.gentle::after{content:"";position:absolute;inset:9px;border:1px solid rgba(183,168,224,.22);border-radius:15px;pointer-events:none;}
.result-card.gentle .stamp{background:rgba(24,20,38,.85);border:2px solid #c8bbee;color:#e2d9f8;font-size:16.5px;
  box-shadow:0 0 24px rgba(183,168,224,.35);backdrop-filter:blur(3px);}
.result-card.gentle .result-eyebrow{color:#d4c9f2;text-shadow:0 1px 8px rgba(13,11,26,.8);}
.result-card.gentle .result-title{color:#f7f4fc;text-shadow:0 1px 10px rgba(13,11,26,.6);}
.result-card.gentle .result-you{background:rgba(183,168,224,.24);color:#f0ecfa;}
.result-card.gentle .result-body{color:#e6e1f2;}
.result-card.gentle .lucky-box{background:rgba(183,168,224,.12);border:1px solid rgba(183,168,224,.38);}
.result-card.gentle .lucky-box h3{color:#ece6f8;}
.result-card.gentle .lucky-meta span{background:rgba(183,168,224,.2);border-radius:999px;padding:4px 14px;color:#f0ecfa;}
.next-chance{margin:18px 0 0;padding:15px 17px;border-radius:12px;background:rgba(183,168,224,.14);border:1px dashed rgba(183,168,224,.6);font-size:15.5px;color:#ece7f7;}
.next-chance b{font-size:18px;color:#f0ebfa;}

/* 共有・再挑戦 */
.share-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:10px;justify-content:center;margin:22px 0 0;}
.share-row .share-btn{width:100%;}
.share-btn{display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:15.5px;font-weight:700;padding:14px 0;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:transform .14s;}
.share-btn:hover{transform:translateY(-1px);}
.share-btn.x{background:#0d0d0d;border-color:#3a3a3a;color:#fff;}
.share-btn.threads{background:#fff;border-color:#d9d9e4;color:#151515;}
.share-btn.image{grid-column:1/-1;background:linear-gradient(115deg,#f6e3a8,#d7b45c 55%,#f3d98f);border-color:rgba(248,231,176,.75);color:#302106;box-shadow:0 8px 24px rgba(232,200,115,.18);}
.broadcast-share{margin:24px 0;padding:20px;border:1px solid rgba(232,200,115,.28);border-radius:16px;
  background:linear-gradient(145deg,rgba(232,200,115,.1),rgba(120,110,200,.12));text-align:center;}
.broadcast-share p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.75;}
.broadcast-share .share-row{margin:0;}
.broadcast-share .share-note{margin:11px 0 0;color:var(--faint);font-size:12px;line-height:1.65;}
.retry-link{display:block;text-align:center;margin:20px auto 0;font-size:14.5px;color:var(--muted);text-decoration:underline;cursor:pointer;background:none;border:none;font-family:inherit;}

/* ───── 解説セクション ───── */
.section{margin:52px 0 0;}
.section h2{font-size:22px;letter-spacing:.1em;display:flex;align-items:center;gap:13px;margin:0 0 18px;}
.section h2::before{content:"";width:4px;height:26px;background:linear-gradient(180deg,var(--gold-hi),var(--gold-deep));border-radius:3px;flex:none;box-shadow:0 0 12px rgba(232,200,115,.5);}
.section p{font-size:16px;margin:0 0 14px;color:var(--muted);}
.kichi-dl{margin:0;}
.kichi-dl dt{font-family:"Shippori Mincho B1",serif;font-weight:700;font-size:17.5px;color:var(--gold);margin:20px 0 4px;}
.kichi-dl dd{margin:0;font-size:15.5px;color:var(--muted);}
.faq-item{background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:17px 19px;margin:0 0 12px;backdrop-filter:blur(6px);}
.faq-item h3{margin:0 0 6px;font-size:16.5px;color:var(--gold);}
.faq-item p{margin:0;font-size:15.5px;color:var(--muted);}
.other-links{display:grid;gap:11px;}
.other-links a{display:block;background:var(--panel);border:1px solid var(--line-soft);border-radius:14px;padding:15px 19px;font-size:16px;font-weight:700;color:var(--text);backdrop-filter:blur(6px);transition:border-color .2s,box-shadow .2s,transform .14s;}
.other-links a span{display:block;font-size:13.5px;font-weight:400;color:var(--muted);margin-top:2px;}
.other-links a:hover{border-color:var(--line);box-shadow:0 0 26px rgba(232,200,115,.12);transform:translateY(-1px);}
.disclaimer{margin:44px 0 0;font-size:13px;color:var(--faint);border-top:1px solid var(--line-soft);padding-top:18px;}
footer{margin:44px 0 0;padding:24px 0 0;border-top:1px solid var(--line-soft);text-align:center;font-size:14.5px;color:var(--muted);}
footer a{color:var(--gold);}

/* スクロール出現 */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.rv.in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  .result-card .stamp{transform:rotate(8deg) scale(1);}
  .winner-item{opacity:1;transform:none;}
  .rv{opacity:1;transform:none;}
  #kira{display:none;}
  #flow{display:none;}
  .scroll-aura{display:none;}
}
@media (max-width:430px){
  .wrap{padding-right:16px;padding-left:16px;}
  header.site{margin:12px -9px 0;padding-top:8px;}
  .koyomi-hero{padding-top:34px;margin-bottom:26px;}
  /* 開運度カード: ラベルと円周が重ならないよう、内側に十分な余白を取る */
  .score-card{flex-direction:column;text-align:center;gap:16px;padding:24px 16px 20px;}
  .score-circle{width:148px;height:148px;}
  .score-inner{inset:18px;}
  .sc-label{font-size:11px;letter-spacing:.06em;}
  .sc-num{font-size:42px;}
  .score-right{width:100%;}
  .stars{font-size:21px;letter-spacing:.04em;}
  .score-sum{font-size:15px;line-height:1.9;margin-top:12px;}
  /* 小さい画面では装飾を本文の外へ置かず、読みやすい幅を優先する */
  .sec-card{display:block;padding:22px 18px;}
  .sec-card>.sec-icon{display:none;}
  .chance-head{display:block;}
  .chance-head>.sec-icon{display:none;}
  .sec-body h3{font-size:19px;gap:9px;margin-top:0;}
  .sec-body h3::after{opacity:.55;}
  .sec-body p,.sec-body li{font-size:15.5px;line-height:1.95;}
  .rsn{display:block;margin:17px 0 0;padding-top:14px;border-top:1px solid rgba(232,200,115,.18);}
  .rsn-i{display:none;}
  .rsn-t b{margin-bottom:4px;font-size:16px;}
  .rsn-t span{font-size:15px;line-height:1.9;}
  .todo-item{padding:12px 13px;line-height:1.8;}
  .loading-circle{width:96px;height:96px;}
  .loading-text{width:min(84vw,330px);font-size:16px;line-height:1.85;letter-spacing:.08em;}
}
@media (max-width:350px){
  #reveal-btn{font-size:15.5px;letter-spacing:.04em;text-indent:.04em;}
}
@media (hover:none){
  /* タッチ端末でhoverが固着しないように */
  .divine-btn:hover{transform:none;}
  .share-btn:hover{transform:none;}
  .share-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .zodiac-chip:not([aria-pressed="true"]):hover{border-color:var(--line-soft);color:var(--muted);}
  .blood-chip:not([aria-pressed="true"]):hover{border-color:var(--line-soft);color:var(--muted);}
  .omk-card:not(.open):hover .omk-in{transform:none;}
  .other-links a:hover{transform:none;box-shadow:none;border-color:var(--line-soft);}
}
@media (max-width:380px){
  .kichi-badge{font-size:15px;padding:4px 11px;}
  .result-card .stamp{width:66px;height:66px;font-size:17.5px;}
  .zodiac-chip{font-size:14.5px;}
  .zodiac-chip small{font-size:10.5px;}
  .winner-item{font-size:16px;}
}

.tcs-static{position:relative;z-index:2;max-width:680px;margin:26px auto;padding:0 16px}
  .tcs-card{background:rgba(22,20,34,.82);border:1px solid #d9b85555;border-radius:18px;padding:20px 18px;margin:18px 0;box-shadow:0 8px 24px rgba(0,0,0,.4)}
  .tcs-card h2{margin:0 0 10px;color:#efeaf6;font-size:1.25rem}
  .tcs-card h3{color:#d9b855;border-bottom:1px solid #d9b85555;padding-bottom:6px;margin:24px 0 8px;font-size:1.05rem}
  .tcs-card p,.tcs-card li,.tcs-card dd{line-height:1.92;font-size:.94rem;color:#efeaf6;margin:6px 0}
  .tcs-axes{display:grid;gap:12px;margin:14px 0}
  .tcs-axes dt{font-weight:800;color:#d9b855;margin-bottom:2px}
  .tcs-axes dd{margin:0;color:#c3bcd6}
  .tcs-item{border:1px solid #d9b85555;border-radius:14px;padding:14px 16px;margin:12px 0;background:rgba(255,255,255,.05)}
  .tcs-item h4{margin:0 0 4px;font-size:1.03rem;color:#efeaf6;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
  .tcs-sub{font-size:.72rem;font-weight:700;color:#c3bcd6;letter-spacing:.05em}
  .tcs-catch{font-weight:700;color:#d9b855;margin:2px 0 8px}
  .tcs-label{font-weight:700;margin:8px 0 2px;color:#efeaf6}
  .tcs-item ul{margin:0;padding-left:1.2em;color:#c3bcd6}
  .tcs-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;padding:0;list-style:none}
  .tcs-tags li,.tcs-tag{font-size:.74rem;font-weight:700;color:#d9b855;border:1px solid currentColor;border-radius:999px;padding:2px 10px}
  .tcs-note{color:#c3bcd6;font-size:.86rem;border-top:1px dashed #d9b85555;padding-top:8px;margin-top:10px}
  .tcs-column p{line-height:2}
.tc-diagnosis-shell{position:relative;z-index:2;width:min(680px,calc(100% - 32px));margin:32px auto 64px}
.tc-diagnosis-card{background:#fff;border:1px solid rgba(20,20,40,.12);border-radius:20px;padding:24px 20px;box-shadow:0 16px 40px rgba(20,20,40,.12)}
.tc-diagnosis-progress{height:10px;border-radius:999px;background:rgba(120,120,140,.18);overflow:hidden}.tc-diagnosis-progress>i{display:block;height:100%;width:0;background:var(--accent,#765bd8);transition:width .2s ease}
.tc-diagnosis-count{text-align:right;margin:8px 0 18px;font-weight:700}.tc-diagnosis-question{font-size:clamp(19px,5vw,26px);line-height:1.6;margin:0 0 20px;white-space:pre-line}
.tc-diagnosis-image{display:none;width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin:0 0 18px}.tc-diagnosis-image[src]{display:block}
.tc-diagnosis-answer{display:flex;width:100%;min-height:52px;align-items:center;text-align:left;padding:14px 16px;margin:10px 0;border:1px solid rgba(20,20,40,.16);border-radius:12px;background:#fff;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.tc-diagnosis-answer:hover,.tc-diagnosis-answer:focus-visible{border-color:var(--accent,#765bd8);outline:3px solid color-mix(in srgb,var(--accent,#765bd8) 22%,transparent)}
.tc-diagnosis-back{min-height:44px;margin-top:12px;border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}
.tc-result-card h1{font-size:clamp(25px,7vw,38px);line-height:1.45;margin:8px 0}.tc-result-catch{font-size:18px;font-weight:700}.tc-result-section{margin:20px 0;padding-top:18px;border-top:1px solid rgba(20,20,40,.12)}
.tc-result-section h2{font-size:18px;margin:0 0 8px}.tc-result-section p{white-space:pre-line}.tc-result-section ul{padding-left:1.3em}.tc-result-section li+li{margin-top:6px}
.tc-result-visual{display:block;width:min(220px,70%);height:auto;margin:0 auto 14px}.tc-result-number{display:grid;place-items:center;width:130px;aspect-ratio:1;margin:0 auto 14px;border-radius:50%;background:var(--accent,#765bd8);color:#fff;font-size:44px;font-weight:900}
.tc-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.tc-result-actions a,.tc-result-actions button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 16px;border:1px solid rgba(20,20,40,.18);border-radius:999px;background:#fff;color:inherit;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.tc-result-actions .primary{background:#17171d;color:#fff}
@media(max-width:480px){.tc-diagnosis-shell{width:min(100% - 20px,680px);margin-top:20px}.tc-diagnosis-card{padding:20px 16px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.tc-diagnosis-progress>i{transition:none}}

.tc-compat-start{display:flex;width:min(420px,calc(100% - 32px));min-height:52px;align-items:center;justify-content:center;margin:24px auto;padding:12px 20px;border-radius:999px;background:#17171d;color:#fff;font-weight:700;text-decoration:none;position:relative;z-index:10}
