:root{color-scheme:dark;--paper:#0c0c0b;--ink:#f4e8cf;--muted:#c6baa4;--red:#ae1527;--gold:#d2ab6e;--line:#6f5733}body{background:#0c0c0b url('assets/castle-ink.webp') center top/cover fixed no-repeat;color:var(--ink)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#05050575,#05050525 50%,#05050575)}.site-header{border-bottom:1px solid #b38b4a55;background:#080807a8}.brand{color:#f6e8cb}.crest{border:1px solid #d2ab6e;border-radius:50%;padding:11px;grid-template-columns:repeat(3,6px);gap:3px}.crest i{height:6px;width:6px}.entrance{min-height:760px;position:relative;gap:35px}.hero-copy{text-shadow:0 2px 12px #000}.hero-copy h1{font-size:58px;color:#fff1d7;line-height:1.55}.hero-copy em{color:#f3ddba}.hero-sub{color:#e7c28b}.hero-description{color:#e7dfcf;font-size:16px}.hero-art{background:none;border-radius:0;isolation:isolate;padding-top:0}.hero-portrait{mix-blend-mode:normal;mask-image:linear-gradient(#000 75%,transparent 100%);filter:drop-shadow(0 12px 22px #0008)}.art-halo{inset:20% 8% 7%;border-radius:50%;background:radial-gradient(circle at 45% 40%,#f8e3ba 0,#c4a47a 45%,#7b644270 70%,transparent 72%);border:none;box-shadow:0 0 65px #e4c08d25}.art-halo:before{display:none}.art-label{color:#ead4b0}.guide-sign{color:#f3dfbd;justify-content:flex-end;padding-right:40px;font-size:18px}.seal{color:#d7ad6d;border-color:#d7ad6d;outline-color:#ad875966}.primary,.copy-button{background:linear-gradient(#b32132,#720d19);border:1px solid #c89b57;border-radius:4px;box-shadow:inset 0 0 0 3px #4b0b1355,0 3px 15px #0006;color:#fff0d4}.primary:not(:disabled):hover,.copy-button:hover{background:linear-gradient(#cb293d,#951527)}.start{border-radius:3px;min-height:68px;position:relative}.start:before,.start:after{content:"◆";color:#d7ad6d;font-size:13px}.hero-meta{color:#ead5b2}.hero-meta span{border-color:#967449}.journey{background:#050505bb;border-color:#9b794a}.journey>div{border-color:#685130}.disclaimer{color:#c5baa7}.site-footer{color:#cebea4;background:#080807b5;padding-left:20px;padding-right:20px}.question-shell{background:linear-gradient(#080807eb,#080807f5);border:1px solid #a38656;border-radius:21px;box-shadow:0 20px 60px #0008;padding:32px 36px;margin-top:32px}.question-number{text-align:center;color:#e4bd7d;margin-top:28px;font-weight:600}.question-number:before,.question-number:after{content:"◇";padding:0 13px;color:#ac8245}.question-shell h1{text-align:center;color:#fff0d3}.question-hint{text-align:center;color:#dfd1b8}.companion{background:linear-gradient(110deg,#19150eb8,#080807d9);border:1px solid #9d7e4a;border-radius:4px;flex-direction:row-reverse;color:#f3e4c9}.companion img{mix-blend-mode:normal;width:80px;height:80px;border-radius:0;object-fit:contain;mask-image:linear-gradient(#000 80%,transparent)}.companion p{flex:1;font-size:16px}.companion p span{color:#d8b778}.question-shell .companion{margin-top:20px}.choice{background:linear-gradient(120deg,#25231d88,#0c0c0be8);color:#f4e7d1;border:1px solid #655c4b;border-radius:7px;box-shadow:inset 0 0 0 2px #242019;font-family:var(--serif);min-height:82px}.choice:hover{background:#30251c;border-color:#d2ab6e}.choice.selected{background:linear-gradient(120deg,#af1629,#710915);border:1px solid #edc27c;box-shadow:inset 0 0 0 3px #c9904630,0 0 16px #a3152333}.choice-letter,.choice.selected .choice-letter{color:#ebc287;font-size:24px}.choice-icon{font-size:29px;color:#dfb574;min-width:30px;text-align:center}.check{color:#efd2a0}progress,progress::-webkit-progress-bar{background:#34312b}progress::-webkit-progress-value{background:linear-gradient(90deg,#b72131,#e2aa6d)}progress::-moz-progress-bar{background:#c54443}.text-button{color:#e4c694}button:disabled{background:#27241f;color:#a59b8b;border-color:#625640}.question-nav .text-button{border:1px solid #625640;border-radius:5px;padding:12px 17px}.result-shell{max-width:790px}.result-shell>.companion{background:#080807e8}.scroll{background:#efe2c9;color:#2c2117;border-color:#ad8650;box-shadow:0 0 0 1px #cba66d,0 20px 60px #0008;background-image:radial-gradient(ellipse at 30% 40%,#fff8e280,transparent),repeating-linear-gradient(22deg,transparent 0 3px,#8d65330b 3px 4px)}.certificate-label{color:#70522b;font-size:11px}.result-symbol{margin:0 0 25px;color:#8a1724;border-color:#8e2630;outline-color:#ad7751}.result-overline{font-size:16px}.result-heading h1{font-size:31px;line-height:1.5;position:relative}.result-section{border-color:#b4a080}.result-section h2 span{color:#961b27}.result-section li::marker{color:#961b27}.action{background:#e8d7b9;border:1px solid #a88c60;box-shadow:inset 0 0 0 3px #f4e9d2}.action-label{color:#821722;font-weight:600}.action-label span{color:#6b4223}.action .small{color:#625541}.keyword-section{background:#0b0b0a;color:#f4e7cf;border:1px solid #b3925d;padding:26px 24px;margin:30px -22px -12px;box-shadow:inset 0 0 0 4px #292216}.keyword-section .eyebrow{color:#d9b77c}.keyword-section input{background:#eee0c6;border-color:#b28c52;color:#261b15;font-weight:600}.keyword-section>.small,.line-help .small{color:#cabc9e}.step-label,.step-label span{color:#e8c692}#copy-status{color:#edcb95}.line-button{background:linear-gradient(#167c31,#085524);border-color:#68af52}.line-button:not(:disabled):hover{background:linear-gradient(#248d41,#126a2e)}.line-help{border-color:#77613f}.line-help summary{color:#e8d3b1}.other-types{margin:38px 0 22px;padding:25px;background:#080807e8;border:1px solid #a98b58;border-radius:10px}.other-types h2{text-align:center;color:#f2dfb9;font-size:23px}.other-types>.small{text-align:center;color:#d0c0a6}.type-grid{display:grid;gap:14px}.type-card{min-height:115px;display:flex;align-items:center;gap:16px;background:linear-gradient(115deg,#542021,#150a0b);border:1px solid #a15d45;color:#f6e9cf;text-align:left;border-radius:6px;padding:0 18px 0 0;overflow:hidden}.type-B{background:linear-gradient(115deg,#183f58,#080e18);border-color:#547d9a}.type-C{background:linear-gradient(115deg,#21482c,#08150e);border-color:#56845e}.type-D{background:linear-gradient(115deg,#44254e,#13091b);border-color:#836092}.type-card img{width:100px;height:110px;object-fit:contain;mask-image:linear-gradient(90deg,#000 75%,transparent)}.type-card>span:nth-child(2){flex:1}.type-card strong{display:block;font:600 20px/1.6 var(--serif)}.type-card small{display:block;color:#d2c7b7;font-size:13px;margin-top:5px}.type-card>span:last-child{color:#e1b775;font-size:28px}.type-card:hover{border-color:#f1c77d;transform:translateY(-2px)}.skip-link{background:#17140f;color:#f3dfbd}@media(max-width:760px){body{background-size:auto 1500px;background-attachment:scroll;background-position:center top}.site-header{background:#050505b0;margin:0 14px;padding:18px 10px}.crest{padding:8px}.brand>span>span{font-size:19px}.entrance{padding:15px 22px 30px;gap:0;min-height:0}.kicker{order:2;font-size:11px;margin-top:12px}.hero-art{order:0;margin:0 -22px;width:calc(100% + 44px);max-width:460px;height:365px;padding-top:20px}.hero-portrait{max-height:370px;width:100%;height:370px;object-fit:contain;mask-image:linear-gradient(#000 70%,transparent 98%)}.art-halo{inset:18% 10% 5%}.guide-sign{position:absolute;right:15px;top:36px;writing-mode:vertical-rl;font-size:14px;padding:0;gap:12px}.guide-sign .seal{display:none}.hero-copy h1{order:1;font-size:clamp(30px,8.7vw,43px);text-align:left;align-self:stretch;margin-top:-30px;z-index:2;line-height:1.5;text-shadow:0 2px 7px #000,0 0 15px #000}.hero-sub{order:3;text-align:left;align-self:stretch;font-size:16px;margin-top:8px}.hero-description{order:4;text-align:left;font-size:15px;margin-top:16px}.hero-cta{order:5;margin-top:22px}.hero-meta{margin-bottom:14px}.hero-cta>.small{color:#c7b99d}.journey{background:#080807c9;padding:8px 14px}.question-shell{margin:20px 14px 30px;padding:23px 18px;border-radius:18px}.question-shell h1{font-size:25px}.question-hint{font-size:13px}.question-shell .companion{padding:10px 12px}.companion p{font-size:14px}.companion img{width:65px;height:65px}.choice{padding:16px 12px;gap:12px;font-size:16px}.choice-icon{font-size:24px;min-width:25px}.question-nav{gap:10px}.question-nav .primary{padding:13px 12px}.question-nav .text-button{padding:12px 9px;font-size:12px}.result-shell{padding:0 14px}.scroll{padding:26px 20px}.result-heading h1{font-size:27px}.certificate-label{font-size:10px}.keyword-section{padding:24px 17px;margin-left:-12px;margin-right:-12px}.other-types{padding:22px 14px}.type-card{gap:8px;padding-right:12px}.type-card strong{font-size:18px}.type-card small{font-size:12px}.type-card img{width:85px}.site-footer{background:#080807d9}.result-section h2{font-size:20px}.action-label span{color:#6b4223}}@media(prefers-reduced-motion:reduce){.type-card:hover,.primary:hover{transform:none}}
@media(max-width:760px){.result-heading h1{font-size:25px}}

/* Result header: independent flow-based text and portrait areas. */
.result-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 24px;
  align-items: center;
  text-align: left;
}
.result-copy { min-width: 0; }
.result-description { font-size: 15px; line-height: 1.9; margin-bottom: 0; overflow-wrap: anywhere; }
.result-art { min-width: 0; display: flex; align-items: center; justify-content: center; }
.result-portrait {
  display: block;
  position: static;
  width: 240px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  mask-image: linear-gradient(#000 85%, transparent);
}
@media (max-width: 760px) {
  .result-heading { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .result-art { justify-content: center; }
  .result-portrait { width: 240px; }
  .result-description { font-size: 15px; }
}

/* Top-screen readability only: background < ink veil < copy/character. */
.entrance { isolation: isolate; }
.entrance .hero-copy h1,
.entrance .hero-copy h1 em { color: #fff3dd; }
.entrance .hero-description { color: #f4ead9; }
.entrance .hero-sub { color: #f1d7aa; }
.entrance .kicker,
.entrance .hero-meta { color: #ebd2a8; }
.entrance .hero-cta > .small { color: #e1d4bf; }
@media (min-width: 761px) {
  .entrance .hero-copy { position: relative; isolation: isolate; }
  .entrance .hero-copy::before {
    content: "";
    position: absolute;
    inset: -38px -90px -38px -60px;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(7,8,8,.97) 0%, rgba(9,10,10,.94) 52%, rgba(11,12,12,.82) 73%, transparent 100%);
    filter: blur(18px);
  }
  .entrance .hero-art { z-index: 2; }
}
@media (max-width: 760px) {
  .entrance::before {
    content: "";
    position: absolute;
    inset: 330px 0 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(6,7,7,.96), rgba(9,10,10,.88) 72%, rgba(10,11,11,.72));
    mask-image: linear-gradient(180deg, transparent, #000 110px, #000 calc(100% - 25px), transparent);
  }
  .entrance .hero-art { z-index: 1; }
  .entrance .hero-copy > * { position: relative; z-index: 2; }
  .entrance .hero-description,
  .entrance .hero-sub,
  .entrance .kicker,
  .entrance .hero-cta { text-shadow: 0 2px 5px #000; }
}
