:root{
    --deep:#17182f; --purple:#563882; --purple-2:#7c61a8; --rose:#8f5a7b;
    --paper:#fffaf3; --paper-2:#f7ede4; --card:rgba(255,253,249,.94);
    --gold:#c6a165; --gold-d:#9f7037; --gold-soft:rgba(198,161,101,.58); --gold-line:rgba(198,161,101,.34);
    --ink:#2b2636; --muted:#746a79;
    --el-wood:#6fae6b; --el-fire:#d56a52; --el-earth:#d4af5a; --el-metal:#a8a8b4; --el-water:#5b82b8;
  }
  *{box-sizing:border-box;}
  body{margin:0;color:var(--ink);font-family:"Zen Maru Gothic",sans-serif;line-height:1.85;
    background:
      radial-gradient(circle at 50% -12%,rgba(255,255,255,.96) 0%,rgba(255,255,255,.6) 27%,rgba(255,255,255,0) 54%),
      radial-gradient(circle at 9% 16%,rgba(198,161,101,.17) 0%,rgba(198,161,101,0) 24%),
      radial-gradient(circle at 91% 13%,rgba(124,97,168,.13) 0%,rgba(124,97,168,0) 25%),
      linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 51%,#fffaf5 100%);
    min-height:100vh;}
  a{color:var(--purple);}
  h1,h2,h3{font-family:"Shippori Mincho",serif;line-height:1.4;font-weight:700;}
  .page{position:relative;overflow:hidden;min-height:100vh;}
  .page::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
    background-image:
      radial-gradient(circle at 1px 1px,rgba(198,161,101,.18) 1px,transparent 0),
      linear-gradient(90deg,rgba(86,56,130,.035) 1px,transparent 1px);
    background-size:28px 28px,96px 96px;}
  .deco{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;color:var(--gold);}
  .deco svg{position:absolute;overflow:visible;}
  .deco .sun-face{top:-54px;left:-56px;width:230px;height:230px;opacity:.5;}
  .deco .moon-face{top:-28px;right:-34px;width:188px;height:188px;opacity:.52;}
  .deco .center-crescent{top:28px;left:50%;width:76px;height:76px;transform:translateX(-50%);opacity:.66;}
  .deco .starfield{top:0;left:0;width:100%;height:640px;opacity:.72;}
  .deco .hanging.left{top:130px;left:22px;width:54px;height:300px;opacity:.52;}
  .deco .hanging.right{top:118px;right:28px;width:64px;height:330px;opacity:.52;}
  .content{position:relative;z-index:2;}

  .topbar{background:rgba(255,250,243,.76);backdrop-filter:blur(8px);color:var(--deep);padding:13px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(198,161,101,.28);}
  .topbar .brand{font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:0;color:var(--deep);}
  .topbar nav a{color:var(--purple);font-size:12px;margin-left:14px;text-decoration:none;border-bottom:1px solid transparent;}
  .topbar nav a:hover{border-color:var(--gold-soft);}

  .hero{text-align:center;padding:42px 20px 24px;position:relative;max-width:1040px;margin:0 auto;}
  .hero .kicker{font-family:"Shippori Mincho",serif;font-size:14px;color:var(--gold-d);display:flex;align-items:center;justify-content:center;gap:14px;letter-spacing:0;}
  .hero .kicker::before,.hero .kicker::after{content:"";display:block;width:116px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
  .hero h1{font-size:clamp(38px,6.4vw,70px);margin:14px 0 8px;color:var(--deep);font-weight:800;letter-spacing:0;text-shadow:0 4px 18px rgba(255,255,255,.82);}
  .hero h1 .g{background:linear-gradient(180deg,#cba468 0%,#8d632d 96%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#8d632d;-webkit-text-stroke:.35px rgba(118,78,24,.35);}
  .hero .sub{font-size:16px;color:#383245;}
  .feats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px 0 18px;}
  .feat{background:rgba(255,253,249,.82);border:1px solid var(--gold-soft);border-radius:999px;padding:7px 16px;font-size:12.5px;color:var(--purple);display:flex;align-items:center;gap:6px;font-weight:500;box-shadow:0 8px 22px rgba(118,86,46,.08);}
  .feat .ic{color:var(--gold-d);}
  .cta-banner{display:flex;align-items:center;justify-content:center;gap:10px;max-width:500px;margin:0 auto;
    background:linear-gradient(95deg,#4a2d71 0%,#6f4e97 64%,#4a2d71 100%);border:2px solid rgba(198,161,101,.72);border-radius:999px;
    padding:13px 24px;color:#fffaf3;font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:0;text-decoration:none;box-shadow:0 12px 28px rgba(86,56,130,.24),inset 0 0 0 1px rgba(255,255,255,.16);}
  .cta-banner .star{color:#f3dca0;}
  .wrap > .cta-banner{margin:18px auto 0;}
  .wrap > .cta-banner.sub{margin-top:12px;background:linear-gradient(95deg,#7c61a8 0%,#9a72b2 58%,#7c61a8 100%);font-size:14px;}

  .wrap{max-width:1040px;margin:0 auto;padding:16px 22px 64px;}

  .intro-card{background:rgba(255,253,249,.9);border:1px solid var(--gold-soft);border-radius:24px;padding:26px 26px 24px;margin:24px 0 18px;position:relative;overflow:hidden;box-shadow:0 14px 36px rgba(102,73,44,.1);}
  .intro-card::before{content:"";position:absolute;inset:9px;border:1px solid rgba(198,161,101,.2);border-radius:18px;pointer-events:none;}
  .intro-card::after{content:"☾";position:absolute;right:24px;top:-24px;font-family:"Shippori Mincho",serif;font-size:92px;color:rgba(124,97,168,.1);line-height:1;}
  .intro-head{display:flex;align-items:center;gap:14px;justify-content:center;text-align:left;position:relative;z-index:1;}
  .intro-mark{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#9376bf,#563882 72%);color:#fff;font-family:"Shippori Mincho",serif;font-size:25px;box-shadow:0 9px 20px rgba(86,56,130,.2);flex:none;}
  .intro-main{position:relative;z-index:1;}
  .intro-kicker{margin:0 0 2px;color:var(--gold-d);font-family:"Shippori Mincho",serif;font-size:13px;}
  .intro-main h2{margin:0;color:var(--deep);font-size:24px;letter-spacing:0;}
  .intro-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 14px;position:relative;z-index:1;}
  .flow-card{min-height:142px;background:rgba(255,255,255,.7);border:1px solid var(--gold-line);border-radius:18px;padding:16px 14px;text-align:center;position:relative;box-shadow:0 8px 22px rgba(102,73,44,.07);}
  .flow-card:not(:last-child)::after{content:"›";position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-family:"Shippori Mincho",serif;font-size:28px;color:var(--gold-d);z-index:2;}
  .flow-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;background:radial-gradient(circle at 50% 38%,#fff7de,#d1a55a 72%);color:#7d5a28;font-family:"Shippori Mincho",serif;font-size:18px;box-shadow:0 8px 18px rgba(198,161,101,.14);}
  .flow-card:nth-child(2) .flow-icon,.flow-card:nth-child(4) .flow-icon{background:radial-gradient(circle at 50% 38%,#f5edff,#8a6bbb 72%);color:#fff;}
  .flow-card b{display:block;font-family:"Shippori Mincho",serif;font-size:18px;color:var(--deep);letter-spacing:0;}
  .flow-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55;}
  .element-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;position:relative;z-index:1;}
  .element-strip span{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--gold-line);border-radius:999px;background:rgba(255,255,255,.62);padding:8px 6px;font-size:12px;color:var(--muted);}
  .element-dot{width:13px;height:13px;border-radius:50%;display:inline-block;flex:none;}
  .intro-more{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px 18px;border:1px solid rgba(124,97,168,.3);border-radius:16px;background:linear-gradient(90deg,rgba(124,97,168,.12),rgba(255,255,255,.68));text-decoration:none;color:var(--deep);position:relative;z-index:1;}
  .intro-more b{font-family:"Shippori Mincho",serif;color:var(--purple);font-size:16px;}
  .intro-more small{display:block;color:var(--muted);font-size:12px;line-height:1.5;}
  .intro-more .arr{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8165b6,#563882);color:#fff;flex:none;}

  .card{background:var(--card);border:1px solid var(--gold-soft);border-radius:28px;padding:32px 30px;position:relative;box-shadow:0 18px 46px rgba(102,73,44,.12),0 8px 24px rgba(86,56,130,.1);}
  .card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(198,161,101,.24);border-radius:22px;pointer-events:none;}
  .corner{position:absolute;width:34px;height:34px;opacity:.9;z-index:1;}
  .corner.tl{top:12px;left:12px;}.corner.tr{top:12px;right:12px;transform:scaleX(-1);}
  .corner.bl{bottom:12px;left:12px;transform:scaleY(-1);}.corner.br{bottom:12px;right:12px;transform:scale(-1,-1);}

  .person{margin:4px 0 6px;position:relative;z-index:1;}
  .person-head{display:flex;align-items:center;gap:14px;margin:6px 0 18px;}
  .emblem{width:54px;height:54px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 9px 20px rgba(90,60,130,.18);}
  .emblem.sun{background:radial-gradient(circle at 50% 40%,#fff7d9 0%,#d1a55a 72%);border:1px solid rgba(160,112,55,.3);}
  .emblem.moon{background:radial-gradient(circle at 50% 40%,#f6f0ff 0%,#8669bd 72%);border:1px solid rgba(86,56,130,.28);}
  .person-head h3{font-size:22px;margin:0;color:var(--deep);}
  .field{display:flex;align-items:center;gap:12px;margin:12px 0;}
  .field > label{font-size:13.5px;color:var(--muted);width:68px;flex:none;}
  .inwrap{flex:1;position:relative;display:flex;align-items:center;}
  .inwrap input{width:100%;font-family:inherit;font-size:15px;padding:12px 40px 12px 15px;border:1px solid rgba(198,161,101,.52);border-radius:14px;background:rgba(255,255,255,.9);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.86);}
  .inwrap input:focus,.sel:focus{outline:2px solid rgba(124,97,168,.22);border-color:rgba(124,97,168,.56);}
  .inwrap .ric{position:absolute;right:12px;color:var(--gold-d);opacity:.72;}
  .date-row{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .sel{font-family:inherit;font-size:14px;padding:10px 9px;border:1px solid rgba(198,161,101,.52);border-radius:13px;background:rgba(255,255,255,.9);color:var(--ink);}
  #a-y,#b-y{flex:1;min-width:92px;}
  .cal-toggle{display:inline-flex;border:1px solid rgba(198,161,101,.52);border-radius:13px;overflow:hidden;background:rgba(255,255,255,.54);}
  .cal-btn{font-family:inherit;font-size:12.5px;padding:9px 12px;border:none;background:transparent;color:var(--muted);cursor:pointer;}
  .cal-btn.active{color:#fff;}
  .cal-toggle[data-person="a"] .cal-btn.active{background:linear-gradient(135deg,#c9a15f,#a07037);}
  .cal-toggle[data-person="b"] .cal-btn.active{background:linear-gradient(135deg,#8165b6,#563882);}
  .divider{display:flex;align-items:center;justify-content:center;margin:22px 0;color:var(--gold-soft);position:relative;z-index:1;}
  .divider svg{width:42px;height:22px;}
  .hint{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.68);border:1px solid var(--gold-line);border-radius:16px;padding:12px 16px;font-size:12.5px;color:var(--muted);margin:18px 0 4px;position:relative;z-index:1;}
  .hint .ic{color:var(--gold-d);}
  .go{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:16px;padding:17px 22px;border:2px solid rgba(198,161,101,.72);border-radius:999px;
    background:linear-gradient(95deg,#4c2f73 0%,#73509c 58%,#4c2f73 100%);color:#fff;font-family:"Shippori Mincho",serif;font-size:18px;letter-spacing:0;cursor:pointer;box-shadow:0 14px 30px rgba(86,56,130,.25),inset 0 0 0 1px rgba(255,255,255,.16);position:relative;z-index:1;}
  .go:active{transform:translateY(1px);}
  .go .star{color:#f3dca0;}
  @media (min-width:820px){
    .card{display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);column-gap:22px;align-items:start;}
    .card .person:first-of-type{grid-column:1;}
    .card .divider{grid-column:2;grid-row:1;margin:82px 0 0;}
    .card .divider svg{transform:rotate(90deg);}
    .card .divider + .person{grid-column:3;}
    .card .hint,.card .go{grid-column:1/-1;}
  }

  /* result */
  #result{display:none;margin-top:18px;}
  .sec-title{text-align:center;font-size:clamp(24px,3.4vw,34px);color:var(--deep);margin:38px 0 20px;position:relative;display:flex;align-items:center;justify-content:center;gap:16px;letter-spacing:0;}
  .sec-title::before,.sec-title::after{content:"";display:block;width:118px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
  .mei-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .mei-card{background:rgba(255,253,249,.96);border:1px solid var(--gold-soft);border-radius:24px;padding:28px 26px 26px;text-align:center;position:relative;overflow:hidden;box-shadow:0 16px 40px rgba(102,73,44,.11),0 6px 18px rgba(86,56,130,.09);}
  .mei-card::before{content:"";position:absolute;top:26px;left:28px;width:58px;height:58px;border-radius:50%;border:1px dashed rgba(198,161,101,.64);background:radial-gradient(circle at 50% 50%,rgba(198,161,101,.25) 0 28%,transparent 30%);}
  .mei-card::after{content:"";position:absolute;inset:10px;border:1px solid rgba(198,161,101,.22);border-radius:18px;pointer-events:none;}
  .mei-card:nth-child(2){border-color:rgba(124,97,168,.38);}
  .mei-card:nth-child(2)::before{border-color:rgba(124,97,168,.54);background:radial-gradient(circle at 58% 50%,transparent 0 24%,rgba(124,97,168,.22) 25% 42%,transparent 43%);}
  .mei-card .nm{min-height:64px;margin-left:72px;text-align:left;font-family:"Shippori Mincho",serif;font-size:22px;color:var(--gold-d);display:flex;flex-direction:column;justify-content:center;letter-spacing:0;}
  .mei-card:nth-child(2) .nm{color:var(--purple);}
  .mei-card .nm .name{font-family:"Zen Maru Gothic",sans-serif;font-size:12px;color:var(--muted);margin-top:1px;}
  .mei-card .kan{font-family:"Shippori Mincho",serif;font-size:clamp(48px,5.8vw,68px);color:#17182f;margin:10px 0 0;font-weight:800;letter-spacing:0;}
  .mei-card .yomi{font-size:13px;color:var(--ink);letter-spacing:0;}
  .mei-card .elb{display:inline-block;margin-top:13px;font-size:13px;padding:3px 18px;border-radius:999px;color:#fff;box-shadow:0 4px 12px rgba(43,38,54,.12);}
  .gobar{display:flex;height:10px;border-radius:7px;overflow:hidden;margin:20px 4px 5px;border:1px solid var(--gold-line);background:#eee8df;}
  .gobar span{display:block;height:100%;}
  .golabel{font-size:12px;color:var(--ink);display:flex;justify-content:space-between;padding:0 2px;}
  .mei-card .essence{font-size:14px;color:var(--ink);margin-top:16px;line-height:1.8;text-align:left;}
  .mei-note{background:rgba(255,255,255,.7);border:1px solid var(--gold-line);border-radius:16px;padding:14px 18px;font-size:13px;color:var(--muted);margin:18px 0 6px;display:flex;gap:10px;align-items:flex-start;}
  .mei-note .ic{color:var(--gold-d);flex:none;}

  .score-wrap{text-align:center;position:relative;padding:58px 24px 34px;margin:26px 0 22px;background:rgba(255,253,249,.95);border:1px solid rgba(198,161,101,.42);border-radius:28px;overflow:hidden;box-shadow:0 18px 44px rgba(102,73,44,.11);}
  .score-wrap::before,.score-wrap::after{position:absolute;top:40px;width:172px;height:124px;border:1px solid rgba(198,161,101,.24);border-radius:50%;opacity:.48;display:flex;align-items:center;justify-content:center;font-family:"Shippori Mincho",serif;font-size:76px;line-height:1;}
  .score-wrap::before{content:"☼";left:42px;color:rgba(198,161,101,.44);transform:rotate(-18deg);}
  .score-wrap::after{content:"☾";right:42px;color:rgba(124,97,168,.34);transform:rotate(18deg);}
  .score-rings{position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);width:360px;height:260px;opacity:.7;z-index:0;}
  .score{font-family:"Shippori Mincho",serif;font-size:clamp(84px,11vw,128px);font-weight:800;line-height:1;
    background:linear-gradient(135deg,#4d2e79 0%,#7c61a8 52%,#9f7037 100%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;z-index:1;letter-spacing:0;}
  .score small{font-size:28px;color:var(--gold-d);-webkit-text-fill-color:var(--gold-d);}
  .score-band{font-family:"Shippori Mincho",serif;font-size:22px;color:var(--purple);letter-spacing:0;margin-top:8px;position:relative;z-index:1;}
  .dyn{display:flex;gap:14px;justify-content:center;margin:18px 0 22px;flex-wrap:wrap;}
  .dyn .pill{display:flex;align-items:center;gap:9px;font-size:14px;padding:10px 18px;border-radius:14px;border:1px solid var(--gold-soft);background:rgba(255,253,249,.86);color:var(--ink);box-shadow:0 8px 22px rgba(102,73,44,.08);}
  .dyn .pill .em2{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
  .read-block{background:rgba(255,253,249,.93);border:1px solid var(--gold-soft);border-radius:18px;padding:18px 20px;margin:14px 0;box-shadow:0 10px 26px rgba(102,73,44,.09);}
  .read-block.feature{border:1.5px solid rgba(124,97,168,.36);background:linear-gradient(90deg,rgba(124,97,168,.12),rgba(255,253,249,.96) 44%,rgba(255,253,249,.96));display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;}
  .read-block.feature .rb-head{margin-bottom:0;}
  .rb-head{display:flex;align-items:center;gap:12px;margin-bottom:7px;}
  .rb-head .em3{width:48px;height:48px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#8e6fc0,#4d2e79 72%);box-shadow:0 8px 18px rgba(86,56,130,.22);}
  .rb-head h4{margin:0;font-size:19px;color:var(--purple);font-family:"Shippori Mincho",serif;}
  .read-block p{margin:0;font-size:14.5px;color:var(--ink);}

  .cta2{background:rgba(255,253,249,.92);color:var(--ink);border-radius:22px;padding:28px 22px;text-align:center;margin:30px 0;border:1px solid var(--gold-soft);box-shadow:0 14px 34px rgba(102,73,44,.1);}
  .cta2 h3{margin:0 0 7px;color:var(--deep);font-size:21px;font-family:"Shippori Mincho",serif;}
  .cta2 p{margin:0 auto 18px;font-size:13.5px;color:var(--muted);max-width:650px;}
  .cta2 a.btn{display:inline-flex;align-items:center;justify-content:center;min-width:260px;background:linear-gradient(95deg,#4c2f73 0%,#73509c 58%,#4c2f73 100%);color:#fff;font-family:"Shippori Mincho",serif;font-weight:700;letter-spacing:0;padding:14px 30px;border-radius:999px;text-decoration:none;border:2px solid rgba(198,161,101,.72);box-shadow:0 12px 28px rgba(86,56,130,.22);}
  .result-guide{background:rgba(255,253,249,.92);border:1px solid var(--gold-soft);border-radius:22px;padding:24px 22px;margin:22px 0;box-shadow:0 12px 32px rgba(102,73,44,.09);}
  .result-guide h3{font-family:"Shippori Mincho",serif;color:var(--deep);font-size:21px;margin:0 0 8px;text-align:center;}
  .result-guide p{font-size:13.5px;color:var(--muted);text-align:center;margin:0 auto 16px;max-width:720px;}
  .result-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .result-guide-grid a{display:block;background:rgba(255,255,255,.72);border:1px solid var(--gold-line);border-radius:16px;padding:15px 14px;text-decoration:none;color:var(--ink);}
  .result-guide-grid b{display:block;font-family:"Shippori Mincho",serif;color:var(--purple);font-size:16px;margin-bottom:4px;}
  .result-guide-grid span{display:block;color:var(--muted);font-size:12.5px;line-height:1.6;}
  @media(max-width:640px){.result-guide-grid{grid-template-columns:1fr;}}
  .disclaimer{font-size:11.5px;color:var(--muted);border-top:1px solid var(--gold-soft);padding-top:14px;margin-top:24px;}
  .share{text-align:center;margin:28px 0 6px;}
  .share-label{font-family:"Shippori Mincho",serif;font-size:15px;color:var(--deep);margin-bottom:10px;letter-spacing:0;}
  .share-label::before,.share-label::after{content:"";display:inline-block;width:38px;height:1px;background:var(--gold-soft);vertical-align:middle;margin:0 10px;}
  .share-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
  .sbtn{font-family:inherit;font-size:13px;padding:9px 16px;border-radius:999px;border:none;color:#fff;cursor:pointer;}
  .sbtn.native{background:linear-gradient(135deg,#8165b6,#563882);}
  .sbtn.x{background:#111;}
  .sbtn.th{background:#fff;color:#111;border:1px solid #111;}
  .sbtn.line{background:#06c755;}
  .sbtn.fb{background:#1877f2;}
  .sbtn.copy{background:#fff;color:var(--purple);border:1px solid var(--gold-soft);}
  .sbtn:active{transform:translateY(1px);}
  footer{background:rgba(255,250,243,.74);color:var(--muted);font-size:12px;padding:24px 20px;text-align:center;border-top:1px solid rgba(198,161,101,.28);}
  footer a{color:var(--purple);margin:0 7px;text-decoration:none;}

  @media (max-width:760px){
    .topbar{padding:12px 16px;align-items:flex-start;gap:8px;flex-direction:column;}
    .topbar nav a{margin-left:0;margin-right:12px;}
    .hero{padding:34px 16px 20px;}
    .hero .kicker::before,.hero .kicker::after{width:54px;}
    .hero .sub{font-size:14px;}
    .wrap{max-width:560px;padding:12px 16px 56px;}
    .intro-card{padding:22px 20px;margin:20px 0 16px;}
    .intro-head{justify-content:flex-start;}
    .intro-mark{width:46px;height:46px;font-size:22px;}
    .intro-main h2{font-size:21px;}
    .intro-flow{grid-template-columns:1fr 1fr;gap:10px;}
    .flow-card{min-height:132px;padding:15px 12px;}
    .flow-card:not(:last-child)::after{display:none;}
    .element-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
    .element-strip span{font-size:11px;padding:7px 3px;flex-direction:column;gap:3px;}
    .intro-more{align-items:center;padding:13px 14px;}
    .card{padding:26px 20px;border-radius:24px;}
    .field{align-items:flex-start;flex-direction:column;gap:6px;}
    .field > label{width:auto;}
    .inwrap,.date-row{width:100%;}
    .mei-row{grid-template-columns:1fr;gap:18px;}
    .mei-card{padding:24px 20px 22px;}
    .sec-title{gap:10px;}
    .sec-title::before,.sec-title::after{width:46px;}
    .score-wrap{padding:44px 16px 28px;}
    .score-wrap::before,.score-wrap::after{display:none;}
    .read-block.feature{grid-template-columns:1fr;}
    .deco .sun-face{width:170px;height:170px;left:-58px;}
    .deco .moon-face{width:150px;height:150px;right:-48px;}
    .deco .hanging.left,.deco .hanging.right{display:none;}
  }

.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 #4a9d6e44;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:#4a9d6e;border-bottom:1px solid #4a9d6e44;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:#4a9d6e;margin-bottom:2px}
  .tcs-axes dd{margin:0;color:#6f687e}
  .tcs-item{border:1px solid #4a9d6e44;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:#4a9d6e;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:#4a9d6e;border:1px solid currentColor;border-radius:999px;padding:2px 10px}
  .tcs-note{color:#6f687e;font-size:.86rem;border-top:1px dashed #4a9d6e44;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}
