@font-face{font-family:'Cormorant Garamond';font-weight:400 600;font-display:swap;src:url('/assets/cormorant-garamond-latin.woff2') format('woff2')}
.result-experience,.generation-screen{--ink:#f3e8d2;--muted:#d5cbb8;--gold:#c69b55;--line:#b3894b66;--surface:#0c0e0c;--display:'Cormorant Garamond',Georgia,serif;background:var(--surface);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}
.result-experience{margin:0}.result-experience main{max-width:760px;padding:0 22px}.result-experience h1,.result-experience h2,.result-experience h3{font-family:var(--display);font-weight:600;overflow-wrap:normal}.result-experience h1{font-size:clamp(34px,7vw,54px);line-height:1.02;margin:0 0 18px;letter-spacing:-.02em}.result-experience h2{font-size:30px;line-height:1.1;margin:0 0 18px}.result-experience p{max-width:none}.result-experience section{padding:30px 0;border-bottom:1px solid var(--line)}.result-masthead{max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line)}.result-masthead a{display:flex;align-items:center;gap:12px;text-decoration:none;font:11px Arial;color:var(--gold)}.result-masthead button{padding:6px 10px;min-height:32px;font-size:10px}.result-experience .eyebrow{font:600 11px/1.5 var(--display);color:var(--gold);letter-spacing:.15em;margin:0 0 18px}.hero-composition{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:14px;align-items:start}.result-summary{font-size:14px;color:var(--muted);line-height:1.65;margin:0}.result-medallions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.score-medallion{position:relative;width:116px;flex:0 0 116px;height:116px}.score-medallion svg{width:100%;margin:0}.score-medallion>div{position:absolute;inset:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.score-medallion span{font-size:10px;line-height:1.3;color:var(--muted)}.score-medallion strong{font:600 34px/1.15 var(--display)}.score-medallion small{font-size:9px;color:var(--gold)}.ring-base,.ring-inner,.ring-value{fill:none}.ring-base{stroke:var(--line);stroke-width:1}.ring-inner{stroke:var(--line);stroke-width:.5}.ring-value{stroke:#f0cd86;stroke-width:2;transform:rotate(-90deg);transform-origin:70px 70px}.hero-composition.multiple{display:block}.multiple .result-medallions{margin-top:24px}.qualification{margin-top:24px;border:1px solid var(--line);padding:10px 12px;color:var(--gold);font-size:12px}.qualification p{margin:4px 0}.map-section h2{text-align:center}.paired-note,.score-note{color:var(--muted);font-size:12px}.paired-note{text-align:center;margin-bottom:20px}.result-modes{display:flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.result-modes button{flex:1;min-height:38px;padding:7px 6px;border:0;border-radius:0;font:12px Arial;color:var(--muted)}.result-modes button[aria-pressed=true]{background:#c69b5526;color:#f0cd86}.map-hit{fill:transparent;stroke:transparent;cursor:pointer}.map-hit:focus-visible,.map-hit[aria-pressed=true]{stroke:#f4dab0;stroke-width:1.5;outline:none}.result-map [data-chart-side],.result-map [data-chart-fill-side]{transition:opacity 160ms ease-out}.result-map[data-mode=sins] [data-chart-fill-side=virtue],.result-map[data-mode=virtues] [data-chart-fill-side=sin],.result-map[data-mode=sins] [data-chart-side=virtue],.result-map[data-mode=virtues] [data-chart-side=sin]{opacity:0;pointer-events:none}.node-details{border:1px solid var(--line);padding:12px 14px;font-size:12px;color:var(--muted)}.node-details strong{color:var(--ink);font-weight:normal}.node-details p{margin:5px 0}.result-experience .result-row{border:0;border-bottom:1px solid #b3894b33;border-radius:0;padding:19px 0}.result-row:last-child{border-bottom:0}.row-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.row-heading h3{font-size:26px;margin:0}.row-heading h3:before{content:'';display:inline-block;background:var(--axis-color);border:1px solid #ffffff30;width:6px;height:6px;border-radius:50%;margin-right:9px;vertical-align:middle}.row-heading p{font-size:11px;color:var(--muted);margin:4px 0}.row-heading strong{font:30px var(--display);color:var(--gold)}.result-bar{height:3px;background:#b3894b18;margin:13px 0}.result-bar i{display:block;height:100%;background:var(--axis-color)}.result-bar.empty i{background:repeating-linear-gradient(90deg,#827960 0 2px,transparent 2px 5px)}.result-row .row-state,.result-row .counts{font:11px/1.6 Arial;margin:3px 0;color:var(--muted)}.result-experience .result-paywall{padding:28px 22px;margin:28px 0;border:1px solid var(--line);background:radial-gradient(ellipse at 90% 0%,#71343826,transparent 60%),#10120f}.result-paywall h2{font-size:34px}.result-paywall p{font-size:14px;color:var(--muted)}.result-experience button.primary,.result-experience .button,.generation-screen .button{background:linear-gradient(110deg,#861f25,#63171b);border:1px solid #f0cd86;color:var(--ink);font:600 19px/1.3 var(--display);text-align:center}.result-paywall button,.result-paywall .button{width:100%}.result-paywall .terms{font-size:11px;text-align:center}.result-experience footer{font:11px/1.6 Arial;color:var(--muted)}
.generation-screen{position:fixed;inset:0;z-index:100;overflow:auto;padding:30px 24px;text-align:center}.generation-inner{max-width:460px;margin:auto}.generation-brand{font:52px/1 var(--display);color:#a94b50;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:34px}.generation-screen h2{font:600 28px/1.15 var(--display);margin:0 0 15px}.generation-screen p{font-size:13px;color:var(--muted)}.generation-screen svg{width:min(100%,360px);margin:30px auto}.generation-grid{fill:none;stroke:#b3894b44;stroke-width:.7}.generation-screen circle{fill:#d9bc85}.generation-screen text{font:10px Arial;fill:#b5a998}.generation-screen [data-stage]{transition:filter 300ms ease-out}.generation-screen [data-stage].active circle{r:4;filter:drop-shadow(0 0 3px #c69b55)}.generation-screen [data-stage].active text{fill:#bc5d66}.generation-screen [data-generation-status]{font:600 25px var(--display);color:var(--ink);margin:22px 0}.generation-screen [data-generation-error]{color:#efb7ad}.generation-screen a,.generation-screen button{margin:12px auto}.generation-screen .button{display:block}.generation-screen button{color:var(--gold);border-color:var(--gold)}
.result-map.revealing:not([data-soft-reveal]) .map-fill{animation:map-fill-in 150ms ease-out both}.result-map.revealing[data-soft-reveal] .map-fill{mask:url(#map-reveal-mask);opacity:var(--map-progress,0)}@keyframes map-fill-in{from{opacity:0}to{opacity:1}}
@media(min-width:600px){.hero-composition{grid-template-columns:1fr 155px}.score-medallion{width:150px;height:150px;flex-basis:150px}.score-medallion strong{font-size:44px}.result-summary{font-size:16px}}
@media(max-width:359px){.hero-composition{grid-template-columns:1fr 95px;gap:10px}.score-medallion{width:95px;height:95px;flex-basis:95px}.score-medallion strong{font-size:28px}.result-experience h1{font-size:31px}.score-medallion span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.result-experience *,.generation-screen *{animation:none!important;transition:none!important}}

.result-experience h1:focus{outline:none}.result-experience .result-paywall>button{background:linear-gradient(110deg,#861f25,#63171b);border-color:#f0cd86;color:var(--ink);font:600 19px/1.3 var(--display)}

.result-map[data-mode=sins] .map-label.virtue,.result-map[data-mode=virtues] .map-label.sin{fill:#78776b}

.result-map [data-node-label]{cursor:pointer}.result-map [data-node-label]:focus-visible{outline:1px solid #f0cd86;outline-offset:2px}
.result-map[data-mode=sins] .map-label.virtue tspan,.result-map[data-mode=virtues] .map-label.sin tspan{visibility:hidden}
.multiple .result-medallions{display:grid;grid-template-columns:repeat(3,minmax(0,140px));justify-content:center;gap:8px}.multiple .result-medallions:has(>.score-medallion:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,140px))}.multiple .score-medallion{width:100%;height:auto;aspect-ratio:1;min-width:0}
.result-paywall [data-payment-state=locked]>p[role=status]{display:none}

/* Mobile feedback: continuous geometry, restrained structure, distinct real nodes. */
.node-details{overflow-anchor:none}.node-details [data-node-default]{margin:0}.internal-report-link{display:block;margin:20px 0;padding:14px;border:1px solid var(--line);color:var(--gold);text-align:center}

.result-map[data-reveal=pending] .map-fill{opacity:0}

.internal-animation-replay{color:var(--gold);font-size:13px}.internal-animation-replay button{display:block;width:100%;margin:10px 0}.internal-animation-replay a{display:block;margin-top:14px}.internal-replay-mark{color:var(--gold);font-size:13px}

/* The pending cue has no score radius. Only confirmed free data forms the profile. */
.generation-screen [hidden]{display:none!important}
.generation-cue{stroke:#c3a66c;stroke-width:1;opacity:.5}
.generation-profile-fill{fill:#93614733;stroke:none;transform-origin:150px 150px}
.generation-profile-outline{fill:none;stroke:#dec38d;stroke-width:1.5}
[data-generation-nodes] circle{fill:#cfb478;stroke:#f0d9a4;stroke-width:.6;transition:fill 180ms ease-out}
[data-generation-nodes] circle.active{fill:#fae3a5}
/* Only the real contour draws. Static spokes never receive dash or geometry animation. */
.generation-screen .generation-profile-outline{stroke-dasharray:1;stroke-dashoffset:1}
.generation-screen [data-stage]{opacity:.4;transition:opacity 180ms ease-out}
.generation-screen [data-stage].complete{opacity:.7}
.generation-screen [data-stage].active{opacity:1}

/* Earlier actions reuse the single checkout form; the mobile dock is hidden without JS. */
.inline-purchase{padding:22px 0;text-align:center;border-bottom:1px solid var(--line)}
.inline-purchase button{width:100%;min-height:48px}
.inline-purchase p,.sticky-purchase p{font:12px/1.5 Arial;color:var(--muted);text-align:center;margin:8px 0 0}
.sticky-purchase{display:none}
@media(max-width:767px){
 .purchase-ready{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .purchase-ready .result-scroll{flex:1;min-height:0;overflow-y:auto;scroll-padding-bottom:16px}
 .sticky-purchase:not([hidden]){display:block;flex:none;padding:10px 22px calc(10px + env(safe-area-inset-bottom,0px));background:#10120f;border-top:1px solid var(--line)}
 .sticky-purchase button{width:100%;min-height:44px;font-size:18px!important}
 .sticky-purchase p{margin-top:4px}
}

/* Completion status, not a numeric score or progress indicator. */
.no-primary-medallion .ring-base{stroke:var(--gold)}
.no-primary-medallion>div{inset:12px}
.no-primary-medallion span{color:var(--gold)}
.no-primary-medallion strong{font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1.4}
.no-primary-medallion small{color:var(--muted);white-space:nowrap}
