:root{
    --page:#f7f1f7; --panel:#ffffff; --hero1:#cdbbe8; --hero2:#dcc8ec; --hero3:#ecd8e6; --hero4:#f7eef2;
    --deep:#4a3a7a; --purple:#7a5fb0; --muted:#8a7fa6; --ink:#4f4368;
    --gold:#c8a96a; --gold-d:#a8884a; --gold-soft:rgba(200,169,106,.5); --gold-line:rgba(200,169,106,.32);
    --pink:#e58aa8; --bblue:#6fa8e0;
    --fire:#e0685a; --earth:#d4af5a; --wind:#5fc6c0; --water:#5b8fe0;
  }
  *{box-sizing:border-box;}
  body{margin:0;background:linear-gradient(180deg,#fffafe 0%,#fff9f5 100%);color:var(--ink);font-family:"Zen Maru Gothic",sans-serif;line-height:1.85;min-height:100vh;}
  a{color:var(--purple);text-decoration:none;}
  h1,h2,h3{font-family:"Shippori Mincho",serif;line-height:1.4;font-weight:700;color:var(--deep);}

  .wrap{max-width:1080px;margin:0 auto;padding:0 24px 52px;}

  /* hero */
  .hero{position:relative;overflow:hidden;padding:30px 42px 32px;margin:0 -24px 10px;text-align:left;min-height:230px;
    background:url("../hero.webp") center right/cover no-repeat;}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,253,.97) 0%,rgba(255,250,253,.7) 38%,rgba(255,250,253,.12) 68%,rgba(255,250,253,0) 100%);z-index:0;pointer-events:none;}
  .hero::after{content:"";position:absolute;left:-5%;right:-5%;bottom:-30px;height:56px;background:#fffafc;border-radius:50% 50% 0 0/65% 65% 0 0;z-index:1;pointer-events:none;}
  .hero .deco{position:absolute;inset:0;pointer-events:none;z-index:2;}
  .hero > .ribbon,.hero h1,.hero-line,.hero-sub{position:relative;z-index:3;}
  .ribbon{display:inline-block;position:relative;background:rgba(255,250,253,.76);border:1px solid rgba(200,169,106,.62);box-shadow:0 10px 26px rgba(110,80,150,.08);
    color:var(--deep);font-size:13px;letter-spacing:.12em;padding:5px 22px;border-radius:3px;margin:0 0 10px 6px;}
  .ribbon::before,.ribbon::after{content:"";position:absolute;top:0;width:22px;height:100%;background:rgba(255,255,255,.58);}
  .ribbon::before{left:-20px;clip-path:polygon(0 50%,100% 0,100% 100%);}
  .ribbon::after{right:-20px;clip-path:polygon(0 0,100% 50%,0 100%);}
  .hero h1{font-size:44px;margin:0 0 5px;letter-spacing:.02em;line-height:1.06;text-shadow:0 4px 14px rgba(95,65,140,.18);}
  .hero h1 .g{background:linear-gradient(180deg,#d7b85b 0%,#b98a20 50%,#7c560c 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:.45px rgba(108,72,14,.36);filter:drop-shadow(0 2px 2px rgba(255,255,255,.38));}
  .hero h1 .lt{color:#705c9b;}
  .hero-line{width:230px;max-width:42%;height:1px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold) 42%,transparent 42%,transparent 52%,var(--gold) 52%,var(--gold) 100%);letter-spacing:0;font-size:0;margin:9px 0 10px;position:relative;}
  .hero-line::after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:15px;color:var(--gold);background:rgba(255,250,253,.6);padding:0 10px;}
  .hero-sub{font-size:13.5px;line-height:1.65;color:#2f254e;position:relative;max-width:430px;margin:0;font-weight:500;text-shadow:0 1px 0 rgba(255,255,255,.65);}
  @media(max-width:560px){
    .wrap{padding-left:16px;padding-right:16px;}
    .hero{min-height:240px;margin-left:-16px;margin-right:-16px;padding:26px 20px 40px;background-position:66% center;}
    .hero::before{background:linear-gradient(180deg,rgba(255,250,253,.96) 0%,rgba(255,250,253,.72) 42%,rgba(255,250,253,.32) 72%,rgba(255,250,253,.08) 100%);}
    .hero::after{bottom:-28px;height:52px;}
    .ribbon{font-size:10.5px;letter-spacing:.04em;padding:5px 12px;margin:0 0 9px;}
    .ribbon::before{left:-14px;width:16px;}.ribbon::after{right:-14px;width:16px;}
    .hero h1{font-size:30px;line-height:1.1;margin-bottom:4px;}
    .hero-line{max-width:100%;width:150px;margin:8px 0 9px;}
    .hero-sub{font-size:12px;line-height:1.55;max-width:210px;}
  }
  @media(max-width:380px){.hero h1{font-size:28px;}.ribbon{font-size:10px;padding-left:12px;padding-right:12px;}}
  .wish{text-align:center;color:var(--purple);font-size:16px;letter-spacing:.08em;margin:0 0 16px;}
  .wish span{color:var(--gold);}

  /* section card */
  .sec{background:rgba(255,255,255,.88);border:1px solid rgba(200,169,106,.2);border-radius:18px;padding:24px 28px;margin:12px 0;box-shadow:0 10px 26px rgba(80,55,120,.09);position:relative;overflow:hidden;}
  .sec::before{content:"";position:absolute;right:18px;top:16px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(200,169,106,.25);opacity:.6;}
  .sec-head{display:flex;align-items:center;gap:18px;margin-bottom:16px;position:relative;}
  .badge{width:58px;height:58px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at 50% 35%,#fbf7ff,#d8c1ee);color:var(--deep);font-family:"Shippori Mincho",serif;font-weight:700;font-size:27px;border:1px solid var(--gold-soft);box-shadow:0 0 0 5px rgba(216,193,238,.35);}
  .sec-head h2{font-size:24px;margin:0;flex:1;letter-spacing:.04em;}
  .sec-wheel{position:absolute;top:18px;right:36px;width:104px;height:104px;opacity:.55;}
  @media(max-width:520px){.sec-wheel{display:none;}}

  .zgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-width:820px;position:relative;}
  @media(max-width:680px){.zgrid{grid-template-columns:repeat(3,minmax(0,1fr));}}
  @media(max-width:420px){.zgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  .zbtn{font-family:inherit;border:1px solid var(--gold-soft);border-radius:13px;background:rgba(255,255,255,.84);color:var(--ink);cursor:pointer;padding:10px 7px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:all .22s ease;box-shadow:0 5px 12px rgba(80,55,120,.05);}
  .zbtn .zsym{font-size:18px;color:var(--gold-d);line-height:1;}
  .zbtn .zname{font-size:13px;font-weight:600;line-height:1.35;}
  .zbtn .zdate{font-size:9.5px;color:var(--muted);line-height:1.25;}
  .zbtn.active{background:linear-gradient(135deg,#f3ecfb,#eadcf5);border-color:var(--purple);box-shadow:0 0 0 1px var(--purple) inset,0 8px 18px rgba(122,95,176,.14);}
  .zbtn.active .zsym{color:var(--purple);}
  @media(max-width:560px){.sec{padding:20px 16px;margin:10px 0}.sec-head{gap:12px;margin-bottom:14px}.badge{width:48px;height:48px;font-size:22px}.sec-head h2{font-size:19px}}
  #blood{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
  @media(max-width:480px){#blood{grid-template-columns:repeat(2,1fr);}}
  #blood button{font-family:inherit;font-size:14px;padding:14px 6px;border:1px solid var(--gold-soft);border-radius:14px;background:#fdfafe;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .25s ease;}
  #blood button svg{width:26px;height:26px;}
  #blood button.active{background:linear-gradient(135deg,#efe3fb,#e6d3f3);border-color:var(--purple);box-shadow:0 0 0 1px var(--purple) inset;}

  .q-card{position:relative;background:linear-gradient(120deg,#d8c6ee,#e9d3e6);border:1px solid var(--gold-soft);border-radius:14px;padding:14px 16px;margin-bottom:14px;overflow:hidden;}
  .q-card .qtag{font-size:11px;color:var(--purple);letter-spacing:.06em;}
  .q-card #q-text{font-family:"Shippori Mincho",serif;font-size:20px;font-weight:700;color:var(--deep);display:block;margin-top:2px;}
  .q-ball{position:absolute;right:10px;bottom:-6px;width:74px;height:74px;opacity:.9;}
  .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  @media(max-width:480px){.opts{grid-template-columns:1fr;}}
  .opts button{position:relative;font-family:inherit;font-size:14px;padding:14px 34px 14px 14px;border:1px solid var(--gold-soft);border-radius:12px;background:#fdfafe;color:var(--ink);cursor:pointer;text-align:left;line-height:1.5;transition:all .25s ease;}
  .opts button::after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gold-d);font-size:18px;}
  .opts button.active{border-color:var(--purple);background:linear-gradient(135deg,#f3ecfb,#efe3f6);box-shadow:0 0 0 1px var(--purple) inset;}

  .cta{width:100%;margin-top:8px;padding:17px;border:1.5px solid var(--gold-soft);border-radius:999px;font-family:"Shippori Mincho",serif;font-size:18px;letter-spacing:.1em;color:#fff;
    background:linear-gradient(95deg,#b07fd0,#8a5fb8);cursor:pointer;transition:all .25s ease;box-shadow:0 8px 24px rgba(140,95,184,.3);}
  .cta:disabled{opacity:.5;cursor:not-allowed;background:#cfc4dd;color:#fff;box-shadow:none;}
  .cta-note{text-align:center;color:var(--muted);font-size:12px;line-height:1.7;margin:9px 0 0;}

  /* loading */
  body.is-loading{overflow:hidden;}
  #loading{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;text-align:center;padding:24px;background:rgba(250,246,252,.78);backdrop-filter:blur(10px);}
  #loading.is-active{display:flex;}
  .loader-card{width:min(360px,100%);border:1px solid var(--gold-soft);border-radius:22px;padding:34px 24px 30px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,241,251,.96));box-shadow:0 22px 60px rgba(82,51,120,.22);position:relative;overflow:hidden;}
  .loader-card::before{content:"";position:absolute;inset:12px;border:1px solid rgba(200,169,106,.28);border-radius:18px;pointer-events:none;}
  .loader-mark{position:relative;width:84px;height:84px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;color:var(--gold-d);font-family:"Shippori Mincho",serif;font-size:38px;background:radial-gradient(circle at 50% 50%,#fff 0 42%,rgba(222,202,238,.75) 43% 100%);}
  .loader-mark::before{content:"";position:absolute;inset:8px;border:1px solid rgba(200,169,106,.55);border-radius:50%;border-top-color:transparent;animation:spin 1.6s linear infinite;}
  .loader-mark::after{content:"✦";position:absolute;right:-2px;top:10px;color:var(--gold);font-size:18px;animation:twinkle 1.2s ease-in-out infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  @keyframes twinkle{0%,100%{opacity:.45;transform:scale(.8);}50%{opacity:1;transform:scale(1.08);}}
  #loading .lhead{position:relative;font-family:"Shippori Mincho",serif;font-size:22px;font-weight:800;color:var(--deep);letter-spacing:.08em;margin-bottom:8px;}
  #loading .ltext{position:relative;font-size:14px;color:var(--muted);line-height:1.8;}
  .loader-stars{position:relative;color:var(--gold);font-size:18px;letter-spacing:.3em;margin-top:18px;animation:twinkle 1.4s ease-in-out infinite;}

  /* result */
  #result{display:none;text-align:center;animation:fadein .7s ease;max-width:980px;margin:0 auto;}
  @keyframes fadein{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
  .r-date{font-size:12px;color:var(--purple);letter-spacing:.06em;}
  .r-summary{font-size:13px;color:var(--muted);margin-bottom:2px;}
  .r-card{background:rgba(255,255,255,.9);border:1px solid rgba(205,182,230,.55);border-radius:18px;padding:22px 24px;margin:14px 0;position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(130,100,160,.08);}
  .r-text{font-size:14px;color:var(--ink);text-align:left;position:relative;line-height:1.85;margin:0;}
  .stars{position:relative;display:inline-block;font-size:24px;letter-spacing:2px;line-height:1;}
  .sbg{color:#dcd2ea;}
  .sfg{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--gold);}
  .result-lead{font-family:"Shippori Mincho",serif;font-size:22px;font-weight:800;color:var(--deep);letter-spacing:.04em;margin:0 0 5px;text-align:left;position:relative;}
  .message-card{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;text-align:left;}
  .message-card .result-lead{font-size:22px;}
  .result-message{border-color:rgba(238,112,140,.5);background:linear-gradient(90deg,rgba(255,245,248,.94),rgba(255,255,255,.92));}
  .result-icon,.choice-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);}
  .result-icon{color:#e14f78;background:radial-gradient(circle at 50% 38%,#fff,#ffe9ef);}
  .choice-icon{color:var(--purple);background:radial-gradient(circle at 50% 38%,#fff,#eee4ff);}
  .score-card{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(250,245,255,.96) 55%,rgba(255,247,253,.96));border:1.5px solid rgba(200,169,106,.62);border-radius:26px;padding:34px 24px 32px;margin:18px 0 20px;box-shadow:0 15px 38px rgba(122,95,176,.16),0 0 0 1px rgba(213,190,235,.46);overflow:hidden;text-align:center;}
  .score-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(200,169,106,.42);border-radius:21px;pointer-events:none;}
  .score-card::after{content:"✦";position:absolute;right:34px;top:36px;color:var(--gold);font-size:18px;text-shadow:-850px 0 0 rgba(200,169,106,.65),-620px 160px 0 rgba(200,169,106,.6),-130px 92px 0 rgba(255,255,255,.95);}
  .score-wave{position:absolute;left:-8%;right:-8%;bottom:-64px;height:145px;border-radius:50% 50% 0 0/72% 72% 0 0;background:linear-gradient(120deg,rgba(232,213,255,.55),rgba(255,238,247,.25));transform:rotate(2deg);pointer-events:none;}
  .score-h{position:relative;font-family:"Shippori Mincho",serif;font-size:48px;font-weight:800;color:#2d1760;letter-spacing:.14em;margin:12px 0 8px;text-shadow:0 3px 12px rgba(122,95,176,.14);}
  .score-h::before,.score-h::after{content:"☾";display:inline-block;color:var(--gold);font-size:22px;margin:0 28px;vertical-align:middle;}
  .score-h::after{transform:scaleX(-1);}
  .score-sub{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;font-family:"Shippori Mincho",serif;font-size:24px;font-weight:800;color:#3f2c76;letter-spacing:.08em;margin:2px 0 20px;}
  .score-sub::before,.score-sub::after{content:"";width:116px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
  .hero-stars{position:relative;padding:8px 0 16px;}
  .hero-stars::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74%;height:120px;background:radial-gradient(ellipse at center,rgba(255,218,98,.44),rgba(255,218,98,.08) 55%,rgba(255,218,98,0) 72%);pointer-events:none;}
  .hero-stars .stars{position:relative;font-size:60px;letter-spacing:8px;line-height:1;}
  .hero-stars .sbg{color:#fff;-webkit-text-stroke:1.5px rgba(200,169,106,.6);}
  .hero-stars .sfg{color:#f2c24c;text-shadow:0 0 12px rgba(244,194,76,.75),0 2px 3px rgba(170,120,20,.4);}
  .score-copy{position:relative;font-size:15.5px;line-height:1.8;color:#3f2c76;font-weight:600;margin:8px auto 0;max-width:720px;}
  .score-bottom{position:relative;color:var(--gold);letter-spacing:.28em;font-size:16px;margin-top:18px;}
  @media(max-width:640px){.message-card{grid-template-columns:48px 1fr;gap:14px;padding:18px 16px}.result-icon,.choice-icon{width:44px;height:44px;font-size:18px}.message-card .result-lead{font-size:18px}.score-card{padding:26px 16px 24px;border-radius:22px}.score-h{font-size:32px;letter-spacing:.08em}.score-h::before,.score-h::after{font-size:17px;margin:0 10px}.score-sub{font-size:18px;gap:8px;margin-bottom:14px}.score-sub::before,.score-sub::after{width:52px}.hero-stars .stars{font-size:34px;letter-spacing:2px}.score-copy{font-size:13.5px}.score-bottom{font-size:13px;}}
  @media(max-width:480px){.hero-stars .stars{font-size:34px;letter-spacing:2px;}}
  @media(max-width:360px){.hero-stars .stars{font-size:29px;letter-spacing:1px;}}
  .cats-head{font-family:"Shippori Mincho",serif;font-size:15px;color:var(--deep);letter-spacing:.14em;margin:18px 0 8px;}
  .cats-head::before,.cats-head::after{content:"—";color:var(--gold-soft);margin:0 10px;}
  .cats{display:flex;flex-direction:column;gap:10px;margin-bottom:6px;}
  .cat{position:relative;background:rgba(255,255,255,.9);border:1px solid rgba(205,182,230,.55);border-radius:14px;padding:16px 48px 16px 18px;text-align:left;display:grid;grid-template-columns:180px 1fr;column-gap:18px;align-items:center;box-shadow:0 6px 18px rgba(130,100,160,.06);}
  .cat::after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:28px;color:var(--purple);line-height:1;}
  .cat-l{font-family:"Shippori Mincho",serif;font-size:22px;color:#1d1a64;display:flex;align-items:center;gap:12px;grid-column:1;grid-row:1;}
  .cat .ce{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;background:radial-gradient(circle at 50% 38%,#fff,#fff0f5);box-shadow:inset 0 0 0 1px rgba(238,112,140,.22);}
  .cat-s{margin:2px 0 0 58px;grid-column:1;grid-row:2;}
  .cat-s .stars{font-size:18px;}
  .cat-t{font-size:13.5px;color:var(--ink);line-height:1.75;grid-column:2;grid-row:1 / span 2;}
  @media(max-width:640px){.cat{grid-template-columns:1fr;padding:15px 42px 15px 16px}.cat-l{font-size:18px}.cat .ce{width:40px;height:40px}.cat-s{margin-left:52px}.cat-t{grid-column:1;grid-row:3;margin-top:8px;font-size:12.8px;}}
  .r-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
  .lucky{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--gold-soft);border-radius:14px;padding:14px 16px;margin:12px 0;text-align:left;}
  .psyche-card{border-color:rgba(105,88,175,.46);background:linear-gradient(135deg,rgba(247,242,255,.96),rgba(255,255,255,.94));text-align:left;}
  .psyche-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;}
  .psyche-title{font-family:"Shippori Mincho",serif;color:var(--deep);font-size:22px;font-weight:800;margin:0 0 8px;}
  .psyche-choice{display:inline-block;margin:2px 0 12px;padding:5px 11px;border:1px solid rgba(122,95,176,.22);border-radius:999px;background:rgba(255,255,255,.74);color:var(--purple);font-size:12px;font-weight:700;}
  .psyche-text{margin:0;color:var(--ink);font-size:14px;line-height:1.9;}
  .lucky-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;margin:12px 0;}
  .lucky-row .lucky{margin:0;}
  @media(max-width:480px){.lucky-row{grid-template-columns:1fr;}}
  .num-circle{width:48px;height:48px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Shippori Mincho",serif;font-weight:800;font-size:24px;color:#fff;background:radial-gradient(circle at 50% 35%,#cdb6e6,#8a5fb8);box-shadow:0 0 0 1px var(--gold-soft),0 3px 9px rgba(110,80,150,.18);}
  .lucky-sw{width:48px;height:48px;border-radius:50%;flex:none;border:2px solid #fff;box-shadow:0 0 0 1px var(--gold-soft),0 3px 9px rgba(110,80,150,.18);}
  .lucky .ll{font-size:11px;color:var(--purple);letter-spacing:.05em;}
  .lucky .ln{font-family:"Shippori Mincho",serif;font-size:20px;font-weight:700;color:var(--deep);line-height:1.3;}
  .lucky .lv{font-size:12px;color:var(--muted);}
  .match{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 6px;}
  .mcell{border-radius:14px;padding:14px 10px;text-align:center;border:1px solid var(--gold-soft);}
  .mcell .mh{font-size:11.5px;letter-spacing:.03em;margin-bottom:6px;}
  .mcell .mp{font-family:"Shippori Mincho",serif;font-size:18px;font-weight:700;color:var(--deep);line-height:1.3;}
  .mcell .ms{font-size:12px;color:var(--muted);margin-top:2px;}
  .mcell.good{background:linear-gradient(135deg,#eef7ef,#e2f1ea);border-color:#a8d8b8;}
  .mcell.good .mh{color:#4a8a5e;}
  .mcell.caut{background:linear-gradient(135deg,#f7eef2,#f3e6ec);border-color:#e0b0c4;}
  .mcell.caut .mh{color:#b06a86;}
  .match-note{font-size:11.5px;color:var(--muted);margin:0 0 14px;}
  .share-btns{display:flex;justify-content:center;}
  .sbtn{font-family:inherit;font-size:14.5px;cursor:pointer;border:none;border-radius:999px;}
  .sbtn.x{background:#111;color:#fff;}
  .sbtn.th{background:#fff;color:#111;border:1px solid #111;}
  .cross{margin-top:24px;text-align:center;font-size:13px;color:var(--muted);}
  .cross a{display:inline-block;margin:5px 7px;border-bottom:1px solid var(--gold-soft);padding-bottom:1px;}
  .disc{font-size:11px;color:var(--muted);margin-top:20px;border-top:1px solid var(--gold-line);padding-top:14px;}
  .lovely{text-align:center;font-family:"Shippori Mincho",serif;font-style:italic;color:var(--purple);font-size:18px;margin:26px 0 8px;letter-spacing:.08em;}
  .lovely::before,.lovely::after{content:"⋆ ✦ ⋆";color:var(--gold-soft);font-size:11px;margin:0 12px;vertical-align:middle;}
  footer{border-top:1px solid var(--gold-line);color:var(--muted);font-size:11.5px;padding:20px;text-align:center;}
  .seo{margin:26px 0 4px;color:var(--ink);}
  .seo h2{font-family:"Shippori Mincho",serif;font-size:18px;color:var(--deep);letter-spacing:.04em;margin:22px 0 8px;padding-left:12px;border-left:3px solid var(--gold-soft);}
  .seo p{font-size:13.5px;line-height:1.9;margin:0 0 10px;}
  .seo strong{color:var(--purple);font-weight:700;}
  .seo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px;}
  .seo-card{display:block;background:rgba(255,255,255,.72);border:1px solid var(--gold-line);border-radius:16px;padding:15px 14px;box-shadow:0 8px 20px rgba(130,100,160,.08);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease;}
  .seo-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(130,100,160,.12);}
  .seo-card b{display:block;margin-bottom:5px;font-family:"Shippori Mincho",serif;color:var(--deep);font-size:15px;}
  .seo-card span{display:block;color:var(--muted);font-size:12.5px;line-height:1.65;}
  .seo-tip{background:linear-gradient(135deg,rgba(124,95,176,.12),rgba(255,255,255,.78));border:1px solid rgba(124,95,176,.22);border-radius:16px;padding:15px 16px;margin:12px 0 18px;}
  @media(max-width:560px){.seo-grid{grid-template-columns:1fr;}}
  .seo-steps{font-size:13.5px;line-height:1.9;padding-left:1.3em;margin:0 0 10px;}
  .seo-steps li{margin-bottom:4px;}
  .faq-q{font-family:"Shippori Mincho",serif;font-weight:700;color:var(--deep);font-size:14px;margin:12px 0 2px;}
  .faq-q::before{content:"Q. ";color:var(--gold-d);}
  .faq-a{font-size:13px;color:var(--ink);line-height:1.85;margin:0 0 4px;}
  .faq-a::before{content:"A. ";color:var(--purple);font-weight:700;}
  .seo-rel{font-size:13px;margin-top:16px;}
  .seo-note{font-size:11px;color:var(--muted);margin-top:6px;}
  footer a{color:var(--purple);margin:0 6px;}

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

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