/* 萬象暦占い　翡翠の見た目
   ※ 手で直さないこと。assets/bansho.css から作られたものです。
   作り方:  python tools/make-emerald-css.py
   青系の色相(195〜272度)だけを翡翠(152〜176度)へ回してあります。
   明るさ・彩度・並びは一字も変えていません。 */
/* 萬象暦占い　画面の見た目
   bansho.html の <style> から機械的に写したもの。一行も変えていない。
   占いごとのページ(senjutsu/)も、結果の見た目にこれを使う。 */
:root{
  --sumi:#081812; --kon:#0E3023; --ai:#164F39; --ai2:#1E664B;
  --kin:#C9A227; --kin-l:#F4DFA0; --kin-d:#8A6A1C;
  --shu:#C8483A; --gin:#C3DAD1; --text:#E9F6F1; --muted:#9CC1B2;
  --moku:#3E8E7E; --ka:#C8483A; --do:#C9A227; --gon:#DCECE5; --sui:#3D6FA8;
  --line:rgba(201,162,39,.28); --line2:rgba(120,190,161,.20);
}
*{box-sizing:border-box;}
.skip-link{position:fixed;left:12px;top:12px;z-index:200;transform:translateY(-180%);
  padding:10px 14px;background:#F4DFA0;color:#0E3023;border-radius:2px;font-weight:700;text-decoration:none;}
.skip-link:focus{transform:none;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--kin-l);outline-offset:3px;}
html,body{margin:0;padding:0;}
input,select,textarea,[contenteditable]{-webkit-user-select:text;user-select:text;}
/* scroll-behavior:smooth はスマホ実機でプログラムスクロールとタッチが競合し
   「上に戻れない」症状を生むため使わない(必要な箇所は個別に指定) */
html{scroll-padding-top:76px;overflow-x:clip;background:#081812}
body{
  background:var(--sumi); color:var(--text);
  font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic","Noto Sans JP",system-ui,sans-serif;
  font-size:15px; line-height:1.95; -webkit-font-smoothing:antialiased;
  /* overflow-x:hidden はiOS等でbodyを独立スクロールコンテナにし、windowスクロールと
     分離して「上に戻れない+下に謎の空白」を生む。clip はコンテナ化しない(旧環境はhiddenで代替) */
  overflow-x:hidden;overflow-x:clip;
  /* スマホで長押し→テキスト選択に入ると、以後のスワイプが選択拡張に食われて
     スクロールが「引っかかって戻れない」状態になるため、アプリ同様に選択を切る */
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
.mincho{font-family:"Shippori Mincho B1","Yu Mincho","YuMincho",serif;}
.mono{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;}

/* ---- 背景：夜空と和紙 ---- */
.bg{position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(120% 80% at 50% -10%, #1D5E45 0%, #0E3023 42%, #081812 100%);}
.bg::after{content:"";position:absolute;inset:0;opacity:.10;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");}
.stars{position:fixed;inset:0;z-index:-1;pointer-events:none;}

/* ---- 共通 ---- */
.wrap{max-width:1040px;margin:0 auto;padding:0 18px;}
.gold{background:linear-gradient(160deg,var(--kin-l) 0%,var(--kin) 38%,var(--kin-d) 62%,var(--kin-l) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.eyebrow{font-size:11.5px;letter-spacing:.42em;color:var(--kin);margin:0 0 10px;}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--kin) 20%,var(--kin) 80%,transparent);opacity:.55;}
.card{position:relative;background:linear-gradient(180deg,rgba(22,79,57,.72),rgba(14,48,35,.72));
  border:1px solid var(--line2);border-radius:2px;padding:24px 26px;margin-bottom:18px;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.card::before,.card::after{content:"";position:absolute;width:14px;height:14px;
  border:1px solid var(--kin);opacity:.6;}
.card::before{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.card::after{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.h{font-size:12px;letter-spacing:.34em;color:var(--kin);margin:0 0 16px;display:flex;align-items:center;gap:12px;}
.h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}
.note{font-size:13.5px;color:var(--muted);line-height:1.85;}

/* ---- ヘッダ ---- */
.masthead{text-align:center;padding:26px 0 6px;}

.frame::after{content:"";position:absolute;inset:12px;border:1px solid rgba(201,162,39,.16);
  pointer-events:none;}

.titleframe{position:relative;max-width:780px;margin:0 auto;padding:38px 38px 34px;
  min-height:230px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;
  border:1px solid rgba(226,194,118,.62);border-radius:3px;
  background:
    linear-gradient(90deg,rgba(5,24,17,.08),rgba(5,24,17,.42) 34%,rgba(5,24,17,.42) 66%,rgba(5,24,17,.08)),
    url("assets/title-celestial-premium.jpg") center center/cover no-repeat;
  box-shadow:0 22px 55px -30px rgba(192,158,80,.78),inset 0 0 0 1px rgba(255,239,194,.07);}
.titleframe::before{content:"";position:absolute;z-index:0;inset:0;
  background:radial-gradient(ellipse at center,rgba(3,19,13,.1),rgba(3,19,13,.3) 72%,rgba(3,19,13,.08));
  pointer-events:none;}
.titleframe::after{content:"";position:absolute;z-index:1;inset:9px;border:1px solid rgba(244,223,160,.27);border-radius:1px;pointer-events:none;}
.titleframe .shine::after{display:none;}
.tf-corner{position:absolute;z-index:2;display:block;width:34px;height:34px;pointer-events:none;opacity:.94;}
.tf-corner::after{content:"";position:absolute;width:5px;height:5px;background:#F0D68B;transform:rotate(45deg);box-shadow:0 0 9px rgba(240,214,139,.46);}
.tf-corner.tl{left:7px;top:7px;border-left:2px solid #E2C475;border-top:2px solid #E2C475;border-top-left-radius:18px;}
.tf-corner.tr{right:7px;top:7px;border-right:2px solid #E2C475;border-top:2px solid #E2C475;border-top-right-radius:18px;}
.tf-corner.bl{left:7px;bottom:7px;border-left:2px solid #E2C475;border-bottom:2px solid #E2C475;border-bottom-left-radius:18px;}
.tf-corner.br{right:7px;bottom:7px;border-right:2px solid #E2C475;border-bottom:2px solid #E2C475;border-bottom-right-radius:18px;}
.tf-corner.tl::after{left:-3px;top:-3px;}.tf-corner.tr::after{right:-3px;top:-3px;}
.tf-corner.bl::after{left:-3px;bottom:-3px;}.tf-corner.br::after{right:-3px;bottom:-3px;}
.freeline{max-width:780px;margin:10px auto 0;text-align:center;font-size:11.5px;
  letter-spacing:.12em;color:rgba(214,225,221,.52);padding:0;}
.free-declaration{max-width:780px;margin:15px auto 0;display:grid;grid-template-columns:minmax(155px,190px) minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid rgba(226,194,118,.42);border-radius:18px;background:linear-gradient(120deg,rgba(226,194,118,.13),rgba(5,25,18,.78) 40%,rgba(16,54,39,.74));box-shadow:0 20px 48px -34px rgba(226,194,118,.85),inset 0 1px 0 rgba(255,243,208,.05)}
.free-declaration-mark{display:flex;min-width:0;padding:15px 18px;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgba(226,194,118,.28);background:linear-gradient(145deg,rgba(236,211,145,.16),rgba(122,91,29,.08))}
.free-declaration-mark small{color:rgba(240,231,205,.78);font-size:12px;line-height:1.45;letter-spacing:.12em}.free-declaration-mark strong{margin-top:2px;color:#f2dc9e;font:600 clamp(25px,3.2vw,32px)/1.25 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.1em;text-indent:.1em;text-shadow:0 2px 17px rgba(216,179,86,.24)}
.free-declaration-copy{display:flex;min-width:0;padding:14px 18px;flex-direction:column;justify-content:center;text-align:left}.free-declaration-copy>b{color:#f4ead0;font:500 14px/1.65 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.045em}.free-declaration-copy>span{margin-top:2px;color:rgba(218,229,224,.76);font-size:12px;line-height:1.7;letter-spacing:.025em}
.free-facts{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 0;padding:0;list-style:none}.free-facts li{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid rgba(226,194,118,.18);border-radius:999px;background:rgba(255,255,255,.035);color:#e6e1d5;font-size:12px;line-height:1.4}.free-facts li::before{content:"✓";color:#f2dc9e;font-size:11px}
@media(max-width:600px){.free-declaration{grid-template-columns:1fr;margin-top:11px;border-radius:16px}.free-declaration-mark{padding:9px 13px;border-right:0;border-bottom:1px solid rgba(226,194,118,.22)}.free-declaration-mark small{font-size:11.5px}.free-declaration-mark strong{font-size:25px}.free-declaration-copy{padding:11px 13px 13px;text-align:center}.free-declaration-copy>b{font-size:13.5px}.free-declaration-copy>span{font-size:12px}.free-facts{justify-content:center;margin-top:8px}.free-facts li{font-size:11.5px}}
.logo-reading{position:relative;z-index:1;margin:0 0 7px;font-size:10.5px;line-height:1;
  letter-spacing:.36em;text-indent:.36em;color:rgba(230,214,176,.75);}
.logo{position:relative;z-index:1;font-family:"Shippori Mincho B1","Yu Mincho",serif;margin:0;
  line-height:1.12;display:flex;align-items:baseline;justify-content:center;gap:.2em;flex-wrap:nowrap;}
.logo-main,.logo-uranai{background:linear-gradient(180deg,#F0E3BD 0%,#D4BA79 58%,#A98C4E 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.68)) drop-shadow(0 0 18px rgba(223,190,108,.14));}
.logo-main{font-size:clamp(42px,7vw,68px);letter-spacing:.08em;text-indent:.08em;}
.logo-uranai{font-size:clamp(24px,4vw,36px);letter-spacing:.1em;text-indent:.1em;font-weight:650;opacity:.96;}
.headline{position:relative;z-index:1;margin:14px 0 0;font-size:clamp(11px,1.4vw,14px);
  letter-spacing:.18em;text-indent:.18em;color:rgba(241,232,209,.82);}
.headline::before,.headline::after{display:none;}
.whatis{font-size:15px;line-height:1.95;color:var(--text);margin:18px auto 0;max-width:680px;}
.whatis b{color:var(--kin-l);font-weight:400;}
.cta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:650px;margin:20px auto 0;}
.cta-main,.cta-sub{display:flex;min-height:58px;flex-direction:column;align-items:center;justify-content:center;
  border-radius:2px;text-decoration:none;font-family:"Shippori Mincho B1","Yu Mincho",serif;}
.cta-main{background:linear-gradient(180deg,#F4DFA0,#C9A227 55%,#9C7A22);color:#123A2C;
  border:1px solid transparent;box-shadow:0 4px 22px -8px rgba(201,162,39,.9);}
.cta-main:hover{filter:brightness(1.08);}
.cta-sub{border:1px solid var(--kin);color:var(--kin-l);background:rgba(8,24,18,.22);}
.cta-sub:hover{background:rgba(201,162,39,.12);}
.cta-main b,.cta-sub b{font-size:15px;line-height:1.4;letter-spacing:.12em;font-weight:600;}
.cta-main small,.cta-sub small{margin-top:3px;font:10.5px/1.4 "Hiragino Sans","Yu Gothic UI",sans-serif;
  letter-spacing:.06em;opacity:.78;}
.systems-details{max-width:820px;margin:17px auto 0;border:0;padding:0;text-align:center;}
.systems-details summary{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;color:var(--muted);
  font-size:11.5px;letter-spacing:.1em;list-style:none;border-bottom:1px solid var(--line2);}
.systems-details summary::-webkit-details-marker{display:none;}
.systems-details summary::after{content:"＋";color:var(--kin);font-size:13px;}
.systems-details[open] summary::after{content:"−";}
.sysbar{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:12px auto 0;max-width:820px;}
.sys-i{border:1px solid var(--line2);border-radius:2px;padding:7px 11px;font-size:11.5px;
  color:var(--muted);line-height:1.5;text-align:center;background:rgba(14,48,35,.5);}
.sys-i b{display:block;font-size:12.5px;font-weight:400;color:var(--kin-l);
  letter-spacing:.06em;margin-bottom:1px;font-family:"Shippori Mincho B1","Yu Mincho",serif;}
.trust-strip{display:flex;justify-content:center;gap:10px 20px;flex-wrap:wrap;max-width:700px;
  margin:16px auto 0;padding:10px 8px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);
  list-style:none;color:var(--gin);font-size:12px;}
.trust-strip li::before{content:"✓";margin-right:6px;color:var(--kin);}
.name-sister-link{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;
  max-width:650px;margin:15px auto 0;padding:11px 14px;border:1px solid rgba(201,162,39,.32);
  background:linear-gradient(90deg,rgba(201,162,39,.09),rgba(8,24,18,.2));color:inherit;text-align:left;text-decoration:none;}
.name-sister-link:hover{border-color:rgba(201,162,39,.65);background:rgba(201,162,39,.12);}
.name-sister-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--kin);border-radius:50%;
  color:var(--kin-l);font:500 18px/1 "Shippori Mincho B1","Yu Mincho",serif;}
.name-sister-copy small{display:block;color:var(--kin);font-size:9.5px;letter-spacing:.18em;}
.name-sister-copy b{display:block;color:var(--text);font:500 14px/1.45 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.06em;}
.name-sister-copy span{display:block;color:var(--muted);font-size:11.5px;line-height:1.5;}
.name-sister-arrow{color:var(--kin-l);font-size:20px;}

/* ---- ヒーロー ---- */
.hero{padding:14px 0 10px;text-align:center;}
.today-band{display:flex;align-items:baseline;justify-content:center;gap:14px;
  margin:0 0 14px;flex-wrap:wrap;}
.td-y{font-size:13px;letter-spacing:.2em;color:var(--muted);}
.td-md{font-family:"Shippori Mincho B1","Yu Mincho",serif;line-height:1;
  display:flex;align-items:baseline;gap:2px;}
.td-m,.td-d{font-size:clamp(38px,8.5vw,58px);
  background:linear-gradient(168deg,#FFF8E2,#F4DFA0 24%,#C9A227 52%,#E8CE84 82%,#FFF8E2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-family:ui-monospace,"SF Mono",monospace;letter-spacing:-.01em;}
.td-sep{font-size:clamp(17px,3.6vw,23px);color:var(--kin-l);margin-right:6px;}
.td-w{font-size:13px;letter-spacing:.2em;color:var(--gin);
  border:1px solid var(--line2);border-radius:99px;padding:3px 13px;}
.dial-wrap{position:relative;width:min(94vw,460px);margin:0 auto;}
#dial{width:100%;height:auto;display:block;}
.hero-koyomi{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:14px 0 20px;}
.koyomi-chip{border:1px solid var(--line);border-radius:99px;padding:3px 15px;font-size:12px;color:var(--gin);
  background:rgba(201,162,39,.05);}
.koyomi-chip b{color:var(--kin);font-weight:400;}

.today-word{max-width:660px;margin:0 auto;font-size:17px;line-height:2.1;letter-spacing:.02em;}
.today-word .lead{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(20px,4.6vw,27px);
  line-height:1.7;display:block;margin-bottom:12px;color:var(--kin-l);}


.sec-tag{display:inline-flex;align-items:center;gap:11px;margin:0 auto 16px;
  border:1px solid var(--line2);border-radius:99px;padding:5px 8px 5px 5px;
  background:linear-gradient(180deg,rgba(22,79,57,.6),rgba(14,48,35,.6));}
.st-b{background:linear-gradient(180deg,#F4DFA0,#C9A227);color:#123A2C;font-weight:700;
  font-size:12px;letter-spacing:.18em;text-indent:.18em;padding:4px 12px;border-radius:99px;}
.st-n{font-size:11.5px;color:var(--muted);letter-spacing:.04em;padding-right:6px;}
.sec-tag-you{margin:0 0 4px;}
.sec-tag-you .st-b{background:linear-gradient(180deg,#E9A9A0,#C8483A);color:#FFF3F0;}
.hero-cta{display:inline-block;margin-top:16px;border:1px solid var(--kin);
  color:var(--kin-l);text-decoration:none;padding:10px 24px;border-radius:2px;
  font-size:13px;letter-spacing:.14em;font-family:"Shippori Mincho B1","Yu Mincho",serif;}
.hero-cta:hover{background:rgba(201,162,39,.14);}

/* ---- 本日の色 ---- */
.colorcard{padding:25px 30px;}
.color-block{display:flex;align-items:center;gap:32px;}
.swatch{position:relative;width:168px;height:168px;border-radius:50%;flex:0 0 auto;
  box-shadow:0 0 0 1px rgba(255,255,255,.16), 0 0 34px -8px currentColor;}
.swatch i{position:absolute;inset:11px;border-radius:50%;background:currentColor;}
.swatch b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:72px;font-weight:500;
  color:#0A2018;text-shadow:0 1px 0 rgba(255,255,255,.4);}
.color-body{min-width:0;}
.color-head{font-size:11px;letter-spacing:.4em;color:var(--kin);text-indent:.4em;}
.color-name{font-size:clamp(24px,5.4vw,34px);letter-spacing:.14em;color:var(--kin-l);
  line-height:1.3;margin-top:2px;}
.color-sub{font-size:12px;color:var(--gin);letter-spacing:.04em;margin:2px 0 5px;}
.colorcard .note{font-size:12px;line-height:1.75;}

/* ---- 章の区切り ---- */
.divider{margin:64px 0 26px;text-align:center;}
.dv-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(201,162,39,.55) 30%,
  rgba(201,162,39,.55) 70%,transparent);}
.dv-body{padding:22px 10px 20px;}
.dv-ttl{display:block;font-size:clamp(28px,6.6vw,42px);letter-spacing:.22em;text-indent:.22em;
  line-height:1.35;
  background:linear-gradient(168deg,#FFF8E2,#F4DFA0 22%,#C9A227 50%,#8A6A1C 64%,#EAD28C 82%,#FFF8E2);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));}
.dv-sub{display:block;font-size:12.5px;letter-spacing:.16em;color:var(--gin);margin-top:11px;}

/* ---- 引く占いの切り替え ---- */
.draw-picker{max-width:760px;margin:0 auto 16px;padding:12px;border:1px solid rgba(201,162,39,.26);border-radius:12px;
  background:rgba(7,29,21,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);}
.draw-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px 10px;}
.draw-picker-copy{min-width:0;}.draw-picker-copy small{display:block;color:var(--kin);font-size:10px;letter-spacing:.2em;}
.draw-picker-copy b{display:block;margin-top:3px;color:var(--text);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;font-weight:500;letter-spacing:.08em;}
.draw-sound-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 11px;border:1px solid var(--line2);
  border-radius:99px;background:rgba(5,24,17,.68);color:var(--gin);font-family:inherit;font-size:11.5px;cursor:pointer;white-space:nowrap;}
.draw-sound-toggle:hover{border-color:rgba(201,162,39,.48);}.draw-sound-toggle:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}
.draw-sound-toggle[aria-pressed="true"]{border-color:rgba(201,162,39,.62);background:rgba(201,162,39,.12);color:var(--kin-l);}
.draw-sound-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-size:12px;}
.draw-sound-toggle b{font:600 11px/1 ui-monospace,monospace;letter-spacing:.08em;}
.draw-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;}
.draw-tab{display:flex;min-height:62px;align-items:center;justify-content:center;gap:10px;padding:9px 12px;
  border:1px solid var(--line2);border-radius:8px;background:rgba(14,48,35,.68);color:var(--gin);
  font-family:inherit;cursor:pointer;transition:border-color .2s,background .2s,color .2s;}
.draw-tab:hover{border-color:rgba(201,162,39,.55);color:var(--text);}
.draw-tab[aria-selected="true"]{border-color:var(--kin);color:var(--kin-l);
  background:linear-gradient(180deg,rgba(201,162,39,.14),rgba(14,48,35,.75));}
.draw-tab-icon{display:block;width:36px;height:36px;flex:0 0 36px;color:var(--kin);filter:drop-shadow(0 3px 7px rgba(201,162,39,.16));}
.draw-tab-icon *{vector-effect:non-scaling-stroke;}
.draw-tab span:last-child{display:flex;flex-direction:column;text-align:left;line-height:1.45;}
.draw-tab b{font-size:13.5px;font-weight:500;letter-spacing:.08em;}
.draw-tab small{font-size:11px;color:var(--muted);}
.draw-panel[hidden]{display:none!important;}
.draw-panel.on{animation:drawPanelIn .3s ease both;}
@keyframes drawPanelIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
/* ---- おみくじ ---- */
.omi-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:26px;align-items:center;}
.omi-left{text-align:center;position:relative;}
#tube{width:148px;height:190px;display:block;margin:0 auto 8px;overflow:visible;
  filter:drop-shadow(0 15px 13px rgba(0,0,0,.48));}
.omi-right{min-height:150px;display:flex;align-items:center;}
.omi-right.is-result-ready{justify-content:center;text-align:center;}
.omi-right.is-result-ready #drawBtn{min-width:190px;}
.omi-idle{text-align:left;opacity:.85;}
.omi-idle-mark{font-size:34px;color:var(--kin);opacity:.5;line-height:1;margin-bottom:8px;}
.shakeit{animation:shake .84s cubic-bezier(.4,.08,.22,.96) 2;transform-box:fill-box;transform-origin:50% 92%;}
@keyframes shake{
  0%,100%{transform:rotate(0) translate3d(0,0,0);}
  12%{transform:rotate(-7deg) translate3d(-2px,-5px,0);}
  28%{transform:rotate(9deg) translate3d(3px,-10px,0);}
  44%{transform:rotate(-8deg) translate3d(-3px,-5px,0);}
  61%{transform:rotate(6deg) translate3d(2px,-8px,0);}
  78%{transform:rotate(-3deg) translate3d(-1px,-2px,0);}
}
#stick{opacity:0;transform-box:fill-box;transform-origin:50% 100%;}
.stick-out{animation:stickout 1.1s cubic-bezier(.18,.84,.26,1) .12s forwards;}
.stick-set{opacity:1!important;transform:translate3d(0,-78px,0) rotate(1.5deg);}
@keyframes stickout{
  0%{opacity:0;transform:translate3d(0,3px,0) rotate(-2deg);}
  14%{opacity:1;}
  62%{opacity:1;transform:translate3d(0,-88px,0) rotate(2.4deg);}
  79%{opacity:1;transform:translate3d(0,-72px,0) rotate(.4deg);}
  100%{opacity:1;transform:translate3d(0,-78px,0) rotate(1.5deg);}
}
.draw-btn{background:linear-gradient(180deg,#1D6046,#134632);
  border:1px solid var(--kin);color:var(--kin-l);padding:11px 30px;border-radius:2px;
  font-family:inherit;font-size:14px;letter-spacing:.28em;text-indent:.28em;cursor:pointer;transition:.25s;}
.draw-btn:hover{background:linear-gradient(180deg,#267456,#18533C);box-shadow:0 0 22px -6px var(--kin);}
.draw-btn:disabled{opacity:.42;cursor:default;box-shadow:none;}
.draw-btn:focus-visible{outline:2px solid var(--kin-l);outline-offset:3px;}
#omikujiResult{opacity:0;transform:translateY(10px);transition:.7s ease;display:none;width:100%;}
#omikujiResult.on{opacity:1;transform:none;display:block;}
.fortune-rank{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(54px,13vw,80px);
  letter-spacing:.14em;text-indent:.14em;line-height:1.15;margin:10px auto 0;
  /* 引いた運ごとの色(style属性のcolor)を枠にも回す */
  display:inline-block;padding:10px 30px;border:2.5px solid currentColor;border-radius:16px;
  background:rgba(255,255,255,.04);box-shadow:0 0 22px -6px currentColor,inset 0 0 26px -14px currentColor;}
.fortune-no{font-size:11.5px;letter-spacing:.38em;color:var(--muted);}
.fortune-body{margin:12px 0 0;font-size:14.5px;}
.fortune-line{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px;}
.fortune-line span{border:1px solid var(--line2);border-radius:2px;padding:4px 12px;
  font-size:12.5px;color:var(--gin);}

/* ---- 入力 ---- */
.form2{max-width:590px;margin:0 auto;}
.frow{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;
  padding:9px 0;border-bottom:1px solid var(--line2);align-items:center;}
.frow:first-child{padding-top:2px;}
.frow:last-child{border-bottom:0;padding-bottom:2px;}
.flabel{font-size:12.5px;letter-spacing:.12em;color:var(--gin);
  display:flex;align-items:center;flex-wrap:wrap;gap:0 8px;line-height:1.5;}
.flabel em{font-style:normal;font-size:10px;letter-spacing:.08em;color:var(--shu);
  border:1px solid rgba(200,72,58,.55);border-radius:2px;padding:0 4px;}
.flabel em.opt{color:var(--muted);border-color:var(--line2);}
.fbody{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;}
.brsp{display:none;}
.fhint-in{font-size:12px;color:var(--muted);line-height:1.5;}
label{display:block;font-size:11px;letter-spacing:.24em;color:var(--muted);margin-bottom:6px;}
input,select{background:rgba(6,24,17,.85);border:1px solid var(--line2);color:var(--text);
  padding:8px 10px;border-radius:2px;font-size:14px;font-family:inherit;}
select{color-scheme:dark;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--kin) 50%),
    linear-gradient(135deg,var(--kin) 50%,transparent 50%);
  background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:27px;}
input:focus,select:focus{outline:2px solid var(--kin);outline-offset:1px;}
input:disabled,select:disabled{opacity:.3;}
.dsel{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.dsel select{padding:8px 24px 8px 9px;}
.dsel span{font-size:12px;color:var(--muted);flex:0 0 auto;}
#inY{min-width:88px;} #inM,#inD,#inH,#inMin{min-width:62px;}
.wpref{width:170px;} .wname{width:230px;}
.sw{display:inline-flex;align-items:center;gap:5px;margin:0;cursor:pointer;
  font-size:11.5px;color:var(--muted);}
.sw input{width:15px;height:15px;accent-color:var(--kin);margin:0;padding:0;flex:0 0 auto;}
.sw span{font-size:11.5px;letter-spacing:0;}
.go-btn{display:block;margin:18px auto 0;background:linear-gradient(180deg,var(--kin),var(--kin-d));
  border:0;color:#123A2C;padding:13px 52px;border-radius:2px;font-family:inherit;font-weight:700;
  font-size:15px;letter-spacing:.3em;text-indent:.3em;cursor:pointer;}
.go-btn:hover{filter:brightness(1.12);}
.go-btn:focus-visible{outline:2px solid var(--kin-l);outline-offset:3px;}
.go-btn:disabled{opacity:.38;cursor:not-allowed;filter:none;box-shadow:none;}
.formfoot{text-align:center;margin-top:12px;font-size:12px;line-height:1.7;}
.saved-note{text-align:center;font-size:13px;color:var(--kin);margin-top:10px;line-height:1.7;}
.saved-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:7px;}
.saved-note button{background:none;border:0;color:var(--muted);text-decoration:underline;
  cursor:pointer;font-family:inherit;font-size:11.5px;padding:4px 6px;}
.saved-note .saved-result-btn{border:1px solid rgba(201,162,39,.55);color:var(--kin-l);text-decoration:none;
  padding:7px 13px;background:rgba(201,162,39,.08);letter-spacing:.08em;}
.saved-note .saved-result-btn:hover{background:rgba(201,162,39,.15);}

/* ---- 占い方と二人の相性 ---- */
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:590px;margin:0 auto 22px;}
.mode-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;
  border:1px solid var(--line2);border-radius:2px;background:rgba(6,24,17,.58);color:var(--muted);
  font-family:inherit;cursor:pointer;transition:.2s;}
.mode-btn strong{display:block;color:inherit;font-size:14px;letter-spacing:.12em;font-weight:500;}
.mode-btn small{display:block;margin-top:2px;font-size:11px;letter-spacing:.04em;opacity:.78;}
.mode-btn[aria-selected="true"]{border-color:var(--kin);color:var(--kin-l);
  background:linear-gradient(180deg,rgba(201,162,39,.16),rgba(14,48,35,.78));
  box-shadow:0 0 22px -13px var(--kin);}
.mode-mark{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:24px;line-height:1;color:var(--kin);}
.person-heading{display:none;align-items:center;gap:12px;max-width:590px;margin:0 auto 9px;
  color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;letter-spacing:.16em;}
.person-heading::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);}
.pair-mode .person-heading{display:flex;}
.partner-panel{max-width:640px;margin:22px auto 0;padding:20px 24px;border:1px solid rgba(217,123,160,.34);
  background:linear-gradient(180deg,rgba(80,32,61,.14),rgba(6,24,17,.25));}
.partner-panel[hidden]{display:none;}
.partner-panel .person-heading{display:flex;margin:0 0 9px;color:#E5A4BF;}
.partner-panel .person-heading::after{background:linear-gradient(90deg,rgba(217,123,160,.42),transparent);}
.pair-intro{max-width:590px;margin:-8px auto 16px;text-align:center;}
.relation-select{width:min(100%,230px);}
.privacy-line{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.privacy-detail{display:block;width:100%;font-size:11.5px;color:var(--muted);letter-spacing:.02em;}

.compat-reading{margin:24px 0 0;}
.compat-reading[hidden]{display:none;}
.compat-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);align-items:center;
  gap:18px;padding:8px 0 20px;text-align:center;}
.compat-person{min-width:0;}
.compat-person-name{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(20px,4vw,30px);
  color:var(--kin-l);letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.compat-person-sub{font-size:12px;color:var(--muted);margin-top:4px;}
.compat-center{position:relative;display:flex;align-items:center;justify-content:center;height:150px;}
.compat-orbit{position:absolute;width:132px;height:132px;border:1px solid rgba(217,123,160,.42);border-radius:50%;
  box-shadow:0 0 36px -18px #D97BA0,inset 0 0 32px -22px #D97BA0;}
.compat-orbit::before,.compat-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid var(--line);}
.compat-orbit::before{inset:15px}.compat-orbit::after{inset:31px}
.compat-score{position:relative;z-index:2;font:38px/1 ui-monospace,monospace;color:#F6D2DF;}
.compat-score small{display:block;margin-top:7px;font-size:10px;line-height:1.4;letter-spacing:.18em;color:var(--muted);}
.compat-grade{text-align:center;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  color:#F0B8CD;font-size:21px;letter-spacing:.16em;margin:-4px 0 18px;}
.compat-lead{max-width:720px;margin:0 auto 22px;text-align:center;font-size:15px;line-height:2;}
.compat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.compat-item{border:1px solid var(--line2);padding:16px 17px;background:rgba(6,24,17,.3);}
.compat-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
.compat-item-name{font-size:12px;letter-spacing:.16em;color:var(--gin);}
.compat-item-score{font:20px/1 ui-monospace,monospace;color:var(--kin-l);}
.compat-item p{font-size:12.5px;line-height:1.85;margin:0;color:var(--muted);}
.compat-key{margin-top:16px;padding:16px 18px;border-left:2px solid #D97BA0;background:rgba(217,123,160,.08);}
.compat-key b{color:#F0B8CD;font-weight:500;}




.love-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.love-box{border:1px solid var(--line2);padding:13px;text-align:center;}
.love-lbl{font-size:11px;letter-spacing:.26em;color:#D97BA0;}
.love-main{font-size:clamp(20px,4.4vw,26px);letter-spacing:.08em;margin-top:5px;color:var(--kin-l);}


/* ---- 運の流れ ---- */
.du-good td{color:var(--kin-l);}
.du-good td:first-child{position:relative;}
.du-good td:first-child::before{content:"";position:absolute;left:-9px;top:50%;
  width:3px;height:16px;margin-top:-8px;background:var(--kin);}
.yr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.yr-box{border:1px solid var(--line2);padding:13px;text-align:center;}
.yr-kubou{border-color:rgba(200,72,58,.5);}
.yr-y{font-size:12px;color:var(--muted);letter-spacing:.1em;}
.yr-gz{font-size:26px;color:var(--kin-l);line-height:1.3;}
.yr-god{font-size:13px;color:var(--kin);letter-spacing:.1em;}
.yr-warn{color:#E08878;margin:6px 0 0;}
.ss{border-left:2px solid var(--line2);padding:7px 0 7px 13px;margin-bottom:13px;}
.ss:last-child{margin-bottom:0;}
.ss-good{border-left-color:var(--kin);}
.ss-care{border-left-color:var(--shu);}
.ss-n{font-size:16px;letter-spacing:.14em;color:var(--kin-l);}
.ss-care .ss-n{color:#E08878;}


/* ---- 夜の音楽（Afterglow Sound） ---- */
.afterglow{display:block;text-decoration:none;color:inherit;margin:54px 0 6px;}
.ag-lead{text-align:center;font-size:clamp(15px,2.2vw,18.5px);line-height:1.9;color:var(--kin-l);
  letter-spacing:.05em;margin:0 0 18px;}
.ag-banner{position:relative;margin:0;line-height:0;overflow:hidden;border-radius:2px;background:#05110D;}
.ag-banner img{width:100%;aspect-ratio:2.32/1;object-fit:cover;object-position:center 64%;display:block;
  filter:saturate(.92) brightness(.94);transition:filter .6s ease,transform .9s ease;}
.ag-banner::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(8,24,18,.46) 0%,transparent 24%,transparent 50%,rgba(8,24,18,.90) 100%);}
.ag-frame{position:absolute;inset:9px;border:1px solid rgba(201,162,39,.20);pointer-events:none;z-index:3;}
.ag-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:2;text-align:center;
  line-height:1.15;pointer-events:none;}
.ag-title::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(780px,92%);height:260%;z-index:-1;pointer-events:none;
  background:radial-gradient(58% 50% at 50% 50%,rgba(5,19,14,.68),rgba(5,19,14,.34) 62%,transparent 78%);}
.ag-name{display:block;
  font-family:"Snell Roundhand","Apple Chancery","Segoe Script","Brush Script MT","Shippori Mincho B1","Yu Mincho",serif;
  font-style:italic;font-size:clamp(27px,4.7vw,54px);letter-spacing:.02em;}
.ag-sub{display:block;margin-top:clamp(9px,1.5vw,15px);font-size:clamp(9.5px,1.15vw,12.5px);
  letter-spacing:.34em;color:rgba(235,226,204,.88);text-shadow:0 1px 10px rgba(0,0,0,.6);}
.ag-sub::before{content:"";display:block;width:66px;height:1px;margin:0 auto clamp(9px,1.5vw,14px);
  background:linear-gradient(90deg,transparent,var(--kin),transparent);opacity:.85;}
.ag-note{max-width:640px;margin:17px auto 0;text-align:center;font-size:13px;line-height:1.95;color:var(--muted);}
.ag-cta{display:block;text-align:center;margin-top:13px;font-size:11.5px;letter-spacing:.16em;color:var(--kin);
  transition:color .4s ease;}
.ag-ico{display:inline-block;vertical-align:-2px;margin-right:8px;}
.afterglow:hover .ag-banner img,.afterglow:focus-visible .ag-banner img{
  filter:saturate(1) brightness(1.05);transform:scale(1.012);}
.afterglow:hover .ag-cta,.afterglow:focus-visible .ag-cta{color:var(--kin-l);}
@media(max-width:640px){
  .afterglow{margin-top:42px;}
  .ag-banner img{aspect-ratio:1.62/1;object-position:center 60%;}
  .ag-title{top:26%;}
  .ag-note{font-size:12.5px;}
}

/* ---- つくった人 ---- */
.maker{padding:0!important;overflow:hidden;display:block;}
.portrait{margin:0;position:relative;line-height:0;overflow:hidden;background:#091F17;}
/* 横長の書斎写真: スマホは無切抜きの全景(約250px)・広い画面でも380pxまでの控えめな帯 */
.portrait img{width:100%;height:auto;max-height:380px;display:block;object-fit:cover;object-position:center 42%;
  filter:saturate(.82) contrast(1.03) brightness(.88);}
.portrait::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;
  background:linear-gradient(180deg,transparent,rgba(8,24,18,.82));pointer-events:none;}
.portrait-frame{position:absolute;inset:10px;border:1px solid rgba(201,162,39,.24);pointer-events:none;}
.portrait-frame::before,.portrait-frame::after{display:none;}
.portrait figcaption{position:absolute;left:14px;right:auto;bottom:13px;padding:7px 10px 7px 11px;
  border-left:2px solid rgba(226,196,117,.82);background:rgba(5,24,17,.76);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  text-align:left;line-height:1.35;z-index:2;}
.p-name{display:block;font-family:"Great Vibes",cursive;font-size:26px;
  font-weight:400;font-style:normal;letter-spacing:.02em;color:#F4DFA0;text-shadow:0 1px 8px rgba(0,0,0,.5);line-height:1;}
.p-role{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;color:rgba(235,226,204,.9);margin-top:4px;text-shadow:none;}
.p-role::before,.p-role::after{display:none;}
.maker-body{padding:28px 31px 26px;align-self:center;}
.maker-lead{font-size:clamp(18px,2.6vw,23px);line-height:1.7;color:var(--kin-l);
  letter-spacing:.03em;margin:0 0 18px;text-align:left;}
.maker-lead::after{content:"";display:block;width:42px;height:1px;margin:13px 0 0;
  background:linear-gradient(90deg,var(--kin),transparent);}
.maker-cols{display:grid;grid-template-columns:1fr;gap:0;}
.maker-body p{font-size:14.5px;line-height:1.85;margin:0 0 12px;text-align:left;}
.maker-cols div p:last-child{margin-bottom:12px;}
.maker-feature{margin:4px 0 14px;border:1px solid rgba(201,162,39,.28);border-radius:12px;background:rgba(16,54,42,.45);}
.maker-feature summary{cursor:pointer;list-style:none;padding:12px 16px;font-size:13.5px;font-weight:600;color:var(--kin-l);letter-spacing:.04em;}
.maker-feature summary::-webkit-details-marker{display:none}
.maker-feature summary::before{content:"▸";margin-right:8px;color:var(--kin);}
.maker-feature[open] summary::before{content:"▾";}
.maker-feature .mf-lead{padding:0 16px;font-size:13.5px;}
.mf-table{width:calc(100% - 32px);margin:0 16px 14px;border-collapse:collapse;font-size:12.5px;line-height:1.55;}
.mf-table th,.mf-table td{padding:7px 8px;border-top:1px solid rgba(201,162,39,.16);text-align:left;vertical-align:top;}
.mf-table thead th{border-top:0;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;}
.mf-table tbody th{white-space:nowrap;color:var(--muted);font-weight:600;}
.mf-table .mf-us{color:var(--kin-l);}
.maker-sign{text-align:right;margin:12px 0 0!important;}
.sign-line{display:inline-block;font-family:"Great Vibes",cursive;font-size:24px;
  font-weight:400;font-style:normal;letter-spacing:.02em;color:var(--gin);border:0;padding:0;}
.maker.noimg{grid-template-columns:1fr;}
.maker.noimg .portrait{display:none;}
.restored-lead{display:flex;align-items:center;gap:11px;justify-content:center;
  border:1px solid var(--line2);border-radius:2px;padding:11px 16px;margin-bottom:4px;
  font-size:12.5px;color:var(--gin);
  background:linear-gradient(180deg,rgba(22,79,57,.5),rgba(14,48,35,.5));}
.rl-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border:1px solid var(--kin);border-radius:2px;color:var(--kin-l);font-size:13px;flex:0 0 auto;}


/* ---- 二階建てタブ ---- */
.tsec-lbl{font-size:12px;letter-spacing:.2em;color:var(--kin);margin-bottom:12px;}
.sub-lead{font-size:12.5px;color:var(--muted);margin:0 0 12px;text-align:center;}
.subtabs{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-bottom:20px;}
.subtab{border:1px solid var(--line2);background:linear-gradient(180deg,rgba(22,79,57,.55),rgba(14,48,35,.55));
  color:var(--gin);padding:9px 15px;border-radius:99px;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  font-size:13.5px;letter-spacing:.08em;cursor:pointer;transition:.18s;}
.subtab:hover{border-color:var(--kin);color:var(--kin-l);}
.subtab[aria-selected="true"]{border-color:var(--kin);color:#123A2C;
  background:linear-gradient(180deg,#F4DFA0,#C9A227);font-weight:700;}
.subtab:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}

/* ---- 萬象指数 ---- */
.bx-hero{position:relative;}
.bx-top{display:flex;align-items:center;justify-content:center;gap:34px;flex-wrap:wrap;
  padding:8px 0 20px;}
.bx-numwrap{display:flex;align-items:baseline;gap:6px;}
.bx-num{font-size:clamp(64px,15vw,104px);line-height:1;
  background:linear-gradient(160deg,#F8ECC4,#C9A227 42%,#8A6A1C 64%,#F8ECC4);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.bx-max{font-size:15px;color:var(--muted);letter-spacing:.1em;}
.bx-gradewrap{text-align:left;max-width:290px;}
.bx-grade{font-size:clamp(30px,7vw,44px);letter-spacing:.2em;color:var(--kin-l);line-height:1.2;}
.bx-gtext{font-size:13px;line-height:1.85;color:var(--gin);margin:8px 0 0;}
.bx-explain{font-size:14px;line-height:2;text-align:center;max-width:600px;margin:0 auto 24px;
  padding-top:18px;border-top:1px solid var(--line2);}
.bx-explain b{color:var(--kin-l);font-weight:400;}
.bx-parts{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;}
.bx-phead{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;}
.bx-sys{font-size:12.5px;color:var(--kin-l);letter-spacing:.06em;}
.bx-lbl{font-size:12px;color:var(--muted);flex:1;}
.bx-score{font-size:19px;color:var(--kin);}
.bx-why{font-size:12px;color:var(--muted);line-height:1.7;margin:6px 0 0;
  display:flex;justify-content:space-between;gap:10px;}
.bx-w{flex:0 0 auto;opacity:.72;}
.bx-foot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;
  padding-top:18px;border-top:1px solid var(--line2);}
.bx-fbox{font-size:13px;color:var(--gin);}
.bx-fbox b{color:var(--kin-l);font-weight:400;}
.bx-flbl{display:block;font-size:11px;letter-spacing:.26em;color:var(--muted);margin-bottom:4px;}

/* ---- 五体系の合議 ---- */
.council-meter{text-align:center;margin-bottom:24px;}
.cm-num{font-size:clamp(50px,12vw,72px);line-height:1;
  background:linear-gradient(160deg,#F4DFA0,#C9A227 45%,#8A6A1C 68%,#F4DFA0);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.cm-num::after{content:"%";font-size:.38em;margin-left:3px;}
.cm-lbl{font-size:11px;letter-spacing:.44em;color:var(--muted);text-indent:.44em;margin-top:2px;}
.cm-note{font-size:13px;color:var(--gin);margin-top:12px;line-height:1.85;}
.vote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.vote{border:1px solid var(--line2);padding:14px 12px;text-align:center;}
.vote-win{border-color:rgba(201,162,39,.65);background:rgba(201,162,39,.07);}
.vote-sys{font-size:11.5px;letter-spacing:.16em;color:var(--muted);}
.vote-el{font-size:32px;line-height:1.3;margin:4px 0;}
.vote-why{font-size:12px;color:var(--muted);line-height:1.7;margin:0;}
.council-pairs{margin-top:16px;font-size:13px;line-height:1.9;color:var(--gin);}

/* ---- 暮らしのお告げ ---- */
.kurashi-intro{position:relative;overflow:hidden;padding:27px 28px;
  border:1px solid rgba(201,162,39,.55);background:
  radial-gradient(circle at 88% 12%,rgba(201,162,39,.16),transparent 34%),
  linear-gradient(145deg,rgba(25,84,61,.9),rgba(10,39,28,.92));}
.kurashi-intro::after{content:"暮";position:absolute;right:20px;top:-19px;
  font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:132px;line-height:1;
  color:rgba(244,223,160,.055);pointer-events:none;}
.kurashi-badge{display:inline-block;border:1px solid var(--kin);border-radius:99px;
  padding:3px 11px;font-size:10.5px;letter-spacing:.2em;color:var(--kin-l);}
.kurashi-title{position:relative;margin:10px 0 6px;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  font-size:clamp(24px,5vw,34px);font-weight:400;letter-spacing:.08em;color:var(--kin-l);}
.kurashi-intro p{position:relative;max-width:650px;margin:0;font-size:13px;line-height:1.9;color:var(--gin);}
.kurashi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;}
.kurashi-grid>.card{margin-bottom:0;}
.kurashi-card{position:relative;overflow:hidden;}
.kurashi-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--kin),transparent);}
.kurashi-eyebrow{font-size:10.5px;letter-spacing:.3em;color:var(--kin);margin-bottom:8px;}
.kurashi-main{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(24px,5vw,34px);
  line-height:1.5;color:var(--kin-l);letter-spacing:.06em;}
.kurashi-copy{margin:9px 0 0;font-size:13px;line-height:1.9;color:var(--gin);}
.role-mark{display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;
  margin-bottom:11px;border:1px solid var(--kin);border-radius:50%;color:var(--kin-l);
  font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:22px;}
.weather-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px;}
.weather-cell{border:1px solid var(--line2);padding:10px 7px;text-align:center;background:rgba(6,24,17,.32);}
.weather-time{font-size:10.5px;letter-spacing:.18em;color:var(--muted);}
.weather-mark{display:block;margin:6px auto 4px;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  font-size:25px;line-height:1;color:var(--kin-l);}
.weather-name{font-size:12px;color:var(--gin);}
.weather-note{margin:11px 0 0;font-size:11.5px;line-height:1.75;color:var(--muted);}
.daily-council{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;}
.daily-voice{display:grid;grid-template-columns:94px minmax(0,1fr);gap:10px;align-items:start;
  border:1px solid var(--line2);padding:11px 12px;background:rgba(6,24,17,.28);}
.daily-sys{font-size:11px;letter-spacing:.08em;color:var(--kin);}
.daily-voice p{margin:0;font-size:12px;line-height:1.75;color:var(--gin);}
.daily-verdict{margin-top:13px;padding:15px 17px;border-left:2px solid var(--kin);
  background:rgba(201,162,39,.075);}
.daily-verdict b{display:block;margin-bottom:4px;color:var(--kin-l);font-weight:500;letter-spacing:.08em;}
.daily-verdict p{margin:0;font-size:13px;line-height:1.85;}

.manual-list{display:grid;gap:0;margin-top:8px;}
.manual-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px 0;
  border-bottom:1px dotted var(--line2);}
.manual-row:last-child{border-bottom:0;}
.manual-label{font-size:11px;letter-spacing:.13em;color:var(--kin);}
.manual-text{font-size:12.5px;line-height:1.75;color:var(--gin);}
.kurashi-foot{margin:14px 0 0;text-align:center;font-size:11.5px;line-height:1.8;color:var(--muted);}
.kurashi-jump{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;
  margin-top:14px;padding:14px 16px;border:1px solid rgba(201,162,39,.5);border-radius:2px;
  background:linear-gradient(90deg,rgba(201,162,39,.1),rgba(30,102,75,.36));color:var(--gin);
  font-family:inherit;text-align:left;cursor:pointer;}
.kurashi-jump:hover{border-color:var(--kin);color:var(--kin-l);}
.kurashi-jump:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}
.kurashi-jump b{display:block;color:var(--kin-l);font-weight:500;font-size:14px;letter-spacing:.08em;}
.kurashi-jump small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted);}
.kurashi-jump i{font-style:normal;font-size:21px;color:var(--kin);}
.tb-key{color:var(--kin-l);font-size:15px;}
.today6{display:flex;flex-direction:column;gap:9px;}
.t6{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;
  border-bottom:1px solid var(--line2);font-size:13px;}
.t6:last-child{border-bottom:0;padding-bottom:0;}
.t6-s{color:var(--muted);flex:0 0 auto;}
.t6-v{color:var(--kin-l);text-align:right;}

/* ---- 九星気学 ---- */
.star-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.star-box{border:1px solid var(--line2);padding:15px;}
.star-lbl{font-size:11px;letter-spacing:.28em;color:var(--kin);}
.star-main{font-size:clamp(20px,4vw,25px);letter-spacing:.1em;color:var(--kin-l);margin-top:5px;}
.houi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.hcell{border:1px solid var(--line2);padding:9px 4px;text-align:center;min-height:78px;
  display:flex;flex-direction:column;justify-content:center;}
.hdir{font-size:11px;letter-spacing:.18em;color:var(--muted);}
.hstar{font-size:17px;color:var(--gin);line-height:1.35;}
.hnote{font-size:10.5px;line-height:1.5;color:var(--muted);margin-top:2px;}
.hgood{border-color:rgba(201,162,39,.6);background:rgba(201,162,39,.07);}
.hgood .hstar,.hgood .hnote{color:var(--kin-l);}
.hbad{border-color:rgba(200,72,58,.55);background:rgba(200,72,58,.08);}
.hbad .hstar,.hbad .hnote{color:#E08878;}
.hcenter{border-color:rgba(201,162,39,.4);background:rgba(30,102,75,.4);}
.hcenter .hstar{font-size:15px;color:var(--kin-l);}

/* ---- 宿曜 ---- */
.shuku-main{font-size:clamp(38px,9vw,56px);letter-spacing:.16em;text-indent:.16em;
  background:linear-gradient(160deg,#F4DFA0,#C9A227 45%,#8A6A1C 68%,#F4DFA0);
  -webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.2;}

/* ---- タロット ---- */
.tarot{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;}
.tcard{border:1px solid var(--kin);border-radius:3px;padding:16px 8px;text-align:center;
  background:linear-gradient(165deg,rgba(30,102,75,.75),rgba(12,42,31,.9));
  box-shadow:0 0 26px -10px var(--kin);position:relative;}
.tcard::before{content:"";position:absolute;inset:4px;border:1px solid rgba(201,162,39,.35);border-radius:2px;}
.tnum{font-size:12px;letter-spacing:.2em;color:var(--kin);}
.tname{font-size:21px;letter-spacing:.1em;color:var(--kin-l);margin:8px 0 6px;line-height:1.3;}
.tpos{font-size:11px;letter-spacing:.2em;color:var(--muted);}
.reversed .tcard{transform:rotate(180deg);}
.reversed .tcard .tnum,.reversed .tcard .tname,.reversed .tcard .tpos{transform:rotate(180deg);}
.tcard-life{box-shadow:0 0 26px -8px rgba(244,223,160,.55);}
.tbody p{font-size:14px;line-height:2;margin:0 0 10px;}
.today-card-wrap{text-align:center;}
.today-card{width:124px;height:178px;margin:0 auto 8px;position:relative;
  filter:drop-shadow(0 12px 11px rgba(0,0,0,.48));transform-style:preserve-3d;}
.today-card.is-reversed{transform:rotate(180deg);}
.today-card-pos{font-size:11px;letter-spacing:.22em;color:var(--muted);}

/* ---- 易 ---- */
.yi-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:30px;align-items:center;}
.yi-stage{position:relative;min-height:260px;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden;
  border:1px solid rgba(201,162,39,.28);
  background:linear-gradient(rgba(4,19,13,.28),rgba(4,19,13,.54)),url("assets/ritual-cloth.webp") center/cover no-repeat;
  box-shadow:inset 0 0 34px rgba(0,0,0,.42),0 12px 28px -24px #000;}
.yi-idle{position:relative;z-index:1;text-align:center;color:var(--muted);}
.yi-coins{display:block;width:min(220px,86%);height:auto;margin:0 auto -2px;
  filter:drop-shadow(0 13px 10px rgba(0,0,0,.58));transform-style:preserve-3d;will-change:transform;}
.yi-coin-label{font-size:12px;letter-spacing:.3em;text-indent:.3em;color:var(--kin-l);opacity:.86;}
.yi-lines{width:210px;display:flex;flex-direction:column;gap:9px;}
.yi-lines[hidden]{display:none;} /* hidden属性はdisplay:flexに負ける(この罠4回目)。銭が左に寄る原因だった */
.yao{position:relative;height:25px;display:flex;align-items:center;justify-content:center;opacity:0;
  transform:translateY(6px);animation:yaoIn .35s ease forwards;}
.yao .stroke{width:174px;height:8px;display:flex;gap:18px;}
.yao .stroke::before,.yao .stroke::after{content:"";display:block;height:100%;
  background:linear-gradient(90deg,#8A6A1C,#F4DFA0,#C9A227);box-shadow:0 0 8px -3px var(--kin);}
.yao.yang .stroke::before{width:100%;}.yao.yang .stroke::after{display:none;}
.yao.yin .stroke::before,.yao.yin .stroke::after{flex:1;}
/* ○×は絶対配置ではみ出させ、棒そのものがパネルの真ん中に来るようにする(左寄り対策) */
.yao .move{position:absolute;left:calc(50% + 95px);top:50%;transform:translateY(-50%);width:16px;font:13px/1 ui-monospace,monospace;color:#E08878;text-align:center;}
.yi-hex .yao .move{left:calc(50% + 68px);}
@keyframes yaoIn{to{opacity:1;transform:none;}}
.yi-casting .yi-coins{animation:coinCast .9s cubic-bezier(.22,.7,.22,1) both;}
@keyframes coinCast{
  0%{transform:translate3d(0,0,0) rotateX(0) rotateZ(0);filter:drop-shadow(0 13px 10px rgba(0,0,0,.58));}
  36%{transform:translate3d(0,-27px,30px) rotateX(190deg) rotateZ(-4deg) scale(1.03);filter:drop-shadow(0 27px 13px rgba(0,0,0,.34)) brightness(1.18);}
  72%{transform:translate3d(0,-5px,8px) rotateX(350deg) rotateZ(2deg);}
  100%{transform:translate3d(0,0,0) rotateX(360deg) rotateZ(0);filter:drop-shadow(0 13px 10px rgba(0,0,0,.58));}
}
.yi-controls label{font-size:12px;letter-spacing:.12em;}
.yi-controls select{width:100%;margin-bottom:12px;}
.yi-controls .draw-btn{width:100%;}
.yi-result{margin-top:20px;padding-top:18px;border-top:1px solid var(--line2);}
.yi-result[hidden]{display:none;}
.yi-hexes{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:start;}
.yi-hexes.single{grid-template-columns:minmax(0,360px);justify-content:center;}
.yi-hex{text-align:center;padding:15px;border:1px solid var(--line2);background:rgba(6,24,17,.32);}
.yi-hex .yi-lines{width:150px;margin:0 auto 12px;gap:6px;}
.yi-hex .yao{height:17px;animation:none;opacity:1;transform:none;}
.yi-hex .yao .stroke{width:122px;height:6px;gap:13px;}
.yi-num{font-size:11px;letter-spacing:.18em;color:var(--muted);}
.yi-name{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:28px;color:var(--kin-l);letter-spacing:.15em;}
.yi-arrow{align-self:center;color:var(--kin);font-size:25px;}
.yi-reading{margin-top:16px;font-size:14px;line-height:2;}
.yi-moving-note{font-size:11.5px;color:var(--muted);margin-top:8px;}


/* ---- 札を引く ---- */
.cf{position:relative;width:100%;height:100%;display:block;box-sizing:border-box;}
.tarot-card-face{overflow:hidden;border:1.4px solid #5C4015;border-radius:5px;
  background:linear-gradient(145deg,#FFF9DF 0%,#E9D7A9 42%,#F5E8C4 72%,#CBB581 100%);
  box-shadow:inset 0 0 0 3px #E6CB7A,inset 0 0 0 4px rgba(76,54,21,.72);}
.tarot-card-face::before{content:"";position:absolute;z-index:4;inset:7px;border:1px solid rgba(94,72,31,.72);border-radius:2px;pointer-events:none;}
.tarot-card-art{position:absolute;z-index:1;left:12px;top:27px;width:100px;height:123px;overflow:hidden;background:#082117;}
.tarot-card-art img{position:absolute;left:0;top:0;display:block;max-width:none!important;max-height:none!important;
  transform-origin:0 0;pointer-events:none;user-select:none;-webkit-user-drag:none;}
.tarot-card-art.tarot-image-error::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;
  color:#E6CB7A;font-size:28px;background:radial-gradient(circle at 50% 42%,#205440,#082117 72%);}
.tarot-card-shade{position:absolute;z-index:2;left:12px;top:113px;width:100px;height:37px;
  background:linear-gradient(180deg,transparent,rgba(6,26,18,.62) 45%,rgba(2,12,8,.95));}
.tarot-card-top,.tarot-card-corner,.tarot-card-element,.tarot-card-title,.tarot-card-foot{position:absolute;z-index:3;display:block;text-align:center;}
.tarot-card-top{left:12px;right:12px;top:9px;color:#443113;font:9.5px/1.2 ui-monospace,monospace;letter-spacing:2.2px;}
.tarot-card-corner{left:13px;top:9px;color:#3E2C12;font:700 10px/1 ui-monospace,monospace;}
.tarot-card-corner.is-bottom{left:auto;right:13px;top:auto;bottom:9px;transform:rotate(180deg);}
.tarot-card-element{left:26px;right:26px;top:9px;color:#4A3515;font:8.5px/1.2 "Yu Mincho",serif;letter-spacing:1.4px;}
.tarot-card-title{left:14px;right:14px;top:126px;color:#FFF2C7;font:600 10.6px/1.2 "Shippori Mincho B1","Yu Mincho",serif;
  letter-spacing:.5px;text-shadow:-1px -1px 0 #050F0B,1px -1px 0 #050F0B,-1px 1px 0 #050F0B,1px 1px 0 #050F0B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tarot-card-foot{left:12px;right:12px;bottom:7px;color:#4B3515;font:8px/1 ui-monospace,monospace;letter-spacing:1.2px;}
.tarot-card-back{overflow:hidden;border:1.4px solid #6C4A11;border-radius:5px;background:#071D14;box-shadow:inset 0 0 0 4px rgba(240,212,125,.52);}
.tarot-card-art img[hidden],.tarot-card-back img[hidden]{display:none!important}
.tarot-card-back img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;}
.tarot-card-back.tarot-image-error::after{content:"✦";position:absolute;inset:9px;display:grid;place-items:center;
  border:1px solid rgba(240,212,125,.62);color:#E6CB7A;font-size:34px;
  background:radial-gradient(circle,#27634C 0 13%,#0A2A1E 14% 48%,#071D14 49%);}
.deck-stage{position:relative;height:226px;display:flex;align-items:center;justify-content:center;gap:28px;touch-action:pan-y;
  user-select:none;-webkit-user-select:none;cursor:grab;
  perspective:1100px;isolation:isolate;border:1px solid rgba(201,162,39,.22);overflow:hidden;
  background:linear-gradient(rgba(4,19,13,.25),rgba(4,19,13,.5)),url("assets/ritual-cloth.webp") center/cover no-repeat;
  box-shadow:inset 0 0 34px rgba(0,0,0,.44),0 12px 28px -24px #000;}
.deck-stage::before{content:"";position:absolute;width:310px;height:176px;border:1px solid rgba(201,162,39,.18);
  border-radius:50%;background:radial-gradient(ellipse,rgba(31,91,67,.4),rgba(7,24,18,.1) 62%,transparent 72%);
  box-shadow:inset 0 0 45px rgba(0,0,0,.28);transform:rotateX(68deg) translateY(58px);z-index:-1;}
.deck-stage::after{content:"";position:absolute;width:126px;height:22px;border-radius:50%;
  background:rgba(0,0,0,.5);filter:blur(8px);transform:translate(-42px,91px);z-index:-1;}
.deck-pile{position:relative;width:124px;height:178px;transform-style:preserve-3d;}
.deck-stage.gesture-active{cursor:grabbing;}
.deck-stage.gesture-active .pile-card,.deck-stage.shuffling .pile-card{transform-origin:50% 50%;}
.pile-card{position:absolute;inset:0;transform-origin:50% 100%;transform-style:preserve-3d;will-change:transform;
  transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0);transition:transform .08s linear;}
.deck-stage.gesture-active .pile-card{transform:translate3d(calc(var(--stack-x,0px) + var(--rub-x,0px)),calc(var(--stack-y,0px) + var(--rub-y,0px)),var(--rub-z,0px)) rotateZ(var(--rub-r,0deg)) rotateY(var(--rub-ry,0deg));}
.deck-stage.gesture-settling .pile-card{transition:transform .34s cubic-bezier(.18,.82,.22,1);}
.pile-card .cf{filter:drop-shadow(0 4px 8px rgba(0,0,0,.68));}
.deck-count{position:absolute;right:12px;top:12px;z-index:4;min-width:62px;padding:5px 8px;border:1px solid rgba(201,162,39,.3);
  border-radius:99px;background:rgba(5,24,17,.82);box-shadow:0 5px 14px rgba(0,0,0,.24);font-size:12px;letter-spacing:.14em;
  color:var(--muted);text-align:center;pointer-events:none;}
.deck-count span{color:var(--kin-l);font-family:ui-monospace,monospace;font-size:17px;}
.deck-gesture-hint{margin:8px auto 0;min-height:1.6em;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.65;}
.deck-stage.shuffling .pile-card:nth-child(1){animation:wash1 1.82s cubic-bezier(.24,.7,.22,1) both;}
.deck-stage.shuffling .pile-card:nth-child(2){animation:wash2 1.82s cubic-bezier(.24,.7,.22,1) .03s both;}
.deck-stage.shuffling .pile-card:nth-child(3){animation:wash3 1.82s cubic-bezier(.24,.7,.22,1) .06s both;}
.deck-stage.shuffling .pile-card:nth-child(4){animation:wash4 1.82s cubic-bezier(.24,.7,.22,1) .09s both;}
.deck-stage.shuffling .pile-card:nth-child(5){animation:wash5 1.82s cubic-bezier(.24,.7,.22,1) .12s both;}
.deck-stage.shuffling .pile-card:nth-child(6){animation:wash6 1.82s cubic-bezier(.24,.7,.22,1) .15s both;}
@keyframes wash1{0%,100%{transform:translate3d(0,0,0) rotate(0)}18%{transform:translate3d(-78px,-22px,34px) rotate(-34deg)}46%{transform:translate3d(-38px,25px,46px) rotate(21deg)}72%{transform:translate3d(30px,14px,24px) rotate(-16deg)}88%{transform:translate3d(-7px,-3px,7px) rotate(4deg)}}
@keyframes wash2{0%,100%{transform:translate3d(0,0,0) rotate(0)}18%{transform:translate3d(82px,-16px,38px) rotate(31deg)}46%{transform:translate3d(42px,27px,50px) rotate(-22deg)}72%{transform:translate3d(-26px,17px,26px) rotate(18deg)}88%{transform:translate3d(8px,-2px,8px) rotate(-4deg)}}
@keyframes wash3{0%,100%{transform:translate3d(0,0,0) rotate(0)}20%{transform:translate3d(-54px,27px,44px) rotate(24deg)}48%{transform:translate3d(22px,-25px,56px) rotate(-38deg)}73%{transform:translate3d(61px,8px,30px) rotate(27deg)}89%{transform:translate3d(-5px,4px,8px) rotate(-5deg)}}
@keyframes wash4{0%,100%{transform:translate3d(0,0,0) rotate(0)}20%{transform:translate3d(59px,25px,46px) rotate(-27deg)}48%{transform:translate3d(-24px,-27px,58px) rotate(36deg)}73%{transform:translate3d(-62px,9px,32px) rotate(-24deg)}89%{transform:translate3d(5px,4px,9px) rotate(5deg)}}
@keyframes wash5{0%,100%{transform:translate3d(0,0,0) rotate(0)}22%{transform:translate3d(-15px,-30px,62px) rotate(-41deg)}50%{transform:translate3d(73px,5px,42px) rotate(26deg)}75%{transform:translate3d(-39px,20px,28px) rotate(17deg)}90%{transform:translate3d(3px,-5px,9px) rotate(-4deg)}}
@keyframes wash6{0%,100%{transform:translate3d(0,0,0) rotate(0)}22%{transform:translate3d(18px,31px,64px) rotate(39deg)}50%{transform:translate3d(-72px,3px,44px) rotate(-29deg)}75%{transform:translate3d(38px,-20px,30px) rotate(-18deg)}90%{transform:translate3d(-3px,5px,10px) rotate(4deg)}}
.deck-stage.shuffling .deck-count{animation:countBreath 1.82s ease both;}
@keyframes countBreath{35%{opacity:.3;transform:translateX(5px);}100%{opacity:1;transform:none;}}
.deck-stage.restacking .pile-card{transform-origin:50% 50%;}
.deck-stage.restacking .pile-card:nth-child(1){--feed-y:-17px;--feed-r:-18deg;--land-layer:11;animation:stackFromLeft .92s cubic-bezier(.2,.7,.16,1) 0ms both;}
.deck-stage.restacking .pile-card:nth-child(2){--feed-y:13px;--feed-r:16deg;--land-layer:12;animation:stackFromRight .92s cubic-bezier(.2,.7,.16,1) 130ms both;}
.deck-stage.restacking .pile-card:nth-child(3){--feed-y:-5px;--feed-r:-22deg;--land-layer:13;animation:stackFromLeft .92s cubic-bezier(.2,.7,.16,1) 260ms both;}
.deck-stage.restacking .pile-card:nth-child(4){--feed-y:-14px;--feed-r:20deg;--land-layer:14;animation:stackFromRight .92s cubic-bezier(.2,.7,.16,1) 390ms both;}
.deck-stage.restacking .pile-card:nth-child(5){--feed-y:15px;--feed-r:-15deg;--land-layer:15;animation:stackFromLeft .92s cubic-bezier(.2,.7,.16,1) 520ms both;}
.deck-stage.restacking .pile-card:nth-child(6){--feed-y:2px;--feed-r:19deg;--land-layer:16;animation:stackFromRight .92s cubic-bezier(.2,.7,.16,1) 650ms both;}
@keyframes stackFromLeft{
  0%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0);z-index:2;}
  28%{transform:translate3d(calc(var(--stack-x,0px) - var(--restack-x,58px)),calc(var(--stack-y,0px) + var(--feed-y,0px)),46px) rotate(var(--feed-r,-18deg));z-index:28;}
  58%{transform:translate3d(calc(var(--stack-x,0px) - 20px),calc(var(--stack-y,0px) - 18px),78px) rotate(-7deg);z-index:28;}
  82%{transform:translate3d(calc(var(--stack-x,0px) + 5px),calc(var(--stack-y,0px) - 7px),34px) rotate(2deg);z-index:28;}
  100%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),var(--land-z,5px)) rotate(0);z-index:var(--land-layer,16);}
}
@keyframes stackFromRight{
  0%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0);z-index:2;}
  28%{transform:translate3d(calc(var(--stack-x,0px) + var(--restack-x,58px)),calc(var(--stack-y,0px) + var(--feed-y,0px)),46px) rotate(var(--feed-r,18deg));z-index:28;}
  58%{transform:translate3d(calc(var(--stack-x,0px) + 20px),calc(var(--stack-y,0px) - 18px),78px) rotate(7deg);z-index:28;}
  82%{transform:translate3d(calc(var(--stack-x,0px) - 5px),calc(var(--stack-y,0px) - 7px),34px) rotate(-2deg);z-index:28;}
  100%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),var(--land-z,5px)) rotate(0);z-index:var(--land-layer,16);}
}
.deck-stage.restacking .deck-count{animation:countBreath 1.57s ease both;}
.deck-stage.cutting .pile-card{transform-origin:50% 50%;}
.deck-stage.cutting .cut-top{animation:cutTopPacket 1.34s cubic-bezier(.24,.72,.2,1) var(--cut-delay,0ms) both;}
.deck-stage.cutting .cut-bottom{animation:cutBottomPacket 1.34s cubic-bezier(.24,.72,.2,1) var(--cut-delay,0ms) both;}
@keyframes cutTopPacket{
  0%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0);z-index:18;}
  24%{transform:translate3d(calc(var(--stack-x,0px) + var(--cut-top-x,66px) + var(--cut-x,0px)),calc(var(--stack-y,0px) - 19px + var(--cut-y,0px)),70px) rotate(calc(10deg + var(--cut-r,0deg)));z-index:18;}
  47%{transform:translate3d(calc(var(--stack-x,0px) + var(--cut-top-far,72px) + var(--cut-x,0px)),calc(var(--stack-y,0px) + 13px + var(--cut-y,0px)),42px) rotate(calc(7deg + var(--cut-r,0deg)));z-index:4;}
  68%{transform:translate3d(calc(var(--stack-x,0px) - 20px),calc(var(--stack-y,0px) + 11px),8px) rotate(-3deg);z-index:4;}
  88%{transform:translate3d(calc(var(--stack-x,0px) + 4px),calc(var(--stack-y,0px) + 2px),2px) rotate(1deg);z-index:4;}
  100%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0);z-index:4;}
}
@keyframes cutBottomPacket{
  0%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0);z-index:4;}
  24%{transform:translate3d(calc(var(--stack-x,0px) - var(--cut-bottom-x,48px) - var(--cut-x,0px)),calc(var(--stack-y,0px) + 16px + var(--cut-y,0px)),24px) rotate(calc(-7deg + var(--cut-r,0deg)));z-index:4;}
  47%{transform:translate3d(calc(var(--stack-x,0px) - var(--cut-bottom-far,55px) - var(--cut-x,0px)),calc(var(--stack-y,0px) - 15px + var(--cut-y,0px)),74px) rotate(calc(-9deg + var(--cut-r,0deg)));z-index:24;}
  68%{transform:translate3d(calc(var(--stack-x,0px) + 21px),calc(var(--stack-y,0px) - 9px),50px) rotate(3deg);z-index:24;}
  88%{transform:translate3d(calc(var(--stack-x,0px) - 3px),calc(var(--stack-y,0px) - 2px),16px) rotate(-1deg);z-index:24;}
  100%{transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),10px) rotate(0);z-index:24;}
}
.deck-stage.dealing{overflow:visible;z-index:6;}
.deck-stage.dealing .deck-pile{animation:deckOffer .8s cubic-bezier(.22,.8,.25,1);}
.deck-stage.dealing .deal-fly{animation:dealCardFly .72s cubic-bezier(.18,.74,.18,1) var(--fly-delay,0ms) both;}
@keyframes deckOffer{40%{transform:translate3d(0,-13px,20px) rotateX(3deg);}100%{transform:none;}}
@keyframes dealCardFly{
  0%{opacity:1;transform:translate3d(var(--stack-x,0px),var(--stack-y,0px),0) rotate(0) scale(1);}
  18%{opacity:1;transform:translate3d(var(--stack-x,0px),calc(var(--stack-y,0px) - 13px),68px) rotate(0) scale(1.02);}
  58%{opacity:1;transform:translate3d(var(--fly-x,0px),82px,86px) rotate(var(--fly-r,0deg)) scale(.98);}
  100%{opacity:0;transform:translate3d(var(--fly-x,0px),var(--fly-y,218px),72px) rotate(var(--fly-r,0deg)) scale(.91);}
}
.deck-ctl{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:6px;}
.deck-ctl .draw-btn{padding:10px 22px;font-size:13px;letter-spacing:.2em;text-indent:.2em;}
/* 押せないボタンは畳んで、いま押すものだけを残す。 */
.deck-ctl button:disabled{display:none;}
/* ただし演出の最中は、押したボタンだけ残して進み具合を見せる。 */
#deckStage.shuffling ~ .deck-ctl #shuffleBtn:disabled,
#deckStage.restacking ~ .deck-ctl #shuffleBtn:disabled,
#deckStage.cutting ~ .deck-ctl #cutBtn:disabled,
#deckStage.handing ~ .deck-ctl #dealBtn:disabled{display:inline-block;}
.deck-ctl select{padding:10px 30px 10px 11px;font-size:13px;}
.spread{display:grid;gap:18px;margin-top:26px;}
.spread.n1{grid-template-columns:220px;justify-content:center;}
.spread.n3{grid-template-columns:repeat(3,1fr);}
.spread.n5{grid-template-columns:repeat(5,1fr);}
/* ケルト十字。十枚は「十字と柱の形の配置図」を先に出し、
   読みは引いた順に縦へ並べる。十字の中では順に読めないため。 */
.spread.n10{grid-template-columns:1fr;gap:14px;}
.ct-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:repeat(4,auto);gap:8px;justify-items:center;align-items:center;
  margin:0 0 20px;padding:16px 6px;border:1px solid rgba(201,162,39,.22);border-radius:16px;}
.ct-cell{position:relative;width:72px;text-align:center;}
.ct-cell .cf{width:72px;height:104px;}
.ct-no{position:absolute;top:-9px;left:50%;transform:translateX(-50%);z-index:3;
  min-width:19px;padding:1px 4px;border-radius:999px;background:#0B281D;
  border:1px solid rgba(201,162,39,.6);color:var(--kin);font-size:10.5px;line-height:1.5;}
.ct-p1{grid-column:2;grid-row:2;}
.ct-p2{grid-column:2;grid-row:2;transform:rotate(90deg);z-index:2;}
.ct-p2 .ct-no{transform:translateX(-50%) rotate(-90deg);}
.ct-p3{grid-column:2;grid-row:3;}
.ct-p4{grid-column:1;grid-row:2;}
.ct-p5{grid-column:2;grid-row:1;}
.ct-p6{grid-column:3;grid-row:2;}
.ct-p7{grid-column:4;grid-row:4;}
.ct-p8{grid-column:4;grid-row:3;}
.ct-p9{grid-column:4;grid-row:2;}
.ct-p10{grid-column:4;grid-row:1;}
.spread.n10 .sp-slot{display:grid;grid-template-columns:132px 1fr;gap:16px;
  align-items:start;text-align:left;padding:14px 0;border-top:1px solid rgba(201,162,39,.16);}
.spread.n10 .sp-slot:first-of-type{border-top:0;}
.spread.n10 .sp-pos{grid-column:2;margin:0 0 6px;text-align:left;}
.spread.n10 .sp-flip{grid-column:1;grid-row:1 / span 4;margin:0;}
.spread.n10 .sp-name,.spread.n10 .sp-note,.spread.n10 .sp-text{grid-column:2;text-align:left;margin-left:0;margin-right:0;max-width:none;}
.ct-sum{margin:18px 0 0;padding:14px 16px;border-radius:14px;
  background:rgba(201,162,39,.08);font-size:13.5px;line-height:1.9;}
.spread.n10 .ct-major{grid-column:2;font-size:13px;line-height:1.95;margin:9px 0 0;
  padding-left:11px;border-left:2px solid rgba(201,162,39,.55);
  opacity:0;transition:opacity .6s ease .5s;}
.spread.n10 .sp-slot.shown .ct-major{opacity:1;}
.spread.n10 .ct-pos{grid-column:2;font-size:12.5px;line-height:1.95;color:var(--muted);
  margin:9px 0 0;padding-left:11px;border-left:2px solid rgba(201,162,39,.3);
  opacity:0;transition:opacity .6s ease .55s;}
.spread.n10 .sp-slot.shown .ct-pos{opacity:1;}
.sp-slot{text-align:center;position:relative;opacity:1;transform:none;
  transition:opacity .48s ease,transform .76s cubic-bezier(.18,.78,.22,1);}
.spread.is-dealing .sp-slot{opacity:0;
  transform:translate3d(var(--deal-x,0),-118px,0) rotate(var(--deal-tilt,0deg)) scale(.72);}
.spread.is-dealing .sp-slot.dealt{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1);}
.sp-pos{font-size:12px;letter-spacing:.3em;color:var(--kin);text-indent:.3em;margin-bottom:9px;}
.sp-flip{perspective:1200px;height:178px;margin-bottom:12px;position:relative;}
.sp-inner{position:relative;width:124px;height:178px;margin:0 auto;
  transform-style:preserve-3d;transition:transform .96s cubic-bezier(.22,.74,.16,1);}
.sp-flip.flipped .sp-inner{transform:rotateY(180deg);}
.sp-back,.sp-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:5px;overflow:hidden;box-shadow:0 11px 12px rgba(0,0,0,.42);}
.sp-back{transform:rotateY(0deg) translateZ(1px);}
.sp-front{transform:rotateY(180deg) translateZ(1px);}
.sp-front.rev{transform:rotateY(180deg) rotate(180deg);}
.sp-front::after{content:"";position:absolute;inset:-35% -75%;pointer-events:none;
  background:linear-gradient(105deg,transparent 38%,rgba(255,244,204,.34) 48%,rgba(255,255,255,.12) 52%,transparent 62%);
  transform:translateX(-55%) rotate(8deg);}
.sp-flip.flipped .sp-front::after{animation:foilSweep 1.15s ease .48s both;}
@keyframes foilSweep{to{transform:translateX(55%) rotate(8deg);}}
.sp-name{font-size:13.5px;color:var(--kin-l);letter-spacing:.06em;}
.sp-rev{display:block;font-size:11px;letter-spacing:.2em;color:var(--muted);margin-top:2px;}
.sp-note{font-size:11.5px;color:var(--muted);margin:5px auto 0;text-align:center;}
.sp-name,.sp-note{opacity:0;transform:translateY(5px);transition:opacity .55s ease .4s,transform .55s ease .4s;}
.sp-slot.shown .sp-name,.sp-slot.shown .sp-note{opacity:1;transform:none;}
.sp-text{font-size:12.5px;line-height:1.9;max-width:270px;margin:9px auto 0;opacity:0;
  transition:opacity .72s ease .46s;text-align:center;color:var(--gin);}
.sp-slot.shown .sp-text{opacity:1;}
/* ---- 悩みから選ぶタロット ---- */
.tarot-flow{display:grid;gap:18px;}

.tarot-step-card{padding:22px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(20,68,50,.72),rgba(10,39,28,.76));}
.tarot-step-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin-bottom:16px;}
.tarot-step-no{display:grid;place-items:center;min-width:64px;min-height:34px;border:1px solid rgba(201,162,39,.5);border-radius:99px;
  color:var(--kin-l);font-size:12px;font-weight:700;letter-spacing:.12em;}
.tarot-step-copy b{display:block;color:var(--text);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;font-weight:500;line-height:1.5;}
.tarot-step-copy span{display:block;margin-top:3px;color:var(--muted);font-size:12.5px;line-height:1.65;}
.tarot-topic-list{display:grid;gap:10px;}.tarot-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.tarot-topic-more{border:1px solid rgba(201,162,39,.22);background:rgba(5,24,17,.3);}
.tarot-topic-more summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 12px;color:var(--gin);font-size:12.5px;cursor:pointer;list-style:none;}
.tarot-topic-more summary::-webkit-details-marker{display:none;}.tarot-topic-more summary::after{content:"＋";color:var(--kin);font-size:16px;}
.tarot-topic-more[open] summary::after{content:"−";}.tarot-topic-more .tarot-topic-grid{padding:0 9px 9px;}
.tarot-topic-btn{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:70px;padding:10px 12px;
  border:1px solid var(--line2);border-radius:4px;background:rgba(7,29,21,.52);color:var(--gin);font-family:inherit;text-align:left;cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.tarot-topic-btn:not(:disabled):hover{transform:translateY(-1px);border-color:rgba(201,162,39,.55);}
.tarot-topic-btn[aria-pressed="true"]{border-color:var(--kin);background:linear-gradient(135deg,rgba(201,162,39,.17),rgba(30,102,75,.5));
  box-shadow:0 8px 22px rgba(0,0,0,.16),inset 0 0 0 1px rgba(244,223,160,.08);}
.tarot-topic-btn:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}
.tarot-topic-btn:disabled{opacity:.48;cursor:default;}
.tarot-topic-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#77536B,#336853);
  color:#F4DFA0;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:16px;}
.tarot-topic-btn b{display:block;color:var(--text);font-size:14px;line-height:1.45;}
.tarot-topic-btn small{display:block;margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.45;}
.tarot-topic-btn[aria-pressed="true"] b{color:var(--kin-l);}
.tarot-choice-fields label span{display:block;margin-bottom:6px;color:var(--gin);font-size:12.5px;letter-spacing:.05em;}
.tarot-choice-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.tarot-choice-fields[hidden]{display:none;}
.tarot-choice-fields input{width:100%;box-sizing:border-box;font-size:16px;}
.tarot-mode-panel{padding:19px 22px;border:1px solid rgba(201,162,39,.25);background:rgba(11,42,30,.68);}
.tarot-mode-panel h4{margin:0 0 5px;color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;font-weight:500;}
.tarot-mode-panel>p{margin:0 0 13px;color:var(--muted);font-size:12.5px;line-height:1.7;}
.tarot-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.tarot-mode-btn{min-height:72px;padding:11px 14px;border:1px solid var(--line2);border-radius:4px;background:rgba(7,29,21,.55);
  color:var(--gin);font-family:inherit;text-align:left;cursor:pointer;}
.tarot-mode-btn[aria-pressed="true"]{border-color:var(--kin);background:rgba(201,162,39,.12);}
.tarot-mode-btn b{display:block;color:var(--text);font-size:14px;}
.tarot-mode-btn small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55;}
.tarot-mode-btn[aria-pressed="true"] b{color:var(--kin-l);}
.tarot-context-note{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:11px;padding:10px 12px;
  border:1px solid rgba(201,162,39,.2);background:rgba(201,162,39,.055);color:var(--gin);font-size:12.5px;line-height:1.65;}
.tarot-context-note[hidden]{display:none;}
.tarot-context-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(201,162,39,.52);border-radius:50%;
  color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;}
.tarot-context-copy{min-width:0;}.tarot-context-copy small{display:block;color:var(--muted);font-size:12px;}
.tarot-context-copy b{display:block;color:var(--text);font-size:14px;font-weight:600;line-height:1.55;}
.tarot-context-note.is-missing .tarot-context-mark{border-color:rgba(156,193,178,.36);color:var(--muted);}
.tarot-context-link{flex:0 0 auto;min-height:42px;padding:8px 12px;border:1px solid rgba(201,162,39,.45);background:rgba(201,162,39,.08);
  color:var(--kin-l);font-family:inherit;font-size:12px;cursor:pointer;}
.tarot-draw-panel{padding:18px 20px;border:1px solid rgba(201,162,39,.32);background:linear-gradient(180deg,rgba(13,50,36,.78),rgba(7,29,21,.88));}
.tarot-draw-panel .tarot-step-head{margin-bottom:10px;}
.tarot-procedure{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 9px;margin:0 0 13px;padding:10px 12px;
  border:1px solid rgba(201,162,39,.22);background:rgba(4,23,16,.4);color:var(--gin);font-size:12.5px;line-height:1.6;text-align:center;}
.tarot-procedure b{color:var(--kin-l);font-weight:600;letter-spacing:.06em;}.tarot-procedure i{color:var(--muted);font-style:normal;}
.tarot-draw-panel .deck-stage{max-width:760px;margin:0 auto;}
.tarot-draw-tools{display:grid;grid-template-columns:minmax(170px,210px) minmax(180px,300px);align-items:end;justify-content:center;gap:14px;margin-top:9px;}
.tarot-spread-choice{min-width:170px;margin:0;}
.tarot-spread-choice span{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;letter-spacing:.08em;}
.tarot-spread-choice select{width:100%;}
.tarot-recommend{align-self:center;max-width:260px;color:var(--gin);font-size:12px;line-height:1.55;}
.tarot-flow .deck-ctl{margin-top:8px;}
.tarot-flow .deck-ctl .go-btn{min-height:48px;}
.tarot-final{margin-top:18px;padding:22px;border:1px solid rgba(201,162,39,.5);
  background:linear-gradient(145deg,rgba(38,74,60,.9),rgba(20,48,39,.94));box-shadow:0 16px 38px rgba(0,0,0,.24);}
.tarot-final[hidden]{display:none;}
.spread-shell{position:relative;}
.tarot-result-anchor{scroll-margin-top:92px;}
.tarot-result-toast{position:absolute;left:50%;top:50%;z-index:10;
  min-width:170px;padding:13px 22px;border:1px solid rgba(244,223,160,.56);border-radius:999px;
  background:rgba(15,47,35,.94);box-shadow:0 14px 36px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#FFF5D7;font-size:14px;font-weight:600;letter-spacing:.08em;text-align:center;pointer-events:none;
  opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% + 10px)) scale(.98);
  transition:opacity .42s ease,transform .42s ease,visibility 0s linear .42s;}
.tarot-result-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);
  transition:opacity .42s ease,transform .42s ease,visibility 0s;}
.tarot-final-kicker{color:var(--kin);font-size:12px;letter-spacing:.16em;}
.tarot-final h4{margin:7px 0 10px;color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:22px;font-weight:500;line-height:1.55;}
.tarot-final-lead{margin:0;color:var(--text);font-size:15px;line-height:2;}
.tarot-foundation{display:grid;grid-template-columns:120px minmax(0,1fr);gap:15px;margin-top:17px;padding:15px;border:1px solid rgba(201,162,39,.24);background:rgba(7,29,21,.42);}
.tarot-foundation-score{text-align:center;border-right:1px solid var(--line2);}
.tarot-foundation-score small{display:block;color:var(--muted);font-size:12px;}
.tarot-foundation-score b{display:block;margin-top:4px;color:var(--kin-l);font:28px/1.2 ui-monospace,monospace;}
.tarot-foundation-copy b{display:block;color:var(--kin-l);font-size:14px;}
.tarot-foundation-copy p{margin:5px 0 0;color:var(--gin);font-size:13px;line-height:1.85;}
.tarot-foundation-note{margin:11px 0 0;color:var(--muted);font-size:12px;line-height:1.75;}
@media(max-width:860px){
  .tarot-flow,.tarot-step-card,.tarot-draw-panel,.spread-shell{width:100%;max-width:100%;min-width:0;}
  .spread-shell{overflow:hidden;}
  .tarot-scroll-controls{width:100%;max-width:100%;margin:15px 0 8px;padding:0;}
  .spread.n3,.spread.n5{display:flex;gap:12px;width:100%;max-width:100%;min-width:0;overflow-x:scroll;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;scroll-behavior:smooth;touch-action:auto;overscroll-behavior-x:contain;
    margin:26px 0 0;padding:0 0 12px;scrollbar-width:none;}
  .spread.n3::-webkit-scrollbar,.spread.n5::-webkit-scrollbar{display:none;}
  .spread.n3 .sp-slot,.spread.n5 .sp-slot{flex:0 0 calc(100% - 28px);width:calc(100% - 28px);max-width:310px;min-width:0;
    scroll-snap-align:start;scroll-snap-stop:always;border:1px solid var(--line2);padding:14px;background:rgba(6,24,17,.26);}
  .spread .sp-slot[role="button"]{cursor:pointer;}
  .spread .sp-slot[role="button"]:focus-visible{outline:2px solid var(--kin-l);outline-offset:-2px;}
}
@media(max-width:700px){
  .tarot-flow{gap:13px;}

  .tarot-step-card,.tarot-draw-panel{padding:17px 13px;}
  .tarot-topic-grid{grid-template-columns:1fr 1fr;gap:6px;}
  .tarot-topic-btn{grid-template-columns:34px minmax(0,1fr);gap:7px;min-height:64px;padding:8px 8px;}
  .tarot-topic-mark{width:34px;height:34px;font-size:14px;}
  .tarot-topic-btn b{font-size:13px;}
  .tarot-topic-btn small{font-size:11.5px;line-height:1.5;}
  .tarot-choice-fields,.tarot-mode-grid{grid-template-columns:1fr;}
  .tarot-mode-panel{padding:16px 13px;}
  .tarot-context-note{grid-template-columns:36px minmax(0,1fr);align-items:center;}
  .tarot-context-link{grid-column:1/-1;width:100%;}
  .tarot-draw-tools{grid-template-columns:1fr;align-items:end;gap:8px;}
  .tarot-spread-choice{width:100%;min-width:0;}
  .tarot-recommend{grid-column:1/-1;max-width:none;text-align:center;}
  .tarot-foundation{grid-template-columns:1fr;}
  .tarot-foundation-score{border-right:0;border-bottom:1px solid var(--line2);padding-bottom:10px;}
}

/* ---- 図の凡例 ---- */
.legend{display:flex;flex-direction:column;gap:13px;}
.lg{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start;
  font-size:12.5px;line-height:1.85;color:var(--gin);}
.lg b{color:var(--kin-l);font-weight:400;}
.lg-mark{font-size:16px;letter-spacing:1px;text-align:center;padding-top:2px;}
.lg-lines{display:block;height:22px;position:relative;}
.lg-lines::before,.lg-lines::after{content:"";position:absolute;left:6px;right:6px;height:1.5px;}
.lg-lines::before{top:6px;background:#3E8E7E;transform:rotate(-16deg);}
.lg-lines::after{top:13px;background:#C8483A;transform:rotate(14deg);}


.privacy-line{text-align:center;font-size:12px;color:var(--muted);margin:16px 0 0;
  display:flex;align-items:center;justify-content:center;gap:9px;}
.seal-s{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border:1.5px solid var(--shu);border-radius:3px;
  color:var(--shu);font-size:13px;transform:rotate(-6deg);flex:0 0 auto;}

/* ---- 五つの運気 ---- */
.total-wrap{text-align:center;margin-bottom:22px;}
.total-num{font-size:clamp(52px,12vw,74px);line-height:1;
  background:linear-gradient(160deg,#F4DFA0,#C9A227 45%,#8A6A1C 68%,#F4DFA0);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.total-lbl{font-size:11px;letter-spacing:.42em;color:var(--muted);text-indent:.42em;margin-top:2px;}
.gauges{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.gauge-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
.gauge-name{font-size:17px;letter-spacing:.16em;color:var(--gin);}
.gauge-score{font-size:20px;color:var(--kin);}
.gauge-txt{font-size:13px;line-height:1.85;margin:10px 0 0;}
.gauge-why{margin:8px 0 0;padding-left:16px;font-size:11.5px;color:var(--muted);line-height:1.8;}
.gauge-why li{margin-bottom:2px;}
.dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.dir-box{border:1px solid var(--line2);padding:14px;text-align:center;}
.dir-lbl{font-size:11px;letter-spacing:.28em;color:var(--kin);}
.dir-main{font-size:clamp(24px,5vw,32px);letter-spacing:.1em;margin-top:6px;color:var(--kin-l);}
.lucky-nums{display:flex;gap:10px;}
.lucky-n{width:46px;height:46px;border:1px solid var(--kin);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--kin-l);}
.essay p{font-size:15px;line-height:2.15;margin:0 0 18px;text-align:justify;}
.essay p:last-child{margin-bottom:0;color:var(--muted);font-size:13.5px;line-height:2;}


/* ============================================================
   演出：光・きらめき・出現
   ============================================================ */

/* 金の光が横切る（見出し・数値） */
.shine{position:relative;overflow:hidden;}
.shine::after{content:"";position:absolute;top:-60%;left:-140%;width:60%;height:220%;
  background:linear-gradient(100deg,transparent,rgba(255,244,205,.42),transparent);
  transform:skewX(-18deg);animation:sweep 4.6s ease-in-out infinite;}
@keyframes sweep{0%{left:-140%;}42%{left:150%;}100%{left:150%;}}

/* 数値のせり上がり */
.rise{display:inline-block;animation:rise .9s cubic-bezier(.2,.9,.25,1) both;}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.94);}to{opacity:1;transform:none;}}

/* ゲージが伸びる */
.bar>i{transform-origin:left center;}
.bar.grow>i{animation:grow 1.5s cubic-bezier(.18,.85,.24,1) both;}
@keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}

/* きらめき粒 */
.spark{position:absolute;width:4px;height:4px;pointer-events:none;
  background:radial-gradient(circle,#FFF6DA 0%,#F4DFA0 40%,transparent 70%);
  border-radius:50%;opacity:0;animation:spark 1.5s ease-out forwards;}
@keyframes spark{
  0%{opacity:0;transform:translate(0,0) scale(.3);}
  18%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(1.5);}
  100%{opacity:0;transform:translate(calc(var(--dx)*2.1),calc(var(--dy)*2.1)) scale(.2);}
}

/* 金の粉が舞う（結果カード） */
.dust{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:2px;}
.dust i{position:absolute;width:2px;height:2px;border-radius:50%;background:#F4DFA0;
  opacity:0;animation:float linear infinite;}
@keyframes float{
  0%{opacity:0;transform:translateY(20px);}
  12%{opacity:.65;}
  88%{opacity:.35;}
  100%{opacity:0;transform:translateY(-130px);}
}

/* 一文字ずつ現れる */
/* アニメが無効な環境でも文字が消えないよう、基本は不透明にしてアニメ側で0から入る */
.chars span{display:inline-block;opacity:1;animation:charin .62s ease both;}
@keyframes charin{from{opacity:0;transform:translateY(10px) rotateX(50deg);}to{opacity:1;transform:none;}}

/* 円盤の外周を光が回る */
@keyframes dash{to{stroke-dashoffset:-1200;}}
.dialglow{animation:dash 26s linear infinite;}

/* 結果カードが順に立ち上がる */
.pop{opacity:0;animation:pop .7s cubic-bezier(.2,.9,.25,1) forwards;}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.985);}to{opacity:1;transform:none;}}

/* おみくじの吉凶が浮き上がる */
.fortune-rank{position:relative;}
.rank-in{animation:rankin 1.15s cubic-bezier(.16,1,.3,1) both;}
@keyframes rankin{
  0%{opacity:0;transform:scale(.55) translateY(26px);filter:blur(9px);}
  55%{opacity:1;filter:blur(0);}
  70%{transform:scale(1.07) translateY(-3px);}
  100%{opacity:1;transform:none;filter:blur(0);}
}
.rank-halo{position:absolute;left:50%;top:50%;width:190px;height:190px;margin:-95px 0 0 -95px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(244,223,160,.34) 0%,transparent 62%);
  opacity:0;animation:halo 1.9s ease-out forwards;}
@keyframes halo{0%{opacity:0;transform:scale(.35);}35%{opacity:1;}100%{opacity:0;transform:scale(1.9);}}

/* 五行環の脈動 */
@keyframes pulse{0%,100%{opacity:.2;}50%{opacity:.42;}}

/* ---- タブ ---- */
.tabwrap{position:sticky;top:48px;z-index:30;margin:22px 0 20px;max-width:100%;overflow:hidden;
  background:linear-gradient(180deg,rgba(8,24,18,.97),rgba(8,24,18,.9));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding-top:6px;}
.tabwrap::after{content:"";position:absolute;right:0;top:6px;bottom:0;width:34px;
  display:none;background:linear-gradient(90deg,transparent,rgba(8,24,18,.95));pointer-events:none;}
.scroll-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;margin:0 8px 7px;}
.scroll-controls[hidden]{display:none!important;}
.scroll-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(201,162,39,.5);border-radius:50%;
  background:rgba(23,74,54,.92);color:var(--kin-l);font:25px/1 Georgia,serif;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.25);
  transition:opacity .2s ease,transform .2s ease,background .2s ease;}
.scroll-arrow:not(:disabled):hover{transform:translateY(-1px);background:#1D6046;}
.scroll-arrow:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}
.scroll-arrow:disabled{opacity:.25;cursor:default;box-shadow:none;}
.scroll-hint{text-align:center;color:var(--gin);font-size:12.5px;line-height:1.5;letter-spacing:.05em;}
/* じっくり占いの章ナビ: 全4章あることが一目で分かるよう、金色+現在地ドットで強調 */
.scroll-hint-strong i{display:block;font-style:normal;color:#F4DFA0;font-size:13px;font-weight:700}
.scroll-hint-strong #tabDots{display:block;margin-bottom:3px;color:var(--kin);font-size:11px;letter-spacing:2px}
.tarot-scroll-controls{max-width:430px;margin:18px auto -13px;}
.tabs{display:flex;border-bottom:1px solid var(--kin);margin:0;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab{flex:0 0 auto;padding:12px 16px;font-size:14.5px;background:none;border:0;color:var(--gin);
  cursor:pointer;border-bottom:2px solid transparent;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  letter-spacing:.12em;white-space:nowrap;}
.tab:hover{color:var(--text);}
.tab[aria-selected="true"]{color:var(--kin-l);border-bottom-color:var(--kin);
  background:linear-gradient(180deg,transparent,rgba(201,162,39,.13));}
.tab:focus-visible{outline:2px solid var(--kin);outline-offset:-2px;}

/* ---- 命式 ---- */
.pillars{display:grid;gap:12px;}
.pillars.n4{grid-template-columns:repeat(4,1fr);}
.pillars.n3{grid-template-columns:repeat(3,1fr);}
.pillar{background:linear-gradient(180deg,rgba(30,102,75,.5),rgba(12,42,31,.5));
  border:1px solid var(--line2);text-align:center;padding:14px 8px;}
.pillar .plbl{font-size:11px;letter-spacing:.26em;color:var(--kin);}
.pillar .psub{font-size:10.5px;color:var(--muted);line-height:1.6;min-height:28px;margin-bottom:8px;}
.kan{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(30px,7vw,46px);line-height:1.12;}
.pmeta{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.75;}

/* ---- 表・バー ---- */
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th,td{text-align:left;padding:6px 9px;border-bottom:1px solid var(--line2);}
th{color:var(--muted);font-weight:400;font-size:11px;letter-spacing:.2em;}
.bar{height:7px;background:rgba(4,18,13,.8);border-radius:4px;overflow:hidden;}
.bar>i{display:block;height:100%;border-radius:4px;}
.two{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start;}
.sumrow{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:15px 0;
  border-bottom:1px solid var(--line2);}
.sumrow:last-child{border-bottom:0;}
.sumlbl{font-size:12px;letter-spacing:.2em;color:var(--kin);padding-top:5px;}
.sumbody{font-size:15px;line-height:2.05;}
.pill{display:inline-block;border:1px solid var(--line2);border-radius:99px;padding:2px 12px;
  font-size:11.5px;color:var(--muted);margin-right:7px;}
.agree{border-left:2px solid var(--moku);padding:7px 0 7px 14px;margin-bottom:10px;}
.conf{border-left:2px solid var(--shu);padding:7px 0 7px 14px;margin-bottom:10px;}
.warn{background:rgba(200,72,58,.10);border:1px solid rgba(200,72,58,.45);padding:12px 16px;
  font-size:13px;color:#F2D2CC;margin-bottom:18px;}
.retro{color:var(--shu);font-size:11px;}
.big{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:20px;color:var(--kin);}
.numbig{font-family:ui-monospace,monospace;font-size:32px;color:var(--kin);}
.ringWrap svg{width:100%;max-width:340px;display:block;margin:0 auto;}
#zodiacWrap svg{width:100%;max-width:400px;display:block;margin:0 auto;}

/* ---- フッタ ---- */
footer{margin-top:44px;padding:30px 0 60px;border-top:1px solid var(--line2);text-align:center;}
footer .shop{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;letter-spacing:.2em;margin-bottom:6px;}
details{border:1px solid var(--line2);padding:12px 16px;margin-top:14px;text-align:left;}
summary{cursor:pointer;font-size:12.5px;letter-spacing:.16em;color:var(--kin);}
details[open] summary{margin-bottom:10px;}

.site-notice{max-width:760px;margin:0 auto 18px;padding:13px 16px;border-left:2px solid rgba(201,162,39,.55);
  background:rgba(14,48,35,.45);color:var(--gin);font-size:12.5px;line-height:1.8;text-align:left;}
.site-notice b{color:var(--kin-l);font-weight:500;margin-right:8px;}
/* ---- リビール ---- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .85s ease,transform .85s ease;}
.rv.on{opacity:1;transform:none;}


/* ---- 算出中のオーバーレイ ---- */
#veil{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
  overflow:hidden;overflow-y:auto;padding:12px;box-sizing:border-box;
  background:rgba(6,22,16,.94);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
/* 蝋燭の円卓(鑑定中)の絵。じわっとズームさせて「静止画」に見せない */
#veil::before{content:"";position:fixed;inset:-4%;z-index:0;
  background:linear-gradient(rgba(6,22,16,.58),rgba(6,22,16,.78)),url("assets/guides/veil-table.webp") center/cover no-repeat;
  animation:veilKen 10s ease-in-out infinite alternate;}
@keyframes veilKen{from{transform:scale(1)}to{transform:scale(1.08)}}
/* 蝋燭の灯りのゆらぎ(金の淡い光がゆっくり脈打つ) */
#veil::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 45% at 50% 62%,rgba(244,207,110,.16),transparent 70%);
  animation:veilGlow 3.4s ease-in-out infinite alternate;}
@keyframes veilGlow{from{opacity:.35}to{opacity:1}}
.veil-inner{position:relative;z-index:1;}
/* 蝋燭の火の粉: 金の粒が卓上からゆっくり舞い上がる */
.veil-embers{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
/* 占い中の見せ場: たまに夜空を流れる星(transformのみ) */
.veil-shooting{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.veil-shooting i{position:absolute;top:12%;left:-12%;width:110px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(255,255,255,0),#FFF 55%,#F4DFA0);
  box-shadow:0 0 8px 1px rgba(244,223,160,.7);opacity:0;transform:rotate(16deg);
  will-change:transform,opacity;animation:veilShoot 9s linear infinite}
.veil-shooting i:nth-child(2){top:30%;left:-16%;width:80px;animation-duration:13s;animation-delay:5.2s}
@keyframes veilShoot{0%,72%{opacity:0;transform:rotate(16deg) translateX(0)}
  74%{opacity:1}
  82%{opacity:0;transform:rotate(16deg) translateX(130vw)}
  100%{opacity:0;transform:rotate(16deg) translateX(130vw)}}
.veil-embers i{position:absolute;bottom:-12px;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle,#FFE9A8,#C9A227 70%,transparent);opacity:0;
  animation:emberUp linear infinite}
@keyframes emberUp{0%{transform:translate(0,0);opacity:0}8%{opacity:.95}55%{opacity:.6}100%{transform:translate(26px,-106vh);opacity:0}}
.veil-embers i:nth-child(1){left:12%;animation-duration:9s;animation-delay:0s}
.veil-embers i:nth-child(2){left:22%;width:4px;height:4px;animation-duration:12s;animation-delay:2.1s}
.veil-embers i:nth-child(3){left:31%;animation-duration:10s;animation-delay:4.4s}
.veil-embers i:nth-child(4){left:39%;width:6px;height:6px;animation-duration:8s;animation-delay:1.2s}
.veil-embers i:nth-child(5){left:47%;animation-duration:11s;animation-delay:5.6s}
.veil-embers i:nth-child(6){left:54%;width:4px;height:4px;animation-duration:9.5s;animation-delay:3s}
.veil-embers i:nth-child(7){left:61%;animation-duration:12.5s;animation-delay:.7s}
.veil-embers i:nth-child(8){left:68%;width:6px;height:6px;animation-duration:8.6s;animation-delay:6.2s}
.veil-embers i:nth-child(9){left:75%;animation-duration:10.8s;animation-delay:2.8s}
.veil-embers i:nth-child(10){left:83%;width:4px;height:4px;animation-duration:11.6s;animation-delay:4.9s}
.veil-embers i:nth-child(11){left:90%;animation-duration:9.2s;animation-delay:1.8s}
.veil-embers i:nth-child(12){left:18%;width:6px;height:6px;animation-duration:13s;animation-delay:7.4s}
/* 結果開示の一撃: 金粉の放射と光の輪 */
.fx-burst{position:fixed;left:50%;top:42%;z-index:12050;pointer-events:none}
.fx-burst i{position:absolute;left:0;top:0;border-radius:50%;
  background:radial-gradient(circle,#FFF3C4,#F4DFA0 45%,#C9A227 78%,transparent);
  animation:fxFly .95s cubic-bezier(.16,.8,.32,1) both}
@keyframes fxFly{from{transform:translate(-50%,-50%) scale(.35);opacity:0}12%{opacity:1}
  to{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(0);opacity:0}}
.fx-burst b{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;
  animation:fxRing .85s ease-out both}
@keyframes fxRing{from{box-shadow:0 0 0 0 rgba(244,223,160,.65);opacity:1}
  to{box-shadow:0 0 0 150px rgba(244,223,160,0);opacity:0}}
/* 背景画が「六人が鑑定中」を語るので、丸アイコンの横並びは出さない */
.veil-guides{display:none}
#veil.on{display:flex;animation:veilin .3s ease;}
@keyframes veilin{from{opacity:0}to{opacity:1}}
.veil-inner{max-width:100%;margin:auto;text-align:center;}
.veil-title{font-size:clamp(26px,6vw,38px);letter-spacing:.34em;text-indent:.34em;margin-top:22px;
  background:linear-gradient(160deg,#F4DFA0,#C9A227 45%,#8A6A1C 70%,#F4DFA0);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.veil-sub{font-size:13px;letter-spacing:.24em;color:#9FCBBA;margin-top:10px;min-height:20px;transition:opacity .45s ease;}
.veil-inner .orbit{width:130px;height:130px;transition:opacity .4s;}
.veil-btn{display:none;margin:26px auto 0;background:linear-gradient(180deg,rgba(201,162,39,.18),rgba(201,162,39,.06));
  border:1px solid var(--kin);color:#F4DFA0;padding:15px 46px;border-radius:10px;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-weight:700;
  font-size:16px;letter-spacing:.26em;text-indent:.26em;cursor:pointer;box-shadow:0 0 0 4px rgba(201,162,39,.08);}
.veil-btn:hover{filter:brightness(1.14);}
.veil-btn:focus-visible{outline:2px solid #F4DFA0;outline-offset:3px;}
/* ボタンは出さない(結果へは自動で移る。幕タップでも開ける) */
#veil.done .veil-btn{display:none;}
#veil.done .orbit{opacity:.35;animation:none;}
#veil.done .orbit g{animation:none;}
@keyframes cin{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

.tick{animation:tickf .5s ease;}
@keyframes tickf{0%{opacity:.2;}100%{opacity:1;}}
#reading.reveal{animation:rvin 1s ease;}
@keyframes rvin{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
.orbit .o1{transform-origin:50% 50%;animation:spin 3.4s linear infinite;}
.orbit .o2{transform-origin:50% 50%;animation:spin 2.1s linear infinite reverse;}
.orbit .o3{transform-origin:50% 50%;animation:spin 5.2s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* サッと見る時はブランドを残しつつ、結果までの距離を短くする */
body.is-quick-view .masthead{padding:14px 0 6px;}
body.is-quick-view .freeline{margin-top:5px;}
body.is-quick-view .whatis,
body.is-quick-view .systems-details,
body.is-quick-view .cta-row,
body.is-quick-view .trust-strip{display:none;}

@media(max-width:600px){
  body.is-quick-view .masthead{padding-top:7px;}
  body.is-quick-view .freeline{display:none;}
}

/* ---- サッと見る／じっくり見る ---- */
.experience-switch{position:sticky;top:8px;z-index:50;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  align-items:center;gap:13px;max-width:850px;margin:2px auto 22px;padding:10px 11px 10px 16px;
  border:1px solid rgba(201,162,39,.38);border-radius:18px;background:rgba(7,29,21,.92);
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  transition:transform .34s cubic-bezier(.22,.72,.2,1),opacity .24s ease;will-change:transform,opacity;}
.experience-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0;}
.experience-guide-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(244,223,160,.34);
  border-radius:50%;color:var(--kin-l);font:11px/1.1 ui-monospace,monospace;letter-spacing:.08em;background:rgba(201,162,39,.07);}
.experience-copy{min-width:0;font-size:11px;line-height:1.55;color:var(--muted);}
.experience-copy b{display:block;color:var(--kin-l);font-size:12px;font-weight:500;letter-spacing:.06em;}
.experience-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0;}
.experience-btn{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;
  min-height:58px;border:1px solid rgba(217,235,228,.11);border-radius:13px;padding:8px 10px;background:rgba(255,255,255,.025);
  color:var(--gin);font-family:inherit;text-align:left;cursor:pointer;transition:background .36s ease,border-color .36s ease,color .36s ease,box-shadow .36s ease,transform .36s ease;}
.experience-btn:hover{border-color:rgba(244,223,160,.34);background:rgba(255,255,255,.055);}
.experience-btn-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(217,235,228,.16);border-radius:12px;
  color:#D7C27E;font:10px/1.15 ui-monospace,monospace;letter-spacing:.04em;transition:all .36s ease;}
.experience-btn-copy{min-width:0;}
.experience-btn-copy b{display:block;font-size:12.5px;line-height:1.35;letter-spacing:.07em;font-weight:600;}
.experience-btn-copy small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;line-height:1.35;white-space:nowrap;}
.experience-arrow{color:rgba(217,235,228,.38);font-size:17px;line-height:1;transition:transform .36s ease,color .36s ease;}
.experience-btn[aria-selected="true"]{border-color:rgba(244,223,160,.62);background:linear-gradient(135deg,#F7EAC8,#D8B75B);
  color:#173A2E;box-shadow:0 7px 20px rgba(201,162,39,.2),inset 0 1px 0 rgba(255,255,255,.6);}
.experience-btn[aria-selected="true"] .experience-btn-mark{border-color:rgba(23,58,46,.18);background:rgba(23,58,46,.09);color:#264F41;}
.experience-btn[aria-selected="true"] small{color:rgba(23,58,46,.65);}
.experience-btn[aria-selected="true"] .experience-arrow{color:#264F41;transform:translateX(2px);}
.experience-btn:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px;}
.experience-switch.is-changing .experience-btn{pointer-events:none;}
.relationship-entry-wrap{max-width:850px;margin:0 auto 20px;padding:0 8px;}
.relationship-entry{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;
  min-height:66px;padding:10px 14px;border:1px solid rgba(201,162,39,.48);border-radius:16px;background:linear-gradient(135deg,#FFF8EB,#F6EEF5 58%,#EEF4F2);
  color:#493C4D;font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.17),inset 0 1px 0 #fff;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.relationship-entry:hover{transform:translateY(-2px);border-color:rgba(201,162,39,.72);box-shadow:0 16px 36px rgba(0,0,0,.21),inset 0 1px 0 #fff;}
.relationship-entry:focus-visible{outline:2px solid var(--kin-l);outline-offset:3px;}
.relationship-entry-mark{display:grid;place-items:center;width:43px;height:43px;aspect-ratio:1/1;border-radius:50%;
  background:linear-gradient(145deg,#72556F,#3F6A5B);color:#F5E2A8;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;box-shadow:0 5px 13px rgba(59,45,65,.2);}
.relationship-entry-copy{display:block;min-width:0;}.relationship-entry-copy small{display:block;color:#9B748D;font-size:9.5px;letter-spacing:.17em;}
.relationship-entry-copy b{display:block;margin-top:2px;color:#4A3A4E;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:16px;font-weight:500;letter-spacing:.04em;}
.relationship-entry-copy em{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:#786B79;font-size:10.5px;font-style:normal;white-space:nowrap;}
.relationship-entry-arrow{color:#9A7A3C;font-size:25px;line-height:1;transition:transform .28s ease;}
.relationship-entry:hover .relationship-entry-arrow{transform:translateX(3px);}
.quick-view[hidden],#deepView[hidden]{display:none!important;}
.quick-view.experience-exit,#deepView.experience-exit{animation:experienceOut .2s cubic-bezier(.4,0,1,1) both;pointer-events:none;}
.quick-view.experience-enter,#deepView.experience-enter,.quick-onboard.experience-enter{animation:experienceIn .48s cubic-bezier(.2,.75,.2,1) both;}
@keyframes experienceOut{to{opacity:0;transform:translateY(6px);filter:blur(1.5px);}}
@keyframes experienceIn{from{opacity:0;transform:translateY(11px);filter:blur(2px);}to{opacity:1;transform:none;filter:none;}}
.quick-view{margin:0 auto 40px;max-width:1040px;}
.quick-profile-source{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 15px;padding:11px 13px;
  border:1px solid rgba(139,104,139,.14);border-radius:15px;background:rgba(255,255,255,.58);}
.quick-profile-source-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;}
.quick-profile-source-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#E8C9D4,#C0E5DF);color:#fff;font-size:15px;}
.quick-profile-source-head small{display:block;color:#8A798B;font-size:10.5px;letter-spacing:.08em;}
.quick-profile-source-head b{display:block;margin-top:2px;color:#554658;font-size:11.5px;line-height:1.55;}
.quick-profile-source-detail{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;padding-top:7px;border-top:1px solid rgba(139,104,139,.11);color:#77677A;font-size:11.5px;line-height:1.55;}
.quick-profile-source-detail span{min-width:0;overflow-wrap:anywhere;}
.quick-profile-edit{justify-self:center;width:min(320px,100%);min-height:42px;border:1px solid rgba(128,99,132,.22);border-radius:10px;padding:8px 11px;background:rgba(255,255,255,.72);
  color:#6B566E;font-family:inherit;font-size:11px;cursor:pointer;transition:background .25s ease,transform .25s ease;}
.quick-profile-edit:hover{background:#fff;transform:translateY(-1px);}
.quick-shell{--q-ink:#2F4A45;--q-muted:#566F6B;--q-pink:#D9C089;--q-lav:#C9E4DB;--q-mint:#D5CFAF;--q-gold:#AE8C37;
  /* overflow:hidden だと隠れスクロールコンテナになり、結果表示の scrollIntoView が
     内部を120pxずらしたまま固定→「上に戻れない+下に空白」の原因になった。clip は切り抜きのみ */
  position:relative;overflow:hidden;overflow:clip;border:1px solid rgba(244,223,160,.65);border-radius:28px;padding:30px;
  color:var(--q-ink);background:linear-gradient(145deg,#FFF9EE 0%,#FBEFF3 40%,#EEF9F7 72%,#EDF7F2 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.9);}
.quick-shell::before,.quick-shell::after{content:"";position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px);}
.quick-shell::before{width:290px;height:290px;right:-110px;top:-145px;background:radial-gradient(circle,rgba(212,175,85,.24),transparent 68%);}
.quick-shell::after{width:220px;height:220px;left:-105px;bottom:-120px;background:radial-gradient(circle,rgba(140,200,178,.22),transparent 70%);}
.quick-intro{position:relative;display:block;max-width:880px;min-height:0;
  margin:0 auto 12px;padding:26px 31px;overflow:hidden;border:1px solid rgba(244,223,160,.46);border-radius:22px;text-align:left;
  background:linear-gradient(100deg,rgba(8,34,25,.97),rgba(30,60,49,.9) 58%,rgba(60,49,68,.76)),url("assets/title-celestial-premium.jpg") center center/cover;
  box-shadow:0 16px 36px rgba(45,32,54,.22),inset 0 1px 0 rgba(255,255,255,.1);}
.quick-intro::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 48%,rgba(244,223,160,.06),transparent 67%);}
.quick-intro-copy{position:relative;z-index:1;max-width:none;min-width:0;padding:0;text-align:center;}
.quick-kicker-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;}
.quick-mascot{position:static;z-index:2;display:block;width:62px;height:62px;margin:-13px 0 -13px auto;object-fit:contain;
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.28));transform:rotate(2deg);user-select:none;pointer-events:none;}
.quick-kicker{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid rgba(244,223,160,.34);border-radius:99px;
  background:rgba(7,29,21,.38);color:#E6CF8D;font-size:10px;letter-spacing:.2em;}
.quick-kicker::before{content:"✦";font-size:11px;color:#C9A227;}
.quick-title{margin:12px 0 7px;color:#FFF9EC;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(38px,5.5vw,54px);
  font-weight:700;letter-spacing:.055em;line-height:1.25;text-shadow:0 3px 20px rgba(0,0,0,.46);}
.quick-title small{display:block;margin-bottom:3px;color:#E4C1D0;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.25em;}
.quick-promise{max-width:660px;margin:0 auto;color:rgba(255,255,255,.77);font-size:12.5px;line-height:1.85;}
.quick-free{display:block;margin-top:5px;color:#E7CF8B;font-size:11.5px;font-weight:600;letter-spacing:.03em;}
.quick-tarot-banner{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:19px;
  width:100%;max-width:880px;min-height:134px;margin:14px auto 20px;padding:17px 20px;overflow:hidden;border:1px solid rgba(174,140,55,.44);
  border-radius:19px;background:linear-gradient(120deg,#364F4C 0%,#2E5C4B 58%,#245240 100%);color:#fff;font-family:inherit;text-align:left;
  box-shadow:0 14px 30px rgba(47,70,68,.2);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.quick-tarot-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 42%,rgba(244,223,160,.12) 58%,transparent 72%);}
.quick-tarot-banner:hover{transform:translateY(-2px);border-color:rgba(229,202,128,.7);box-shadow:0 18px 36px rgba(47,70,68,.26);}
.quick-tarot-banner:focus-visible{outline:3px solid rgba(181,144,164,.55);outline-offset:3px;}
.quick-tarot-cards{position:relative;z-index:1;width:112px;height:96px;}
.quick-tarot-cards img{position:absolute;left:35px;top:3px;width:58px;height:88px;object-fit:cover;border-radius:5px;border:1px solid rgba(244,223,160,.5);box-shadow:0 8px 15px rgba(0,0,0,.32);}
.quick-tarot-cards img:first-child{transform:translateX(-24px) rotate(-10deg);}.quick-tarot-cards img:nth-child(2){transform:rotate(0);}
.quick-tarot-cards img:last-child{transform:translateX(24px) rotate(10deg);}
.quick-tarot-copy{position:relative;z-index:1;min-width:0;}.quick-tarot-copy small{display:block;color:#E6C5D2;font-size:11px;font-weight:700;letter-spacing:.15em;}
.quick-tarot-copy b{display:block;margin-top:5px;color:#FFF8E8;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:22px;font-weight:600;line-height:1.45;}
.quick-tarot-copy span{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.65;}
.quick-tarot-cta{position:relative;z-index:1;min-width:132px;padding:11px 14px;border:1px solid rgba(244,223,160,.46);border-radius:11px;background:rgba(255,255,255,.08);
  color:#F4DFA0;font-size:12px;font-weight:700;text-align:center;white-space:nowrap;}

.quick-depth-guide{position:relative;max-width:880px;margin:22px auto 0;padding:16px;border:1px solid rgba(139,104,139,.16);border-radius:18px;
  background:rgba(255,255,255,.72);box-shadow:0 9px 24px rgba(94,72,101,.07);cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;}
.quick-depth-guide:hover{transform:translateY(-2px);border-color:rgba(152,113,147,.36);background:rgba(255,255,255,.86);box-shadow:0 14px 30px rgba(94,72,101,.13);}
.quick-depth-guide:focus-visible{outline:3px solid rgba(181,144,164,.55);outline-offset:3px;}
.quick-depth-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:12px;}
.quick-depth-mark{display:grid;place-items:center;width:48px;height:48px;aspect-ratio:1/1;border-radius:50%;
  background:linear-gradient(145deg,#74566F,#446E5F);color:#F4DFA0;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;}
.quick-depth-copy{min-width:0;}.quick-depth-copy small{display:block;color:#9A758D;font-size:9.5px;letter-spacing:.16em;}
.quick-depth-copy b{display:block;margin-top:2px;color:#503F55;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:16px;font-weight:500;}
.quick-guide-button{border:1px solid rgba(128,99,132,.22);border-radius:10px;padding:8px 11px;background:#fff;color:#705A73;
  font-family:inherit;font-size:10.5px;white-space:nowrap;pointer-events:none;transition:transform .25s ease,box-shadow .25s ease;}
.quick-depth-guide:hover .quick-guide-button{transform:translateY(-1px);box-shadow:0 7px 17px rgba(103,76,105,.11);}
.quick-system-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;}
.quick-system{min-width:0;padding:9px 5px 8px;border:1px solid rgba(116,91,119,.12);border-radius:11px;background:rgba(255,255,255,.67);text-align:center;}
.quick-system-mark{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 7px;border-radius:50%;background:linear-gradient(145deg,#E9CDD8,#C2E4DF);color:#fff;font-size:14px;box-shadow:0 4px 10px rgba(104,80,111,.1);}
.quick-system b{display:block;color:#59475E;font-size:12px;line-height:1.4;white-space:nowrap;}
.quick-system small{display:block;margin-top:3px;color:#8A7C8C;font-size:10px;line-height:1.45;}
.quick-proof-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;}
.quick-proof{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:7px 8px;border-radius:9px;background:rgba(83,63,89,.055);}
.quick-proof b{color:#9A7430;font-size:8px;letter-spacing:.08em;}.quick-proof span{color:#756978;font-size:8px;line-height:1.45;}
.quick-onboard{position:relative;max-width:780px;margin:0 auto;padding:27px;border:2px solid rgba(174,140,55,.27);border-radius:22px;
  background:rgba(255,255,255,.84);box-shadow:0 16px 38px rgba(94,72,101,.14),inset 0 1px 0 #fff;overflow:hidden;}
.quick-onboard::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#D9AFC0,#B1DED8 50%,#D2B86E);}
.quick-onboard-head{text-align:center;margin-bottom:19px;}
.quick-onboard-step{display:inline-flex!important;align-items:center;justify-content:center;margin:0 0 8px!important;padding:5px 12px;border-radius:99px;
  background:#F0E7CF;color:#8A6A1C!important;font-size:13px!important;font-weight:700;letter-spacing:.08em;}
.quick-onboard-head b{display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(24px,3vw,30px);font-weight:700;color:#443649;line-height:1.45;}
.quick-onboard-head span{display:block;margin-top:7px;font-size:13.5px;line-height:1.75;color:#675D6B;}
.quick-form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.75fr);gap:12px;align-items:end;}
.quick-field label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:700;letter-spacing:.08em;color:#69596D;}
.quick-date-selects{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:6px;}
.quick-shell select,.quick-shell input:not([type="radio"]){width:100%;min-width:0;border:1px solid rgba(116,91,119,.22);border-radius:10px;
  background:rgba(255,255,255,.92);color:#453A49;padding:11px 10px;font-family:inherit;font-size:14px;outline:none;}
.quick-shell select:focus,.quick-shell input:not([type="radio"]):focus{border-color:#B993A5;box-shadow:0 0 0 3px rgba(211,172,192,.18);}
.quick-sex-field{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0;}
.quick-sex-field legend{margin:0 0 7px;padding:0;color:#69596D;font-size:12.5px;font-weight:700;letter-spacing:.08em;}
.quick-sex-field legend small{color:#8A7A8D;font-size:11.5px;font-weight:500;letter-spacing:0;}
.quick-sex-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.quick-sex-options label{position:relative;display:block;margin:0;cursor:pointer;}
.quick-sex-options input{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;pointer-events:none;}
.quick-sex-options span{display:flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;border:1px solid rgba(116,91,119,.22);
  border-radius:10px;background:rgba(255,255,255,.92);color:#69596D;font-size:13px;font-weight:700;letter-spacing:.03em;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.quick-sex-options input:checked+span{border-color:#A77E94;background:linear-gradient(135deg,#F7E8EE,#EAF8F6);box-shadow:inset 0 0 0 1px rgba(167,126,148,.2);color:#543F58;}
.quick-sex-options input:focus-visible+span{outline:3px solid rgba(181,144,164,.4);outline-offset:2px;}
.quick-go{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:72px;border:1px solid rgba(221,187,99,.62);border-radius:15px;padding:12px 20px;
  background:linear-gradient(135deg,#634B65,#346954);color:#FFF9EC;font-family:inherit;cursor:pointer;box-shadow:0 12px 28px rgba(69,55,79,.28),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;}
.quick-go-label{font-size:19px;font-weight:800;line-height:1.4;letter-spacing:.04em;}
.quick-go small{display:block;margin-top:3px;color:#EADCA9;font-size:12px;font-weight:600;letter-spacing:.08em;}
.quick-go:hover{filter:brightness(1.04);transform:translateY(-1px);}
.quick-go:focus-visible{outline:3px solid rgba(174,140,55,.5);outline-offset:3px;}
.quick-go:disabled{opacity:.5;cursor:default;transform:none;}
.quick-privacy{margin:13px 0 0;text-align:center;font-size:12px;line-height:1.7;color:#706673;}
.quick-loading{position:relative;display:grid;place-items:center;min-height:250px;text-align:center;}
.quick-loading[hidden]{display:none;}
.quick-loader{width:66px;height:66px;border:1px solid rgba(174,140,55,.22);border-radius:50%;position:relative;margin:0 auto 14px;}
.quick-loader::before{content:"";position:absolute;inset:7px;border:2px solid transparent;border-top-color:#BA91A5;
  border-right-color:#9BCFC8;border-radius:50%;animation:qspin 1.2s linear infinite;}
.quick-loader::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;color:#A9873B;}
@keyframes qspin{to{transform:rotate(360deg)}}
.quick-loading b{display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;font-weight:500;color:#513F56;}
.quick-loading span{display:block;margin-top:6px;font-size:12px;color:var(--q-muted);}
.quick-result[hidden]{display:none;}
.quick-result{position:relative;animation:qresult .55s ease both;}
@keyframes qresult{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.quick-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.quick-date{font-size:11.5px;letter-spacing:.15em;color:#8B718A;}
.quick-name{margin-top:5px;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:20px;color:#4A394E;}
.quick-data-note{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.quick-data-note span{padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.7);border:1px solid rgba(201,162,39,.2);font-size:13px;color:#566F6B;}
.quick-summary{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:18px;align-items:stretch;margin-bottom:14px;}
.quick-theme-card{position:relative;overflow:hidden;min-height:190px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#34665D,#1F5845);
  color:#fff;box-shadow:0 15px 34px rgba(55,42,65,.2);}
.quick-theme-card::after{content:"☾";position:absolute;right:18px;top:-18px;font:116px/1 Georgia,serif;color:rgba(255,255,255,.06);}
.quick-eyebrow{font-size:13px;letter-spacing:.22em;color:#EAD5B2;}
.quick-theme{position:relative;margin:12px 0 7px;max-width:560px;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  font-size:clamp(24px,4vw,34px);line-height:1.55;letter-spacing:.04em;}
.quick-theme-copy{position:relative;max-width:610px;margin:0;font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.82);}
.quick-score-card{display:grid;place-items:center;padding:16px;border-radius:22px;background:rgba(251,246,234,.92);border:1px solid rgba(201,162,39,.32);}
.quick-score-ring{--score:70;display:grid;place-items:center;width:126px;height:126px;border-radius:50%;
  background:conic-gradient(#C9A227 calc(var(--score)*1%),rgba(201,162,39,.14) 0);position:relative;}
.quick-score-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#FCF8ED;}
.quick-score-ring strong{position:relative;font:34px/1 "Shippori Mincho B1","Yu Mincho",serif;color:#34504B;}
.quick-score-ring strong small{display:block;margin-top:6px;font:13px/1.2 "Noto Sans JP","Yu Gothic",sans-serif;letter-spacing:.06em;color:#8A6A1C;}
.quick-grade{margin-top:9px;font-size:13px;font-weight:700;color:#8A6A1C;}
.quick-fortunes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.quick-fortune{min-width:0;padding:13px 11px 12px;border-radius:16px;background:rgba(252,248,237,.9);border:1px solid rgba(201,162,39,.24);}
.quick-fortune-head{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:13px;color:#45605B;}
.quick-fortune-head span{display:flex;align-items:center;gap:5px;min-width:0;}
.quick-fortune-state{display:inline-block;padding:2px 6px;border-radius:99px;background:rgba(160,130,50,.12);font-size:13px;font-style:normal;line-height:1.35;white-space:nowrap;color:#8A6A1C;}
.quick-fortune-head b{font:18px/1 "Shippori Mincho B1","Yu Mincho",serif;color:#8A6A1C;}
.quick-meter{height:5px;border-radius:99px;background:rgba(201,162,39,.15);overflow:hidden;margin:9px 0 8px;}
.quick-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#C9A227,#E3C87E);}
.quick-fortune p{margin:0;font-size:13px;line-height:1.65;color:#566F6B;}
.quick-fortune.is-strong{border-color:rgba(176,137,53,.35);background:rgba(255,252,242,.92);}
.quick-fortune.is-strong .quick-fortune-state{background:rgba(186,145,54,.16);color:#846424;}
.quick-fortune.is-strong .quick-meter i{background:linear-gradient(90deg,#D0A759,#E8D48B);}
.quick-fortune.is-watch{border-color:rgba(183,127,72,.27);background:rgba(255,249,241,.84);}
.quick-fortune.is-watch .quick-fortune-state{background:rgba(184,123,67,.12);color:#8A5E35;}
.quick-fortune.is-low{border-color:rgba(157,79,78,.3);background:rgba(255,246,244,.88);}
.quick-fortune.is-low .quick-fortune-state{background:rgba(157,79,78,.12);color:#8E4B4B;}
.quick-fortune.is-low .quick-meter i{background:linear-gradient(90deg,#B67878,#C3989F);}
.quick-sugoshi{margin:0 0 10px;padding:12px 15px;border:1px solid rgba(201,162,39,.28);border-radius:13px;background:rgba(255,255,255,.04)}
.quick-sugoshi small{display:block;margin-bottom:4px;color:#E3C87E;font-size:11px;font-weight:700;letter-spacing:.1em}
.quick-sugoshi p{margin:0;color:#DDEFE8;font-size:13.5px;line-height:1.9}
.quick-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:20px;}
.quick-highlight{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-radius:13px;background:rgba(252,248,237,.85);border:1px solid rgba(201,162,39,.22);text-align:left;}
/* 神様アバター+ラベル左・チップ右の控えめな1行。結果より目立たないトーンにする */
.quick-profile-slim{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;text-align:left}
#quickResult .quick-profile-slim{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.03);box-shadow:none}
.qps-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid rgba(201,162,39,.3);background:linear-gradient(160deg,#1B5240,#10362A)}
.qps-avatar img{width:150%;height:auto;margin:-4px 0 0 -25%}
.quick-profile-slim small{flex:0 0 auto;max-width:6.5em;margin:0;color:#7EA396;font-size:11.5px;line-height:1.55;letter-spacing:.05em}
.quick-profile-slim b{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 6px;margin:0}
.quick-profile-slim i{display:inline-block;padding:1px 10px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);color:#A9C9BD;font-style:normal;font-size:12px;font-weight:500;line-height:1.7}
.quick-highlight span{flex:0 0 auto;font-size:13px;letter-spacing:.1em;color:#8A6A1C;white-space:nowrap;}
.quick-highlight b{margin:0;font-size:15.5px;line-height:1.65;color:#2F4A45;font-weight:600;text-align:right;}
.quick-color-line{display:grid!important;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;}
.quick-color-dot{width:48px;height:48px;box-sizing:border-box;border:2px solid rgba(55,43,59,.48);border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.94),0 0 0 5px rgba(82,63,86,.22),0 7px 16px rgba(63,45,66,.16);flex:0 0 auto;}
.quick-name-hint{display:block;margin-top:6px;color:#786B7B;font-size:12px;line-height:1.55;}
.quick-section-title{display:flex;align-items:center;gap:10px;margin:22px 0 11px;font-family:"Shippori Mincho B1","Yu Mincho",serif;
  font-size:20px;color:#34504B;}
.quick-section-title::before{content:"✦";color:#C9A227;font-size:12px;}
.quick-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
.quick-feature{position:relative;min-width:0;overflow:hidden;padding:18px;border-radius:20px;background:rgba(252,248,237,.9);
  border:1px solid rgba(201,162,39,.22);box-shadow:0 8px 24px rgba(80,60,20,.07);}
.quick-feature.is-wide{grid-column:1/-1;}
.quick-feature-top{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;margin-bottom:12px;}
.quick-feature-icon{display:block;width:96px;height:96px;min-width:96px;min-height:96px;max-width:96px;max-height:96px;
  box-sizing:border-box;aspect-ratio:1/1;object-fit:contain;object-position:center;align-self:center;border:1px solid var(--kin);border-radius:50%;
  background:linear-gradient(145deg,#F6EFE0,#EAE2CF);box-shadow:0 0 0 3px rgba(201,162,39,.1);filter:none;}
.experience-guide-mark,.experience-btn-mark{min-width:0;aspect-ratio:1/1;overflow:hidden;}
.quick-feature-label{font-size:13px;letter-spacing:.14em;color:#8A6A1C;}
.quick-feature-title{margin-top:3px;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:20px;line-height:1.45;color:#34504B;}
.quick-feature p{margin:7px 0 0;font-size:13px;line-height:1.85;color:#566F6B;}
.quick-weather{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px;}
.quick-weather>div{padding:10px 5px;border-radius:12px;border:1px solid rgba(201,162,39,.18);background:linear-gradient(160deg,#FDF9EE,#F1EBD9);text-align:center;}
.quick-weather small{display:block;color:#8A6A1C;font-size:13px;}
.quick-weather b{display:block;margin:4px 0 2px;font-size:17px;color:#34504B;}
.quick-weather span{font-size:13px;color:#566F6B;}
.quick-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px;}
.quick-voice{padding:9px;border-radius:11px;background:#F8F3E6;border:1px solid rgba(201,162,39,.16);font-size:13px;line-height:1.55;color:#566F6B;}
.quick-voice b{display:block;margin-bottom:3px;color:#8A6A1C;font-weight:600;}
.quick-council-verdict{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin:16px 0 0!important;padding:15px 17px;
  border:1px solid rgba(174,140,55,.32);border-radius:15px;background:linear-gradient(135deg,#FFF8E7,#F3EBD8);box-shadow:0 8px 20px rgba(80,60,20,.08);}
.quick-feature .quick-council-verdict b{display:inline-flex;align-items:center;justify-content:center;margin-top:3px;padding:5px 10px;border-radius:99px;
  background:linear-gradient(135deg,#8A6A1C,#4A6E6B);color:#F4DFA0;font-size:13px;line-height:1.35;letter-spacing:.08em;white-space:nowrap;}
.quick-council-verdict span{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;font-weight:700;line-height:1.75;color:#34504B;}

.quick-manual{display:grid;gap:6px;margin-top:8px;}
.quick-manual div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding-bottom:6px;border-bottom:1px dotted rgba(160,130,50,.28);}
.quick-manual div:last-child{border:0;padding-bottom:0;}
.quick-manual b{font-size:13px;color:#8A6A1C;}
.quick-manual span{font-size:13px;line-height:1.65;color:#566F6B;}
.quick-reason{margin-top:14px;border:1px solid rgba(126,99,129,.16);border-radius:15px;background:rgba(255,255,255,.45);}
.quick-reason summary{padding:12px 14px;cursor:pointer;color:#735D76;font-size:12px;letter-spacing:.06em;}
.quick-reason-body{padding:0 14px 13px;font-size:11.5px;line-height:1.8;color:#746876;}
.quick-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px;}
.quick-action-main,.quick-action-sub,.deep-return{border-radius:13px;padding:12px 18px;font-family:inherit;font-size:12px;cursor:pointer;}
.quick-action-main{border:0;background:linear-gradient(135deg,#41605D,#326954);color:#fff;box-shadow:0 8px 20px rgba(45,68,66,.18);}
.quick-action-sub{border:1px solid rgba(128,99,132,.24);background:rgba(255,255,255,.6);color:#66536A;}
.quick-action-main:hover,.quick-action-sub:hover{transform:translateY(-1px);}
.deep-return{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;border:1px solid rgba(201,162,39,.45);background:rgba(201,162,39,.08);color:var(--kin-l);}
.compat-timing{margin:19px 0 18px;padding-top:17px;border-top:1px solid var(--line2);}
.compat-timing-title{text-align:center;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;color:#F0DCA1;}
.compat-timing-note{text-align:center;margin:5px 0 12px;font-size:11.5px;color:var(--muted);}
.compat-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.compat-period{min-width:0;padding:15px 16px;border:1px solid rgba(217,123,160,.22);border-radius:13px;background:linear-gradient(145deg,rgba(217,123,160,.08),rgba(61,111,168,.08));}
.compat-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.compat-period-kicker{font-size:10px;letter-spacing:.18em;color:#DCA1B9;}
.compat-period-name{margin-top:4px;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;color:#F4D4E0;}
.compat-period-score{font:25px/1 ui-monospace,monospace;color:#F2D98A;text-align:right;}
.compat-period-score small{display:block;margin-top:5px;font-size:8px;line-height:1.2;letter-spacing:.08em;color:var(--muted);}
.compat-period p{margin:10px 0 0;font-size:11.5px;line-height:1.75;color:var(--gin);}
.compat-period-tip{margin-top:8px!important;padding-top:8px;border-top:1px dotted var(--line2);color:#D8BFD0!important;}
@media(max-width:700px){
  .experience-switch{top:5px;grid-template-columns:1fr;margin:0 0 14px;padding:8px;border-radius:15px;gap:7px;}
  .relationship-entry-wrap{margin:0 0 16px;padding:0 2px;}.relationship-entry{min-height:64px;padding:9px 10px;gap:9px;border-radius:14px;}
  .relationship-entry-mark{width:38px;height:38px;font-size:16px;}.relationship-entry-copy b{font-size:13.5px;}
  .relationship-entry-copy em{font-size:9.5px;line-height:1.45;white-space:normal;}.relationship-entry-arrow{font-size:21px;}
  .experience-guide{grid-template-columns:auto minmax(0,1fr);padding:0 4px;}
  .experience-guide-mark{width:38px;height:38px;font-size:10px;}.experience-copy{font-size:10px;}.experience-copy b{font-size:11.5px;}
  .experience-tabs{width:100%;gap:6px;}.experience-btn{min-height:53px;padding:7px 7px;gap:6px;border-radius:11px;}
  .experience-btn-mark{width:38px;height:38px;border-radius:10px;font-size:10px;}
  .experience-btn-copy b{font-size:12px;letter-spacing:.04em;}.experience-btn-copy small{font-size:8px;}.experience-arrow{display:none;}
  .quick-profile-source{gap:7px;padding:10px;}.quick-profile-source-head{gap:7px;}
  .quick-profile-source-mark{width:34px;height:34px;}.quick-profile-source small{font-size:10.5px;}.quick-profile-source b{font-size:12px;}
  .quick-profile-source-detail{gap:5px 12px;}.quick-profile-edit{padding:7px 8px;font-size:10px;}
  .quick-view{margin-bottom:28px;}.quick-shell{margin:0 -2px;padding:19px 13px 22px;border-radius:21px;}
  .quick-intro{display:block;min-height:0;margin-bottom:10px;padding:18px 15px 17px;border-radius:18px;}
  .quick-kicker-row{min-height:34px;gap:4px;}.quick-kicker-row .quick-kicker{padding:5px 8px;font-size:10.5px;letter-spacing:.1em;}.quick-mascot{width:52px;height:52px;margin:-9px 0 -9px auto;transform:rotate(2deg);}.quick-intro-copy{max-width:none;padding:0;}
  .quick-title{margin-top:7px;font-size:34px;letter-spacing:.035em;line-height:1.22;text-align:center;}.quick-title small{font-size:11px;}.quick-promise{font-size:11.5px;line-height:1.75;}
  .quick-free{font-size:10px;}
  .quick-tarot-banner{grid-template-columns:82px minmax(0,1fr);gap:11px;min-height:114px;margin:10px auto 14px;padding:13px 12px;border-radius:16px;}
  .quick-tarot-cards{width:78px;height:76px;}.quick-tarot-cards img{left:23px;top:2px;width:44px;height:68px;}
  .quick-tarot-cards img:first-child{transform:translateX(-16px) rotate(-9deg);}.quick-tarot-cards img:last-child{transform:translateX(16px) rotate(9deg);}
  .quick-tarot-copy small{font-size:9.5px;letter-spacing:.1em;}.quick-tarot-copy b{font-size:17px;}.quick-tarot-copy span{font-size:11.5px;line-height:1.55;}
  .quick-tarot-cta{grid-column:1/-1;width:100%;padding:9px;font-size:12px;}
  .quick-depth-guide{padding:12px 10px;border-radius:15px;}.quick-depth-head{grid-template-columns:auto minmax(0,1fr);gap:8px;margin-bottom:9px;}
  .quick-depth-mark{width:42px;height:42px;font-size:17px;}.quick-depth-copy b{font-size:14px;}.quick-guide-button{grid-column:1/-1;width:100%;padding:7px;}
  .quick-system-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}.quick-system{padding:7px 3px 6px;}
  .quick-system-mark{width:32px;height:32px;margin-bottom:6px;font-size:12px;}.quick-system b{font-size:11.5px;}.quick-system small{font-size:10px;}
  .quick-proof-line{grid-template-columns:1fr;gap:4px;margin-top:6px;}.quick-proof{padding:5px 7px;}.quick-onboard{padding:17px 13px;}
  .quick-form{grid-template-columns:1fr;}.quick-go{width:100%;}.quick-date-selects{grid-template-columns:1.35fr .8fr .8fr;}
  .quick-result-head{display:block;}.quick-data-note{justify-content:flex-start;margin-top:8px;}
  .quick-summary{grid-template-columns:1fr;gap:9px;}.quick-theme-card{min-height:0;padding:20px 17px;}.quick-score-card{grid-template-columns:auto 1fr;gap:13px;justify-content:center;padding:13px;}
  .quick-score-ring{width:94px;height:94px;}.quick-score-ring strong{font-size:27px;}.quick-grade{margin:0;text-align:left;}
  .quick-fortunes{grid-template-columns:repeat(2,minmax(0,1fr));}.quick-fortune:last-child{grid-column:1/-1;}
  .quick-highlights{grid-template-columns:1fr;}.quick-feature-grid{grid-template-columns:1fr;}.quick-feature.is-wide{grid-column:auto;}
  .quick-feature-top{grid-template-columns:84px minmax(0,1fr);gap:13px;}.quick-feature-icon{width:84px;height:84px;min-width:84px;min-height:84px;max-width:84px;max-height:84px;}
  .quick-voices{grid-template-columns:1fr 1fr;}.quick-section-title{font-size:18px;}
  .quick-council-verdict{grid-template-columns:1fr;gap:7px;padding:13px 14px;}.quick-feature .quick-council-verdict b{justify-self:start;margin-top:0;}.quick-council-verdict span{font-size:16.5px;line-height:1.75;}
  .compat-periods{grid-template-columns:1fr;}.compat-period{padding:14px;}
}
@media(max-width:860px){
  .two{grid-template-columns:1fr;}
  .sumrow{grid-template-columns:1fr;gap:5px;}
  .color-block{gap:16px;}
  .card{padding:20px 16px;}
  .omi-grid{grid-template-columns:170px minmax(0,1fr);gap:20px;}
  #entryCard,#drawSection,#reading,#compatReading{scroll-margin-top:128px;}
  .systems-details summary,footer summary,.subtab,.tarot-context-link,.sw{min-height:44px;box-sizing:border-box;}
  .sw{padding:8px 4px;}
}
@media(max-width:600px){
  body{font-size:15px;line-height:1.9;}
  .wrap{padding:0 13px;}
  .tabwrap{top:44px;}
  .scroll-controls{grid-template-columns:44px minmax(0,1fr) 44px;margin-left:3px;margin-right:3px;}
  .scroll-hint{font-size:12px;letter-spacing:.02em;}
  .tarot-scroll-controls{width:100%;max-width:100%;margin:15px 0 8px;}
  #tarotCard{overflow:hidden;max-width:100%;min-width:0;}
  .masthead{padding:20px 0 4px;}
  .titleframe{min-height:178px;padding:27px 14px 23px;}
  .logo-reading{font-size:9.5px;letter-spacing:.36em;text-indent:.36em;}
  .logo{gap:.12em;}
  .headline{font-size:12px;letter-spacing:.12em;line-height:1.7;margin-top:12px;}
  .headline::before,.headline::after{display:none;}
  .hero-date{font-size:11.5px;letter-spacing:.16em;}
  .dial-wrap{width:100%;max-width:380px;}
  .hero-koyomi{gap:6px;margin:12px 0 16px;}
  .koyomi-chip{padding:2px 11px;font-size:11.5px;}
  .sec-tag{gap:7px;padding:4px 7px 4px 4px;margin-bottom:13px;}
  .st-b{font-size:11px;padding:4px 10px;}
  .st-n{font-size:11.5px;line-height:1.4;text-align:left;}
  .hero-cta{width:100%;text-align:center;padding:13px 0;font-size:13.5px;}
  .colorcard{padding:15px 14px;}
  .swatch{width:112px;height:112px;}
  .swatch b{font-size:50px;}
  .color-name{font-size:23px;letter-spacing:.08em;}
  .color-sub{font-size:12px;}
  .colorcard .note{font-size:12.5px;line-height:1.75;}
  .today-word{font-size:15px;line-height:1.95;}
  .today-word .lead{font-size:19.5px;line-height:1.8;}
  .card{padding:18px 14px;margin-bottom:14px;}
  .h{font-size:11.5px;letter-spacing:.24em;margin-bottom:13px;}
  .divider{margin:24px 0 10px;}
  .dv-body{padding:18px 6px 16px;}
  .dv-ttl{font-size:27px;letter-spacing:.16em;text-indent:.16em;}
  .dv-sub{font-size:11.5px;letter-spacing:.1em;margin-top:9px;}
  .draw-picker{margin-bottom:12px;padding:9px 7px;border-radius:14px;}
  .draw-picker-head{gap:8px;padding:0 3px 8px;}.draw-picker-copy b{font-size:15px;}.draw-picker-copy small{font-size:8px;}
  .draw-sound-toggle{min-width:91px;padding:6px 9px;}.draw-sound-icon{width:23px;height:23px;}
  .draw-tabs{gap:5px;}
  .draw-tab{flex-direction:column;min-height:82px;gap:3px;padding:8px 4px;border-radius:11px;}
  .draw-tab-icon{width:31px;height:31px;flex-basis:31px;}
  .draw-tab span:last-child{text-align:center;}
  .draw-tab b{font-size:12px;letter-spacing:.04em;}
  .draw-tab small{font-size:10px;}
  .cta-row{grid-template-columns:1fr;gap:9px;}
  .cta-main,.cta-sub{min-height:56px;}
  .trust-strip{gap:6px 12px;font-size:11.5px;}

  /* おみくじ：縦積みにして間延びを防ぐ */
  .omi-grid{grid-template-columns:1fr;gap:16px;}
  .omi-left{display:flex;align-items:center;justify-content:center;gap:18px;}
  #tube{width:88px;height:118px;margin:0;}
  .draw-btn{padding:14px 30px;font-size:15px;}
  .omi-right{min-height:0;}
  .omi-idle{text-align:center;}
  .omi-idle-mark{margin:0 auto 6px;}
  .fortune-rank{font-size:58px;}
  .fortune-line{justify-content:flex-start;gap:7px;}
  .fortune-line span{padding:3px 10px;font-size:12px;}

  /* 入力：ラベル行と入力行を交互に、余白は最小限に */
  .frow{grid-template-columns:1fr;gap:5px;padding:10px 0;}
  .flabel{font-size:11.5px;letter-spacing:.16em;color:var(--kin);justify-content:space-between;}
  input,select{font-size:16px;padding:11px 10px;}
  select{padding-right:28px;background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);}
  .fbody{gap:5px 8px;}
  .dsel{gap:4px;width:100%;flex-wrap:nowrap;}
  .dsel select{flex:1 1 0;min-width:0;padding:11px 24px 11px 8px;}
  #inY{flex:1.4 1 0;min-width:0;} #inM,#inD,#inH,#inMin{min-width:0;}
  .dsel span{font-size:12px;}
  .fhint-in{flex:1 1 100%;width:100%;font-size:11.5px;line-height:1.65;}
  .brsp{display:inline;}
  .wpref{width:100%;} .wname{width:100%;}
  .go-btn{width:100%;padding:15px 0;font-size:16px;margin-top:16px;}
  .mode-switch{gap:6px;margin-bottom:18px;}
  .mode-btn{min-height:62px;padding:5px;gap:6px;}
  .mode-btn strong{font-size:13px;letter-spacing:.06em;}
  .mode-btn small{font-size:10.5px;}
  .mode-mark{font-size:21px;}
  .partner-panel{padding:17px 13px;margin-top:18px;}
  .compat-hero{grid-template-columns:minmax(0,1fr) 98px minmax(0,1fr);gap:5px;}
  .compat-center{height:106px;}
  .compat-orbit{width:92px;height:92px;}
  .compat-score{font-size:29px;}
  .compat-person-name{font-size:18px;letter-spacing:.04em;}
  .compat-grid{grid-template-columns:1fr;}
  .privacy{gap:12px;padding:13px 14px;margin-top:16px;}
  .seal{width:44px;height:44px;} .seal span{font-size:23px;}
  .privacy-ttl{font-size:13.5px;line-height:1.65;margin-bottom:5px;}
  .privacy-sub{font-size:12px;line-height:1.8;}

  .tab{padding:12px 13px;font-size:14px;letter-spacing:.06em;}
  .subtabs{gap:6px;}
  .subtab{padding:9px 12px;font-size:12.5px;}
  .gauges{grid-template-columns:1fr;gap:18px;}
  .lg{grid-template-columns:52px minmax(0,1fr);gap:10px;font-size:12px;line-height:1.8;}
  .lg-mark{font-size:14px;}
  .dir-grid{grid-template-columns:1fr;gap:12px;}
  .love-grid{grid-template-columns:1fr;gap:10px;}
  .yr-grid{grid-template-columns:1fr;gap:10px;}
  .bx-top{gap:16px;padding-bottom:16px;}
  .bx-gradewrap{text-align:center;max-width:none;}
  .bx-parts{grid-template-columns:1fr;gap:15px;}
  .bx-foot{grid-template-columns:1fr;gap:10px;}
  .bx-explain{font-size:13px;line-height:1.95;}
  .vote-grid{grid-template-columns:repeat(2,1fr);gap:9px;}
  .vote{padding:11px 8px;} .vote-el{font-size:27px;}
  .kurashi-intro{padding:22px 17px;}
  .kurashi-intro::after{right:4px;top:-8px;font-size:100px;}
  .kurashi-grid{grid-template-columns:1fr;gap:12px;}
  .daily-council{grid-template-columns:1fr;}
  .daily-voice{grid-template-columns:84px minmax(0,1fr);padding:10px;}
  .weather-cell{padding:9px 4px;}
  .weather-mark{font-size:22px;}
  .manual-row{grid-template-columns:66px minmax(0,1fr);}
  .kurashi-jump{padding:13px 12px;}
  .star-grid{grid-template-columns:1fr;gap:10px;}
  .houi-grid{gap:4px;}
  .hcell{min-height:66px;padding:7px 2px;}
  .hstar{font-size:14px;} .hdir{font-size:10px;} .hnote{font-size:9.5px;}
  .tarot{grid-template-columns:1fr;gap:14px;}
  .tcard{max-width:150px;margin:0 auto;}

  .spread.n1{grid-template-columns:1fr;}
  .ct-map{gap:5px;padding:12px 2px;}
  .ct-cell{width:56px;}
  .ct-cell .cf{width:56px;height:81px;}
  .spread.n10 .sp-slot{grid-template-columns:96px 1fr;gap:11px;}
  .deck-ctl{gap:8px;}
  .deck-ctl .draw-btn{flex:1 1 40%;padding:12px 8px;}
  .deck-ctl select{flex:1 1 100%;width:100%;}
  .deck-ctl .go-btn{flex:1 1 100%;width:100%;}
  .deck-stage{height:212px;gap:14px;--cut-top-x:46px;--cut-top-far:50px;--cut-bottom-x:36px;--cut-bottom-far:40px;--restack-x:44px;}
  .yi-grid{grid-template-columns:1fr;gap:16px;}
  .yi-stage{min-height:220px;}
  .yi-hexes{gap:6px;}
  .yi-hex{padding:10px 5px;}
  .yi-hex .yi-lines{width:124px;}
  .yi-hex .yao .stroke{width:104px;height:5px;gap:10px;}
  .yi-name{font-size:23px;}
  .yi-arrow{font-size:19px;}
  .sp-text{text-align:center;}
  .t6{font-size:12.5px;}
  .maker{grid-template-columns:1fr;}
  .portrait{height:auto;min-height:0;}
  .portrait img{min-height:0;}
  .maker-body{padding:21px 17px 22px;}
  .maker-body p{font-size:14px;line-height:1.95;margin-bottom:13px;}
  .maker-lead{font-size:18px;line-height:1.7;margin-bottom:16px;}
  .sign-line{font-size:22px;}
  .portrait-frame{inset:8px;}
  .p-name{font-size:24px;}
  .p-role{font-size:10.5px;letter-spacing:.1em;}
  .portrait figcaption{left:11px;bottom:10px;padding:6px 8px 6px 9px;}

  .yr-gz{font-size:23px;}
  .essay p{font-size:14.5px;line-height:2.05;margin-bottom:16px;}
  .lucky-n{width:42px;height:42px;font-size:18px;}
  .pillars.n4,.pillars.n3{grid-template-columns:repeat(2,1fr);gap:8px;}
  .pillar{padding:11px 5px;}
  .kan{font-size:36px;}
  .pillar .psub{font-size:10px;min-height:24px;}
  .pmeta{font-size:11px;}
  .sumbody{font-size:15px;line-height:1.95;}
  .sumlbl{font-size:11.5px;}
  th,td{padding:6px 7px;font-size:12.5px;}
  .veil-inner .orbit{width:104px;height:104px;}
  .veil-title{font-size:clamp(21px,6.4vw,24px);letter-spacing:.12em;text-indent:.12em;line-height:1.55;
    margin-top:18px;padding:0 14px;box-sizing:border-box;overflow-wrap:anywhere;}
  .veil-sub{font-size:13px;letter-spacing:.1em;line-height:1.8;padding:0 16px;}
  .veil-btn{width:auto;padding:15px 40px;}
  footer{padding:24px 0 46px;}
}
@media(max-width:380px){
  .logo{font-size:36px;}
  .kan{font-size:31px;}
    .fortune-rank{font-size:52px;}
  .omi-left{gap:12px;}
  #tube{width:76px;height:102px;}
  .divider-ttl{font-size:21px;}
}
/* ---- 初見・スマートフォン・弱視に配慮した可読性の底上げ ---- */
body{font-size:16px;line-height:1.9;}
.note{font-size:15px;line-height:1.9;}
.eyebrow,.color-head,.fortune-no,.love-lbl,.bx-flbl,.cm-lbl,.star-lbl,.hdir,.tpos,.today-card-pos,.yi-num,.total-lbl,.dir-lbl,.pillar .plbl,th{font-size:12px;}
.logo-reading,.sys-i,.draw-tab small,.flabel em,label,.mode-btn small,.privacy-detail,.p-role,.kurashi-eyebrow,.weather-time,.daily-sys,.manual-label,.sp-rev,.retro{font-size:12px;}
.fhint-in,.hnote,.pillar .psub,.pmeta,.sp-note,.kurashi-foot,.kurashi-jump small,.compat-timing-note{font-size:12.5px;line-height:1.75;}
input:not([type="checkbox"]):not([type="radio"]),select{min-height:44px;font-size:16px;}
.draw-tab,.mode-btn,.tab{min-height:48px;}
.draw-tab b,.mode-btn strong{font-size:15px;}
.experience-copy{font-size:12.5px;line-height:1.65;}
.experience-copy b{font-size:14px;}
.experience-btn{min-height:58px;}
.experience-btn-copy b{font-size:14px;}
.experience-btn-copy small{font-size:11.5px;line-height:1.5;}
.relationship-entry-copy small{font-size:12px;}
.relationship-entry-copy b{font-size:16px;line-height:1.5;}
.relationship-entry-copy em{font-size:12px;line-height:1.55;}
.quick-profile-source small{font-size:11.5px;}
.quick-profile-source b{font-size:13px;line-height:1.55;}
.quick-profile-edit{min-height:44px;font-size:12px;}
.quick-kicker{font-size:11.5px;}
.quick-title small{font-size:13px;}
.quick-promise{font-size:14px;line-height:1.9;}
.quick-free{font-size:12.5px;line-height:1.65;}
.quick-depth-copy small{font-size:11.5px;}
.quick-depth-copy b{font-size:17px;line-height:1.5;}
.quick-guide-button{min-height:40px;font-size:12.5px;}
.quick-system b{font-size:12px;line-height:1.5;}
.quick-system small{font-size:12px;line-height:1.5;}
.quick-proof b{font-size:11.5px;}
.quick-proof span{font-size:11.5px;line-height:1.55;}
.quick-shell select,.quick-shell input:not([type="radio"]){min-height:46px;font-size:16px;}
.quick-date{font-size:12.5px;}
.quick-data-note span{font-size:11.5px;}
.quick-eyebrow{font-size:11.5px;}
.quick-fortune-head{font-size:13px;}
.quick-fortune p{font-size:13.5px;line-height:1.75;}
.quick-highlight span,.quick-feature-label{font-size:12.5px;}
.quick-weather small,.quick-weather span{font-size:12px;}
.quick-voice{font-size:13px;line-height:1.7;}
.quick-council-verdict b{font-size:12px;}
.quick-manual b{font-size:11.5px;}
.quick-manual span{font-size:13px;line-height:1.75;}
.quick-reason summary{min-height:44px;box-sizing:border-box;font-size:13.5px;}
.quick-reason-body{font-size:13.5px;line-height:1.9;}
.quick-action-main,.quick-action-sub,.deep-return{min-height:48px;font-size:14px;}
.quick-privacy{font-size:12.5px;}
.h,.freeline,.st-b,.st-n,.tsec-lbl,.sumlbl{font-size:12.5px;}
.systems-details summary,.sub-lead,.formfoot,.saved-note,.saved-note button,.sw,.sw span,.compat-person-sub,.ag-cta{font-size:12.5px;}
.saved-note button{min-height:44px;padding:8px 10px;}
.colorcard .note{font-size:13.5px;}
.compat-item p,.bx-lbl,.bx-why,.vote-sys,.vote-why,.weather-name,.weather-note,.daily-voice p,.yi-moving-note,.deck-count,.sp-pos,.gauge-why{font-size:12.5px;line-height:1.75;}
.compat-item-name,.bx-sys,.manual-text,.sp-text,.legend,.sumtag{font-size:13.5px;line-height:1.8;}
.kurashi-intro p,.kurashi-copy,.daily-verdict p{font-size:14px;line-height:1.9;}
.quick-loading span{font-size:13px;}
.quick-theme-copy{font-size:14px;line-height:1.9;}
.quick-score-ring strong small{font-size:12px;}
.quick-grade{font-size:13px;}
.quick-highlight b{font-size:15px;line-height:1.75;}
.quick-feature p{font-size:13.5px;line-height:1.85;}

@media(max-width:640px){
  .quick-shell{padding-left:14px;padding-right:14px;}
  .quick-onboard{padding:23px 15px 19px;}
  .quick-onboard-head b{font-size:23px;}
  .quick-onboard-head span{font-size:13px;}
  .quick-go{min-height:70px;padding:11px 14px;}
  .quick-go-label{font-size:18px;}
  .quick-go small{font-size:11.5px;}
  .quick-promise{font-size:13px;}
  .quick-free{font-size:12px;}
  .quick-system b{font-size:11.5px;}
  .quick-system small{font-size:11.5px;}
  .quick-proof span{font-size:12px;}
  .experience-copy{font-size:11.5px;}
  .experience-btn-copy b{font-size:13px;}
  .experience-btn-copy small{font-size:12px;white-space:normal;}
  .quick-kicker-row .quick-kicker{font-size:11.5px;}
  .quick-tarot-copy small{font-size:12px;line-height:1.45;}
  .quick-tarot-copy span{font-size:12px;line-height:1.65;}
  .quick-tarot-cta{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:12.5px;box-sizing:border-box;}
  .quick-proof b{font-size:11.5px;}
  .tarot-context-link{min-height:44px;font-size:13px;}
}
/* 完全無料で使える機能を、途切れず見せる帯 */
.free-proof-marquee{position:relative;z-index:12;max-width:1180px;margin:0 auto 16px;overflow:hidden;border:1px solid rgba(201,162,39,.28);border-radius:14px;background:linear-gradient(90deg,rgba(11,42,30,.97),rgba(26,71,53,.96),rgba(11,42,30,.97));color:#f1dda2;box-shadow:0 16px 42px rgba(5,26,18,.2)}
.free-proof-marquee::before,.free-proof-marquee::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:72px;pointer-events:none}.free-proof-marquee::before{left:0;background:linear-gradient(90deg,#103125,transparent)}.free-proof-marquee::after{right:0;background:linear-gradient(-90deg,#103125,transparent)}
.free-proof-track{display:flex;width:max-content;animation:freeProofFlow 28s linear infinite;will-change:transform}.free-proof-group{display:flex;align-items:center;flex:none}.free-proof-group span{display:flex;align-items:center;gap:15px;padding:11px 22px;white-space:nowrap;font:500 13px/1.4 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.08em}.free-proof-group span::after{content:"◆";color:#b28c38;font-size:8px}.free-proof-group b{color:#fff3c9;font-weight:700}
@keyframes freeProofFlow{to{transform:translateX(-50%)}}
@media(max-width:700px){.free-proof-marquee{margin:0 10px 12px;border-radius:11px}.free-proof-track{animation-duration:35s}.free-proof-group span{padding:9px 16px;font-size:13px}}

/* ---- 無料公開版：やわらかな現代和風へ整える ---- */
.masthead{padding-top:20px}
.titleframe{min-height:215px;padding:32px 34px 29px;border-radius:24px;border-color:rgba(226,194,118,.46);
  box-shadow:0 26px 68px -38px rgba(192,158,80,.88),inset 0 1px 0 rgba(255,239,194,.08)}
.titleframe::after{inset:10px;border-radius:17px;border-color:rgba(244,223,160,.2)}
.tf-corner{display:none}
.card{border-radius:18px;box-shadow:0 16px 42px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.025)}
.card::before,.card::after{display:none}
.cta-main,.cta-sub{min-height:62px;border-radius:14px;transition:transform .22s ease,filter .22s ease,background .22s ease,box-shadow .22s ease}
.cta-main{box-shadow:0 12px 30px -13px rgba(201,162,39,.78)}
.cta-main:hover,.cta-sub:hover{transform:translateY(-2px)}
.systems-details summary{border:1px solid rgba(120,190,161,.2);border-radius:999px;padding:8px 14px;background:rgba(10,38,27,.42)}
.sys-i{border-radius:12px;padding:9px 12px;background:rgba(18,64,46,.55)}
.trust-strip{margin-top:14px;border:0;padding:8px;color:rgba(217,234,227,.78)}
.quick-view{margin-top:17px}
.quick-tarot-banner{margin-top:13px;margin-bottom:0}
.free-proof-marquee{margin-top:4px;margin-bottom:18px}
.experience-switch{margin-top:0}
.maker{border-radius:22px}
.name-sister-link{border-radius:14px}
#quickResult,#drawSection,#entryCard{scroll-margin-top:94px}

@media(max-width:700px){
  .wrap{padding-left:12px;padding-right:12px}
  .masthead{padding-top:12px}
  .titleframe{min-height:180px;padding:25px 14px 22px;border-radius:20px}
  .titleframe::after{inset:7px;border-radius:14px}
  .logo-main{font-size:44px}.logo-uranai{font-size:25px}
  .headline{margin-top:10px;font-size:12px;line-height:1.6;letter-spacing:.12em}
  .whatis{margin-top:14px;font-size:14px;line-height:1.85}
  .systems-details{margin-top:11px}
  .cta-row{margin-top:15px}
  .cta-main,.cta-sub{min-height:62px}
  .cta-main b,.cta-sub b{font-size:15.5px}
  .cta-main small,.cta-sub small{font-size:12px}
  .trust-strip{margin-top:9px;padding:6px 2px;font-size:12px;line-height:1.5}
  .quick-view{margin-top:11px}
  .quick-shell{padding:14px 11px 18px}
  .quick-intro{padding:18px 13px 17px}
  .quick-promise{font-size:13px;line-height:1.8}
  .quick-free{font-size:12px;line-height:1.65}
  .quick-tarot-banner{margin-top:10px;margin-bottom:0}
  .free-proof-marquee{margin-top:0;margin-bottom:14px}
  .free-proof-group span{font-size:12px}
  .experience-switch{position:sticky;top:0;margin-bottom:14px}
  .experience-copy{font-size:11.5px}.experience-copy b{font-size:13px}
  .experience-btn-copy b{font-size:13px}.experience-btn-copy small{font-size:12px}
  .relationship-entry-copy b{font-size:15px}.relationship-entry-copy small{font-size:11.5px}.relationship-entry-copy em{font-size:11.5px}
  #quickResult,#drawSection,#entryCard{scroll-margin-top:18px}
}

/* ---- 無料占いを選ぶ、三本の主メニュー ---- */
.experience-switch{top:8px;z-index:80;grid-template-columns:minmax(180px,.46fr) minmax(0,1.54fr);max-width:1100px;margin:8px auto 20px;padding:9px 10px 9px 15px;border-radius:15px;background:linear-gradient(110deg,rgba(7,29,21,.97),rgba(17,54,39,.96));box-shadow:0 16px 42px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.05)}
.experience-guide-mark{width:40px;height:40px;border-radius:10px;font-size:10px}.experience-copy b{font-size:13px}.experience-copy span{display:block;color:#9FBFB2;font-size:10.5px}
.experience-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.experience-btn{min-height:62px;border-radius:10px;text-decoration:none}.experience-btn-copy b{font-size:13px}.experience-btn-copy small{white-space:normal}
.experience-name{border-color:rgba(202,161,181,.2);background:linear-gradient(145deg,rgba(76,47,68,.28),rgba(255,255,255,.025))}.experience-name .experience-btn-mark{color:#e7bfd1;border-color:rgba(226,184,204,.22)}
.experience-name:hover{border-color:rgba(231,193,211,.48);background:linear-gradient(145deg,rgba(102,60,84,.38),rgba(255,255,255,.045))}
@media(max-width:700px){
  .experience-switch{top:0;margin:0 -2px 12px;padding:6px;border-radius:0 0 13px 13px;background:rgba(7,29,21,.97);box-shadow:0 12px 30px rgba(0,0,0,.3)}
  .experience-guide{display:none}.experience-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .experience-btn{display:block;min-height:51px;padding:7px 4px;text-align:center;border-radius:8px}
  .experience-btn-mark,.experience-arrow,.experience-btn-copy small{display:none}
  .experience-btn-copy b{font-size:11.5px;line-height:1.45;letter-spacing:.025em}
}
/* ---- 六占会議キャラクター再設計 ---- */
.stars{opacity:.38}
.council-titleframe{position:relative;display:block;max-width:1040px;min-height:0;aspect-ratio:16/9;margin:0 auto;padding:0;overflow:hidden;border:1px solid rgba(226,194,118,.54);border-radius:28px;background:#fff4df;box-shadow:0 28px 70px -34px rgba(194,147,91,.74)}
.council-titleframe::before{display:none}.council-titleframe::after{inset:10px;border-radius:19px;border-color:rgba(125,85,62,.14)}
.council-hero-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.council-title-copy{position:absolute;z-index:3;left:50%;top:63%;width:35%;transform:translate(-50%,-50%);text-align:center;text-shadow:0 1px rgba(255,255,255,.95)}
.council-title-copy .logo-reading{margin:0 0 2px;color:#8c6a44;font-size:clamp(7px,1vw,10px);font-weight:800;letter-spacing:.24em}
.council-title-copy .logo{gap:.15em;flex-wrap:wrap}
.council-title-copy .logo-main,.council-title-copy .logo-uranai{background:linear-gradient(180deg,#6e4f37,#9b7447 72%,#6f5038);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none;text-shadow:none}
.council-title-copy .logo-main{font-size:clamp(25px,4.8vw,52px)}
.council-title-copy .logo-uranai{font-size:clamp(13px,2.25vw,25px)}
.council-title-copy .headline{margin:3px 0 0;color:#5e4e4a;font-size:clamp(7px,1.15vw,12px);font-weight:700;letter-spacing:.05em;text-indent:0;line-height:1.45}
.council-about{position:absolute;z-index:4;right:16px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:7px 14px;border:1px solid rgba(113,81,102,.19);border-radius:999px;background:rgba(255,251,244,.92);color:#624d5f;text-decoration:none;font-size:12.5px;font-weight:800;box-shadow:0 8px 24px rgba(66,46,61,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.council-about:hover{transform:translateY(-1px);background:#fff}.council-about b{font-size:20px;line-height:1}
body.is-quick-view .whatis{display:block}.masthead .whatis{max-width:760px;margin:14px auto 0;color:#e8e3e0;font-size:15px;line-height:1.8}
body.is-quick-view .cta-row{display:grid}.masthead .cta-row{max-width:720px;margin-top:14px}.masthead .cta-main,.masthead .cta-sub{min-height:59px}
.masthead .free-declaration{max-width:900px;margin-top:12px}.masthead .free-declaration-copy>b{font-weight:700}
.experience-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.sister-discovery{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;max-width:1040px;margin:0 auto 16px;padding:12px 16px;border:1px solid rgba(203,158,184,.24);border-radius:16px;background:linear-gradient(115deg,rgba(83,52,76,.72),rgba(28,61,49,.83));color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.sister-discovery:hover{border-color:rgba(230,188,211,.55);transform:translateY(-1px)}
.sister-discovery-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:rgba(255,255,255,.09);color:#f0ccd9;font:700 20px/1 "Shippori Mincho B1","Yu Mincho",serif}
.sister-discovery-copy{min-width:0;text-align:left}.sister-discovery-copy small{display:block;color:#dbb2c5;font-size:11px;font-weight:700;letter-spacing:.1em}.sister-discovery-copy b{display:block;margin-top:1px;color:#fff5f8;font:600 16px/1.45 "Shippori Mincho B1","Yu Mincho",serif}.sister-discovery-copy em{display:block;color:rgba(235,230,235,.72);font-size:11.5px;font-style:normal;line-height:1.55}.sister-discovery-arrow{color:#efccd9;font-size:23px}
.quick-loading{min-height:320px}.quick-loading-inner{width:min(100%,620px)}
.quick-guide-orbit{display:flex;align-items:flex-end;justify-content:center;height:126px;margin:0 auto 17px;padding:0 14px;border-bottom:1px solid rgba(126,97,126,.17)}
.quick-guide-orbit span{position:relative;width:16.66%;height:116px;overflow:hidden;transform-origin:50% 100%;animation:guideThink 1.8s ease-in-out infinite alternate}
.quick-guide-orbit span:nth-child(2){animation-delay:-.3s}.quick-guide-orbit span:nth-child(3){animation-delay:-.6s}.quick-guide-orbit span:nth-child(4){animation-delay:-.9s}.quick-guide-orbit span:nth-child(5){animation-delay:-1.2s}.quick-guide-orbit span:nth-child(6){animation-delay:-1.5s}
.quick-guide-orbit img{position:absolute;left:50%;top:0;width:112px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 7px 8px rgba(72,52,72,.12))}
.quick-loading b{font-size:21px;font-weight:700}.quick-loading span{font-size:13.5px}
@keyframes guideThink{from{transform:translateY(1px)}to{transform:translateY(-5px)}}
.quick-voice{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:11px;padding:8px 9px;min-height:82px}.quick-voice-avatar{position:relative;align-self:center;width:64px;height:64px;overflow:hidden;border-radius:50%;border:1px solid var(--kin);box-shadow:0 0 0 3px rgba(201,162,39,.1);background:linear-gradient(155deg,#F2E9D6,#E6DFCE)}.quick-voice-avatar img{position:absolute;left:50%;top:-2px;width:92px;height:auto;transform:translateX(-50%)}.quick-voice-copy{min-width:0}.quick-voice-copy b{display:block;margin-bottom:2px;color:#8A6A1C}.quick-voice-copy span{display:block}
.reading-guide{--guide:#a36f78;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:14px;min-height:104px;margin:0 0 14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--guide) 25%,transparent);border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--guide) 12%,#fff),rgba(255,255,255,.72));color:#544657}
.reading-guide-portrait{position:relative;align-self:stretch;overflow:hidden;background:color-mix(in srgb,var(--guide) 10%,#fff)}.reading-guide-portrait img{position:absolute;left:50%;top:-3px;width:112px;height:auto;transform:translateX(-50%)}
.reading-guide-copy{padding:11px 14px 11px 0}.reading-guide-copy small{display:block;color:var(--guide);font-size:11.5px;font-weight:800;letter-spacing:.08em}.reading-guide-copy b{display:block;margin:1px 0 2px;font:700 18px/1.45 "Shippori Mincho B1","Yu Mincho",serif}.reading-guide-copy span{display:block;color:#756a77;font-size:12.5px;line-height:1.65}
.veil-inner{width:min(92vw,620px)}.veil-guides{display:none;align-items:flex-end;justify-content:center;height:150px;margin:0 auto 17px}.veil-guides span{position:relative;width:16.66%;height:140px;overflow:hidden;transform-origin:50% 100%;animation:guideThink 1.6s ease-in-out infinite alternate}.veil-guides span:nth-child(even){animation-delay:-.8s}.veil-guides img{position:absolute;left:50%;top:0;width:120px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 8px 9px rgba(0,0,0,.24))}
#veil .veil-title{font-size:clamp(19px,6vw,34px)}#veil .veil-sub{font-size:14px}
@media(max-width:700px){
  .council-titleframe{aspect-ratio:16/9;border-radius:19px}.council-titleframe::after{inset:6px;border-radius:13px}.council-title-copy{top:64%;width:39%}.council-title-copy .logo-main{font-size:24px}.council-title-copy .logo-uranai{font-size:13px}.council-title-copy .headline{font-size:7.5px}.council-about{right:7px;bottom:7px;min-height:36px;padding:5px 9px;font-size:11.5px}.council-about b{font-size:17px}
  .masthead .whatis{margin-top:11px;padding:0 6px;font-size:14px;line-height:1.75}.masthead .cta-row{grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.masthead .cta-main,.masthead .cta-sub{min-height:60px;padding:8px 5px}.masthead .cta-main b,.masthead .cta-sub b{font-size:14px;letter-spacing:.035em}.masthead .cta-main small,.masthead .cta-sub small{font-size:11.5px;letter-spacing:0}
  .masthead .free-declaration{margin-top:10px}.masthead .free-declaration-mark{display:block;padding:7px 9px}.masthead .free-declaration-mark small,.masthead .free-declaration-mark strong{display:inline;font-size:14px;letter-spacing:.04em}.masthead .free-declaration-mark small{margin-right:5px}.masthead .free-declaration-copy{padding:10px 11px}.masthead .free-declaration-copy>b{font-size:13.5px}.masthead .free-declaration-copy>span{font-size:12.5px}.free-facts li{min-height:30px}
  .experience-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-btn-copy b{font-size:13px}.sister-discovery{margin:0 0 12px;padding:10px 11px;grid-template-columns:42px minmax(0,1fr) auto}.sister-discovery-mark{width:40px;height:40px}.sister-discovery-copy b{font-size:14.5px}.sister-discovery-copy em{font-size:12px}
  .quick-guide-orbit{height:105px;padding:0}.quick-guide-orbit span{height:100px}.quick-guide-orbit img{width:94px}.quick-loading b{font-size:18.5px}.quick-voices{grid-template-columns:1fr}.quick-voice{grid-template-columns:62px minmax(0,1fr);min-height:92px}.quick-voice-avatar img{width:84px}
  .reading-guide{grid-template-columns:82px minmax(0,1fr);min-height:96px}.reading-guide-portrait img{width:100px}.reading-guide-copy{padding-right:10px}.reading-guide-copy b{font-size:16.5px}.reading-guide-copy span{font-size:12.5px}
  .veil-guides{height:116px}.veil-guides span{height:108px}.veil-guides img{width:96px}
}
@media(max-width:390px){.council-about{right:6px;bottom:6px;width:auto;min-height:34px;padding:4px 8px;font-size:10.5px}.masthead .cta-main b,.masthead .cta-sub b{font-size:13.5px}.masthead .cta-main small,.masthead .cta-sub small{font-size:11px}.sister-discovery-copy em{display:none}.quick-guide-orbit img{width:84px}}
.quick-mascot{object-fit:cover;object-position:50% 4%;border-radius:16px;background:linear-gradient(145deg,#f3e2e7,#E9F5F3)}
/* ---- 六人の世界観へ全面統一 2026-08-29（2026-08-30 藍×金へ再調律） ---- */
:root{
  --sumi:#0A241C;--kon:#10382B;--ai:#18503D;--ai2:#256E55;
  --kin:#C9A227;--kin-l:#F4DFA0;--kin-d:#8A6A1C;
  --shu:#C8483A;--gin:#C9DFD6;--text:#EFF8F5;--muted:#A9CBBE;
  --line:rgba(212,175,85,.4);--line2:rgba(140,200,178,.22);
  --story-ink:#2C4842;--story-plum:#5A8884;--story-coral:#C96F68;
  --story-blue:#528F7B;--story-sage:#527766;--story-paper:#F9F4E9;
  --paper:#F9F4E9;--paper2:#F0E9D8;--paper-ink:#2F4A45;--paper-sub:#566F6B;
  --paper-line:rgba(201,162,39,.42);
  --wrap-pad:11px;
}
html{overflow-x:clip}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",system-ui,sans-serif;font-size:16px;line-height:1.82;font-weight:400;letter-spacing:.012em}
.mincho,.logo,.quick-title,.quick-onboard-head b,.quick-feature-title,.quick-council-verdict span,.dv-ttl,.tab,.reading-guide-copy b{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-weight:700}
.bg{background:radial-gradient(120% 80% at 50% -8%,#2A7058 0%,#10382B 44%,#0A241C 100%)}
.bg::after{opacity:.08}.stars{opacity:.32}.wrap{max-width:1120px}
.card{border:1px solid var(--line2);border-radius:10px;background:linear-gradient(165deg,rgba(24,80,61,.92),rgba(12,42,33,.94));box-shadow:0 18px 42px rgba(3,18,13,.35),inset 0 1px 0 rgba(255,255,255,.045)}
.card::before,.card::after{display:block}.h{font-size:13px;font-weight:800;letter-spacing:.16em}.note{font-size:14.5px;color:#C6E2D8}
button,.experience-btn,.cta-main,.cta-sub{font-family:inherit;font-weight:700}

/* タイトル：画像ではなくHTML文字を主役にする */
.masthead{padding-top:20px}.council-titleframe{max-width:1080px;border-color:rgba(242,205,129,.62);box-shadow:0 26px 64px -24px rgba(8,17,15,.68)}
.council-titleframe::after{display:none}.council-hero-image{filter:saturate(.9) contrast(1.04)}
.council-title-copy{top:64%;width:34%;min-height:0;padding:4px 10px;border:0;border-radius:0;background:none;box-shadow:none;text-shadow:none}
.council-title-copy .logo-reading{margin:0;color:#76563d;font-size:12px;font-weight:800;letter-spacing:.22em}
.council-title-copy .logo{display:flex;align-items:baseline;justify-content:center;gap:.16em;margin:0;line-height:1.08;white-space:nowrap}
.council-title-copy .logo-main{font-size:clamp(40px,4.4vw,54px);font-weight:800;letter-spacing:.04em}.council-title-copy .logo-uranai{font-size:clamp(18px,2.1vw,25px);font-weight:800}
.council-title-copy .headline{margin:5px 0 0;color:#6d5353;font-size:13px;font-weight:800;line-height:1.35;letter-spacing:.04em}.council-title-copy .headline strong{color:#9d5f5a;font-size:1.18em}
.council-about{right:18px;bottom:16px;min-height:48px;padding:9px 16px;border-color:rgba(121,83,104,.24);background:rgba(255,252,246,.95);color:#5f435b;font-size:13.5px;font-weight:800}
.masthead .whatis{max-width:820px;margin-top:17px;color:#fff8f0;font-size:17px;font-weight:700;line-height:1.75}.masthead .cta-row{max-width:780px;margin-top:17px}.masthead .cta-main,.masthead .cta-sub{min-height:66px;border-radius:15px}.masthead .cta-main b,.masthead .cta-sub b{font-size:17px;font-weight:800}.masthead .cta-main small,.masthead .cta-sub small{font-size:12px;font-weight:600}
.masthead .free-declaration{border-radius:19px;background:rgba(31,48,44,.86)}.masthead .free-declaration-copy>b{font-size:15px}.masthead .free-declaration-copy>span{font-size:13.5px}.free-facts li{font-size:12px;font-weight:700}

/* 二つの入口 */
.experience-switch{display:block;max-width:780px;overflow:hidden;border-color:rgba(222,177,90,.34);border-radius:20px;background:linear-gradient(145deg,rgba(42,60,57,.97),rgba(31,52,46,.97));box-shadow:0 16px 36px rgba(7,16,14,.22)}
.experience-guide{padding:12px 15px}.experience-guide-image{width:86px;height:62px;border-radius:14px;background:#f7ead8}.experience-guide-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.experience-copy b{font-size:16px;font-weight:800}.experience-copy span{font-size:12.5px}.experience-tabs{width:100%;gap:9px;padding:8px}
.experience-btn{grid-template-columns:72px minmax(0,1fr) auto;min-height:92px;border-radius:16px}.experience-btn-mark{width:72px;height:76px;border:0;border-radius:13px;background:linear-gradient(145deg,#f6e5e8,#E4F2EE)}.experience-btn-mark img{display:block;width:100%;height:155%;object-fit:cover;object-position:50% 0;transform:translateY(-3%)}
.experience-btn-copy b{font-size:16px;font-weight:800}.experience-btn-copy small{font-size:12px;line-height:1.55}.experience-btn[aria-selected="true"]{background:linear-gradient(120deg,#fff4cf,#f0cb69);color:#342b37}
.sister-discovery{border-radius:18px;background:linear-gradient(115deg,#754d6c,#406F5F);box-shadow:0 14px 32px rgba(7,16,14,.2)}.sister-discovery-copy b{font-size:17px;font-weight:800}

/* 今日の入口：人物を飾りではなく案内役にする */
.quick-shell{border-color:var(--paper-line);background:linear-gradient(180deg,#FBF6EA 0%,#F5EEDD 60%,#EFE7D2 100%);box-shadow:0 25px 60px rgba(5,24,18,.35)}
.quick-intro{min-height:0;padding:26px 210px 24px 34px;border:1px solid var(--paper-line);border-radius:25px;background:linear-gradient(125deg,#FDF9EE 0%,#F6EFDC 55%,#EFE6CF 100%);box-shadow:0 15px 34px rgba(90,70,30,.12)}
.quick-intro::after{background:linear-gradient(115deg,transparent 48%,rgba(201,162,39,.1),transparent 68%)}.quick-intro-copy{text-align:left}.quick-kicker-row{display:block;min-height:0}
.quick-mascot{position:absolute;z-index:2;right:26px;top:50%;bottom:auto;width:158px;height:158px;margin:0;transform:translateY(-50%);border:1px solid var(--kin);border-radius:50%;background:linear-gradient(160deg,#F3EADB,#E9DFC9);object-fit:cover;object-position:50% 6%;box-shadow:0 0 0 5px rgba(201,162,39,.14),0 12px 26px rgba(50,38,14,.22);filter:none}
.quick-kicker{border-color:rgba(201,162,39,.35);background:rgba(255,252,240,.75);color:#8A6A1C;font-size:13px;font-weight:800}.quick-title{margin:14px 0 9px;color:#2F4A45;font-size:clamp(42px,5.8vw,58px);font-weight:800;letter-spacing:.05em;text-shadow:none}.quick-title small{color:#8A6A1C;font-size:14px;font-weight:800;letter-spacing:.18em}.quick-promise{margin:0;color:#566F6B;font-size:15px;font-weight:500;line-height:1.75;text-wrap:balance}.quick-free{margin-top:9px;color:#8A6A1C;font-size:13px;font-weight:700}
.quick-onboard{border-color:var(--paper-line);background:#FDFAF1}.quick-onboard-head b{font-size:clamp(27px,3.3vw,34px);font-weight:800}.quick-onboard-head span{font-size:15px}.quick-field label,.quick-sex-field legend{font-size:14px;font-weight:800}.quick-shell select,.quick-shell input:not([type="radio"]){min-height:52px;border-width:1.5px;font-size:16px;font-weight:600}.quick-sex-options span{font-size:15px}.quick-go{min-height:60px;font-size:18px;font-weight:800}

/* 六人の説明：顔・名前・占術を一組に */
.quick-depth-guide{padding:19px;border-color:var(--paper-line);background:rgba(251,246,234,.95);box-shadow:0 15px 34px rgba(80,60,20,.12)}.quick-depth-head{margin-bottom:15px}.quick-depth-mark{width:78px;height:58px;border-radius:13px;background:#F0E7D4;overflow:hidden}.quick-depth-mark img{display:block;width:100%;height:100%;object-fit:cover}.quick-depth-copy small{font-size:12px;font-weight:800}.quick-depth-copy b{font-size:20px;font-weight:800}.quick-guide-button{font-size:12px;font-weight:800;cursor:pointer}
.quick-system-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-system{display:grid;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;grid-template-columns:86px minmax(0,1fr);align-items:center;min-height:126px;padding:0;overflow:hidden;border-color:rgba(201,162,39,.28);border-radius:16px;background:linear-gradient(135deg,#FCF8ED,#F2EBD9);text-align:left}.quick-system-avatar{position:relative;align-self:stretch;overflow:hidden;background:linear-gradient(160deg,#F2E9D6,#E6DFCE)}.quick-system-avatar img{position:absolute;left:50%;top:-8px;width:142px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 8px 10px rgba(70,46,69,.14))}.quick-system-copy{min-width:0;padding:11px 10px}.quick-system-copy em{display:block;color:#8A6A1C;font-size:13px;font-style:normal;font-weight:800}.quick-system-copy b{display:block;margin-top:2px;color:#2F4A45;font-size:15px;font-weight:800;white-space:normal}.quick-system-copy small{display:block;margin-top:4px;color:#566F6B;font-size:13px;font-weight:500;line-height:1.5}.quick-system:hover{transform:translateY(-2px);border-color:rgba(201,162,39,.5);box-shadow:0 11px 22px rgba(80,60,20,.14)}.quick-system:focus-visible{outline:3px solid rgba(201,162,39,.5);outline-offset:2px}
.quick-proof-line{gap:9px;margin-top:12px}.quick-proof{display:block;padding:12px 13px;border:1px solid rgba(201,162,39,.18);border-radius:12px;background:rgba(160,130,50,.06)}.quick-proof b{display:block;color:#8A6A1C;font-size:13px;font-weight:800}.quick-proof span{display:block;margin-top:3px;color:#566F6B;font-size:13px;font-weight:500;line-height:1.6}

/* タロット・相性 */
.quick-tarot-banner{grid-template-columns:155px minmax(0,1fr) auto;min-height:178px;padding:18px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,#3A6B63 0%,#2B6654 55%,#1A4E3D 100%)}.quick-tarot-guide{position:relative;align-self:stretch;overflow:hidden;border-radius:17px;background:linear-gradient(150deg,#F2E9D6,#E6DFCE)}.quick-tarot-guide img{position:absolute;left:50%;top:-12px;width:176px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 10px 13px rgba(24,40,39,.25))}.quick-tarot-guide em{position:absolute;left:8px;bottom:8px;padding:4px 9px;border-radius:999px;background:rgba(16,50,39,.86);color:#F4DFA0;font-size:13px;font-style:normal;font-weight:800}.quick-tarot-copy small{font-size:13px;font-weight:800}.quick-tarot-copy b{font-size:25px;font-weight:800}.quick-tarot-copy span{font-size:14px;font-weight:600}.quick-tarot-cta{font-size:13px;font-weight:800}
.relationship-entry{border-radius:19px;background:linear-gradient(120deg,rgba(64,46,66,.98),rgba(46,78,68,.98))}.relationship-guide-avatar{position:relative;width:72px;height:72px;border-radius:16px;overflow:hidden;background:#f4e8df}.relationship-guide-avatar img{position:absolute;left:50%;top:-7px;width:116px;height:auto;transform:translateX(-50%)}.relationship-entry-copy b{font-size:18px;font-weight:800}.relationship-entry-copy em{font-size:12.5px}

/* 今日の結果内の旧アイコンを担当者へ */
.quick-profile-source-mark{position:relative;overflow:hidden;width:54px;height:58px;border-radius:13px;background:linear-gradient(145deg,#F2E9D6,#E6DFCE)}.quick-profile-source-mark img{position:absolute;left:50%;top:-4px;width:84px;height:auto;transform:translateX(-50%)}.quick-result{font-size:16px}.quick-name{font-size:22px;font-weight:800}.quick-theme{font-weight:800}.quick-feature{border-radius:21px;background:rgba(251,246,234,.92)}.quick-feature-top{grid-template-columns:112px minmax(0,1fr)}.quick-feature-icon{position:relative;display:block;width:112px;height:118px;min-width:112px;min-height:118px;max-width:112px;max-height:118px;overflow:hidden;border:1px solid rgba(201,162,39,.32);border-radius:17px;background:linear-gradient(145deg,#F2E9D6,#E6DFCE);filter:none}.quick-feature-icon img{position:absolute;left:50%;top:-8px;width:150px;height:auto;transform:translateX(-50%);filter:drop-shadow(0 8px 10px rgba(74,50,73,.16))}.quick-feature-icon.is-council img{inset:0;width:100%;height:100%;transform:none;object-fit:cover}.quick-feature-label{font-size:12px;font-weight:800}.quick-feature-title{font-size:23px;font-weight:800}.quick-feature p{font-size:14px;font-weight:600;line-height:1.8}.quick-weather small,.quick-weather span{font-size:11.5px}.quick-weather b{font-size:19px}.quick-voice{min-height:96px}.quick-voice-copy b{font-size:13px;font-weight:800}.quick-voice-copy span{font-size:12.5px;font-weight:600;line-height:1.65}.quick-manual b{font-size:12px}.quick-manual span{font-size:13px;font-weight:600}.quick-reason{font-size:14px}

/* じっくり占いも同じ人物・書体・角丸へ */
.today-guide{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;max-width:540px;margin:0 auto 15px;overflow:hidden;border:1px solid rgba(220,180,98,.35);border-radius:17px;background:linear-gradient(125deg,#FDF8EC,#F2EBD9);color:#2F4A45;text-align:left;box-shadow:0 12px 30px rgba(10,20,18,.16)}.today-guide-portrait{position:relative;align-self:stretch;min-height:100px;overflow:hidden;background:#F0E7D4}.today-guide-portrait img{position:absolute;left:50%;top:-10px;width:142px;height:auto;transform:translateX(-50%)}.today-guide>span:last-child{padding:13px 15px}.today-guide small{display:block;color:#8A6A1C;font-size:13px;font-weight:800}.today-guide b{display:block;margin-top:2px;font:800 20px/1.45 "Shippori Mincho B1","Yu Mincho",serif}.sec-tag .st-b,.dv-ttl{font-weight:800}.dv-ttl{font-size:25px}.dv-sub{font-size:13px;font-weight:600}
.reading-guide{grid-template-columns:122px minmax(0,1fr);min-height:126px;border-radius:19px}.reading-guide-portrait img{top:-10px;width:158px}.reading-guide-copy small{font-size:12px}.reading-guide-copy b{font-size:22px;font-weight:800}.reading-guide-copy span{font-size:14px;font-weight:600}.tab{font-weight:800}.tab-body{font-size:15px}
.draw-picker{border:1px solid var(--line2);border-radius:20px;background:linear-gradient(165deg,rgba(24,80,61,.92),rgba(12,42,33,.94));box-shadow:0 16px 38px rgba(3,18,13,.35)}.draw-picker-copy b{font-size:20px;font-weight:800}.draw-tab{min-height:104px;padding:9px 13px;border-radius:16px;background:rgba(255,255,255,.055)}.draw-tab[aria-selected="true"]{background:linear-gradient(135deg,rgba(255,244,207,.16),rgba(201,162,39,.14));box-shadow:inset 0 0 0 1px rgba(229,190,99,.42)}.draw-tab-guide{position:relative;display:block;width:78px;height:86px;flex:0 0 78px;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#F2E9D6,#E6DFCE)}.draw-tab-guide img{position:absolute;left:50%;top:-8px;width:126px;height:auto;transform:translateX(-50%)}.draw-tab b{font-size:16px;font-weight:800}.draw-tab small{font-size:11.5px;font-weight:600;line-height:1.45}
.panel-guide{display:grid;grid-template-columns:126px minmax(0,1fr);align-items:center;min-height:146px;margin:-5px 0 22px;overflow:hidden;border:1px solid rgba(201,162,39,.32);border-radius:18px;background:linear-gradient(125deg,#FDF8EC,#F2EBD9);color:#2F4A45}.panel-guide>span{position:relative;align-self:stretch;overflow:hidden;background:#F0E7D4}.panel-guide img{position:absolute;left:50%;top:-12px;width:172px;height:auto;transform:translateX(-50%)}.panel-guide>div{padding:16px 18px}.panel-guide small{display:block;color:#8A6A1C;font-size:13px;font-weight:800}.panel-guide b{display:block;margin-top:1px;font:800 24px/1.45 "Shippori Mincho B1","Yu Mincho",serif}.panel-guide em{display:block;margin-top:5px;color:#6d626f;font-size:13.5px;font-style:normal;font-weight:600;line-height:1.65}

.dv-body{gap:5px}.mode-mark{position:relative;display:block;flex:0 0 56px;width:56px;height:62px;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#F2E9D6,#E6DFCE)}.mode-mark img{position:absolute;left:50%;top:-6px;width:92px;height:auto;transform:translateX(-50%)}@media(max-width:700px){.mode-mark{flex-basis:50px;width:50px;height:56px}.mode-mark img{width:84px}}

/* 入力と本文の可読性 */
.entry label,.flabel,.mode-btn strong{font-weight:800}.entry input,.entry select,.yi-controls select{min-height:50px;font-size:16px}.go-btn,.draw-btn{min-height:54px;border-radius:13px;font-size:16px;font-weight:800}.privacy-detail,.warn,.caveat{font-size:14px}.free-proof-marquee{border-color:rgba(220,180,98,.3);background:rgba(13,46,35,.88)}

@media(max-width:700px){
  body{font-size:16px;line-height:1.78}.wrap{padding:0 11px}.masthead{padding-top:9px}
  .council-titleframe{aspect-ratio:16/10;border-radius:18px}.council-title-copy{top:64%;width:52%;min-height:0;padding:3px 6px;border:0;box-shadow:none}
  .council-title-copy .logo-reading{font-size:10px;letter-spacing:.15em}.council-title-copy .logo-main{font-size:38px}.council-title-copy .logo-uranai{font-size:19px}.council-title-copy .headline{margin-top:3px;font-size:11.5px;line-height:1.28}.council-about{right:6px;bottom:6px;min-height:38px;padding:5px 9px;font-size:11.5px}
  .masthead .whatis{font-size:15.5px;line-height:1.7}.masthead .cta-main b,.masthead .cta-sub b{font-size:15px}.masthead .cta-main small,.masthead .cta-sub small{font-size:12px}.masthead .free-declaration-copy>b{font-size:14px}.masthead .free-declaration-copy>span{font-size:13px}.free-facts li{font-size:11.5px}
  .experience-switch{position:relative!important;top:auto!important;grid-template-columns:1fr!important;margin:0 0 14px!important;padding:9px!important;gap:8px!important}.experience-guide{display:grid!important;grid-template-columns:68px minmax(0,1fr);padding:8px 9px}.experience-guide-image{display:block!important;width:68px;height:58px}.experience-copy b{font-size:15px}.experience-copy span{font-size:11.5px}.experience-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:7px;padding:0}.experience-btn{display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;width:auto!important;min-height:86px;padding:7px}.experience-btn-mark{display:block!important;width:60px;height:70px}.experience-btn-copy b{font-size:14.5px}.experience-btn-copy small{display:block!important;font-size:12px}.experience-arrow{display:none}.sister-discovery-copy b{font-size:15.5px}
  .quick-intro{min-height:0;padding:20px 142px 19px 19px;border-radius:20px}.quick-intro-copy{position:static;max-width:215px}.quick-mascot{right:-7px;bottom:-62px;width:154px;height:284px}.quick-kicker{font-size:11px;padding:5px 9px}.quick-title{margin-top:13px;font-size:36px;line-height:1.18;text-align:left}.quick-title small{font-size:12px;letter-spacing:.12em}.quick-promise{font-size:14px;line-height:1.65}.quick-free{font-size:11.5px;line-height:1.55}
  .quick-onboard{padding:22px 17px}.quick-onboard-head b{font-size:27px}.quick-onboard-head span{font-size:14px}.quick-field label,.quick-sex-field legend{font-size:13.5px}.quick-shell select,.quick-shell input:not([type="radio"]){min-height:54px;font-size:16px}
  .quick-depth-guide{padding:14px 11px}.quick-depth-head{grid-template-columns:68px minmax(0,1fr)}.quick-depth-mark{display:block;width:68px;height:56px}.quick-depth-copy small{font-size:11px}.quick-depth-copy b{font-size:17px}.quick-guide-button{grid-column:1/-1;width:100%;font-size:12px;text-align:center}
  .quick-system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.quick-system{grid-template-columns:68px minmax(0,1fr);min-height:122px}.quick-system-avatar img{top:-5px;width:122px}.quick-system-copy{padding:8px 7px}.quick-system-copy em{font-size:11.5px}.quick-system-copy b{font-size:13.5px}.quick-system-copy small{font-size:12px}.quick-proof-line{grid-template-columns:1fr}.quick-proof{padding:10px 11px}.quick-proof b{font-size:12px}.quick-proof span{font-size:11.5px}
  .quick-tarot-banner{grid-template-columns:112px minmax(0,1fr);gap:12px;min-height:176px;padding:12px;border-radius:19px}.quick-tarot-guide{min-height:150px}.quick-tarot-guide img{top:-7px;width:148px}.quick-tarot-copy small{font-size:11.5px}.quick-tarot-copy b{font-size:20px;line-height:1.4}.quick-tarot-copy span{font-size:12.5px;line-height:1.6}.quick-tarot-cta{grid-column:1/-1;width:100%;padding:9px;font-size:12px}
  .relationship-entry{grid-template-columns:66px minmax(0,1fr) auto}.relationship-guide-avatar{display:block;width:66px;height:72px}.relationship-entry-copy b{font-size:16px}.relationship-entry-copy em{font-size:11.5px}
  .quick-feature-grid{grid-template-columns:1fr}.quick-feature.is-wide{grid-column:auto}.quick-feature-top{grid-template-columns:102px minmax(0,1fr);gap:13px}.quick-feature-icon{width:102px;height:112px;min-width:102px;min-height:112px;max-width:102px;max-height:112px}.quick-feature-icon img{width:142px}.quick-feature-title{font-size:20px}.quick-feature p{font-size:13.5px}.quick-voice{grid-template-columns:76px minmax(0,1fr);min-height:105px}.quick-voice-avatar img{width:102px}.quick-voice-copy b{font-size:12.5px}.quick-voice-copy span{font-size:12.5px}
  .today-guide{grid-template-columns:86px minmax(0,1fr);margin-bottom:12px}.today-guide-portrait{min-height:94px}.today-guide-portrait img{width:134px}.today-guide>span:last-child{padding:11px 12px}.today-guide b{font-size:18px}.dv-ttl{font-size:23px}.dv-sub{font-size:12.5px}
  .reading-guide{grid-template-columns:108px minmax(0,1fr);min-height:118px}.reading-guide-portrait img{width:148px}.reading-guide-copy small{font-size:12px}.reading-guide-copy b{font-size:20px}.reading-guide-copy span{font-size:13px}
  .draw-tabs{gap:6px}.draw-tab{min-height:118px;padding:7px 4px}.draw-tab-guide{width:62px;height:70px;flex-basis:62px}.draw-tab-guide img{width:106px}.draw-tab b{font-size:14px}.draw-tab small{font-size:10.5px}.panel-guide{grid-template-columns:106px minmax(0,1fr);min-height:132px;margin-bottom:17px}.panel-guide img{width:154px}.panel-guide>div{padding:12px}.panel-guide b{font-size:20px}.panel-guide em{font-size:12.5px}
  .card{border-radius:17px;padding:20px 16px}.note{font-size:14px}.tab-body{font-size:14.5px}
}
@media(max-width:390px){.council-title-copy{width:54%}.council-title-copy .logo-main{font-size:35px}.council-title-copy .logo-uranai{font-size:17px}.quick-intro{padding-right:126px}.quick-title{font-size:34px}.quick-system-copy small{font-size:12px}}
/* ---- 復元版を基礎にした独立導線 ---- */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.route-bar{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:0 -10px 22px;padding:11px 12px;background:rgba(8,24,18,.94);border-bottom:1px solid rgba(244,223,160,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.route-bar[hidden],body[data-route="home"] .route-bar{display:none!important}
.route-bar button{appearance:none;border:0;background:transparent;color:#f8f3e9;padding:10px 12px;font-weight:700;font-size:16px;line-height:1.2;font-family:inherit;cursor:pointer}
.route-bar button:first-child{text-align:left}.route-bar button:last-child{text-align:right;color:#e6ca83}
.route-bar-title{text-align:center;color:#fff;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;letter-spacing:.06em}
.masthead{padding-top:14px}
.restored-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#133E30 0%,#0B281F 100%);box-shadow:0 24px 60px rgba(2,16,11,.5)}
.restored-hero img{display:block;width:124%;max-width:none;height:auto;margin-left:-12%;object-fit:contain;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 99%);mask-image:linear-gradient(180deg,#000 70%,transparent 99%)}
/* 神々の絵の登場フェード(.boot限定: 隠れタブで凍結してもbootが外れれば素の表示に戻る) */
body.boot .restored-hero img{opacity:0;animation:heroGodsIn 1s ease both}
@keyframes heroGodsIn{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}
.restored-hero-title{position:relative;z-index:2;margin:-38px 0 0;padding:0 14px 26px;text-align:center;font-family:"Shippori Mincho B1","Yu Mincho",serif;line-height:1.14;text-shadow:none}
.restored-hero-title small{display:block;margin-bottom:3px;color:#D8C98F;font-size:clamp(13px,1.6vw,16px);font-weight:700;letter-spacing:.42em;text-indent:.42em}
.restored-hero-title span{position:relative;display:block;font-size:clamp(46px,10.4vw,104px);font-weight:700;letter-spacing:.12em;text-indent:.12em;background:linear-gradient(115deg,#F7EBC0 12%,#E3C05C 34%,#A8841B 50%,#F1DE9E 66%,#D9B44A 88%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 12px 26px rgba(0,0,0,.5))}
/* 光りはopacityのみ動かす(GPU合成)。background-positionのアニメはCPU描画で電池を食う */
.restored-hero-title span::after{content:"萬象暦占い";position:absolute;left:0;right:0;top:0;background:linear-gradient(115deg,#FFF8DC 25%,#FFEBA8 70%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;pointer-events:none;animation:goldShine 9s ease-in-out infinite}
@keyframes goldShine{0%,72%{opacity:0}80%{opacity:.7}88%,100%{opacity:0}}
.restored-intro{max-width:760px;margin:18px auto 0;text-align:center}
.restored-intro p{margin:0;color:#EFEAF2;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(17px,2.4vw,24px);line-height:1.75;letter-spacing:.04em;text-wrap:balance}
.restored-intro a{display:inline-flex;align-items:center;gap:8px;margin-top:9px;color:#ead18d;font-size:13px;text-decoration:none}
.home-portal{margin:34px auto 0;max-width:960px}
.portal-kicker{display:none}
.portal-group{padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,rgba(32,94,73,.55),rgba(14,48,37,.4));box-shadow:0 18px 42px rgba(2,16,11,.3);margin-bottom:16px}
.portal-group-head{display:block;text-align:center;margin-bottom:12px}
.portal-group-head h2{margin:0;color:#F5EFE0;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(25px,3.5vw,38px);font-weight:700;letter-spacing:.12em;text-indent:.12em}
.portal-group-head h2::before{content:"◆ ";margin-right:.5em;color:rgba(201,162,39,.55);font-size:.42em;vertical-align:.42em}
.portal-group-head h2::after{content:" ◆";margin-left:.5em;color:rgba(201,162,39,.55);font-size:.42em;vertical-align:.42em}
.portal-group-head p{margin:4px auto 0;max-width:560px;color:#B9D8CD;font-size:13px;line-height:1.65;text-align:center}
.portal-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.portal-entry{appearance:none;display:flex;flex-direction:column;justify-content:center;width:100%;min-height:118px;border:1px solid rgba(201,162,39,.38);border-radius:18px;padding:20px;text-align:center;background:linear-gradient(180deg,#FBF6EA,#F0E9D6);color:#2A443F;box-shadow:0 15px 34px rgba(2,16,11,.35),inset 0 1px 0 #FFFDF4;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.portal-entry:hover{transform:translateY(-2px);border-color:rgba(201,162,39,.8);box-shadow:0 20px 42px rgba(2,16,11,.42),inset 0 1px 0 #FFFDF4}
.portal-entry small{display:none}
.portal-entry b{display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:24px;line-height:1.35;font-weight:700;letter-spacing:.04em}
.portal-entry span{display:block;margin-top:8px;color:#566F6B;font-size:13px;line-height:1.7;text-align:center}
.portal-entry.is-pair,.portal-entry.is-tarot{background:linear-gradient(180deg,#FBF6EA,#F0E9D6)}
.portal-entry-wide{min-height:118px}
.portal-minor{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.portal-minor button{appearance:none;border:1px solid var(--line2);border-radius:999px;background:rgba(22,68,53,.5);color:#D8EEE6;padding:11px 6px;font-weight:700;font-size:13px;line-height:1.3;font-family:inherit;white-space:nowrap;cursor:pointer;transition:border-color .2s ease}
.portal-minor button:hover{border-color:var(--line)}
.portal-menu{display:grid;grid-template-columns:1fr;gap:12px;padding:22px 0;border-top:1px solid var(--line2)}
.portal-menu button{appearance:none;border:1px solid var(--line2);border-radius:14px;background:rgba(22,68,53,.55);color:#EFF8F5;padding:16px 18px;text-align:center;font-weight:700;font-size:14px;line-height:1.4;font-family:inherit;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.portal-menu button:hover{border-color:var(--line);background:rgba(28,80,63,.65)}
.portal-menu button span{float:right;color:#E3C87E}
.portal-banners{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:34px 0 8px}
/* 星のしるべ(ポップな姉妹サイト)のバナー: パステルの夜空調 */
.portal-banner.portal-banner-hoshi{background:linear-gradient(135deg,#A8E8DE,#79C8BC);border-color:rgba(255,255,255,.45)}
.portal-banner.portal-banner-hoshi .portal-banner-copy small{color:#F0FFFD}
.portal-banner.portal-banner-hoshi .portal-banner-copy b,.portal-banner.portal-banner-hoshi .portal-banner-copy span{color:#FFFFFF;text-shadow:0 1px 6px rgba(70,150,138,.5)}
.pb-hoshi-face{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.85);background:#E9FAF8;box-shadow:0 6px 14px rgba(60,140,128,.35)}
.portal-banner.portal-banner-hoshi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1}
.portal-banner{position:relative;min-height:154px;overflow:hidden;border:1px solid var(--line2);border-radius:18px;color:#fff;text-decoration:none;background:#0D3025;box-shadow:0 16px 36px rgba(2,16,11,.35)}
.portal-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.85)}
.portal-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,13,.5),rgba(7,16,13,.74))}
.portal-banner-copy{position:relative;z-index:1;display:flex;min-height:154px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 14px}
.portal-banner-copy small{color:#E3C87E;font-size:13px;letter-spacing:.12em}.portal-banner-copy b{margin-top:3px;font:600 clamp(17px,5.2vw,21px)/1.35 "Shippori Mincho B1","Yu Mincho",serif;white-space:nowrap}.portal-banner-copy span{margin-top:3px;font-size:12px;line-height:1.55;color:#eee6df;word-break:keep-all}
.pb-seal{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:46px;height:64px;border:2px solid rgba(201,162,39,.65);border-radius:8px;background:linear-gradient(160deg,#A63D2E,#7E2A20);color:#F6E8D0;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;font-weight:800;letter-spacing:.08em;writing-mode:vertical-rl;text-orientation:upright;box-shadow:0 6px 14px rgba(2,16,11,.45)}
.portal-banner-namae::before{content:"名";position:absolute;right:2px;bottom:-20px;z-index:1;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-weight:800;font-size:118px;line-height:1;color:rgba(244,223,160,.13);pointer-events:none}
.portal-banner-namae .portal-banner-copy{padding-left:64px;padding-right:64px}
.portal-banner-namae .portal-banner-copy b{font-size:clamp(26px,8.4vw,36px);letter-spacing:.1em}
.pb-god{position:absolute;right:11px;top:50%;transform:translateY(-50%);z-index:2;width:56px;height:56px;border:2px solid rgba(201,162,39,.6);border-radius:50%;overflow:hidden;background:#10362A;box-shadow:0 6px 14px rgba(2,16,11,.45)}
.pb-god img{width:100%;height:100%;object-fit:cover;object-position:50% 26%}
/* 占い入門。姉妹サイトではなく「学ぶ場所」なので、2列にまたがって一段上に置く */
.portal-banner-nyumon{grid-column:1 / -1;border-color:rgba(217,180,74,.6);
  box-shadow:0 16px 36px rgba(2,16,11,.4),0 0 28px -8px rgba(217,180,74,.5)}
.portal-banner-nyumon img{opacity:1;filter:none}
.portal-banner-nyumon .portal-banner-copy small,
.portal-banner-nyumon .portal-banner-copy span{text-shadow:0 1px 7px rgba(4,20,15,.95),0 0 18px rgba(4,20,15,.6)}
.portal-banner-nyumon::after{background:linear-gradient(96deg,rgba(8,28,22,.8) 0%,rgba(8,28,22,.52) 30%,rgba(8,28,22,.1) 62%,rgba(8,28,22,0) 100%)}
.portal-banner-nyumon .portal-banner-copy{align-items:flex-start;justify-content:center;text-align:left;
  max-width:82%;min-height:168px;padding:18px!important}
.portal-banner-nyumon .portal-banner-copy b{white-space:normal;
  background:linear-gradient(115deg,#F7EBC0 22%,#D9B44A 76%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 7px rgba(4,20,15,.95))}
.portal-banner-nyumon .portal-banner-copy span{max-width:30em}

/* 恋のしるべ(姉妹バナー・宵の紅。専用画像納品までグラデ表示) */
.portal-banner-koi{background:url("koi/assets/pop/banner-koi.webp") center right/cover,#FFE9F2!important;border-color:rgba(232,130,158,.5)!important}
.portal-banner-koi::after{background:linear-gradient(90deg,rgba(255,255,255,.6) 34%,rgba(255,255,255,0) 62%)}
.portal-banner-koi .portal-banner-copy{align-items:flex-start;text-align:left;max-width:76%;padding:15px 18px!important}
.portal-banner-koi .portal-banner-copy small,.portal-banner-koi .portal-banner-copy span{white-space:nowrap}
.portal-banner-koi .portal-banner-copy small{color:#C9558A;text-shadow:0 1px 5px rgba(255,255,255,.85)}
.portal-banner-koi .portal-banner-copy b{color:#D9598C;background:none;-webkit-background-clip:border-box;background-clip:border-box;filter:none;text-shadow:0 1px 5px rgba(255,255,255,.9)}
.portal-banner-koi .portal-banner-copy span{color:#7A6886;text-shadow:0 1px 4px rgba(255,255,255,.85)}
/* YouTube(安らぎの音の部屋)バナー: 専用画は素通しで見せ、文字の左側だけ暗くする */
.portal-banner-tube img{opacity:1;filter:none}
.portal-banner-tube::after{background:linear-gradient(90deg,rgba(7,16,13,.66) 34%,rgba(7,16,13,.06) 66%)}
.portal-banner-tube .portal-banner-copy{align-items:flex-start;text-align:left;max-width:64%;padding:15px 18px!important}
.portal-banner-tube .portal-banner-copy small{white-space:nowrap}
.pb-play{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;border:2px solid rgba(244,223,160,.7);background:rgba(10,36,28,.6);
  color:#F4DFA0;font-size:15px;padding-left:4px;box-shadow:0 6px 14px rgba(2,16,11,.45)}
.portal-banner .portal-banner-copy{padding-left:64px;padding-right:64px}
.route-panel{max-width:820px;margin:36px auto;padding:28px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(165deg,rgba(24,80,61,.92),rgba(12,42,33,.94));color:#EFF8F5}
.route-panel h2{margin:0 0 18px;font:500 28px/1.4 "Shippori Mincho B1","Yu Mincho",serif}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid rgba(255,255,255,.13)}
.setting-row:first-of-type{border-top:0}.setting-row b{display:block}.setting-row span{display:block;margin-top:4px;color:#c9c0ba;font-size:12px;line-height:1.6}
.setting-row button,.setting-row a{flex:0 0 auto;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:transparent;color:#f3dd9d;padding:10px 14px;font-weight:700;font-size:12px;line-height:1;font-family:inherit;text-decoration:none;cursor:pointer}
/* 設定画面: 推し神の顔アイコン付き表示(#idで後方の.setting-row span系より強くする) */
#settingsFavoriteStatus .settings-favorite-god{display:flex;align-items:center;gap:9px;margin:2px 0 4px}
#settingsFavoriteStatus .settings-favorite-god img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 26%;box-shadow:0 0 0 1px rgba(201,162,39,.75),0 0 0 3px rgba(201,162,39,.18)}
#settingsFavoriteStatus .settings-favorite-god b{display:inline;color:#F4DFA0;font-size:13.5px}
.favorite-result-note{margin:14px 0;padding:12px 14px;border-left:3px solid #d4b76d;background:rgba(212,183,109,.14);color:#D9CDB2;font-size:12px;line-height:1.7}
.favorite-result-note b{color:#F4DFA0}
.quick-result .favorite-result-note{color:#5a4c52;background:#fff8e7}
.quick-result .favorite-result-note b{color:#6b4f2a}
.council-tiebreak{margin-top:9px;color:#7e5968;font-weight:700}
.experience-switch,.relationship-entry-wrap,.afterglow{display:none!important}
body:not([data-route="home"]) .free-proof-marquee{display:none!important}
body:not([data-route="home"]) .masthead,body:not([data-route="home"]) #homePortal,body:not([data-route="home"]) .home-date-row,body:not([data-route="home"]) .home-koyomi-fold{display:none!important}
body:not([data-route="quick"]) #quickView{display:none!important}
body[data-route="quick"] #quickView{display:block!important}
body:not([data-route="deep"]):not([data-route="pair"]):not([data-route="tarot"]):not([data-route="omikuji"]):not([data-route="iching"]) #deepView{display:none!important}
body:is([data-route="deep"],[data-route="pair"],[data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #deepView{display:block!important}
#aboutDivider,#makerCard,#settingsPanel,footer{display:none!important}
body[data-route="about"] #aboutDivider,body[data-route="about"] #makerCard{display:block!important}
body[data-route="home"] #aboutDivider,body[data-route="home"] #makerCard,body[data-route="home"] footer{display:block!important}
body:is([data-route="deep"],[data-route="pair"]) .mode-switch{display:none!important}
body[data-route="settings"] #settingsPanel{display:block!important}
body[data-route="deep"] #drawSection,body[data-route="deep"] #drawPicker,body[data-route="deep"] .draw-panel,body[data-route="deep"] #lifeDivider,body[data-route="deep"] #compatReading{display:none!important}
body[data-route="pair"] #deepView>.hero,body[data-route="pair"] #colorCard,body[data-route="pair"] #drawSection,body[data-route="pair"] #drawPicker,body[data-route="pair"] .draw-panel,body[data-route="pair"] #lifeDivider,body[data-route="pair"] #reading{display:none!important}
body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #deepView>.hero,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #colorCard,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #drawSection,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #lifeDivider,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #entryCard,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #reading,body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #compatReading{display:none!important}
body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) #drawPicker{display:none!important}
body[data-route="tarot"] #tarotCard,body[data-route="omikuji"] #omikujiCard,body[data-route="iching"] #ichingCard{display:block!important}
body[data-route="quick"] .quick-depth-guide,body[data-route="quick"] .quick-tarot-banner{display:none!important}
body[data-route="deep"] #entryCard.pair-mode .partner-panel{display:none!important}
@media(max-width:700px){
  .wrap{padding-top:0}.masthead{padding-top:8px}.restored-hero{border-radius:16px}.restored-intro{padding:0 8px}.restored-intro p{font-size:16px}
  .route-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:4px;margin-left:-12px;margin-right:-12px;padding:9px 7px}
  .route-bar button{padding:9px 6px;font-size:15px}.route-bar-title{overflow:hidden;font-size:14px;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis}

  .home-portal{margin-top:26px}.portal-group{padding:24px 0}.portal-group-head{display:block}.portal-group-head p{margin-top:6px;text-align:left}
  .portal-entry-row,.portal-menu,.portal-banners{grid-template-columns:1fr}.portal-today .portal-entry-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-entry{min-height:112px;padding:19px}.portal-entry b{font-size:22px}.portal-today .portal-entry{min-height:98px;padding:13px 7px;text-align:center}.portal-today .portal-entry small{font-size:10px;letter-spacing:.06em}.portal-today .portal-entry b{font-size:19px}
  .portal-banner,.portal-banner-copy{min-height:132px}.route-panel{margin:20px 0;padding:21px}
  .setting-row{align-items:flex-start;flex-direction:column}.setting-row button,.setting-row a{align-self:flex-start}
}
/* ==== 見栄え改修層 2026-08-30（藍×金・表示効果・文字サイズ下限13px） ==== */
@keyframes routeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.route-anim main{animation:routeIn .34s ease both}
#quickResult:not([hidden])>*{animation:routeIn .5s ease both}
#quickResult:not([hidden])>*:nth-child(2){animation-delay:.07s}
#quickResult:not([hidden])>*:nth-child(3){animation-delay:.14s}
#quickResult:not([hidden])>*:nth-child(4){animation-delay:.21s}
#quickResult:not([hidden])>*:nth-child(5){animation-delay:.28s}
#quickResult:not([hidden])>*:nth-child(6){animation-delay:.35s}
#quickResult:not([hidden])>*:nth-child(n+7){animation-delay:.42s}
#reading:not([hidden])>*,#compatReading:not([hidden])>*{animation:routeIn .5s ease both}
.quick-name-hint,.fhint-in,.scroll-hint,.quick-depth-copy small,.draw-tab small,.quick-feature-label,.quick-manual b,.quick-weather small,.quick-weather span,.quick-voice-copy b,.quick-voice-copy span{font-size:13px}
.dv-sub{font-size:13.5px}
.restored-intro p span,.quick-onboard-head b span{display:inline-block}
.tarot-topic-box{border:1px solid var(--line);border-radius:16px;padding:16px 15px;background:linear-gradient(160deg,rgba(26,82,63,.6),rgba(12,42,33,.55))}
.tarot-topic-cap{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;font-weight:700;color:var(--kin-l);letter-spacing:.08em}
.tarot-topic-cap small{margin-left:8px;color:var(--muted);font-size:13px;font-weight:400;letter-spacing:.02em}
.tarot-topic-names{margin:8px 0 12px;color:var(--muted);font-size:13px;line-height:1.85}
.tarot-topic-select{width:100%;min-height:54px;border:1px solid var(--line);border-radius:12px;background:#0D3024;color:var(--text);font-size:16px;font-weight:700;padding:10px 14px;font-family:inherit}
.tarot-topic-select:focus-visible{outline:2px solid var(--kin-l);outline-offset:2px}
.tarot-topic-desc{margin:9px 0 0;color:var(--gin);font-size:13.5px;line-height:1.7}
.portal-group-head h2,.quick-onboard-head b,.quick-depth-copy b,.quick-tarot-copy b,.panel-guide b,.today-guide b{text-wrap:balance}
.today-guide em.tg-common{display:block;margin-top:3px;font-style:normal;font-size:12.5px;font-weight:700;color:#6B5B33;line-height:1.6}
/* じっくり占い: 「一生変わらない部分/今の運気で動く部分」の区分を各タブ先頭に示す */
.tab-scope{margin:0 2px 13px;padding:7px 12px;border-left:2px solid rgba(201,162,39,.5);border-radius:0 9px 9px 0;background:rgba(201,162,39,.07);color:#C9B98A;font-size:13px;line-height:1.75}
@keyframes lineIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
/* -- ボタンは藍地+金縁+金文字に統一(白浮き解消) -- */
.portal-entry,.tarot-mode-btn,.tarot-topic-box{background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.07) 45%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#205543,#123C2E)!important;border:2px solid rgba(201,162,39,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 26px rgba(2,16,11,.4)}
.portal-entry b{color:#F4E9C8}
.portal-entry span{color:#B9D8CD}
.tarot-mode-btn b{color:#F4E9C8}
.tarot-mode-btn small{color:#B9D8CD}
.tarot-topic-cap{color:#F4DFA0}
.tarot-topic-cap small{color:#A9CBBE}
.tarot-topic-names{color:#B9D8CD}
.tarot-topic-desc{color:#B9D8CD}
.tarot-topic-select,.tarot-spread-choice select,.tarot-choice-fields input{background:#0D3024!important;color:#EFF8F5!important;border:1.5px solid rgba(201,162,39,.55)!important;color-scheme:dark}
.portal-group{border-width:1.5px;border-color:rgba(212,175,85,.32)}
.chara-slot,.chara-img{border-width:2px}
/* -- タロット操作画面: トップと同じ藍×金カード様式 -- */
#tarotTop .tarot-step-card,#tarotTop .tarot-mode-panel,#tarotTop .tarot-draw-panel{padding:16px 15px;margin-bottom:16px;border:2px solid rgba(212,175,85,.5);border-radius:22px;background:linear-gradient(150deg,rgba(32,94,73,.55),rgba(14,48,37,.4));box-shadow:0 18px 42px rgba(2,16,11,.3)}
.tarot-step-head{margin-bottom:10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.tarot-step-copy{text-align:center}
.tarot-step-no{display:grid;place-items:center;flex:0 0 40px;width:40px;min-width:40px;height:40px;padding:0;color:#F4DFA0;border:1px solid var(--kin);border-radius:50%;background:rgba(201,162,39,.12);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;font-weight:700;letter-spacing:0;text-indent:0}
.tarot-step-copy b,#tarotTop .tarot-mode-panel h4{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:21px;font-weight:700;letter-spacing:.05em;color:#F5EFE0}
.tarot-step-head .tarot-step-copy span{font-size:13px;line-height:1.55;color:#B9D8CD}
.tarot-mode-panel h4{margin:0 0 10px}
.tarot-mode-grid{gap:9px;margin-bottom:10px}
.tarot-mode-btn{padding:13px 15px;border:1px solid rgba(201,162,39,.5);border-radius:14px;background:linear-gradient(180deg,#FBF6EA,#F0E9D6);box-shadow:0 10px 24px rgba(2,16,11,.3),inset 0 1px 0 #FFFDF4}
.tarot-mode-btn b{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;font-weight:700;letter-spacing:.03em;color:#F4E9C8}
.tarot-mode-btn small{margin-top:3px;line-height:1.55;font-size:13px;color:#B9D8CD}
.tarot-mode-btn{text-align:center}
.tarot-mode-panel h4{text-align:center}
.tarot-topic-box{text-align:center}
.tarot-topic-select{text-align:center;text-align-last:center}
.tarot-spread-choice select{text-align:center;text-align-last:center}
.tarot-spread-choice{justify-content:center}
.tarot-context-note{justify-content:center;text-align:center}
.deck-gesture-hint,.tarot-recommend{text-align:center}
.tarot-mode-btn[aria-pressed="true"]{border:2px solid rgba(201,162,39,.6);background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.07) 45%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#205543,#123C2E)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 26px rgba(2,16,11,.4)}
.tarot-mode-btn[aria-pressed="true"] b{color:#F4E9C8}
.tarot-mode-btn[aria-pressed="true"] b::before{content:"✓ ";color:#F4E9C8}
.tarot-mode-btn[aria-pressed="true"] small{color:#B9D8CD}
.tarot-mode-btn[aria-pressed="true"] b{color:#F4E9C8}
.tarot-context-note{padding:11px 13px;margin-top:0;border:1px solid var(--line2);border-radius:14px;background:rgba(13,46,35,.55)}
.tarot-context-note small{color:#E3C87E}
.tarot-context-mark{color:#F4DFA0;border-color:var(--kin)}
.tarot-context-note b{color:#EFF8F5}
.tarot-context-link{border:1px solid rgba(201,162,39,.6);border-radius:999px;background:rgba(201,162,39,.1);color:#F4DFA0}
.tarot-topic-box{padding:14px;border:1px solid rgba(201,162,39,.5);border-radius:14px;background:linear-gradient(180deg,#FBF6EA,#F0E9D6);box-shadow:0 10px 24px rgba(2,16,11,.3),inset 0 1px 0 #FFFDF4}
.tarot-topic-cap{font-size:18px;color:#F4DFA0}
.tarot-topic-cap small{color:#A9CBBE;font-size:13px}
.tarot-topic-names{margin:5px 0 9px;line-height:1.48;color:#B9D8CD}
.tarot-topic-select{border:1.5px solid rgba(201,162,39,.55);border-radius:11px;background:#0D3024;color:#EFF8F5;color-scheme:dark}
.tarot-topic-desc{margin:8px 0 0;color:#B9D8CD}
.tarot-spread-choice span{color:#B9D8CD}
.tarot-spread-choice select{border:1.5px solid rgba(201,162,39,.55);border-radius:11px;background:#0D3024;color:#EFF8F5;color-scheme:dark}
.tarot-recommend{color:#E3C87E}
.deck-stage{border:1px solid var(--line);border-radius:14px;overflow:hidden;padding-top:12px}
.deck-gesture-hint{color:#B9D8CD}
.tarot-choice-fields label span{color:#B9D8CD}
.tarot-choice-fields input{background:#0D3024;border:1.5px solid rgba(201,162,39,.55);border-radius:11px;color:#EFF8F5}
.tarot-context-copy small{font-size:13px}
.tarot-context-copy b{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;letter-spacing:.04em;color:#F4E9C8}
.tarot-final{border:2px solid rgba(212,175,85,.5);border-radius:22px;background:linear-gradient(150deg,rgba(32,94,73,.55),rgba(14,48,37,.4));text-align:center;margin-top:10px;padding:16px 15px}
.tarot-final h4{margin:4px 0 8px;line-height:1.45}
.tarot-final-lead{line-height:1.62}
.tarot-final-lead b{display:block;margin-bottom:3px}
.tarot-foundation{margin-top:12px;padding:12px}
.tarot-scroll-controls{position:static;display:block;width:100%;margin:6px auto 2px;max-width:none;padding:0}
.tarot-hero{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin:0 0 4px}
.tarot-hero-copy{text-align:center;padding-top:6px}
.tarot-hero-copy small{display:block;color:#E3C87E;font-size:13px;letter-spacing:.16em;margin-bottom:7px}
.tarot-hero-copy b{display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(24px,7.6vw,30px);font-weight:800;letter-spacing:.1em;line-height:1.3;white-space:nowrap;background:linear-gradient(115deg,#F7EBC0 18%,#D9B44A 60%,#A8841B 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 5px rgba(0,0,0,.45))}
.tarot-hero-chara{flex:none;width:118px;height:148px;object-fit:cover;object-position:50% 2%;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%);filter:drop-shadow(0 8px 16px rgba(2,16,11,.55))}
.tarot-today-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:14px;padding:7px 18px;border:1.5px solid rgba(201,162,39,.6);border-radius:999px;background:rgba(201,162,39,.1);color:#F4DFA0;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;font-family:inherit}
.tarot-today-toggle::before{content:"▸ ";color:#C9A227}
.tarot-today-toggle[aria-expanded="true"]::before{content:"▾ ";color:#C9A227}
.tarot-today-panel{margin:0}
#tarotTodayContent .tarot{max-width:700px;margin:0 auto}
#tarotTodayContent .tsec-lbl{text-align:center;margin-bottom:8px}
.tarot-final-cards{display:grid;gap:12px;margin:14px 0 4px}
.tarot-final-row{padding:13px 10px 11px;border:1px solid rgba(201,162,39,.28);border-radius:12px;background:rgba(10,44,33,.5);text-align:center}
.tfr-pos{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 13px;border:1px solid rgba(201,162,39,.5);border-radius:999px;color:#E3C87E;font-size:11.5px;letter-spacing:.12em}
.tfr-name{display:block;margin:8px 0 4px;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:18px;font-weight:700;color:#F4E9C8}
.tfr-name i{font-style:normal;font-size:12px;font-weight:600;color:#B9D8CD;margin-left:8px}
.tfr-word{margin:0;font-size:14.5px;line-height:1.7;color:#EFF8F5}
.tfr-lens{display:block;margin-top:5px;color:#8FBCAC;font-size:11.5px}
.tfr-detail{margin-top:9px;padding-top:8px;border-top:1px dashed rgba(201,162,39,.28);text-align:left}
.tfr-detail b{margin-right:7px;color:#D8C98F;font-size:11px;font-weight:700;letter-spacing:.08em}
.tfr-kw{color:#F4DFA0;font-size:12.5px;letter-spacing:.04em}
.tfr-detail p{margin:5px 0 0;color:#AED0C4;font-size:12px;line-height:1.85}
.tarot-final-sum{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(201,162,39,.25);text-align:center;font-size:14.5px;line-height:1.8;color:#F4DFA0}
.deck-ctl .go-btn:disabled{background:linear-gradient(180deg,#1B4A3A,#11382B);color:rgba(244,233,200,.42);opacity:1;box-shadow:inset 0 0 0 1.5px rgba(201,162,39,.24)}
/* かんたん占い結果の藍統一(2026-08-30)。紙は入力フォームにだけ残す。 */
#quickResult{--q-ink:#EFF8F5;--q-muted:#B9D8CD;--q-gold:#E3C87E;color:#DEF2EB}
#quickResult .quick-score-card,#quickResult .quick-fortune,#quickResult .quick-highlight,#quickResult .quick-feature,#quickResult .quick-voice,#quickResult .quick-reason,#quickResult .quick-profile-source{border:1px solid rgba(201,162,39,.3);background:linear-gradient(160deg,rgba(25,78,61,.68),rgba(12,44,34,.8));box-shadow:none}
#quickResult .quick-council-verdict{border:1px solid rgba(201,162,39,.3);background:rgba(9,38,28,.72)}
#quickResult .quick-fortune-head{color:#C7E4DA}
#quickResult .quick-fortune-head b,#quickResult .quick-highlight span{color:#E3C87E}
#quickResult .quick-fortune p{color:#C2E0D6}
#quickResult .quick-highlight b{color:#EFF8F5}
#quickResult .quick-council-verdict span{color:#F4E9C8}
#quickResult .quick-fortune-state{background:rgba(201,162,39,.15);color:#F4DFA0}
#quickResult .quick-fortune.is-strong{border-color:rgba(201,162,39,.5)}
#quickResult .quick-fortune.is-strong .quick-fortune-state{background:rgba(201,162,39,.22);color:#F7E7AE}
#quickResult .quick-fortune.is-watch{border-color:rgba(210,150,90,.4)}
#quickResult .quick-fortune.is-watch .quick-fortune-state{background:rgba(210,150,90,.18);color:#EFC9A2}
#quickResult .quick-fortune.is-low{border-color:rgba(206,110,110,.45)}
#quickResult .quick-fortune.is-low .quick-fortune-state{background:rgba(206,110,110,.18);color:#F0B9B9}
#quickResult .quick-feature-icon,#quickResult .quick-voice-avatar,#quickResult .quick-profile-source-mark{border-color:rgba(201,162,39,.4);background:linear-gradient(160deg,#18503D,#0F382B)}
#quickResult .quick-feature{background:linear-gradient(160deg,rgba(25,78,61,.6),rgba(12,44,34,.78))}
#quickResult .quick-voice{background:rgba(13,47,36,.66);border-color:rgba(201,162,39,.24)}
.quick-shell{border-color:rgba(201,162,39,.38);background:linear-gradient(180deg,#154938,#0F3A2C 55%,#0B3225);box-shadow:0 25px 60px rgba(2,18,13,.5)}
.quick-intro{border:2px solid rgba(201,162,39,.5);background:linear-gradient(145deg,#1D5A46,#123F30);box-shadow:0 15px 34px rgba(2,24,17,.4)}
.quick-mascot{border:2px solid rgba(201,162,39,.55);background:linear-gradient(160deg,#1B5240,#10362A);box-shadow:0 0 0 5px rgba(201,162,39,.12),0 12px 26px rgba(2,16,11,.4)}
#quickResult .quick-name{color:#F4E9C8}
#quickResult .quick-date{color:#B9D8CD}
#quickResult .quick-data-note span{border:1px solid rgba(201,162,39,.32);background:rgba(13,47,36,.62);color:#C7E4DA}
#quickResult .quick-section-title,#quickResult .quick-eyebrow{color:#E3C87E}
#quickResult .quick-grade{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:30px;font-weight:800;letter-spacing:.08em;line-height:1.25;background:linear-gradient(115deg,#F7EBC0 18%,#D9B44A 60%,#A8841B 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
#quickResult .quick-grade.qg-big{font-size:42px}
#quickResult .quick-theme-card{border:1px solid rgba(201,162,39,.35);background:linear-gradient(145deg,#246853,#143E31)}
#quickResult .quick-profile-source{color:#C7E4DA}
#quickResult .quick-profile-edit{border:1.5px solid rgba(201,162,39,.5);background:linear-gradient(180deg,#205543,#123C2E);color:#F4E9C8}
#quickResult .quick-feature-label{color:#E3C87E}
#quickResult .quick-feature-title{color:#F4E9C8}
#quickResult .quick-feature p{color:#C2E0D6}
#quickResult .quick-voice-copy b{color:#E3C87E}
#quickResult .quick-voice-copy span{color:#C2E0D6}
#quickResult .quick-weather small{color:#E3C87E}
#quickResult .quick-weather b{color:#F4E9C8}
#quickResult .quick-weather span{color:#C2E0D6}
#quickResult .quick-weather{grid-template-columns:1fr;gap:7px}
#quickResult .quick-weather>div{display:grid;grid-template-columns:30px auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(201,162,39,.28);border-radius:11px;background:rgba(13,47,36,.62);text-align:left}
#quickResult .quick-weather small{font-size:12.5px}
#quickResult .quick-weather b{font-size:15px;white-space:nowrap}
#quickResult .quick-weather span{font-size:12.5px;line-height:1.5}
#quickResult .quick-highlight .qg-color{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:0}
#quickResult .quick-highlight .qg-color i{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
#quickResult .quick-highlight .qg-color em{flex:none;font-style:normal;color:#EFF8F5;font-size:14px;font-weight:700}
/* 合議カードは、六人円卓の横長絵を上バナーにして見出しを全幅に */
#quickResult .quick-feature.is-wide .quick-feature-top{display:block}
#quickResult .quick-feature-icon.is-council{display:block;width:100%;max-width:none;min-width:0;height:128px;min-height:0;max-height:none;margin-bottom:12px;border-radius:13px}
#quickResult .quick-feature-icon.is-council img{position:static;width:100%;height:100%;object-fit:cover;object-position:50% 32%;transform:none}
#quickResult .quick-score-ring::before{background:#10362A}
#quickResult .quick-score-ring{position:relative}
#quickResult .quick-score-ring strong{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:16px;color:#F4E9C8}
#quickResult .quick-score-ring strong small{position:absolute;left:0;right:0;top:calc(50% + 5px);margin:0;text-align:center;white-space:nowrap;font-size:11px;color:#E3C87E}
#quickResult .quick-feature .quick-council-verdict b{border:1px solid rgba(201,162,39,.45);background:rgba(201,162,39,.16);color:#F4DFA0}
#quickResult .quick-manual b{color:#E3C87E}
#quickResult .quick-manual span{color:#C2E0D6}
#quickResult .quick-manual div{border-bottom-color:rgba(201,162,39,.22)}
.quick-intro .quick-title{background:linear-gradient(115deg,#F7EBC0 18%,#D9B44A 60%,#A8841B 85%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}
.quick-glance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;margin:0 0 13px;padding:10px 13px 10px 14px;border:0;border-left:3px solid rgba(201,162,39,.6);border-radius:6px 15px 15px 6px;background:linear-gradient(145deg,rgba(44,106,85,.5),rgba(19,58,45,.6))}
.qg-score{display:grid;place-items:center;align-content:center;width:50px;height:50px;border:1.5px solid rgba(201,162,39,.45);border-radius:50%;background:rgba(10,40,30,.6);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;font-weight:800;line-height:1;color:#F4E9C8}
.qg-score small{display:block;margin-top:2px;font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.1em;color:#E3C87E}
.qg-body b{display:block;margin-bottom:2px;color:#E3C87E;font-size:11.5px;letter-spacing:.12em}
.qg-body p{margin:0;font-size:15px;line-height:1.6;color:#EFF8F5}
.qg-color{display:flex;align-items:center;gap:8px;margin-top:6px}
.qg-color small{flex:none;color:#B9D8CD;font-size:11.5px}
.qg-color i{flex:1;height:13px;border-radius:99px;border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.qg-color em{flex:none;font-style:normal;color:#EFF8F5;font-size:12.5px;font-weight:700}
.hero-guides-link{position:absolute;right:7px;top:57%;z-index:3;display:inline-block;padding:4px 8px;border:1px solid rgba(201,162,39,.5);border-radius:9px;background:rgba(10,40,30,.78);color:#F4DFA0;font-size:12px;font-weight:700;line-height:1.45;text-align:center;text-decoration:none}
.hero-guides-link span{color:#E3C87E}
.portal-glance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;width:100%;margin:0 0 14px;padding:11px 14px 11px 15px;border:0;border-left:3px solid rgba(201,162,39,.6);border-radius:6px 15px 15px 6px;background:linear-gradient(145deg,rgba(44,106,85,.5),rgba(19,58,45,.6));text-align:left;color:inherit;cursor:pointer;font:inherit}
.home-date-row{text-align:center;margin:6px 0 2px}
.home-date-row .portal-date{margin:0;padding:6px 16px;font-size:14.5px}
/* トップの「今日の暦」ボタン: 押すと六曜カレンダーと同じシートで共通暦がひらく */
.home-koyomi-fold{margin:7px auto 9px;text-align:center}
.home-koyomi-fold button{display:inline-flex;align-items:center;gap:6px;padding:6px 17px;border:1px solid rgba(143,188,172,.35);border-radius:999px;background:rgba(16,54,42,.5);color:#C6E2D8;font-size:12.5px;font-family:inherit;cursor:pointer}
.home-koyomi-fold button::after{content:"›";color:#C9A227;font-size:13px}
#koyomiSheet{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,22,16,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#koyomiSheet[hidden]{display:none}
.koyomi-sheet{width:min(100%,430px)}
/* シートの中では、共通暦ブロック自身の枠や余白は二重になるので消す */
.koyomi-sheet .hero{border:0;background:transparent;box-shadow:none;padding:0;margin:0}
.koyomi-sheet .rc-close{margin-top:18px}
/* シート内の「どなたにも共通」のラッキーカラー(個人版は占い結果側に出る) */
.ks-color{display:flex;align-items:center;gap:12px;margin:14px 2px 0;padding:11px 13px;border:1px solid rgba(201,162,39,.3);border-radius:13px;background:rgba(16,54,42,.5);text-align:left}
.ks-color i{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.4);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.ks-color small{display:block;color:#8FBCAC;font-size:11.5px;letter-spacing:.06em}
.ks-color b{display:block;color:#F4EFE0;font-size:16px;line-height:1.5}
.ks-color span{display:block;color:#B9D6CC;font-size:11.5px;line-height:1.6}
/* 今日の運勢では、占う前に共通暦やカラーが見えると個人の結果と誤解されるため結果後のみ表示 */
#quickResult[hidden]~.hero,#quickResult[hidden]~#colorCard{display:none}
.portal-date{display:inline-flex;align-items:center;gap:5px;margin:5px 0 0;padding:3px 10px;border:1px solid rgba(201,162,39,.35);border-radius:999px;background:rgba(13,47,36,.5);color:#E3C87E;font-weight:700;font-size:13.5px;line-height:1.5;font-family:inherit;letter-spacing:.14em;cursor:pointer}
.portal-date::after{content:"▾";font-size:11px;color:#C9A227}
.portal-date small{margin-left:7px;padding-left:8px;border-left:1px solid rgba(201,162,39,.4);font-size:11.5px;font-weight:700;letter-spacing:.08em;color:#C9A227}
#rokuyoCal{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,22,16,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#rokuyoCal[hidden]{display:none}
.rc-sheet{width:min(100%,380px);max-height:88vh;overflow:auto;padding:16px 14px 14px;border:1.5px solid rgba(201,162,39,.5);border-radius:18px;background:linear-gradient(165deg,#1A5240,#0E3629);box-shadow:0 24px 60px rgba(2,16,11,.6)}
.rc-head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:11px}
.rc-head b{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:19px;color:#F4E9C8;letter-spacing:.08em}
.rc-head button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(201,162,39,.5);border-radius:50%;background:rgba(13,47,36,.6);color:#F4DFA0;font-size:18px;cursor:pointer}
.rc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rc-dow{padding:3px 0;text-align:center;font-size:12px;font-weight:700;color:#8FBCAC}
.rc-dow:first-child{color:#D98A8A}.rc-dow:nth-child(7){color:#8FD9BC}
.rc-day{display:grid;place-items:center;gap:1px;min-height:46px;padding:4px 0;border:1px solid rgba(140,200,178,.14);border-radius:9px;background:rgba(10,40,30,.45);text-align:center}
.rc-day b{font-size:14px;font-weight:700;color:#EFF8F5;line-height:1}
.rc-day i{font-style:normal;font-size:10.5px;color:#9FC8B9;line-height:1}
.rc-day.rc-taian i{color:#F4DFA0;font-weight:700}
.rc-day.rc-taian{border-color:rgba(201,162,39,.55);background:rgba(201,162,39,.1)}
.rc-day.rc-butsumetsu i{color:#D98A8A}
.rc-day.rc-today{box-shadow:inset 0 0 0 2px #C9A227}
.rc-note{margin:11px 2px 12px;color:#8FBCAC;font-size:11.5px;text-align:left;line-height:1.8}
.rc-note b{color:#E3C87E;font-weight:700;margin-right:3px}
.rc-close{display:block;width:100%;min-height:46px;border:1.5px solid rgba(201,162,39,.55);border-radius:12px;background:linear-gradient(180deg,#205543,#123C2E);color:#F4E9C8;font-weight:700;font-size:14px;line-height:1;font-family:inherit;cursor:pointer}
footer details{border-radius:14px}
footer summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;cursor:pointer;list-style:none}
footer summary::-webkit-details-marker{display:none}
footer summary::before{content:"▸ ";color:#C9A227;margin-right:4px}
footer details[open] summary::before{content:"▾ "}
footer details[open] summary{margin-bottom:10px}
.portal-minor button{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.minor-face{width:32px;height:32px;flex:none;border:1.5px solid rgba(201,162,39,.55);border-radius:50%;object-fit:cover;object-position:50% 24%;background:#10362A}
.chara-frame{position:relative;display:block;width:fit-content;line-height:0}
.chara-frame i{position:absolute;left:2px;right:2px;bottom:2px;padding:15px 4px 6px;background:linear-gradient(180deg,rgba(5,22,16,0),rgba(5,22,16,.84) 74%);border-radius:0 0 13px 13px;color:#F4DFA0;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.18em;text-indent:.18em;text-align:center;line-height:1;pointer-events:none}
.quick-intro .quick-promise{color:#C7E4DA}
.quick-intro .quick-free{color:#E3C87E}
#tarotCard{padding-top:10px}
#tarotCard .tarot-hero{margin-top:0}
.tarot-draw-panel,#omikujiCard,#ichingCard{position:relative}
.tarot-draw-panel .draw-sound-toggle{position:absolute;right:12px;top:12px;margin:0;z-index:5}
#omikujiCard .draw-sound-toggle,#ichingCard .draw-sound-toggle{position:static;display:flex;width:max-content;margin:-6px 0 12px auto}
.panel-guide{border:1px solid rgba(201,162,39,.35);background:linear-gradient(125deg,#1D5845,#123F30);color:#EFF8F5}
.panel-guide>span{background:#10362A}
.panel-guide small{color:#E3C87E}
.panel-guide b{color:#F4E9C8}
.panel-guide em{color:#B9D8CD}
#pairGuide{display:none;max-width:540px;margin:14px auto}
body[data-route="pair"] #pairGuide{display:grid}
/* 小窓はバストアップ画像(bust-*)を素直にcoverで見せる。立ち絵押し込み時代の変形を解除 */
.quick-voice-avatar img,.quick-profile-source-mark img,.panel-guide>span img,.today-guide-portrait img,.draw-tab-guide img,.experience-btn-mark img,.quick-feature-icon img,.reading-guide-portrait img{position:static;left:auto;top:auto;width:100%;height:100%;object-fit:cover;object-position:50% 26%;transform:none}
.quick-voice-avatar,.quick-profile-source-mark{overflow:hidden}
.quick-profile-source-mark img{border-radius:50%}
/* 初回のオープニング「六神の点灯」。タップで即スキップ・2回目以降は出ない */
#openingVeil{position:fixed;inset:0;z-index:12000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(circle at 50% 38%,#164D3B,#072018 78%);cursor:pointer}
/* hidden属性はdisplay:flexに負ける。出さない日に透明な壁が残らないよう必ず殺す */
#openingVeil[hidden]{display:none}
#openingVeil.is-out{opacity:0;transition:opacity 1s ease}
body.opening-lock{overflow:hidden}
.op-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.op-dust::before,.op-dust::after{content:"";position:absolute;left:0;top:0;width:3px;height:3px;border-radius:50%;background:rgba(244,223,160,.85);
  box-shadow:60px 150px 0 rgba(244,223,160,.5),300px 90px 0 rgba(244,223,160,.7),180px 310px 1px rgba(244,223,160,.35),90px 520px 1px rgba(244,223,160,.55),330px 470px 0 rgba(244,223,160,.4),150px 700px 0 rgba(244,223,160,.6),260px 650px 1px rgba(244,223,160,.3),40px 390px 0 rgba(244,223,160,.45),230px 210px 0 rgba(244,223,160,.5);
  animation:opDrift 8s linear infinite}
.op-dust::after{left:17px;top:-40px;transform:scale(.7);opacity:.7;animation-duration:11s;animation-delay:-4s}
@keyframes opDrift{from{transform:translateY(40px)}to{transform:translateY(-220px)}}
.op-ring{position:absolute;left:0;right:0;top:calc(50% - 228px);display:flex;justify-content:center;pointer-events:none}
.op-ring span{position:relative;display:block;width:64px;height:64px;flex:none;border:2px solid rgba(201,162,39,.7);border-radius:50%;overflow:hidden;background:#10362A;opacity:0;
  animation:opFly .75s cubic-bezier(.16,.7,.25,1) var(--dl,0s) forwards,opGlow 2.2s ease calc(var(--dl,0s) + .75s) infinite alternate}
.op-ring span+span{margin-left:-10px}
.op-ring span img{width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.op-ring span:nth-child(1){--arc:20px;--fx:-160px;--fy:-120px;--dl:.1s;z-index:1}
.op-ring span:nth-child(2){--arc:8px;--fx:-100px;--fy:-170px;--dl:.28s;z-index:2}
.op-ring span:nth-child(3){--arc:0px;--fx:-40px;--fy:-190px;--dl:.46s;z-index:3}
.op-ring span:nth-child(4){--arc:0px;--fx:40px;--fy:-190px;--dl:.64s;z-index:3}
.op-ring span:nth-child(5){--arc:8px;--fx:100px;--fy:-170px;--dl:.82s;z-index:2}
.op-ring span:nth-child(6){--arc:20px;--fx:160px;--fy:-120px;--dl:1s;z-index:1}
@keyframes opFly{0%{opacity:0;transform:translate(var(--fx,0),calc(var(--fy,0px) + var(--arc,0px))) rotate(-18deg) scale(.3);filter:blur(3px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(0,var(--arc,0px)) rotate(0) scale(1);filter:blur(0)}}
@keyframes opGlow{from{box-shadow:0 0 14px rgba(201,162,39,.3)}to{box-shadow:0 0 34px rgba(233,193,84,.7)}}
.op-title{text-align:center;margin-top:-64px;opacity:0;animation:opTitle .9s ease 1.35s forwards}
.op-title small{display:block;margin-bottom:7px;color:#E3C87E;font-size:12px;letter-spacing:.5em;text-indent:.5em}
.op-title b{position:relative;display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:58px;font-weight:800;letter-spacing:.14em;
  background:linear-gradient(115deg,#F7EBC0 15%,#D9B44A 55%,#A8841B 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 9px rgba(0,0,0,.55))}
/* 光りはopacityだけを動かす(GPU合成)。背景位置のアニメは本編読み込みと重なるとカクつく */
.op-title b::after{content:"萬象暦";position:absolute;left:0;right:0;top:0;background:linear-gradient(115deg,#FFF8DC 20%,#FFE9A8 70%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;filter:drop-shadow(0 0 13px rgba(255,236,170,.55));animation:opShine 3s ease-in-out 1.6s infinite}
@keyframes opShine{0%,100%{opacity:0}45%{opacity:.9}}
.op-sub{display:block;margin-top:13px;color:#C7E4DA;font-size:13px;letter-spacing:.3em;text-indent:.3em;opacity:0;animation:opTitle .8s ease 2s forwards}
@keyframes opTitle{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.op-orb{position:absolute;left:50%;bottom:16%;width:158px;height:158px;opacity:0;transform:translate(-50%,150px) scale(.88);
  background:center/contain no-repeat;
  filter:drop-shadow(0 14px 24px rgba(2,16,11,.55));
  animation:opOrb 1.5s cubic-bezier(.22,.6,.2,1) 2.2s forwards}
.op-orb::before{content:"";position:absolute;inset:-22%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(160,255,224,.34),transparent 64%);opacity:.2;animation:opOrbGlow 2.4s ease 3.7s infinite alternate}
@keyframes opOrb{0%{opacity:0;transform:translate(-50%,150px) scale(.88)}35%{opacity:1}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes opOrbGlow{from{opacity:.2}to{opacity:.85}}
.op-credit{position:absolute;left:0;right:0;bottom:4.5%;text-align:center;color:rgba(227,200,126,.75);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:13px;letter-spacing:.34em;text-indent:.34em;opacity:0;animation:opTitle .9s ease 2.7s forwards}
/* 安全弁: by Hiroの後にふわっと現れる明示のスキップボタン(覆いのどこをタップしても進めるが、見えるボタンで保証する) */
.op-skip{position:absolute;left:50%;bottom:8.6%;transform:translateX(-50%);z-index:3;padding:11px 27px;border:1px solid rgba(244,223,160,.55);border-radius:999px;background:rgba(10,36,28,.6);color:#F4DFA0;font-weight:700;font-size:13px;line-height:1;font-family:inherit;letter-spacing:.18em;text-indent:.18em;cursor:pointer;opacity:0;animation:opSkipIn .9s ease 3.2s forwards}
@keyframes opSkipIn{to{opacity:1}}
.tarot-scroll-controls .scroll-arrow{position:absolute;top:37%;z-index:8;width:42px;height:42px;padding:0;border-radius:50%;background:rgba(13,48,36,.88);border:1.5px solid var(--kin);color:#F4DFA0;font-size:23px;line-height:1;display:grid;place-items:center;box-shadow:0 6px 16px rgba(0,0,0,.45);cursor:pointer}
.tarot-scroll-controls .scroll-arrow[data-scroll-dir="-1"]{left:0}
.tarot-scroll-controls .scroll-arrow[data-scroll-dir="1"]{right:0}
.tarot-scroll-controls .scroll-hint{display:block;text-align:center}
.tarot-final-head{margin:0 0 9px;padding-bottom:8px;border-bottom:1px solid rgba(212,175,85,.35)}
.tarot-final-head b{display:block;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:24px;font-weight:800;letter-spacing:.14em;text-indent:.14em;background:linear-gradient(115deg,#F7EBC0 18%,#D9B44A 55%,#A8841B 80%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tarot-final-head small{display:block;margin-top:4px;color:#E3C87E;font-size:13px;letter-spacing:.18em}
.tarot-final-kicker{font-size:13px}
.tarot-final-lead{text-align:center}
.tarot-foundation{border-radius:14px;text-align:left}
.tarot-draw-panel .tarot-step-head{margin-bottom:10px}
.tarot-draw-tools{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:10px 0 0}
.tarot-spread-choice{display:flex;align-items:center;gap:9px;flex:1 1 auto;margin:0}
.tarot-spread-choice span{flex:none;margin-bottom:0}
.tarot-spread-choice select{flex:1;min-height:44px}
.tarot-recommend{flex-basis:100%;font-size:13px;margin:2px 0 0}
.deck-ctl{margin-top:10px}
.deck-gesture-hint{margin:9px 0 0;font-size:13px;line-height:1.6}
/* -- 札の神がカードを配る演出 -- */
#fudaThrower{position:absolute;z-index:6;right:0;top:0;width:216px;height:auto;pointer-events:none;opacity:0;filter:drop-shadow(0 10px 18px rgba(2,16,11,.5))}
#fudaThrower.throwing{animation:fudaThrow 2.6s ease both}
@keyframes fudaThrow{0%{opacity:0;transform:translate(30px,26px) rotate(4deg)}16%{opacity:1;transform:none}72%{opacity:1;transform:none}100%{opacity:0;transform:translate(18px,14px)}}
@media(max-width:700px){#fudaThrower{width:172px;right:-4px}}
/* -- 透過キャラを枠なしで控えめに添える -- */
#entryCard{position:relative}
.cut-chara{display:none;position:absolute;z-index:0;right:6px;top:-152px;width:150px;height:auto;pointer-events:none;opacity:.97;filter:drop-shadow(0 10px 20px rgba(2,16,11,.5))}
body[data-route="deep"] #entryCard .cut-chara-deep{display:block;top:10px;width:118px}
body[data-route="pair"] #entryCard .cut-chara-pair{display:block;top:10px;width:118px}
#entryCard>*:not(.cut-chara){position:relative;z-index:1}
body:is([data-route="deep"],[data-route="pair"]) #entryCard .pair-intro{text-align:left;padding-right:128px}
@media(max-width:700px){
  .cut-chara{width:112px;top:-118px;right:2px}
  body:is([data-route="deep"],[data-route="pair"]) #entryCard .pair-intro{padding-right:96px}
}
/* -- おみくじの結果はど真ん中に -- */
#omikujiResult{text-align:center}
#omikujiResult .fortune-no{font-size:13px}
#omikujiResult .fortune-line{justify-content:center!important}
.omi-right{justify-content:center}
#omikujiCard .draw-btn{white-space:nowrap}
body[data-route="omikuji"] .omi-left{display:flex;flex-direction:column;align-items:center}
/* -- ヒーロー内の無料キャッチとタイトル前置き -- */
.hero-free{position:absolute;z-index:2;left:0;right:0;top:3%;margin:0;text-align:center;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:clamp(17px,4.8vw,26px);font-weight:700;letter-spacing:.2em;text-indent:.2em;color:#F4DFA0;text-shadow:0 1px 4px rgba(0,0,0,.75),0 3px 14px rgba(0,0,0,.55)}
.hero-catch{display:block;margin-bottom:8px;font-size:clamp(15px,4.2vw,23px);font-weight:700;letter-spacing:.3em;text-indent:.3em;color:#E8D8A8}
.restored-intro{margin-top:2px}
.restored-intro a{margin-top:0}
/* -- 六占術のシンプルな自動フロー帯 -- */
.gods-flow{overflow:hidden;margin:8px 0 0;border-bottom:1px solid rgba(212,175,85,.3);background:rgba(13,46,35,.45)}
.gods-flow-track{display:flex;width:max-content;animation:godsFlow 26s linear infinite}
.gods-flow-group{display:flex;flex:none;align-items:center}
.gods-flow-group span{display:flex;align-items:center;padding:9px 0 9px 26px;white-space:nowrap;font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:13.5px;font-weight:500;letter-spacing:.16em;color:#E8D8A8}
.gods-flow-group span::after{content:"◆";margin-left:26px;color:rgba(201,162,39,.65);font-size:8px}
@keyframes godsFlow{to{transform:translateX(-50%)}}
/* -- キャラ舞台とダミー枠 -- */
.portal-stage{display:grid;grid-template-columns:158px minmax(0,1fr);gap:18px;align-items:center}
.portal-stage-actions{display:grid;gap:10px;align-content:center}
.chara-slot{position:relative;display:grid;place-items:center;align-content:center;gap:5px;width:158px;height:210px;border:1px solid var(--kin);border-radius:16px;box-shadow:inset 0 0 0 4px #0D3024,inset 0 0 0 5px rgba(201,162,39,.5),0 12px 26px rgba(2,16,11,.4);background:repeating-linear-gradient(45deg,rgba(201,162,39,.07) 0 10px,transparent 10px 20px),linear-gradient(165deg,#1B5441,#0E3629);text-align:center}
.chara-slot b{font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:17px;font-weight:700;color:var(--kin-l);letter-spacing:.12em}
.chara-slot i{font-style:normal;font-size:12px;color:#9FCBBB;letter-spacing:.06em}
.chara-slot span{font-size:12px;color:#7DAD9C;line-height:1.6}
.chara-img{display:block;width:158px;height:210px;object-fit:cover;object-position:50% 8%;border:1px solid var(--kin);border-radius:16px;box-shadow:inset 0 0 0 4px #0D3024,inset 0 0 0 5px rgba(201,162,39,.5),0 12px 26px rgba(2,16,11,.4);background:linear-gradient(165deg,#1B5441,#0E3629)}
/* -- 入口ボタンの上下圧縮と副文言13px -- */
.portal-entry{min-height:64px;padding:12px 16px}
.portal-entry b{font-size:20px;line-height:1.3}
.portal-entry span{margin-top:4px}
.portal-entry-wide{min-height:84px}
.portal-group{padding:8px 18px 18px;margin-bottom:28px}
.portal-group-head h2{line-height:1.3}
/* -- 結果表示の動き(バーが伸びる・リングが満ちる) -- */
@property --score{syntax:'<number>';inherits:false;initial-value:0}
.quick-score-ring{animation:ringFill 1s ease .25s both}
@keyframes ringFill{from{--score:0}}
.quick-meter{overflow:hidden}
.quick-meter i{transform-origin:0 50%;animation:barGrow .8s cubic-bezier(.2,.7,.3,1) .5s both}
@keyframes barGrow{from{transform:scaleX(0)}}
/* -- 題字をさらに大きく・上へ、看板上部の空きを詰める -- */
.masthead{padding-top:0}
.restored-hero img{margin-top:0}
.restored-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:36%;z-index:2;pointer-events:none;background:
 radial-gradient(1.6px 1.6px at 7% 26%,rgba(244,223,160,.95),transparent),
 radial-gradient(1.1px 1.1px at 15% 12%,rgba(255,255,255,.75),transparent),
 radial-gradient(1.3px 1.3px at 26% 20%,rgba(232,212,139,.85),transparent),
 radial-gradient(1px 1px at 38% 8%,rgba(255,255,255,.6),transparent),
 radial-gradient(1.8px 1.8px at 50% 15%,rgba(244,223,160,.9),transparent),
 radial-gradient(1px 1px at 63% 7%,rgba(255,255,255,.65),transparent),
 radial-gradient(1.4px 1.4px at 74% 18%,rgba(232,212,139,.85),transparent),
 radial-gradient(1px 1px at 84% 10%,rgba(255,255,255,.7),transparent),
 radial-gradient(1.7px 1.7px at 93% 27%,rgba(244,223,160,.9),transparent)}
.restored-hero::after{content:"";position:absolute;z-index:2;pointer-events:none;left:0;top:0;width:100%;height:36%;background:
 radial-gradient(2.6px 2.6px at 31% 24%,rgba(255,244,200,.95),transparent),
 radial-gradient(2.4px 2.4px at 68% 22%,rgba(255,244,200,.9),transparent);animation:starTwinkle 3.6s ease-in-out infinite alternate}
@keyframes starTwinkle{from{opacity:.25}to{opacity:1}}
.restored-hero-title{margin:-68px 0 0;padding:0 10px 6px}
.restored-hero-title span{font-size:clamp(54px,15vw,110px)}
/* -- じっくり占いの入力フォームを紙に -- */
#entryCard{background:linear-gradient(180deg,#FBF6EA,#F1EADA);border-color:var(--paper-line)}
#entryCard .pair-intro,#entryCard .note{color:#566F6B}
#entryCard .flabel{color:#8A6A1C;font-size:13px}
#entryCard .flabel em.opt{color:#879897;border-color:rgba(90,120,116,.35)}
#entryCard input,#entryCard select{background:#FFFDF6;border:1.5px solid rgba(140,115,60,.4);color:#2F4A45;border-radius:10px;min-height:48px;font-size:16px;color-scheme:light}
#entryCard .dsel span{color:#566F6B;font-size:13px}
#entryCard .sw{color:#45605B}
#entryCard .sw span{font-size:14px}
#entryCard .fhint-in{color:#879897;font-size:13px}
#entryCard .frow{border-bottom-color:rgba(160,130,50,.2);padding:7px 0}
#entryCard .person-heading{color:#8A6A1C}
#entryCard .partner-panel .person-heading{color:#A8567E}
#entryCard .privacy-line{color:#566F6B}
#entryCard .privacy-detail{color:#879897}
#entryCard .seal-s{color:#8A6A1C;border-color:rgba(138,106,28,.5)}
#entryCard .saved-note{color:#8A6A1C}
#entryCard .saved-note button{color:#879897}
.go-btn{border-radius:12px}
/* -- 入力欄の上下圧縮 -- */
.quick-field label{margin-bottom:4px}
.quick-form{gap:10px}
.quick-onboard{padding:20px 18px}
.quick-onboard-head{margin-bottom:13px}
.quick-shell select,.quick-shell input:not([type="radio"]){min-height:47px}
#entryCard .frow{padding:5px 0}
#entryCard input,#entryCard select{min-height:44px;padding:8px 10px}
#entryCard .form2{margin-top:2px}
#entryCard .go-btn{margin-top:13px;padding:12px 46px}
#entryCard .privacy-line{margin-top:11px}
@media(max-width:700px){
  .wrap{padding-left:var(--wrap-pad);padding-right:var(--wrap-pad)}
  .masthead{margin-left:calc(var(--wrap-pad)*-1);margin-right:calc(var(--wrap-pad)*-1)}
  .restored-hero{border-radius:0;border:0;border-top:2px solid;border-bottom:2px solid;border-image:linear-gradient(90deg,rgba(201,162,39,0),#C9A227 15%,#C9A227 50%,#C9A227 85%,rgba(201,162,39,0)) 1}
  .home-portal{margin-top:2px}
  .portal-group{padding:4px 10px 13px;margin-bottom:18px}
  .portal-stage{grid-template-columns:116px minmax(0,1fr);gap:10px}
  .chara-slot,.chara-img{width:116px;height:155px}
  .portal-entry-wide{padding:10px 8px}
  .portal-entry-wide b{font-size:15px;letter-spacing:0}
  .portal-minor button{padding:11px 2px;font-size:13px}
  .chara-slot b{font-size:15px}
  .chara-slot i,.chara-slot span{font-size:11.5px}
  .portal-entry{min-height:58px;padding:10px 12px}
  .portal-today .portal-entry{min-height:58px;padding:10px 12px;text-align:center}
  .portal-entry b{font-size:17px}
  .portal-today .portal-entry b{font-size:17px}
  .portal-entry-wide{min-height:72px}
  #entryCard .frow{padding:6px 0;gap:4px}

  .quick-mascot{right:10px;bottom:auto;top:50%;width:104px;height:104px}
  .quick-intro{padding-right:124px}
  .quick-title{font-size:33px;letter-spacing:.03em}
  .quick-kicker{font-size:13px}.quick-free{font-size:13px}.quick-title small{font-size:13px}
  .quick-system-copy em{font-size:13px}.quick-system-copy b{font-size:14px}.quick-system-copy small{font-size:13px}
  .quick-proof b,.quick-proof span{font-size:13px}
  .quick-depth-copy small{font-size:13px}.quick-depth-copy b{font-size:18px}
  .quick-tarot-copy small{font-size:13px}.quick-tarot-copy span{font-size:13px}
  .draw-tab small{font-size:13px}.panel-guide small{font-size:13px}.panel-guide em{font-size:13px}
  .reading-guide-copy small{font-size:13px}.reading-guide-copy span{font-size:13px}
  .today-guide small{font-size:13px}.dv-sub{font-size:13px}
  .quick-voice-copy b,.quick-voice-copy span{font-size:13px}
  .quick-voice{grid-template-columns:64px minmax(0,1fr);min-height:88px}
  .quick-voice-avatar{width:64px;height:64px}
  .quick-voice-avatar img{width:92px}
  .portal-banner-copy small{font-size:13px}
  .quick-onboard-head span{font-size:14px}
  .portal-group-head p{text-align:center}
  .maker{display:block!important;padding:15px 15px 16px!important}
  /* 横長の書斎写真を無切抜きの全景で上に置き、下に文章(控えめな帯・回り込みなし) */
  .portrait{float:none;width:100%;height:auto;min-height:0;margin:0 0 15px;border:1px solid rgba(212,175,85,.4);border-radius:12px;overflow:hidden;background:#091F17}
  .portrait img{width:100%;height:auto;min-height:0;max-height:none}
  .portrait-frame{display:none}
  .portrait::after{display:none}
  .portrait figcaption{position:absolute;left:9px;right:auto;bottom:8px;padding:5px 9px;border-left:2px solid rgba(226,196,117,.82);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(5,24,17,.72);text-align:left;line-height:1.3}
  .p-name{font-size:21px}
  .p-role{font-size:9.5px;margin-top:1px}
  .maker-lead{padding-top:0}
  .maker-body{padding:0}
  .maker-lead{font-size:15.5px;line-height:1.75;margin:0 0 10px}
  .maker-lead::after{display:none}
  .maker-cols{display:block;clear:both;padding-top:2px}
  .maker-cols p{font-size:14px;line-height:1.75;margin:0 0 10px}
  .maker-sign{margin:4px 0 0}
}
@media(max-width:374px){
  .portal-stage{grid-template-columns:102px minmax(0,1fr);gap:9px}
  .chara-slot,.chara-img{width:102px;height:136px}
  .portal-entry b{font-size:16px}
  .portal-entry-wide b{font-size:14px}
}
/* 「あなた個人の今日を占う」実行ブロック: 対象者の条件+大きな占うボタン+変更ボタンを一組に */
.hero-cta-block{display:grid;gap:7px;justify-items:center;margin-top:16px;padding:14px 12px 12px;border:1px solid rgba(201,162,39,.35);border-radius:14px;background:rgba(16,54,42,.5)}
.hcb-note{color:#D8C98F;font-size:15px;font-weight:700;letter-spacing:.14em}
.hcb-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 4px}
.hcb-chips i{display:inline-block;max-width:100%;padding:2px 9px;border-radius:99px;background:rgba(255,255,255,.08);font-style:normal;font-size:11.5px;color:#C3DAD1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-cta-block .hero-cta{margin-top:3px;width:100%;max-width:430px;min-height:54px;padding:15px 0;text-align:center;border:1px solid rgba(201,162,39,.8);border-radius:12px;background:linear-gradient(180deg,#F4DFA0,#C9A227);color:#123A2C;font-size:15.5px;font-weight:700;letter-spacing:.06em;cursor:pointer;box-shadow:0 10px 24px -12px rgba(201,162,39,.7)}
.hero-cta-block .hero-cta:hover{filter:brightness(1.06);background:linear-gradient(180deg,#F4DFA0,#C9A227)}
.hcb-edit{width:100%;max-width:430px;margin-top:14px;padding:9px 0;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:transparent;color:#C9E2D9;font-size:12px;cursor:pointer}
.hcb-more{display:block;margin:2px auto 0;padding:4px 8px;border:0;background:transparent;color:#D9C48A;font-size:11.5px;letter-spacing:.02em;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(217,196,138,.45)}

/* ============ 主要運勢カード(さっと占い第1層) ============ */
.luck-card{margin:0 0 5px;border:1px solid rgba(201,162,39,.32);border-radius:12px;background:rgba(13,50,38,.62);overflow:hidden}
.luck-card summary{display:flex;align-items:center;gap:8px;padding:4px 11px;cursor:pointer;list-style:none}
.luck-card summary::-webkit-details-marker{display:none}
/* タップで開けると分かるよう、矢印は枠付きのボタン風にする */
.luck-card summary::after{content:"▾";flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-left:2px;border:1px solid rgba(143,188,172,.45);border-radius:50%;color:#AED2C5;font-size:12px;transition:transform .2s}
.luck-card[open] summary::after{transform:rotate(180deg)}
.luck-tap-hint{margin:0 0 8px;text-align:center;color:#8FBCAC;font-size:12px}
.luck-icon{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center}
.luck-icon img{width:24px;height:24px;object-fit:contain}
.luck-name{color:#F4EFE0;font:700 16.5px/1.3 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.04em;white-space:nowrap}
.luck-stars{margin-left:auto;color:#F4DFA0;font-size:15px;letter-spacing:1.5px;white-space:nowrap}
.luck-stars i{color:rgba(244,223,160,.22);font-style:normal}
.luck-state{flex:0 0 auto;padding:3px 9px;border-radius:99px;background:rgba(244,223,160,.14);color:#F4DFA0;font-size:12px;font-weight:700;white-space:nowrap}
.luck-card.is-low .luck-state{background:rgba(224,154,131,.18);color:#E8A98F}
.luck-card.is-watch .luck-state{background:rgba(200,180,120,.14);color:#D9C48A}
.luck-open{padding:2px 14px 14px;border-top:1px dashed rgba(201,162,39,.22)}
.luck-text{margin:10px 0 0;color:#DDEFE8;font-size:14.5px;line-height:1.85}
.luck-sub{margin-top:11px}
.luck-sub>small{display:block;margin-bottom:5px;color:#D8C98F;font-size:11.5px;letter-spacing:.08em}
.luck-note{margin:10px 0 0;color:#8FBCAC;font-size:11.5px}
.luck-ev-wrap{margin-top:11px}
.luck-ev-wrap>small{display:block;margin-bottom:6px;color:#D8C98F;font-size:11.5px;letter-spacing:.08em}
.luck-ev{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;margin-bottom:6px;padding:8px 10px;border-radius:9px;background:rgba(8,30,23,.5);font-size:12px}
.luck-ev em{grid-row:1/3;align-self:center;padding:2px 7px;border-radius:99px;font-style:normal;font-size:11px;font-weight:700}
.luck-ev.is-up em{background:rgba(122,200,173,.16);color:#8FD9BC}
.luck-ev.is-down em{background:rgba(224,154,131,.16);color:#E8A98F}
.luck-ev b{color:#D8C98F;font-size:11.5px}
.luck-ev span{color:#B9D6CC;line-height:1.6}
.luck-card-sogo{border-color:rgba(201,162,39,.55);background:linear-gradient(160deg,rgba(30,92,71,.72),rgba(13,50,38,.7))}
.quick-share-btn{width:100%;min-height:44px;margin-top:11px;border:1px solid rgba(201,162,39,.6);border-radius:11px;background:rgba(201,162,39,.1);color:#F4DFA0;font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer}
#portalGlance[hidden]{display:none!important}
/* ホーム画面追加の案内(星のしるべ側と同じ仕掛けの本家版) */
.a2hs-card{display:flex;align-items:center;gap:11px;margin:12px 0 0;padding:9px 13px;border:1px solid rgba(201,162,39,.3);border-radius:15px;background:rgba(16,54,42,.5)}
.a2hs-icon{font-size:22px}
.a2hs-copy{flex:1;min-width:0}
.a2hs-copy b{display:block;color:#F4EFE0;font-size:13px;font-weight:700;line-height:1.5}
.a2hs-copy span{display:block;color:#93C0B0;font-size:11px;line-height:1.5}
#a2hsBtn{flex:0 0 auto;padding:10px 16px;border:1px solid rgba(201,162,39,.55);border-radius:12px;background:linear-gradient(135deg,#3D856D,#265C4A);color:#F4DFA0;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
/* トップの入口ボタン(今日の運勢/じっくり占い): アイコンなし・文字だけの同形式 */
.portal-entry-quick{display:flex;align-items:center;justify-content:center;text-align:center}
.pe-copy{display:grid;gap:2px;min-width:0}
.pe-copy b{font-size:17px}
.pe-copy>span{font-size:12px;color:#B9D6CC}
/* 朱印は画像(印影)。CSS製の赤角丸はやめた */
.pe-seal{flex:0 0 auto;display:grid;place-items:center;width:54px;height:54px}
.pe-seal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(96,35,28,.45))}
/* 極小幅(〜349px)でも題字を1行に保つ */
.restored-hero-title span{white-space:nowrap}
@media(max-width:349px){
  .restored-hero-title span{font-size:44px!important;letter-spacing:.08em!important;text-indent:.08em!important}
  .op-title b{font-size:46px!important}
}
.warn-fold summary{cursor:pointer;font-weight:700;list-style:none}
.warn-fold summary::before{content:"▸ ";color:inherit}
.warn-fold[open] summary::before{content:"▾ "}
.warn-fold summary::-webkit-details-marker{display:none}
.warn-fold>div{margin-top:8px}
.deep-to-quick{display:block;width:100%;margin:0 0 12px;padding:10px 12px;border:1px solid rgba(201,162,39,.35);border-radius:11px;background:rgba(16,54,42,.5);color:#D8C98F;font-size:12px;text-align:center;cursor:pointer}
/* 7日間の総合運バーと、あすの予告 */
.quick-week,.quick-morrow{margin:0 0 14px;padding:12px 14px 11px;border:1px solid rgba(201,162,39,.28);border-radius:14px;background:rgba(13,50,38,.55)}
.quick-week small,.quick-morrow small{display:block;margin-bottom:9px;color:#D8C98F;font-size:11px;letter-spacing:.12em}
.qw-bars{display:flex;align-items:stretch;gap:7px;height:86px}
.qw-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.qw-col i{display:block;width:100%;max-width:26px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#5AB092,#3A8068)}
.qw-col b{color:#C6E2D8;font-size:10.5px;line-height:1.4}
.qw-col small{margin:4px 0 0;color:#8FBCAC;font-size:10px;letter-spacing:0}
.qw-today i{background:linear-gradient(180deg,#F4DFA0,#C9A227)}
.qw-today b,.qw-today small{color:#F4DFA0;font-weight:700}
.qw-none{height:5px;background:rgba(255,255,255,.08)!important;border-radius:4px}
.qw-diff{margin:9px 0 0;text-align:center;color:#B9D6CC;font-size:12px}
.quick-morrow p{margin:0;color:#DDEFE8;font-size:13.5px;line-height:1.8}
.quick-morrow b{color:#F4DFA0}
.quick-tomorrow{margin:14px 4px 0;text-align:center;color:#8FBCAC;font-size:11.5px;line-height:1.7}
/* 結果ページの本当の末尾に出る締め。結果が出ている時だけ見せる */
#quickOutro{display:none;margin:22px 4px 6px;font-size:12px;color:#C0AC72;letter-spacing:.04em}
#quickResult:not([hidden])~#quickOutro{display:block}
/* 第3層: 六人の合議ボックス */
.quick-council-box{margin:14px 0 0;border:1px solid rgba(201,162,39,.3);border-radius:14px;background:rgba(13,50,38,.55)}
.quick-council-box summary{display:flex;align-items:center;gap:9px;padding:12px 13px;cursor:pointer;list-style:none}
.quick-council-box summary .luck-name{white-space:nowrap;flex:0 0 auto}
.quick-council-box summary::-webkit-details-marker{display:none}
.quick-council-box summary .quick-feature-icon{flex:0 0 auto;width:40px!important;height:40px!important;border-radius:10px;overflow:hidden;position:static!important}
.quick-council-box summary .quick-feature-icon img{width:100%;height:100%;object-fit:cover;transform:none!important;position:static!important}
/* 右端は運勢カードと同じ丸ボタン風の▾で統一(文字チップは切れるのでやめた) */
.quick-council-box summary::after{content:"▾";flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;margin-left:auto;border:1px solid rgba(143,188,172,.45);border-radius:50%;color:#AED2C5;font-size:12px;transition:transform .2s}
.quick-council-box[open] summary::after{transform:rotate(180deg)}
.quick-council-box .luck-open{padding:2px 13px 14px;border-top:1px dashed rgba(201,162,39,.22)}

/* ラッキーカラー: 色見本の丸+色名を主役に、五行はタグ、説明は全幅の標準レイアウト */
#colorCard .color-block{display:flex;align-items:center;gap:16px}
#colorCard .swatch{width:66px;height:66px;box-shadow:0 0 0 1px rgba(201,162,39,.6),0 0 0 5px rgba(201,162,39,.14),0 10px 22px -12px rgba(0,0,0,.8)}
#colorCard .swatch i{inset:0}
#colorCard .swatch b{display:none}
#colorCard .color-head{font-size:11px;letter-spacing:.16em;text-indent:.16em;color:var(--kin)}
#colorCard .color-name{margin-top:2px}
#colorCard .color-sub{margin:1px 0 0}
#colorCard .color-elem{display:inline-block;margin-top:6px;padding:2px 11px;border:1px solid rgba(201,162,39,.42);border-radius:99px;color:#D8C98F;font-size:11.5px;letter-spacing:.04em}
#colorCard>.note{margin:13px 0 0;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}
/* 「あなたの占い結果」バッジ: 1行ピル+項目チップのサマリー */
#reading .sec-tag-you{display:flex;align-items:center;gap:10px}
#reading .sec-tag-you .st-b{flex:0 0 auto;white-space:nowrap;line-height:1;padding:8px 13px;border-radius:99px}
#reading .sec-tag-you .st-n{display:flex;flex-wrap:wrap;gap:3px 4px;align-items:center;padding:0;line-height:1.4}
#reading .sec-tag-you .st-n i{display:inline-block;padding:2px 9px;border-radius:99px;background:rgba(255,255,255,.08);font-style:normal;font-size:11.5px;color:#C3DAD1;letter-spacing:.02em;white-space:nowrap}
/* さっと占いの保存情報も同じチップ方式(「未設定」が途中で折れないように) */
#quickResult .quick-profile-source-head b{display:flex;flex-wrap:wrap;gap:3px 4px;margin-top:2px}
#quickResult .quick-profile-source-head b i{display:inline-block;padding:2px 9px;border-radius:99px;background:rgba(255,255,255,.08);font-style:normal;font-size:11.5px;font-weight:400;color:#C3DAD1;white-space:nowrap}

/* 姉妹サイトバナー: 写真素材をやめ、内製の意匠に統一。
   姓名判断=リンク先(白い紙×墨×朱印×金)の縮図、YouTube=藍夜+星。 */
.portal-banner-namae{background:linear-gradient(180deg,#fffefb,#f5f1ea);border-color:rgba(168,134,59,.55)}
.portal-banner-namae::after{display:none}
.portal-banner-namae::before{content:"";right:auto;bottom:auto;font:0/0 a;position:absolute;inset:6px;border:1px solid rgba(168,134,59,.32);border-radius:12px;z-index:1;color:transparent}
.portal-banner-namae .pb-seal{width:44px;height:44px;border:0;border-radius:7px;background:linear-gradient(170deg,#b8473c,#96352c);color:#fdf3ec;writing-mode:horizontal-tb;text-orientation:mixed;font-size:23px;box-shadow:0 6px 14px rgba(96,35,28,.45),inset 0 0 0 2px rgba(253,243,236,.45)}
.portal-banner-namae .portal-banner-copy small{color:#8a6d2a}
.portal-banner-namae .portal-banner-copy b{color:#222B2A}
.portal-banner-namae .portal-banner-copy span{color:#6a6068}
.pb-tablet{position:absolute;right:15px;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:60px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px rgba(168,134,59,.7),0 0 0 3px rgba(168,134,59,.18),0 6px 14px rgba(2,16,11,.28)}
.pb-tablet img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
/* 出生情報の設定モーダル: entryCardをポップアップとして表示する。
   各画面はインラインのフォームを持たず、この一枚に一本化する。 */
#profileOverlay{position:fixed;inset:0;z-index:11000;background:rgba(4,18,13,.74);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#profileOverlay[hidden]{display:none}
#profileClose{position:fixed;right:12px;top:12px;z-index:11002;width:44px;height:44px;border:1px solid rgba(244,223,160,.5);border-radius:50%;background:rgba(10,36,28,.85);color:#F4DFA0;font-size:24px;line-height:1;cursor:pointer}
#profileClose[hidden]{display:none}
body.profile-open{overflow:hidden}
body.profile-open #entryCard{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:11001;width:min(94vw,600px);max-height:86vh;overflow-y:auto;overflow-x:hidden;margin:0;overscroll-behavior:contain}
#entryCard[hidden]{display:none!important}
/* モーダル内では「自分/相性」の切替を出さない(モードは開いた画面で決まる) */
body.profile-open .mode-switch{display:none!important}
/* 相性画面: 「あなた」を開いたら相手部を、「お相手」を開いたら本人部を隠す(共通フォームの部分表示) */
body.profile-open.profile-selfonly #partnerPanel{display:none!important}
body.profile-open.profile-partner #modeIntro,
body.profile-open.profile-partner #personAHeading,
body.profile-open.profile-partner #personAHeading+.form2{display:none!important}
/* 相性画面の二人カード */
.pair-people{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:430px;margin:0 auto 14px}
.pair-person-card{padding:14px 10px;border:1px solid rgba(201,162,39,.4);border-radius:14px;background:rgba(16,54,42,.55);color:inherit;font:inherit;cursor:pointer;text-align:center}
.pair-relation-line{display:block;margin:2px auto 13px;padding:8px 20px;border:1px solid rgba(201,162,39,.35);border-radius:999px;background:rgba(16,54,42,.55);color:#C6E2D8;font-size:12.5px;font-family:inherit;cursor:pointer}
.pair-relation-line b{color:#F4DFA0;font-weight:700;margin-left:2px}
.pair-person-card small{display:block;color:#D8C98F;font-size:12px;letter-spacing:.1em}
.pair-person-card b{display:block;margin:4px 0 2px;color:#F4EFE0;font-size:14.5px;line-height:1.4}
.pair-person-card span{display:block;color:#9CC1B2;font-size:11.5px}
.pair-person-card:hover{border-color:#F4DFA0}
.route-start{text-align:center;padding:16px 20px 22px}
.route-start p{max-width:430px;margin:0 auto 18px;color:var(--gin,#C3DAD1);font-size:14px;line-height:1.9}
.route-start .go-btn{max-width:340px;margin:16px auto 0}

/* ヒーローの夜空: 星のまたたき+たまの流れ星。
   星は各層に静的に描き、層のopacityとtransformだけを動かす(コンポジタ処理=GPU・省電力)。 */
.hero-stars{position:absolute;inset:0 0 auto 0;height:44%;z-index:1;overflow:hidden;pointer-events:none}
.hero-stars i{position:absolute;inset:0;background-repeat:no-repeat}
.hero-stars i:nth-child(1){background-image:
  radial-gradient(circle at 7% 28%,rgba(255,248,220,.95) 0 1.2px,transparent 2.4px),
  radial-gradient(circle at 22% 11%,rgba(244,223,160,.85) 0 1px,transparent 2px),
  radial-gradient(circle at 40% 30%,rgba(255,255,255,.8) 0 .9px,transparent 1.9px),
  radial-gradient(circle at 66% 8%,rgba(244,223,160,.9) 0 1.1px,transparent 2.2px),
  radial-gradient(circle at 83% 22%,rgba(255,248,220,.85) 0 1px,transparent 2px),
  radial-gradient(circle at 94% 46%,rgba(195,218,209,.75) 0 .9px,transparent 1.9px),
  radial-gradient(circle at 54% 44%,rgba(244,223,160,.65) 0 .8px,transparent 1.8px),
  radial-gradient(circle at 13% 58%,rgba(195,218,209,.6) 0 .8px,transparent 1.8px);
  animation:heroTwinkle 3.6s ease-in-out infinite alternate}
.hero-stars i:nth-child(2){background-image:
  radial-gradient(circle at 15% 18%,rgba(255,255,255,.85) 0 1px,transparent 2px),
  radial-gradient(circle at 31% 42%,rgba(244,223,160,.7) 0 .9px,transparent 1.9px),
  radial-gradient(circle at 48% 12%,rgba(255,248,220,.9) 0 1.2px,transparent 2.3px),
  radial-gradient(circle at 60% 33%,rgba(195,218,209,.7) 0 .8px,transparent 1.8px),
  radial-gradient(circle at 75% 15%,rgba(255,255,255,.8) 0 .9px,transparent 1.9px),
  radial-gradient(circle at 89% 34%,rgba(244,223,160,.85) 0 1px,transparent 2px),
  radial-gradient(circle at 36% 60%,rgba(244,223,160,.55) 0 .8px,transparent 1.8px),
  radial-gradient(circle at 70% 55%,rgba(195,218,209,.55) 0 .8px,transparent 1.8px);
  animation:heroTwinkle 5.2s ease-in-out -2.4s infinite alternate}
@keyframes heroTwinkle{from{opacity:.22}to{opacity:1}}
/* 流れ星は神々の顔を横切らないよう、絵の上の「空の帯」だけをほぼ水平に流す */
.hero-stars .hero-shooting{inset:auto;left:-12%;top:4%;width:90px;height:1.5px;border-radius:99px;
  background:linear-gradient(90deg,rgba(255,250,230,0),rgba(255,250,230,.95) 72%,#FFF);
  transform:translate3d(0,0,0) rotate(6deg);opacity:0;will-change:transform,opacity;
  animation:heroShoot 16s linear 2.5s infinite}
.hero-stars .hero-shooting-2{left:26%;top:2%;width:64px;animation-duration:26s;animation-delay:10s}
/* 主役星: 個別にはっきり瞬く4つ(光芒つき)。層のまたたきと違い、一粒がキラッと光る */
.hero-stars b{position:absolute;width:7px;height:7px;margin:-3px 0 0 -3px;pointer-events:none;opacity:.06;
  background:radial-gradient(circle,#FFF 0 22%,rgba(255,244,204,.85) 45%,transparent 70%);
  animation:sparkTw 2.4s ease-in-out infinite}
.hero-stars b::before,.hero-stars b::after{content:"";position:absolute;left:50%;top:50%;width:17px;height:1.2px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(255,244,204,.95),transparent)}
.hero-stars b::after{transform:translate(-50%,-50%) rotate(90deg)}
.hero-stars .hs1{left:11%;top:13%}
.hero-stars .hs2{left:37%;top:6%;animation-duration:3.1s;animation-delay:.8s}
.hero-stars .hs3{left:63%;top:15%;animation-duration:2.7s;animation-delay:1.5s}
.hero-stars .hs4{left:88%;top:8%;animation-duration:3.5s;animation-delay:.4s}
@keyframes sparkTw{0%,100%{opacity:.06}50%{opacity:1}}
@keyframes heroShoot{
  0%{transform:translate3d(0,0,0) rotate(6deg);opacity:0}
  2.4%{opacity:.95}
  8%{transform:translate3d(300px,32px,0) rotate(6deg);opacity:0}
  100%{transform:translate3d(300px,32px,0) rotate(6deg);opacity:0}}

/* 札・みくじ・易の画面: 金の光の粒がゆっくり立ちのぼる(儀式の気配)。
   transformとopacityだけを動かすコンポジタ処理=GPU・省電力。 */
.draw-dust{display:none;position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}
body:is([data-route="tarot"],[data-route="omikuji"],[data-route="iching"]) .draw-dust{display:block}
.draw-dust i{position:absolute;bottom:-12px;border-radius:50%;background:radial-gradient(circle,rgba(255,246,210,1),rgba(244,223,160,.55) 58%,transparent 72%);opacity:0;will-change:transform,opacity;animation:dustRise 14s linear infinite}
@keyframes dustRise{
  0%{transform:translate3d(0,0,0);opacity:0}
  8%{opacity:.85}
  62%{opacity:.4}
  100%{transform:translate3d(22px,-104vh,0);opacity:0}}
.draw-dust i:nth-child(1){left:8%;width:5px;height:5px;animation-duration:13s;animation-delay:0s}
.draw-dust i:nth-child(2){left:20%;width:3px;height:3px;animation-duration:17s;animation-delay:-7s}
.draw-dust i:nth-child(3){left:33%;width:4.5px;height:4.5px;animation-duration:12s;animation-delay:-10s}
.draw-dust i:nth-child(4){left:47%;width:3px;height:3px;animation-duration:18s;animation-delay:-3s}
.draw-dust i:nth-child(5){left:60%;width:5.5px;height:5.5px;animation-duration:11s;animation-delay:-8s}
.draw-dust i:nth-child(6){left:71%;width:3.5px;height:3.5px;animation-duration:16s;animation-delay:-13s}
.draw-dust i:nth-child(7){left:82%;width:4px;height:4px;animation-duration:14s;animation-delay:-5s}
.draw-dust i:nth-child(8){left:91%;width:3px;height:3px;animation-duration:19s;animation-delay:-11s}
.draw-dust i:nth-child(9){left:14%;width:3.5px;height:3.5px;animation-duration:15s;animation-delay:-4s}
.draw-dust i:nth-child(10){left:54%;width:3px;height:3px;animation-duration:20s;animation-delay:-16s}

/* ページ間(キャラ紹介など)のさりげないクロスフェード。対応ブラウザのみ・両ページでopt-in */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .3s ease both}
::view-transition-new(root){animation:vtIn .5s ease both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* ============ 設定ポップアップの密度(最後に置いて必ず勝たせる) ============
   横は画面の9割を使い、上下の余白だけを詰めてスクロールを減らす。 */
body.profile-open #entryCard{width:min(92vw,640px);padding:12px 14px 13px}
body.profile-open #entryCard .cut-chara{display:none!important}
/* 一般的な入力ダイアログの密度に: 5項目で400px程度に収める */
body.profile-open #entryCard .sw{min-height:26px!important;height:auto!important;padding:1px 6px!important}
body.profile-open #entryCard .pair-intro,
body.profile-open #entryCard .fhint-in,
body.profile-open #entryCard .privacy-detail{display:none!important}
body.profile-open #entryCard .person-heading{margin:0 0 4px!important;font-size:13px!important}
body.profile-open #entryCard .form2{gap:0!important}
body.profile-open #entryCard .frow{margin:0 0 4px!important;padding:0!important}
body.profile-open #entryCard .flabel{margin-bottom:1px!important;font-size:11.5px!important;min-height:0!important}
body.profile-open #entryCard select,body.profile-open #entryCard input{height:38px!important;min-height:38px!important;padding-top:0!important;padding-bottom:0!important}
body.profile-open #entryCard .dsel{min-height:38px!important}
/* チェック・ラジオは自然サイズ(min-height:44pxの巻き添えで44pxに膨れていた) */
body.profile-open #entryCard input[type=checkbox],body.profile-open #entryCard input[type=radio]{height:auto!important;min-height:0!important;padding:0!important}
body.profile-open #entryCard .note{margin:0 0 5px!important;font-size:11px!important;line-height:1.45!important}
body.profile-open #entryCard .go-btn{min-height:44px!important;margin-top:8px!important}
body.profile-open #entryCard .privacy-line{margin:6px 0 0!important;font-size:10.5px!important}
body.profile-open #entryCard .partner-panel{margin-top:5px!important;padding-top:5px!important}
/* 入力完了方式に置き換えたため、旧「前回の入力を読み込みました」ブロックはモーダルでは出さない */
body.profile-open #entryCard .saved-note{display:none!important}
/* 設定反映のトースト */
#settingToast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,12px);z-index:11500;padding:10px 18px;border:1px solid rgba(201,162,39,.5);border-radius:99px;background:rgba(10,36,28,.93);color:#F4DFA0;font-size:13px;letter-spacing:.03em;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
#settingToast.on{opacity:1;transform:translate(-50%,0)}

/* ==== ポップテーマ(星のしるべ経由)。エンジン同一・皮だけパステル ==== */
body.theme-pop{background:#ECFAF9!important}
body.theme-pop .bg{background:linear-gradient(180deg,#F3FEFD 0%,#E4F9F7 60%,#DCF4F2 100%)!important}
body.theme-pop #stars{opacity:.3!important}
body.theme-pop .route-bar{background:rgba(148,224,214,.97)!important;border-bottom-color:rgba(255,255,255,.5)!important}
body.theme-pop .route-bar button,body.theme-pop #routeBarTitle{color:#fff!important}
body.theme-pop #tarotTop .card,
body.theme-pop #tarotTop .draw-picker{border-color:#D8F2EF!important;background:#FFFFFF!important;box-shadow:0 12px 28px rgba(105,170,160,.14)!important;color:#446861!important}
body.theme-pop #tarotTop .card p,body.theme-pop #tarotTop .note{color:#628882!important}
body.theme-pop #tarotTop .panel-guide{border-color:#D8F2EF!important;background:#F2FFFE!important}
body.theme-pop #tarotTop .panel-guide small{color:#63B8B0!important}
body.theme-pop #tarotTop .panel-guide b,body.theme-pop #tarotTop .panel-guide em{color:#446861!important}
body.theme-pop #tarotTop .dv-ttl{color:#63B8B0!important}
body.theme-pop #tarotTop .dv-sub{color:#739A93!important}
body.theme-pop #tarotTop .dv-rule{opacity:.35!important}
body.theme-pop #tarotTop .draw-picker-copy b,body.theme-pop #tarotTop .draw-tab b{color:#446861!important}
body.theme-pop #tarotTop .draw-tab{background:#F2FFFE!important}
body.theme-pop #tarotTop .draw-tab small{color:#739A93!important}
body.theme-pop #tarotTop .draw-tab[aria-selected="true"]{background:linear-gradient(135deg,#FFE9F0,#FFDCE7)!important;box-shadow:inset 0 0 0 1.5px #FF8FB3!important}
body.theme-pop #tarotTop .draw-btn{border-color:#63B8B0!important;background:linear-gradient(135deg,#8BDBD2,#63B8B0)!important;color:#fff!important}
body.theme-pop #tarotTop .draw-btn:disabled{opacity:.45!important}
body.theme-pop #tarotTop .sec-tag{background:#F2FFFE!important;border-color:#D8F2EF!important}
body.theme-pop #tarotTop .sec-tag .st-b{color:#63B8B0!important}
body.theme-pop #tarotTop .sec-tag .st-n,body.theme-pop #tarotTop .sec-tag .st-n i{color:#628882!important}
body.theme-pop #tarotTop h2,body.theme-pop #tarotTop h3{color:#446861!important}
body.theme-pop #tarotTop .tarot-hero-chara{filter:saturate(1.05) brightness(1.05)!important}

body.theme-pop #tarotTop .tarot-step-card,
body.theme-pop #tarotTop .tarot-mode-panel{background:#F2FFFE!important;border-color:#D8F2EF!important;box-shadow:none!important}
body.theme-pop #tarotTop .tarot-step-card *,
body.theme-pop #tarotTop .tarot-mode-panel *{color:#446861!important}
body.theme-pop #tarotTop .tarot-step-card .pill,
body.theme-pop #tarotTop .tarot-step-num{background:#FFE9F0!important;color:#C2517E!important;border-color:#FFB9CF!important}
body.theme-pop #tarotTop .tarot-step-card select,
body.theme-pop #tarotTop .tarot-step-card button,
body.theme-pop #tarotTop .tarot-mode-panel button{background:#FFFFFF!important;border-color:#CBEEEA!important;color:#446861!important}
body.theme-pop #tarotTop .tarot-mode-panel [aria-selected="true"],
body.theme-pop #tarotTop .tarot-mode-panel .is-on{background:linear-gradient(135deg,#FFE9F0,#FFDCE7)!important;box-shadow:inset 0 0 0 1.5px #FF8FB3!important}
body.theme-pop #tarotTop .deck-stage{background:linear-gradient(165deg,#2B665B,#143E31)!important;border-color:rgba(130,220,205,.5)!important}

body.theme-pop #tarotTop .tarot-topic-box{background:#FFFFFF!important;border-color:#CBEEEA!important}
body.theme-pop #tarotTop .tarot-topic-cap,
body.theme-pop #tarotTop .tarot-topic-cap *{color:#63B8B0!important}
body.theme-pop #tarotTop select,
body.theme-pop #tarotTop .tarot-topic-select{background:#FFFFFF!important;border-color:#CBEEEA!important;color:#446861!important}
body.theme-pop #tarotTop .tarot-mode-btn{background:#FFFFFF!important;border-color:#CBEEEA!important}
body.theme-pop #tarotTop .tarot-mode-btn *{color:#446861!important}
body.theme-pop #tarotTop .tarot-mode-btn[aria-selected="true"],
body.theme-pop #tarotTop .tarot-mode-btn.is-on{background:linear-gradient(135deg,#FFE9F0,#FFDCE7)!important;border-color:#FF8FB3!important;box-shadow:inset 0 0 0 1.5px #FF8FB3!important}
body.theme-pop #tarotTop .go-btn{background:linear-gradient(135deg,#F7B84B,#E8963E)!important;border-color:#E8963E!important;color:#fff!important}
body.theme-pop #tarotTop .go-btn:disabled{opacity:.4!important}
body.theme-pop #tarotTop .tarot-spread-choice,
body.theme-pop #tarotTop .tarot-draw-tools *{color:#446861!important}
body.theme-pop #tarotTop .tarot-draw-panel{background:#F2FFFE!important;border-color:#D8F2EF!important}

body.theme-pop #tarotTop .tarot-step-copy b,
body.theme-pop #tarotTop .tarot-mode-panel h4,
body.theme-pop #tarotTop .tarot-draw-panel h4,
body.theme-pop #tarotTop h4{color:#446861!important}
body.theme-pop #tarotTop .tarot-topic-list,body.theme-pop #tarotTop .tarot-topic-list *{color:#628882!important}
body.theme-pop #tarotTop .tarot-topic-box{background:#FFFFFF!important;border-color:#CBEEEA!important}
body.theme-pop #tarotTop .tarot-topic-select,body.theme-pop #tarotTop select{background:#FFFFFF!important;color:#446861!important;border-color:#CBEEEA!important}
body.theme-pop #tarotTop .tarot-mode-btn{background:#FFFFFF!important;border-color:#CBEEEA!important}
body.theme-pop #tarotTop .tarot-mode-btn *{color:#446861!important}
body.theme-pop #tarotTop .tarot-mode-btn[aria-selected="true"]{background:linear-gradient(135deg,#FFE9F0,#FFDCE7)!important;border-color:#FF8FB3!important}
body.theme-pop #tarotTop .tarot-step-num{color:#63B8B0!important;border-color:#B9E8E2!important;background:#F2FFFE!important}
body.theme-pop #tarotTop .sound-toggle,body.theme-pop #tarotTop [id*="ound"]{color:#63B8B0!important;border-color:#B9E8E2!important;background:#F2FFFE!important}
body.theme-pop #tarotTop .go-btn{background:linear-gradient(135deg,#F7B84B,#E8963E)!important;border-color:#E8963E!important;color:#fff!important;text-shadow:none!important}
body.theme-pop #tarotTop .go-btn:disabled{opacity:.45!important}
body.theme-pop #tarotTop{background:transparent!important}
body.theme-pop #tarotTop .card{background:#FFFFFF!important;border-color:#D8F2EF!important}

body.theme-pop[data-route="tarot"] .card{background:#FFFFFF!important;border-color:#D8F2EF!important;box-shadow:0 12px 28px rgba(105,170,160,.14)!important}
body.theme-pop[data-route="tarot"] .card>p,body.theme-pop[data-route="tarot"] .card .note{color:#628882!important}
body.theme-pop[data-route="tarot"] #tarotTodayToggle{background:#F2FFFE!important;border-color:#B9E8E2!important;color:#63B8B0!important}
body.theme-pop #tarotTop .go-btn:disabled{opacity:.55!important}

body.theme-pop[data-route="tarot"] .tarot-hero{display:none!important}
/* ページ替わりをスーッと(星座側との行き来の点滅を吸収)。
   登場フェードは.boot限定: 隠れたタブではアニメが止まりopacity:0で凍結し得るため、
   .bootを外せば素の表示に必ず戻る構造にしておく */
@keyframes popPageIn{from{opacity:0}to{opacity:1}}
body.theme-pop.boot{animation:popPageIn .5s ease}
body.theme-pop.pop-leaving{animation:popPageOut .26s ease both}
@keyframes popPageOut{to{opacity:0}}
/* 和風のステップ印(壱・弐)はポップな皮には合わないので出さない */
body.theme-pop[data-route="tarot"] .tarot-step-no{display:none!important}
body.theme-pop #tarotTop .deck-gesture-hint{color:#628882!important}
/* 効果音ボタンは右上に浮かせない。DOM上はパネル末尾なので、引くボタン群の下に中央で置く */
body.theme-pop[data-route="tarot"] .tarot-draw-panel .draw-sound-toggle{position:static!important;display:flex!important;width:max-content!important;margin:10px auto 0!important}
/* 星座側から来た人には「萬象暦と重ねて読む」の選択は意味が取れないので出さない(既定=タロットだけで読む、のまま動く) */
body.theme-pop[data-route="tarot"] .tarot-mode-panel{display:none!important}
/* 「今日の一枚」は星のしるべのメイン画面にあるので、こちらでは出さない */
body.theme-pop[data-route="tarot"] .tarot-today-panel{display:none!important}
.pop-fuda{position:absolute;right:8px;top:8px;width:62px;z-index:3;transform:rotate(6deg);
  filter:drop-shadow(0 8px 14px rgba(90,180,169,.35));pointer-events:none}

/* タロットの画面切替と結果表示の「ふわっ」(transform/opacityのみ=GPU合成) */
@keyframes tarotFadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
body[data-route="tarot"] #tarotCard{animation:tarotFadeUp .55s ease}
#tarotTop .tarot-final:not([hidden]){animation:tarotFadeUp .6s ease}
/* ポップ皮でも、引いた札と読み解きの場は本家と同じ夜の色に(白文字が沈まないように) */
body.theme-pop #tarotTop .spread-shell{position:relative;overflow:hidden;
  background:linear-gradient(160deg,#2B665B 0%,#1B503E 48%,#0B281E 100%)!important;
  border-radius:20px!important;padding:10px 10px 16px!important;margin-top:18px!important}
/* 夜空の星をうっすら(かっこかわいい仕上げ) */
body.theme-pop #tarotTop .spread-shell::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:
  radial-gradient(circle at 15% 20%,rgba(244,223,160,.5) 0 1px,transparent 2px),
  radial-gradient(circle at 82% 12%,rgba(255,255,255,.4) 0 1px,transparent 2px),
  radial-gradient(circle at 68% 78%,rgba(180,255,248,.45) 0 1px,transparent 2px),
  radial-gradient(circle at 28% 66%,rgba(255,255,255,.3) 0 1px,transparent 2px)}
body.theme-pop #tarotTop .sp-slot{background:linear-gradient(172deg,rgba(100,220,198,.26),rgba(8,36,27,.5))!important}
/* 札を引く前は夜色の帯を出さない(空の黒帯だけが見える問題)。中身のクラスは.sp-slot */
body.theme-pop #tarotTop .spread-shell:not(:has(.sp-slot)){background:none!important;padding:0!important;margin:0!important}
body.theme-pop #tarotTop .spread-shell:not(:has(.sp-slot))::before{display:none}
body.theme-pop #tarotTop .spread-shell p{color:#EDE6D6!important}
body.theme-pop #tarotTop .spread-shell h4{color:#F7EBC0!important}
body.theme-pop #tarotTop .tarot-final{background:linear-gradient(150deg,#1B503E,#0E3025)!important;
  border-color:rgba(201,162,39,.5)!important}
body.theme-pop #tarotTop .tarot-final p,body.theme-pop #tarotTop .tarot-final .tarot-final-lead{color:#EDE6D6!important}
body.theme-pop #tarotTop .tarot-final h4{color:#F7EBC0!important}
body.theme-pop #fudaThrower{width:132px!important;right:2px!important}

/* ==== 恋テーマ(恋のしるべ経由)。エンジン同一・皮だけ恋の色(変数の差し替えが中心) ==== */
/* 恋テーマ: theme-popのパステル土台に、桜の差し色だけ重ねる(恋のしるべの桜ポップに合わせる) */
body.theme-koi{background:#FBE9F2!important}
body.theme-koi .bg{background:linear-gradient(180deg,#FDF2F8 0%,#FBE0EE 55%,#F5D8E7 100%)!important}
body.theme-koi .route-bar{background:rgba(232,130,158,.96)!important;border-bottom-color:rgba(255,255,255,.5)!important}
body.theme-koi #settingToast{border-color:rgba(232,130,158,.5);background:#FFF4F9;color:#C9558A}
body.theme-koi #tarotTop .draw-tab[aria-selected="true"]{background:linear-gradient(135deg,#FFE9F0,#FFDCE7)!important;box-shadow:inset 0 0 0 1.5px #E8829E!important}
body.theme-koi #tarotTop .draw-btn,body.theme-koi #tarotTop .go-btn{
  background:linear-gradient(135deg,#F09CB4,#D9598C)!important;border-color:#D9598C!important;color:#fff!important;text-shadow:none!important}
/* 恋のしるべ側に3枚引き・今日の一枚があるので、こちらでは重ねて出さない。案内ヒーローも月の神に譲る */
body.theme-koi[data-route="tarot"] .tarot-hero{display:none!important}
body.theme-koi[data-route="tarot"] .tarot-mode-panel{display:none!important}
body.theme-koi[data-route="tarot"] .tarot-today-panel{display:none!important}
body.theme-koi[data-route="tarot"] .tarot-draw-panel .draw-sound-toggle{position:static!important;display:flex!important;width:max-content!important;margin:10px auto 0!important}
body.theme-koi #tarotTop .tarot-topic-cap{color:#C9558A!important}
body.theme-koi #tarotTop .sec-tag .st-b{color:#C9558A!important}
body.theme-koi #tarotTop .dv-ttl{color:#C9558A!important}
body.theme-koi #tarotTop .panel-guide{background:#FFF2F7!important;border-color:#F3CFDD!important}
body.theme-koi #tarotTop .panel-guide small{color:#C9558A!important}
body.theme-koi.boot{animation:popPageIn .5s ease}
body.theme-koi.pop-leaving{animation:popPageOut .26s ease both}
.koi-fuda{position:absolute;right:8px;top:8px;width:76px;z-index:3;transform:rotate(4deg);
  filter:drop-shadow(0 8px 14px rgba(120,40,80,.4));pointer-events:none}



@keyframes pageLeave{to{opacity:0}}
body.leaving{animation:pageLeave .26s ease both}
/* ---- 「どうやって占っているの?」図解アニメ(20秒ループ・transform/opacityのみ=GPU合成) ---- */
/* 入口: 「六人の神様を紹介」と左右二列で同じ高さに */
.guide-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0;align-items:stretch}
/* 同寸の画像タイル2枚(800x1200=2:3)に文字を重ねる。左右の高さはaspect-ratioで常に一致 */
.entry-tile{position:relative;display:flex;align-items:flex-end;justify-content:center;aspect-ratio:2/3;margin:0;padding:0;
  border:1px solid rgba(201,162,39,.3);border-radius:15px;overflow:hidden;
  background-color:#0D2F24;background-size:cover;background-position:center top;
  color:inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.entry-tile .et-copy{display:block;width:100%;padding:0 10px 13px;text-align:center}
.entry-tile .et-copy b{display:block;color:#F4EFE0;font-size:14.5px;font-weight:700;line-height:1.45;letter-spacing:.02em;text-shadow:0 1px 6px rgba(2,16,11,.85)}
.entry-tile .et-copy span{display:block;margin-top:3px;color:#B7D8CD;font-size:10.5px;font-weight:700;text-shadow:0 1px 4px rgba(2,16,11,.85)}
/* PC: タイルが幅なりに巨大化しないよう列を中央で頭打ちに */
@media(min-width:700px){.guide-entry-row{max-width:600px;margin-left:auto;margin-right:auto}
/* 三枚目は横長。二列にまたがらせる */
.entry-tile-wide{grid-column:1 / -1;aspect-ratio:auto;min-height:118px;background-position:center 42%}}
#howSheet{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,22,16,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#howSheet[hidden]{display:none}
/* 六つの占術の説明シート(図解の中のボタンから開く。文面の正本=assets/systems-info.js) */
#sysInfoSheet{position:fixed;inset:0;z-index:11500;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(4,22,16,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#sysInfoSheet[hidden]{display:none}
.sysinfo-sheet{max-width:440px;max-height:86vh;overflow:auto;-webkit-overflow-scrolling:touch}
.how-sys-btn{display:block;width:100%;margin:10px 0 9px;padding:12px;border:1px solid rgba(201,162,39,.4);border-radius:12px;background:rgba(16,54,42,.55);color:#F4DFA0;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}
.si-item{margin:0 0 14px;padding:13px 14px;border:1px solid rgba(201,162,39,.22);border-radius:13px;background:rgba(10,38,29,.55)}
.si-head{display:flex;align-items:center;gap:11px;margin:0 0 8px}
.si-head img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:1.5px solid rgba(201,162,39,.5);background:#10362A}
.si-head b{display:block;color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:16px;letter-spacing:.06em}
.si-head small{display:block;color:#8FBCAC;font-size:10.5px;font-weight:700;letter-spacing:.08em;margin-top:1px}
.si-item p{margin:0;color:#C6E2D8;font-size:12.5px;line-height:1.95;text-align:left}
.how-sheet{max-width:420px;max-height:90vh;overflow:auto;-webkit-overflow-scrolling:touch}
.how-sheet .rc-note{text-align:center}
.how-title{margin:0 0 12px;text-align:center;color:var(--kin-l);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:22px;letter-spacing:.1em}
/* 舞台: 星のまたたく夜の円 */
.how-stage{position:relative;width:100%;height:352px;margin:0 auto;border-radius:26px;
  background:radial-gradient(circle at 50% 42%,rgba(34,100,78,.5),rgba(10,38,29,0) 72%)}
.how-stage::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:26px;background-image:
  radial-gradient(circle at 18% 20%,rgba(244,223,160,.55) 0 1px,transparent 2.2px),
  radial-gradient(circle at 80% 12%,rgba(255,255,255,.42) 0 1px,transparent 2.2px),
  radial-gradient(circle at 64% 84%,rgba(244,223,160,.4) 0 1px,transparent 2.2px),
  radial-gradient(circle at 28% 70%,rgba(255,255,255,.32) 0 1px,transparent 2.2px),
  radial-gradient(circle at 90% 52%,rgba(244,223,160,.3) 0 1px,transparent 2.2px)}
/* 二枚のカード: ゆっくり現れて、六人へ配られるように収束する */
.hc{position:absolute;top:98px;z-index:3;width:96px;padding:12px 6px;border:1px solid rgba(201,162,39,.6);border-radius:10px;
  background:linear-gradient(165deg,#1B503E,#0E3025);color:#F4DFA0;font-style:normal;font-size:13px;font-weight:600;
  font-family:"Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.06em;
  text-align:center;line-height:1.6;box-shadow:0 10px 22px rgba(2,16,11,.55);will-change:transform,opacity;
  animation:hcShow 20s cubic-bezier(.22,1,.36,1) infinite}
.hc1{left:56px}.hc2{left:178px;animation-delay:.3s}
@keyframes hcShow{0%{opacity:0;transform:translateY(26px) scale(.82)}7%{opacity:1;transform:none}
  20%{opacity:1;transform:none}27%{opacity:0;transform:translateY(-10px) scale(.62)}100%{opacity:0}}
/* 六人: 順に「確かめる光」。ふわりと大きくなって戻る */
.hg{position:absolute;width:66px;height:66px;border-radius:50%;overflow:hidden;border:2px solid rgba(201,162,39,.55);
  background:#10362A;box-shadow:0 5px 12px rgba(2,16,11,.55);will-change:transform;animation:hgGlow 20s ease-in-out infinite}
.hg img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hg1{left:50%;margin-left:-33px;top:0}.hg2{left:50%;margin-left:88px;top:62px;animation-delay:.75s}.hg3{left:50%;margin-left:88px;top:180px;animation-delay:1.5s}
.hg4{left:50%;margin-left:-33px;top:244px;animation-delay:2.25s}.hg5{left:50%;margin-left:-154px;top:180px;animation-delay:3s}.hg6{left:50%;margin-left:-154px;top:62px;animation-delay:3.75s}
@keyframes hgGlow{0%,26%{box-shadow:0 5px 12px rgba(2,16,11,.55);transform:scale(1)}
  30%{box-shadow:0 0 26px 8px rgba(244,223,160,.7);transform:scale(1.18)}
  37%,100%{box-shadow:0 5px 12px rgba(2,16,11,.55);transform:scale(1)}}
/* 各神の占術名(円のすぐ下に明記) */
.hgl{position:absolute;z-index:2;width:90px;text-align:center;font-style:normal;font-size:9.5px;font-weight:700;
  letter-spacing:.06em;color:#D8C98F;text-shadow:0 1px 5px rgba(4,22,16,.95);pointer-events:none}
.hgl1{left:50%;margin-left:-45px;top:68px}.hgl2{left:50%;margin-left:76px;top:130px}.hgl3{left:50%;margin-left:76px;top:248px}
.hgl4{left:50%;margin-left:-45px;top:312px}.hgl5{left:50%;margin-left:-166px;top:248px}.hgl6{left:50%;margin-left:-166px;top:130px}
/* 円卓: 「合議」の金文字と、静かな光のパルス */
.how-table{position:absolute;left:50%;margin-left:-50px;top:102px;width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle at 50% 36%,#2A7059,#10362A 74%);border:2px solid rgba(201,162,39,.5);
  box-shadow:0 0 0 6px rgba(201,162,39,.1);will-change:transform;animation:tablePulse 20s ease-in-out infinite}
.how-table::after{content:"合議";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(244,223,160,.85);font-family:"Shippori Mincho B1","Yu Mincho",serif;font-size:16px;letter-spacing:.34em;text-indent:.34em}
@keyframes tablePulse{0%,56%{box-shadow:0 0 0 6px rgba(201,162,39,.1);transform:scale(1)}
  63%{box-shadow:0 0 40px 12px rgba(244,223,160,.6);transform:scale(1.07)}
  72%,100%{box-shadow:0 0 0 6px rgba(201,162,39,.1);transform:scale(1)}}
/* 光の粒: 配る(中央→六人)・持ち寄る(六人→中央)。緩急のある曲線で */
.sp{position:absolute;left:50%;margin-left:-4px;top:148px;width:9px;height:9px;border-radius:50%;font-style:normal;
  background:radial-gradient(circle at 35% 35%,#FFF,#F4DFA0 55%,rgba(244,223,160,0));
  box-shadow:0 0 12px 3px rgba(244,223,160,.65);opacity:0;will-change:transform,opacity;
  animation:20s cubic-bezier(.45,.05,.55,.95) infinite}
.so1{animation-name:spOut1}.so2{animation-name:spOut2;animation-delay:.45s}.so3{animation-name:spOut3;animation-delay:.9s}
.so4{animation-name:spOut4;animation-delay:1.35s}.so5{animation-name:spOut5;animation-delay:1.8s}.so6{animation-name:spOut6;animation-delay:2.25s}
.si1{animation-name:spIn1}.si2{animation-name:spIn2;animation-delay:.55s}.si3{animation-name:spIn3;animation-delay:1.1s}
.si4{animation-name:spIn4;animation-delay:1.65s}.si5{animation-name:spIn5;animation-delay:2.2s}.si6{animation-name:spIn6;animation-delay:2.75s}
@keyframes spOut1{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(0px,-119px)}100%{opacity:0;transform:translate(0px,-119px)}}
@keyframes spIn1{0%,43%{opacity:0;transform:translate(0px,-119px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes spOut2{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(121px,-57px)}100%{opacity:0;transform:translate(121px,-57px)}}
@keyframes spIn2{0%,43%{opacity:0;transform:translate(121px,-57px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes spOut3{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(121px,61px)}100%{opacity:0;transform:translate(121px,61px)}}
@keyframes spIn3{0%,43%{opacity:0;transform:translate(121px,61px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes spOut4{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(0px,125px)}100%{opacity:0;transform:translate(0px,125px)}}
@keyframes spIn4{0%,43%{opacity:0;transform:translate(0px,125px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes spOut5{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(-121px,61px)}100%{opacity:0;transform:translate(-121px,61px)}}
@keyframes spIn5{0%,43%{opacity:0;transform:translate(-121px,61px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}
@keyframes spOut6{0%,21%{opacity:0;transform:none}24%{opacity:1}33%{opacity:0;transform:translate(-121px,-57px)}100%{opacity:0;transform:translate(-121px,-57px)}}
@keyframes spIn6{0%,43%{opacity:0;transform:translate(-121px,-57px)}46%{opacity:1}56%{opacity:0;transform:none}100%{opacity:0;transform:none}}

/* 結果: ふわりと手元に届く二枚 */
.hr{position:absolute;top:316px;padding:8px 16px;border-radius:99px;font-style:normal;font-size:13.5px;font-weight:600;
  font-family:"Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.04em;
  opacity:0;will-change:transform,opacity;animation:hrShow 20s cubic-bezier(.22,1,.36,1) infinite}
.hr1{right:50%;margin-right:9px;border:1px solid rgba(201,162,39,.65);background:rgba(26,80,62,.92);color:#F4DFA0}
.hr2{left:50%;margin-left:9px;border:1px solid rgba(201,162,39,.35);background:rgba(12,46,35,.92);color:#C6E2D8;animation-delay:.4s}
@keyframes hrShow{0%,72%{opacity:0;transform:translateY(16px)}78%{opacity:1;transform:none}96%{opacity:1;transform:none}100%{opacity:0}}
/* 語り: 大きめの明朝で、ゆっくり切り替わる */
.how-cap{position:relative;height:60px;margin:12px 0 2px;text-align:center}
.how-cap span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 4px;
  color:#F2EAD8;font:600 15.5px/1.75 "Shippori Mincho B1","Yu Mincho",serif;letter-spacing:.02em;opacity:0;
  text-align:center;text-wrap:balance;animation:20s ease-in-out infinite}
.how-cap .cap1{animation-name:howCap1}.how-cap .cap2{animation-name:howCap2}
.how-cap .cap3{animation-name:howCap3}.how-cap .cap4{animation-name:howCap4}
@keyframes howCap1{0%{opacity:0}4%,20%{opacity:1}26%,100%{opacity:0}}
@keyframes howCap2{0%,26%{opacity:0}32%,50%{opacity:1}56%,100%{opacity:0}}
@keyframes howCap3{0%,54%{opacity:0}60%,70%{opacity:1}76%,100%{opacity:0}}
@keyframes howCap4{0%,74%{opacity:0}80%,96%{opacity:1}100%{opacity:0}}

/* 中央寄せの短い説明文は均等に折り返す(「す。」だけの行を作らない) */
.portal-group-head p,.quick-promise,.quick-profile-slim small,.rp-lead,#omikujiResult p{text-wrap:balance;word-break:auto-phrase}
.tt-nw{white-space:nowrap}


/* シリーズの判子(ヒーロー左上・タップでシリーズのトップへ)。
   本家は最上部に「本格総合占い、すべて無料」の帯があるので、その下に置く */

/* 相互バナー: 納品バナー画像ベース(左が静かな構図に文字を重ねる) */
.portal-banner-namae{background:url("portal/assets/banner-namae.webp") center right/cover,#F3EFE7!important}
.portal-banner-namae .pb-seal,.portal-banner-namae .pb-tablet{display:none}
.portal-banner-namae .portal-banner-copy{align-items:flex-start;text-align:left;padding:15px 18px!important;max-width:62%}
.portal-banner-namae .portal-banner-copy b{font-size:clamp(22px,7vw,30px)!important;letter-spacing:.08em;color:#222B2A;text-shadow:0 1px 4px rgba(255,254,251,.8)}
.portal-banner-hoshi{background:url("portal/assets/banner-hoshi.webp") center right/cover,#79C8BC!important}
.portal-banner-hoshi::after{display:none}
.portal-banner-hoshi .pb-hoshi-face{display:none}
.portal-banner-hoshi .portal-banner-copy{align-items:flex-start;text-align:left;padding:15px 18px;max-width:60%}
.portal-banner-hoshi .portal-banner-copy b{text-shadow:0 2px 10px rgba(45,130,118,.8)}
.portal-banner-hoshi .portal-banner-copy small,.portal-banner-hoshi .portal-banner-copy span{text-shadow:0 1px 6px rgba(45,130,118,.8)}

/* 提供元の帯(最上部・本番ドメインでだけ出す) */
.presents{position:relative;z-index:20;margin:0;padding:9px 10px 8px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.32em;text-indent:.32em;color:rgba(227,200,126,.8);border-bottom:1px solid rgba(201,162,39,.28);background:rgba(9,32,24,.55)}

/* 提供元のバナー(一番下・本番ドメインでだけ出す) */
.kubota-band{display:block;max-width:820px;margin:26px auto 0;border:1px solid rgba(216,178,66,.62);border-radius:16px;
  overflow:hidden;line-height:0;box-shadow:0 14px 34px rgba(2,16,11,.45),0 0 22px -4px rgba(233,193,84,.4),inset 0 0 0 1px rgba(255,235,175,.14);text-decoration:none}
.kubota-band .kb-wrap{position:relative;display:block;line-height:0}
.kubota-band img{width:100%;height:auto;display:block}
.kubota-band span{display:block;padding:5px 12px 8px;background:rgba(9,32,24,.86);color:#C6E2D8;
  font-size:11px;line-height:1.7;letter-spacing:.04em;text-align:center}
.kb-anniv{position:absolute;left:8.5%;top:50%;transform:translateY(-50%);z-index:2;
  font-family:"Shippori Mincho B1","Yu Mincho",serif;font-weight:700;
  font-size:clamp(16px,4.6vw,34px);line-height:1.3;letter-spacing:.05em;white-space:nowrap;text-align:center;
  background:linear-gradient(168deg,#FFFFFF 8%,#E6F4EF 30%,#A9C6BB 52%,#F2FAF7 72%,#BED6CD 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.85)) drop-shadow(0 0 14px rgba(0,0,0,.5))}
.kb-anniv em{display:block;font-style:normal;font-size:.5em;letter-spacing:.24em;text-indent:.24em;opacity:.88}
/* スマホは切り詰めた画像を使うので、そのぶん右へ寄せられる */
@media(min-width:700px){.kb-anniv{left:7%}}

/* hiddenが付いているあいだは必ず隠す(本番ドメイン限定表示の土台) */
[hidden]{display:none!important}

/* 提供元のバナーは、金の光をゆっくり呼吸させて目に留まるように */
@keyframes goldBreathBand{
  from{box-shadow:0 14px 34px rgba(2,16,11,.45),0 0 16px -6px rgba(233,193,84,.45),inset 0 0 0 1px rgba(255,235,175,.14)}
  to  {box-shadow:0 14px 34px rgba(2,16,11,.45),0 0 40px -2px rgba(246,214,124,.95),inset 0 0 0 1px rgba(255,235,175,.45)}
}
.kubota-band{animation:goldBreathBand 3.8s ease-in-out infinite alternate}

/* 端末の中だけで計算している、という安心の証。ここだけ囲って起こす */
.foot-safe{display:inline-block;max-width:100%;margin:0 auto 14px;padding:9px 16px;
  border:1px solid rgba(150,255,218,.34);border-radius:14px;
  background:rgba(16,56,43,.5);color:#C7E4DA;font-size:12px;line-height:1.7;letter-spacing:.02em;text-align:center;
  box-shadow:0 0 20px -7px rgba(126,232,199,.7)}
.foot-safe b{display:block;margin-bottom:2px;color:#FFFFFF;font-weight:700}

/* YouTubeバナーの中を、音符がゆっくり昇っていく */
.portal-banner-tube .tube-notes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.tube-notes .tn{position:absolute;bottom:-26px;display:block;margin:0;padding:0;font-style:normal;font-weight:400;
  color:rgba(255,244,214,.9);text-shadow:0 2px 9px rgba(2,16,11,.85),0 0 16px rgba(255,230,170,.35);line-height:1;
  animation:tubeNote 12s ease-in-out infinite}
/* 一本ずつ揺れ方をずらす。全部が同じ動きだと隊列に見えてしまう */
.tube-notes .tn:nth-child(1){left:60%;font-size:30px;animation-delay:0s}
.tube-notes .tn:nth-child(2){left:72%;font-size:23px;animation-delay:2.4s;animation-name:tubeNote2}
.tube-notes .tn:nth-child(3){left:83%;font-size:34px;animation-delay:4.8s}
.tube-notes .tn:nth-child(4){left:66%;font-size:20px;animation-delay:7.2s;animation-name:tubeNote2}
.tube-notes .tn:nth-child(5){left:89%;font-size:26px;animation-delay:9.6s}
/* まっすぐ上がると味気ないので、左右に振りながら昇らせる */
@keyframes tubeNote{
  0%  {opacity:0; transform:translate(0,0) rotate(-10deg)}
  10% {opacity:1; transform:translate(13px,-18px) rotate(6deg)}
  28% {opacity:.95;transform:translate(-11px,-46px) rotate(-10deg)}
  48% {opacity:.9; transform:translate(14px,-74px) rotate(7deg)}
  68% {opacity:.75;transform:translate(-10px,-102px) rotate(-7deg)}
  86% {opacity:.35;transform:translate(9px,-128px) rotate(9deg)}
  100%{opacity:0; transform:translate(0,-150px) rotate(3deg)}
}
@keyframes tubeNote2{
  0%  {opacity:0; transform:translate(0,0) rotate(9deg)}
  10% {opacity:1; transform:translate(-12px,-20px) rotate(-7deg)}
  30% {opacity:.95;transform:translate(10px,-48px) rotate(8deg)}
  52% {opacity:.9; transform:translate(-13px,-76px) rotate(-6deg)}
  72% {opacity:.72;transform:translate(11px,-104px) rotate(8deg)}
  88% {opacity:.32;transform:translate(-8px,-129px) rotate(-8deg)}
  100%{opacity:0; transform:translate(0,-150px) rotate(2deg)}
}

/* コピーライトは他の占いページと同じ大きさに(ここだけ16pxで浮いていた) */
.foot-copy{margin:14px 0 0;text-align:center;font-size:11px;line-height:1.75;color:#8FBCAC}

/* アイロンの底から吹き出す湯気。地の絵はそのままで、上に重ねている。
   位置は目盛りを引いて実測(アイロンは横28〜35%・縦55〜75%)。
   .kb-steam は大きさを持たない「点」。アイロンの底の、少し右から出す。
   横位置はPCとスマホで画像が別物なので、画面幅で分けている(スマホ35%/PC30%)。
   粒は自分の半分ぶん左上へずらしてあるので、点＝粒の中心になる。 */
.kubota-band .kb-steam{position:absolute;left:36.5%;top:73%;width:0;height:0;
  z-index:2;pointer-events:none;background:none;padding:0;display:block}
.kb-steam i{position:absolute;left:-11px;top:-11px;width:22px;height:22px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.78) 0%,rgba(255,255,255,.4) 38%,rgba(255,255,255,0) 70%);
  opacity:0;will-change:transform,opacity;
  animation:kbSteamL 6.5s ease-in-out infinite}
.kb-steam i:nth-child(1){animation-delay:0s;animation-name:kbSteamL}
.kb-steam i:nth-child(2){animation-delay:2.2s;animation-name:kbSteamC}
.kb-steam i:nth-child(3){animation-delay:4.4s;animation-name:kbSteamR}
/* 出はじめは薄く小さく。いちばん濃いのは流れている途中で、そこから薄れて消える */
@keyframes kbSteamL{
  0%  {opacity:0;   transform:translate(0,0) scale(.3)}
  22% {opacity:.46; transform:translate(-4px,3px) scale(.85)}
  50% {opacity:.68; transform:translate(-10px,6px) scale(1.6)}
  74% {opacity:.40; transform:translate(-15px,9px) scale(2.4)}
  100%{opacity:0;   transform:translate(-21px,12px) scale(3.4)}
}
@keyframes kbSteamC{
  0%  {opacity:0;   transform:translate(0,0) scale(.3)}
  22% {opacity:.46; transform:translate(1px,4px) scale(.85)}
  50% {opacity:.68; transform:translate(-2px,8px) scale(1.6)}
  74% {opacity:.40; transform:translate(2px,12px) scale(2.4)}
  100%{opacity:0;   transform:translate(0,16px) scale(3.4)}
}
@keyframes kbSteamR{
  0%  {opacity:0;   transform:translate(0,0) scale(.3)}
  22% {opacity:.46; transform:translate(4px,3px) scale(.85)}
  50% {opacity:.68; transform:translate(11px,6px) scale(1.6)}
  74% {opacity:.40; transform:translate(16px,9px) scale(2.4)}
  100%{opacity:0;   transform:translate(22px,12px) scale(3.4)}
}
@media(min-width:700px){
  /* PCは画像が別物(v8)で、アイロンが左寄り(横26〜31%)にある */
  .kubota-band .kb-steam{left:31.5%}
  /* 画像が大きいぶん、粒も流れる距離も倍にする */
  .kb-steam i{left:-20px;top:-20px;width:40px;height:40px}
  .kb-steam i:nth-child(1){animation-name:kbSteamLPc}
  .kb-steam i:nth-child(2){animation-name:kbSteamCPc}
  .kb-steam i:nth-child(3){animation-name:kbSteamRPc}
  @keyframes kbSteamLPc{
    0%  {opacity:0;   transform:translate(0,0) scale(.3)}
    22% {opacity:.46; transform:translate(-8px,6px) scale(.85)}
    50% {opacity:.68; transform:translate(-20px,12px) scale(1.6)}
    74% {opacity:.40; transform:translate(-30px,18px) scale(2.4)}
    100%{opacity:0;   transform:translate(-42px,24px) scale(3.4)}
  }
  @keyframes kbSteamCPc{
    0%  {opacity:0;   transform:translate(0,0) scale(.3)}
    22% {opacity:.46; transform:translate(2px,8px) scale(.85)}
    50% {opacity:.68; transform:translate(-4px,16px) scale(1.6)}
    74% {opacity:.40; transform:translate(4px,24px) scale(2.4)}
    100%{opacity:0;   transform:translate(0,32px) scale(3.4)}
  }
  @keyframes kbSteamRPc{
    0%  {opacity:0;   transform:translate(0,0) scale(.3)}
    22% {opacity:.46; transform:translate(8px,6px) scale(.85)}
    50% {opacity:.68; transform:translate(22px,12px) scale(1.6)}
    74% {opacity:.40; transform:translate(32px,18px) scale(2.4)}
    100%{opacity:0;   transform:translate(44px,24px) scale(3.4)}
  }
}

/* 本番ドメイン以外では出さない。判定は<head>で済んでいるので、描画後にずれない */
html:not(.prod) [data-prod-show]{display:none!important}
