/* coretest scoped styles — auto-generated from museum theme, every selector prefixed with #ctx.
   Prevents two-way CSS leakage with global style.css (section/h1-h6/.center/body etc.). */
#ctx{text-align:left}
#ctx h1,#ctx h2,#ctx h3,#ctx h4,#ctx h5,#ctx h6,#ctx p,#ctx ul,#ctx ol,#ctx li,#ctx section,#ctx table,#ctx pre,#ctx figure{margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:left;list-style:none}
#ctx a{color:inherit;text-decoration:none}
#ctx button,#ctx input,#ctx select,#ctx textarea{font:inherit;color:inherit}
#ctx .center{text-align:left}
#ctx *,#ctx *::before,#ctx *::after{box-sizing:border-box;margin:0;padding:0}

#ctx{
 --bg:#F3EEE4;--bg2:#FBF8F1;--bg3:#ECE5D6;--paper2:#FBF8F1;
 --text:#1C1A16;--text-lt:#5A554B;--text-dim:#938C7C;
 --gold:#B0882A;--gold-lt:#C9A227;--gold-dk:#8A6A1F;
 --border:#E3DBCB;--border-lt:#D6CDB9;
 --eff:#2C3E73;--val:#B0882A;--L:#A61F24;--R:#1B284F;--sub:#6B4E8A;
 --a:#E5C13A;--b:#A61F24;--g:#1B284F;--d:#005A3E;
 --serif:'Cormorant Garamond',serif;--disp:'Cinzel',serif;--sans:'Jost',sans-serif;--mono:'Space Mono',monospace;}

#ctx{scroll-behavior:smooth}

#ctx{font-family:var(--serif);background:var(--bg);color:var(--text);line-height:1.72;font-size:16.5px;
 background-image:radial-gradient(circle at 1px 1px,rgba(28,26,22,.035) 1px,transparent 0);background-size:22px 22px}

#ctx .progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:99;width:0;transition:width .12s;font-size:0;border:0;vertical-align:baseline}

#ctx .container{max-width:760px;margin:0 auto;padding:48px 26px 150px;position:relative;z-index:1}

@media(max-width:680px){
#ctx .container{padding:28px 14px 130px}}

#ctx .ph{margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--border)}

#ctx .ph-lead{font-size:17px;line-height:1.95;color:var(--text-lt)}
#ctx .ph-lead b{color:var(--text);font-weight:500}

#ctx .gender{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:20px}

#ctx .gender .glab{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}

#ctx .gbtn{font-family:var(--sans);font-size:12px;letter-spacing:.04em;padding:8px 16px;background:transparent;border:1px solid var(--border-lt);color:var(--text-lt);cursor:pointer;border-radius:2px;transition:.15s}

#ctx .gbtn:hover{border-color:var(--gold)}

#ctx .gbtn.on{background:#1C1A16;color:#F3EEE4;border-color:#1C1A16}

#ctx .vrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}

#ctx .vlabel{font-family:var(--sans);font-size:9px;letter-spacing:.16em;color:var(--text-dim);text-transform:uppercase}

#ctx .tbtn{font-family:var(--sans);font-size:10.5px;letter-spacing:.08em;padding:6px 12px;background:transparent;border:1px solid var(--border-lt);color:var(--text-lt);cursor:pointer;border-radius:2px}

#ctx .tbtn:hover{border-color:var(--gold);color:var(--gold-dk)}

#ctx .tbtn.dev{border-color:#b9a7cd;color:var(--sub)}

#ctx .note{background:var(--bg2);padding:14px 18px;margin:14px 0;font-size:14.5px;line-height:1.85;color:var(--text-lt);border-left:2px solid var(--gold)}
#ctx .note b{color:var(--gold-dk)}

#ctx .stage-h{font-family:var(--disp);font-size:24px;font-weight:500;letter-spacing:.05em;color:var(--text);margin:34px 0 6px;padding-bottom:10px;border-bottom:1px solid var(--border)}

#ctx .stage-h small{font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--text-dim);font-style:normal;text-transform:uppercase;margin-left:10px}

#ctx .persona .pblock{margin:0 0 18px;padding:18px 20px;background:var(--bg2);border:1px solid var(--border);border-left:2px solid var(--gold);border-radius:3px}

#ctx .persona .pl{font-family:var(--disp);font-size:15px;font-weight:500;letter-spacing:.04em;color:var(--text);margin-bottom:10px}

#ctx .persona .pl code{font-family:var(--mono);font-size:10px;color:var(--text-dim);background:none;padding:0;letter-spacing:.08em}

#ctx .persona .ppos{font-family:var(--mono);font-size:10px;color:var(--sub);margin-left:4px}

#ctx .persona .pp{font-size:16px;line-height:1.95;color:var(--text-lt);margin:0 0 6px}
#ctx .persona .pp b{color:var(--text);font-weight:500}

#ctx .persona .pchem{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-lt);color:var(--text-lt)}

#ctx .persona .ck{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:4px}

#ctx .persona .core-illu,#ctx .persona .sub-illu-p{display:block;width:100%;max-width:300px;height:auto;object-fit:contain;border-radius:2px;margin:4px auto 14px;
 background:var(--paper2);padding:14px;border:1px solid var(--border-lt);box-shadow:0 14px 32px -22px rgba(28,26,22,.5)}

#ctx .card{background:var(--bg2);border:1px solid var(--border);margin-bottom:18px;padding:18px 20px;border-radius:3px}
/* ウィザードで各カード/見出しにスクロールした際、先頭(番号・見出し)が上端で切れないよう余白を確保 */
#ctx .card,#ctx .subcard,#ctx #ssecExp,#ctx #ssecVal{scroll-margin-top:72px}

#ctx .card-idx{font-family:var(--mono);font-size:11px;color:var(--text-dim);margin-bottom:14px}

#ctx .optrow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}

@media(max-width:540px){
#ctx .optrow{grid-template-columns:1fr}}

#ctx .opt{padding:12px 14px;background:var(--bg3);border:1px solid var(--border);font-size:14.5px;line-height:1.7;border-radius:2px}

#ctx .opt.L{border-left:3px solid var(--L)}
#ctx .opt.R{border-left:3px solid var(--R)}

#ctx .opt .side{font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;display:block}

#ctx .opt.L .side{color:var(--L)}
#ctx .opt.R .side{color:var(--R)}

#ctx .balrow{margin:16px 0 6px}
#ctx .bal-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}

#ctx .bal-name{font-size:13px;font-weight:500;color:var(--text)}

#ctx .bal-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:2px}

#ctx .bal-ends .lft{color:var(--L)}
#ctx .bal-ends .rgt{color:var(--R)}
#ctx .bal-ends .mid{color:var(--text-dim)}

#ctx .slider{position:relative;-webkit-appearance:none;appearance:none;width:auto;height:auto;border:0;border-radius:0;background:none;outline:none;box-shadow:none;transition:none}
#ctx .slider:hover{background:none}

#ctx input[type=range]{width:100%;height:6px;-webkit-appearance:none;appearance:none;border-radius:3px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--L),var(--bg3) 48%,var(--bg3) 52%,var(--R))}

#ctx input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#1C1A16;border:2px solid var(--bg);cursor:pointer}

#ctx input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#1C1A16;border:2px solid var(--bg);cursor:pointer}

#ctx .bal-tick{position:absolute;left:50%;top:-2px;width:1px;height:10px;background:var(--text-dim);transform:translateX(-50%);pointer-events:none}

#ctx .bal-val{font-family:var(--mono);font-size:11px;color:var(--text-dim);text-align:center;margin-top:5px}
#ctx .bal-val.set{color:var(--text-lt)}

#ctx .subcard{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--sub);margin-bottom:16px;padding:18px 20px;border-radius:3px}

#ctx .subcard .sc-idx{font-family:var(--mono);font-size:11px;color:var(--text-dim);margin-bottom:4px}

#ctx .q{margin:14px 0}
#ctx .q .qt{font-size:16px;line-height:1.75;margin-bottom:8px}

#ctx .q .qt .qkind{font-family:var(--sans);font-size:9px;letter-spacing:.14em;color:var(--gold-dk);text-transform:uppercase;margin-right:8px}

#ctx .scale{display:flex;gap:5px;flex-wrap:wrap}

#ctx .scale button{flex:1;min-width:54px;font-family:var(--sans);font-size:11px;padding:9px 4px;background:var(--bg3);border:1px solid var(--border-lt);color:var(--text-lt);cursor:pointer;border-radius:2px;line-height:1.3}

#ctx .scale button.on{background:#1C1A16;border-color:#1C1A16;color:#F3EEE4}

#ctx .scale.val button.on{background:var(--sub);border-color:var(--sub);color:#fff}

#ctx .btn{font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:#1C1A16;color:#F3EEE4;border:none;padding:13px 26px;cursor:pointer;font-weight:500;border-radius:2px}

#ctx .btn:hover{background:#33302a}
#ctx .btn:disabled{background:var(--bg3);color:var(--text-dim);cursor:not-allowed}

#ctx .btn.sub{background:var(--sub)}
#ctx .btn.sub:hover{background:#7d5e9e}

#ctx .result{background:var(--bg2);border:1px solid var(--border);margin-top:24px;display:none;border-radius:4px;box-shadow:0 24px 60px -40px rgba(28,26,22,.45)}
#ctx .result.show{display:block;animation:fade .5s ease}

@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

#ctx .result-body{padding:32px 34px}
@media(max-width:560px){
#ctx .result-body{padding:22px 16px}}

#ctx .rsub{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}

#ctx .rsec{margin:24px 0;padding-top:18px;border-top:1px solid var(--border)}

#ctx .rsec h4{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:12px}

#ctx .cand{display:grid;grid-template-columns:170px 1fr 46px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}

#ctx .cand .cn{font-family:var(--disp);font-size:14px;letter-spacing:.03em;color:var(--text)}
#ctx .cand .cn code{font-family:var(--mono);font-size:10px;color:var(--text-dim);letter-spacing:.08em}

#ctx .cand .bar{height:2px;background:var(--border-lt);position:relative;overflow:visible}
#ctx .cand .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--text)}

#ctx .cand.top .bar i{background:var(--gold);height:3px;top:-.5px}

#ctx .cand.subc .bar i{background:var(--sub)}
#ctx .cand.subc.top .bar i{background:var(--gold)}

#ctx .cand .sv{font-family:var(--mono);font-size:12px;color:var(--text-dim);text-align:right}
#ctx .cand.top .sv{color:var(--gold-dk)}

@media(max-width:540px){
#ctx .cand{grid-template-columns:120px 1fr 40px;gap:10px}
#ctx .cand .cn{font-size:13px}}

#ctx .twolayer{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
@media(max-width:540px){
#ctx .twolayer{grid-template-columns:1fr}}

#ctx .layer{padding:18px;background:var(--bg3);border:1px solid var(--border-lt);border-radius:3px}

#ctx .layer .lt{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}

#ctx .layer.core .lt{color:var(--gold-dk)}
#ctx .layer.sub .lt{color:var(--sub)}

#ctx .layer .lv{font-family:var(--disp);font-size:22px;font-weight:500;line-height:1.12;letter-spacing:.03em}
#ctx .layer .lv code{font-family:var(--mono);font-size:13px;color:var(--text-lt)}

#ctx .layer .ld{font-size:13.5px;color:var(--text-lt);margin-top:6px;line-height:1.6}

#ctx .hidden{display:none}

#ctx .hero{position:relative;width:100%;padding:6px 0 0;border:none}

#ctx .hero-inner{position:static;text-align:left;padding:0}

#ctx .hero-ey{font-family:var(--sans);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}

#ctx .hero-t{font-family:var(--disp);font-weight:500;font-size:clamp(32px,7vw,60px);line-height:1.04;letter-spacing:.04em;color:var(--text)}

#ctx .hero-sub{margin-top:14px;font-size:17px;color:var(--text-lt);font-style:italic}

#ctx .subcard img.illu.sub-illu{width:100%!important;max-width:340px;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border:none!important;display:block;margin:0 auto 10px;background:var(--paper2)}

#ctx .qglyph{display:inline-block;vertical-align:-2px}

#ctx .qbadge{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}

#ctx .persona .pl .qglyph{margin-right:8px;vertical-align:-3px}

#ctx .qlegend{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;margin-top:6px}

@media(max-width:540px){
#ctx .qlegend{grid-template-columns:repeat(2,1fr)}}

#ctx .qleg{display:flex;align-items:center;gap:9px}

#ctx .qleg .qn{font-family:var(--disp);font-size:15px;letter-spacing:.05em;line-height:1}

#ctx .qleg .qj{font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-top:2px}

#ctx .qleg .qx{display:flex;flex-direction:column}
/* intake form */

#ctx .intake{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:28px 30px;margin-top:10px}

@media(max-width:560px){
#ctx .intake{padding:20px 16px}}

#ctx .intake .if-row{margin:0 0 16px}

#ctx .intake label{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}

#ctx .intake input,#ctx .intake select{width:100%;font-family:var(--serif);font-size:15.5px;background:var(--paper2);border:1px solid var(--border-lt);border-radius:3px;padding:11px 13px;color:var(--text)}

#ctx .intake .consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--text-lt);margin-top:6px}

#ctx .intake .consent input{width:auto}
/* wizard */

#ctx .card,#ctx .subcard{display:none}

#ctx .card.wiz-active,#ctx .subcard.wiz-active{display:block;animation:wzin .34s ease}

@keyframes wzin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

#ctx .opt .illu{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:5px;margin-bottom:9px}

@media(max-width:540px){
#ctx .optrow{grid-template-columns:1fr 1fr;gap:8px}
#ctx .opt{padding:9px 9px;font-size:13px}}

#ctx .subcard .illu{display:block;width:118px;aspect-ratio:1/1;object-fit:cover;border-radius:6px;margin:2px auto 12px;border:1px solid var(--border-lt)}

#ctx .wnav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(243,238,228,.96);border-top:1px solid var(--border);backdrop-filter:blur(8px);padding:11px 14px;padding-bottom:calc(11px + env(safe-area-inset-bottom));display:none}

#ctx .wnav .inner{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:11px}

#ctx .wgauge{flex:1;height:5px;background:var(--bg3);border-radius:3px;overflow:hidden;position:relative}

#ctx .wgauge i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--gold-dk),var(--gold-lt));transition:width .3s ease;border-radius:3px}

#ctx .wgtext{font-family:var(--mono);font-size:11px;color:var(--text-dim);min-width:46px;text-align:center}

#ctx .wbtn{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border-lt);background:var(--bg2);color:var(--text-lt);padding:11px 15px;border-radius:3px;cursor:pointer;white-space:nowrap}

#ctx .wbtn:hover{border-color:var(--gold)}

#ctx .wbtn.prim{background:#1C1A16;color:#F3EEE4;border-color:#1C1A16;font-weight:500}

#ctx .wbtn.prim.sub{background:var(--sub);border-color:var(--sub);color:#fff}

#ctx .wbtn:disabled{opacity:.4;cursor:not-allowed}

#ctx .wbtn.prim:disabled{background:var(--bg3);color:var(--text-dim);border-color:var(--border-lt)}

#ctx .ct-loading{text-align:center;padding:40px 0;color:var(--text-dim);font-family:var(--mono);font-size:13px}

@media(max-width:560px){
  
#ctx .container{padding-left:11px;padding-right:11px;padding-bottom:118px}
  
#ctx .stage-h{font-size:21px;margin:18px 0 8px}
  
#ctx .card{padding:14px 12px}
  
#ctx .optrow{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
  
#ctx .opt{padding:0;background:none;border:none;font-size:14px;line-height:1.65;color:var(--text)}
  
#ctx .opt.L,#ctx .opt.R{border-left:none}
  
#ctx .opt .illu{width:100%;aspect-ratio:1/1;border-radius:8px;margin-bottom:7px;box-shadow:0 4px 14px -6px rgba(28,26,22,.4)}
  
#ctx .opt.L .illu{outline:2px solid var(--L);outline-offset:-2px}
  
#ctx .opt.R .illu{outline:2px solid var(--R);outline-offset:-2px}
  
#ctx input[type=range]{height:9px}
  
#ctx input[type=range]::-webkit-slider-thumb{width:28px;height:28px}
  
#ctx input[type=range]::-moz-range-thumb{width:28px;height:28px}
  
#ctx .subcard .illu{width:170px;aspect-ratio:1/1}
  
#ctx .scale button{font-size:13.5px;padding:13px 5px;min-width:62px}
  
#ctx .wbtn{padding:13px 15px;font-size:13px}
  
#ctx .persona .core-illu,#ctx .persona .sub-illu-p{max-width:240px}
}

/* --- manual overrides --- */
/* ヒーロー画像（スタート画面） */
#ctx .hero-img{display:block;width:100%;max-width:560px;height:auto;margin:0 auto 22px;border-radius:4px;background:var(--paper2);box-shadow:0 18px 40px -28px rgba(28,26,22,.55)}
#ctx .hero{padding-top:8px}
@media(max-width:560px){#ctx .hero-img{max-width:100%;margin-bottom:16px}}
/* Le Portrait のタイプ画像（コア/サブ・性別連動） */
#ctx .layer-illu{display:block;width:100%;max-width:280px;height:auto;margin:4px auto 14px;border-radius:3px;background:var(--paper2);padding:10px;border:1px solid var(--border-lt);box-shadow:0 12px 30px -20px rgba(28,26,22,.5)}
@media(max-width:540px){#ctx .layer-illu{max-width:220px}}
/* タイプ解説ページへのリンク（結果の最下部） */
#ctx .ct-typelinks{display:flex;flex-direction:column;gap:10px}
#ctx .ct-typelink{display:block;text-align:center;font-family:var(--sans);font-size:13.5px;letter-spacing:.04em;padding:15px 18px;background:#1C1A16;color:#F3EEE4;border-radius:3px;text-decoration:none;transition:.15s}
#ctx .ct-typelink:hover{background:#33302a}
#ctx .ct-typelink.sub{background:var(--sub)}#ctx .ct-typelink.sub:hover{background:#7d5e9e}
#ctx .ct-typelink .ctl-k{display:inline-block;font-size:9px;letter-spacing:.18em;opacity:.7;margin-right:10px;vertical-align:1px}
/* 結果のシェアボタン */
#ctx .ct-share{display:flex;gap:8px;flex-wrap:wrap}
#ctx .ct-sh{flex:1;min-width:84px;text-align:center;font-family:var(--sans);font-size:12.5px;letter-spacing:.04em;padding:12px 10px;border:none;border-radius:3px;cursor:pointer;text-decoration:none;color:#fff;transition:.15s}
#ctx .ct-sh.x{background:#111}
#ctx .ct-sh.line{background:#06C755}
#ctx .ct-sh.fb{background:#1877F2}
#ctx .ct-sh.copy{background:var(--gold-dk)}
#ctx .ct-sh:hover{opacity:.85}
#ctx .ct-share-url{margin-top:10px}
#ctx .ct-share-url input{width:100%;font-family:var(--mono);font-size:12px;padding:10px 12px;border:1px solid var(--border-lt);border-radius:3px;background:var(--paper2);color:var(--text-lt)}
