:root {
  --rn-sk-forest: #23443a;
  --rn-sk-forest-2: #315f50;
  --rn-sk-sage: #9fb7a8;
  --rn-sk-mist: #edf3ef;
  --rn-sk-sand: #f1e7d7;
  --rn-sk-clay: #b8836c;
  --rn-sk-ink: #20322d;
  --rn-sk-muted: #61736c;
  --rn-sk-white: #fff;
  --rn-sk-radius-xl: 32px;
  --rn-sk-radius-lg: 22px;
  --rn-sk-shadow: 0 24px 70px rgba(35, 68, 58, .13);
}

.rn-sk { width: 100%; color: var(--rn-sk-ink); font-family: inherit; }
.rn-sk * { box-sizing: border-box; }
.rn-sk button, .rn-sk a { font: inherit; }
.rn-sk__shell { position: relative; overflow: hidden; max-width: 1240px; margin: 0 auto; padding: clamp(28px, 5vw, 68px); border-radius: var(--rn-sk-radius-xl); background: linear-gradient(145deg, #f7faf8 0%, #edf3ef 52%, #f4eadc 100%); box-shadow: var(--rn-sk-shadow); isolation: isolate; }
.rn-sk__ambient { position: absolute; border-radius: 999px; filter: blur(2px); opacity: .6; z-index: -1; }
.rn-sk__ambient--one { width: 360px; height: 360px; right: -90px; top: -120px; background: radial-gradient(circle, rgba(99,139,119,.42), rgba(99,139,119,0)); }
.rn-sk__ambient--two { width: 420px; height: 420px; left: -150px; bottom: -180px; background: radial-gradient(circle, rgba(205,163,132,.42), rgba(205,163,132,0)); }
.rn-sk__header { max-width: 760px; }
.rn-sk__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--rn-sk-forest-2); font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rn-sk__eyebrow::before { content: ''; width: 24px; height: 1px; background: currentColor; }
.rn-sk h1, .rn-sk h2, .rn-sk h3 { margin: 0; color: var(--rn-sk-forest); line-height: 1.12; }
.rn-sk h1 { font-size: clamp(2.1rem, 5vw, 4.45rem); letter-spacing: -.04em; }
.rn-sk__header > p { margin: 20px 0 0; max-width: 720px; color: var(--rn-sk-muted); font-size: clamp(1rem, 1.8vw, 1.2rem); line-height: 1.75; }
.rn-sk__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.rn-sk__meta span { padding: 8px 13px; border: 1px solid rgba(49,95,80,.15); border-radius: 999px; background: rgba(255,255,255,.58); color: var(--rn-sk-forest-2); font-size: .86rem; }
.rn-sk__progress { margin: 36px 0 28px; }
.rn-sk__progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(35,68,58,.1); }
.rn-sk__progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--rn-sk-forest-2), #7ea28d); transition: width .35s ease; }
.rn-sk__progress-label { display: block; margin-top: 8px; color: var(--rn-sk-muted); font-size: .82rem; }
.rn-sk__stage { display: none; }
.rn-sk__stage.is-active { display: block; animation: rnSkFade .42s ease; }
@keyframes rnSkFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rn-sk__intro-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(260px,.85fr); gap: clamp(28px,5vw,72px); align-items: center; padding: clamp(24px,4vw,48px); border-radius: var(--rn-sk-radius-lg); background: rgba(255,255,255,.68); border: 1px solid rgba(255,255,255,.8); backdrop-filter: blur(12px); }
.rn-sk__intro-copy h2 { font-size: clamp(1.75rem,3vw,2.55rem); }
.rn-sk__intro-copy p { margin: 18px 0 26px; color: var(--rn-sk-muted); line-height: 1.75; }
.rn-sk__button { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 20px; border: 0; border-radius: 999px; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.rn-sk__button:hover { transform: translateY(-2px); }
.rn-sk__button:focus-visible { outline: 3px solid rgba(49,95,80,.25); outline-offset: 3px; }
.rn-sk__button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.rn-sk__button--primary { background: var(--rn-sk-forest); color: white; box-shadow: 0 12px 28px rgba(35,68,58,.22); }
.rn-sk__button--ghost { background: rgba(255,255,255,.66); color: var(--rn-sk-forest); border: 1px solid rgba(35,68,58,.15); }
.rn-sk__button--soft { background: var(--rn-sk-sand); color: var(--rn-sk-forest); }
.rn-sk__compass-preview { position: relative; width: min(100%, 350px); aspect-ratio: 1; margin: auto; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.92) 0 20%, rgba(255,255,255,.36) 21% 56%, rgba(49,95,80,.08) 57% 100%); box-shadow: inset 0 0 0 1px rgba(35,68,58,.11), 0 22px 55px rgba(35,68,58,.12); }
.rn-sk__rings, .rn-sk__rings::before, .rn-sk__rings::after { position: absolute; inset: 18%; border: 1px solid rgba(35,68,58,.12); border-radius: 50%; content: ''; }
.rn-sk__rings::before { inset: -36%; }
.rn-sk__rings::after { inset: 36%; }
.rn-sk__needle { position: absolute; width: 2px; height: 36%; left: 50%; top: 14%; transform-origin: 50% 100%; transform: rotate(26deg); background: linear-gradient(var(--rn-sk-clay), transparent); animation: rnSkNeedle 5s ease-in-out infinite alternate; }
@keyframes rnSkNeedle { to { transform: rotate(-34deg); } }
.rn-sk__center-dot { position: absolute; width: 18px; height: 18px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: var(--rn-sk-forest); box-shadow: 0 0 0 10px rgba(35,68,58,.1); }
.rn-sk__axis { position: absolute; color: var(--rn-sk-forest); font-size: .78rem; font-weight: 700; }
.rn-sk__axis--top { left: 50%; top: 7%; transform: translateX(-50%); }
.rn-sk__axis--right { right: 3%; top: 50%; transform: translateY(-50%); }
.rn-sk__axis--bottom { left: 50%; bottom: 7%; transform: translateX(-50%); }
.rn-sk__axis--left { left: 3%; top: 50%; transform: translateY(-50%); }
.rn-sk__question-wrap { padding: clamp(24px,4vw,48px); border-radius: var(--rn-sk-radius-lg); background: rgba(255,255,255,.74); box-shadow: inset 0 0 0 1px rgba(255,255,255,.82); }
.rn-sk__question-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--rn-sk-forest-2); font-size: .86rem; font-weight: 700; }
.rn-sk__question-title { font-size: clamp(1.7rem,3.3vw,2.75rem); }
.rn-sk__question-help { margin: 12px 0 24px; color: var(--rn-sk-muted); line-height: 1.65; }
.rn-sk__answers { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.rn-sk__answer { position: relative; width: 100%; min-height: 84px; padding: 18px 20px 18px 52px; border: 1px solid rgba(35,68,58,.12); border-radius: 18px; background: rgba(247,250,248,.82); color: var(--rn-sk-ink); text-align: left; cursor: pointer; transition: .2s ease; }
.rn-sk__answer::before { content: ''; position: absolute; left: 20px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); border: 2px solid rgba(35,68,58,.28); border-radius: 50%; }
.rn-sk__answer:hover { border-color: rgba(35,68,58,.3); transform: translateY(-2px); }
.rn-sk__answer.is-selected { background: #e3eee7; border-color: rgba(49,95,80,.5); box-shadow: 0 12px 25px rgba(35,68,58,.08); }
.rn-sk__answer.is-selected::before { background: var(--rn-sk-forest); box-shadow: inset 0 0 0 4px #e3eee7; border-color: var(--rn-sk-forest); }
.rn-sk__question-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; }
.rn-sk__result-hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: 38px; align-items: center; padding: clamp(26px,4vw,48px); border-radius: var(--rn-sk-radius-lg); background: rgba(255,255,255,.72); }
.rn-sk__result-title { font-size: clamp(1.9rem,3.5vw,3.2rem); }
.rn-sk__result-summary { margin: 16px 0 0; color: var(--rn-sk-muted); line-height: 1.75; }
.rn-sk__result-compass { position: relative; width: min(100%,320px); aspect-ratio: 1; margin: auto; }
.rn-sk__result-orbit { position: absolute; inset: 12%; border: 1px solid rgba(35,68,58,.2); border-radius: 50%; box-shadow: 0 0 0 28px rgba(49,95,80,.035), 0 0 0 56px rgba(49,95,80,.025); }
.rn-sk__result-cross { position: absolute; background: rgba(35,68,58,.15); }
.rn-sk__result-cross--v { width: 1px; height: 76%; left: 50%; top: 12%; }
.rn-sk__result-cross--h { height: 1px; width: 76%; top: 50%; left: 12%; }
.rn-sk__result-label { position: absolute; color: var(--rn-sk-forest-2); font-size: .77rem; font-weight: 800; }
.rn-sk__result-label--thoughts { top: 0; left: 50%; transform: translateX(-50%); }
.rn-sk__result-label--environment { right: 0; top: 50%; transform: translateY(-50%); }
.rn-sk__result-label--body { bottom: 0; left: 50%; transform: translateX(-50%); }
.rn-sk__result-label--feelings { left: 0; top: 50%; transform: translateY(-50%); }
.rn-sk__result-shape { position: absolute; inset: 18%; background: rgba(49,95,80,.24); clip-path: polygon(50% 20%, 80% 50%, 50% 80%, 20% 50%); transition: clip-path .6s ease; }
.rn-sk__result-center { position: absolute; left: 50%; top: 50%; width: 15px; height: 15px; transform: translate(-50%,-50%); border-radius: 50%; background: var(--rn-sk-forest); }
.rn-sk__score-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 22px 0 38px; }
.rn-sk__score-card { padding: 18px; border-radius: 18px; background: rgba(255,255,255,.62); border: 1px solid rgba(35,68,58,.1); }
.rn-sk__score-card strong { display: block; color: var(--rn-sk-forest); }
.rn-sk__score-bar { height: 7px; margin-top: 12px; overflow: hidden; border-radius: 99px; background: rgba(35,68,58,.1); }
.rn-sk__score-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7ea28d, var(--rn-sk-forest)); }
.rn-sk__section-heading h3 { font-size: clamp(1.55rem,2.8vw,2.35rem); }
.rn-sk__recommendation-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 22px; }
.rn-sk__recommendation { display: flex; flex-direction: column; min-height: 260px; padding: 24px; border-radius: 22px; background: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.9); }
.rn-sk__recommendation:nth-child(2) { background: rgba(241,231,215,.8); }
.rn-sk__recommendation:nth-child(3) { background: rgba(225,237,230,.85); }
.rn-sk__recommendation-index { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--rn-sk-forest); color: white; font-weight: 800; }
.rn-sk__recommendation h4 { margin: 20px 0 10px; color: var(--rn-sk-forest); font-size: 1.2rem; }
.rn-sk__recommendation p { margin: 0 0 22px; color: var(--rn-sk-muted); line-height: 1.65; }
.rn-sk__recommendation .rn-sk__button { margin-top: auto; align-self: flex-start; }
.rn-sk__result-footer { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.rn-sk__notice { margin-top: 28px; padding: 16px 18px; border-left: 4px solid var(--rn-sk-clay); border-radius: 8px 16px 16px 8px; background: rgba(255,255,255,.55); color: var(--rn-sk-muted); font-size: .9rem; line-height: 1.6; }

@media (max-width: 820px) {
  .rn-sk__shell { border-radius: 24px; }
  .rn-sk__intro-grid, .rn-sk__result-hero { grid-template-columns: 1fr; }
  .rn-sk__compass-preview, .rn-sk__result-compass { width: min(100%,280px); }
  .rn-sk__score-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rn-sk__recommendation-grid { grid-template-columns: 1fr; }
  .rn-sk__recommendation { min-height: 0; }
}

@media (max-width: 600px) {
  .rn-sk { width: calc(100% + 20px); margin-left: -10px; }
  .rn-sk__shell { padding: 24px 14px; border-radius: 20px; }
  .rn-sk__header { padding: 0 4px; }
  .rn-sk__meta { gap: 7px; }
  .rn-sk__answers { grid-template-columns: 1fr; }
  .rn-sk__answer { min-height: 72px; }
  .rn-sk__question-actions { flex-direction: column-reverse; }
  .rn-sk__question-actions .rn-sk__button, .rn-sk__result-footer .rn-sk__button { width: 100%; }
  .rn-sk__score-grid { grid-template-columns: 1fr 1fr; }
  .rn-sk__axis, .rn-sk__result-label { font-size: .68rem; }
}
