:root {
  --ink: #071b2a;
  --ink-2: #0b2939;
  --paper: #f1e8d5;
  --paper-2: #e8dcc3;
  --gold: #c89b58;
  --gold-bright: #e1b86f;
  --coral: #d76f55;
  --foam: #f8f2e6;
  --muted: #8a907f;
  --line: rgba(240, 225, 194, .18);
  --serif: "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --sans: Inter, "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: var(--sans);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
button { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }
.grain {
  position: fixed; inset: 0; z-index: 20; pointer-events: none; opacity: .055; mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
.shell { min-height: 100vh; overflow: hidden; }
.site-header {
  height: 78px; padding: env(safe-area-inset-top) clamp(20px, 4vw, 64px) 0; display: flex; align-items: center; justify-content: space-between;
  position: absolute; top: 0; left: 0; right: 0; z-index: 10;
}
.brand, .sound-toggle { color: var(--paper); border: 0; background: none; cursor: pointer; padding: 0; display: flex; align-items: center; }
.brand { gap: 11px; text-align: left; }
.brand-mark { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; font-family: Georgia, serif; color: var(--gold-bright); font-size: 15px; }
.brand b { display: block; font: 600 12px/1.1 Georgia, serif; letter-spacing: .26em; }
.brand small { display: block; margin-top: 4px; font-size: 9px; letter-spacing: .22em; color: rgba(241,232,213,.62); }
.sound-toggle { gap: 9px; color: rgba(241,232,213,.68); font-size: 10px; letter-spacing: .12em; }
.sound-icon { width: 22px; height: 18px; display: flex; align-items: center; justify-content: center; gap: 2px; }
.sound-icon i { width: 2px; height: 5px; border-radius: 2px; background: currentColor; transition: height .2s; }
.sound-toggle[aria-pressed="true"] .sound-icon i:nth-child(1) { animation: audio 1.1s .1s infinite; }
.sound-toggle[aria-pressed="true"] .sound-icon i:nth-child(2) { animation: audio .8s infinite; }
.sound-toggle[aria-pressed="true"] .sound-icon i:nth-child(3) { animation: audio 1.35s .2s infinite; }
@keyframes audio { 0%,100%{height:4px} 50%{height:14px} }

.screen { display: none; min-height: 100vh; }
.screen.is-active { display: block; animation: reveal .55s ease both; }
@keyframes reveal { from { opacity: 0; } to { opacity: 1; } }

/* Landing */
.landing { position: relative; background: radial-gradient(circle at 76% 27%, #174454 0, #0a2838 32%, var(--ink) 68%); }
.landing::after { content:""; position:absolute; inset:0; opacity:.13; pointer-events:none; background-image: linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, black, transparent 70%); }
.hero-copy { min-height: 760px; max-width: 630px; position: relative; z-index: 3; padding: 190px 0 130px clamp(24px, 8vw, 140px); }
.eyebrow { color: var(--gold-bright); font-size: 11px; letter-spacing: .22em; font-weight: 600; text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 26px; height: 1px; background: currentColor; opacity: .7; }
.hero-copy h1 { margin: 26px 0 24px; font: 400 clamp(42px, 5.4vw, 78px)/1.18 var(--serif); letter-spacing: .02em; }
.hero-copy h1 em { color: var(--gold-bright); font-style: normal; }
.hero-intro { max-width: 530px; margin: 0; color: rgba(241,232,213,.72); font: 400 16px/2 var(--serif); letter-spacing: .05em; }
.hero-meta { margin: 30px 0 34px; display: flex; align-items: center; gap: 11px; color: rgba(241,232,213,.55); font-size: 11px; letter-spacing: .1em; }
.hero-meta i { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); }
.primary-cta, .secondary-cta {
  border: 0; cursor: pointer; min-height: 58px; display: inline-flex; justify-content: center; align-items: center; gap: 26px; border-radius: 2px; transition: transform .2s, box-shadow .2s, background .2s;
}
.primary-cta { padding: 0 25px 0 30px; color: var(--ink); background: var(--gold-bright); font-weight: 700; font-size: 14px; letter-spacing: .08em; box-shadow: 0 14px 44px rgba(0,0,0,.25); }
.primary-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 48px rgba(0,0,0,.32); background: #edc781; }
.primary-cta:active, .secondary-cta:active { transform: translateY(1px); }
.primary-cta svg, .secondary-cta svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.privacy-note { display: flex; align-items: center; gap: 7px; margin: 18px 0 0; color: rgba(241,232,213,.42); font-size: 10px; letter-spacing: .06em; }
.privacy-note svg { width: 13px; height: 13px; fill:none; stroke:currentColor; stroke-width:1.5; }
.hero-art { position: absolute; z-index: 2; inset: 0 0 auto 45%; height: 760px; overflow: hidden; }
.moon { position:absolute; width:460px; height:460px; border-radius:50%; right:clamp(30px,8vw,150px); top:120px; background: radial-gradient(circle at 35% 32%, #f4dfad 0, #cda85e 45%, #856b3e 75%); box-shadow: 0 0 80px rgba(222,180,101,.13); opacity:.9; }
.moon::before { content:""; position:absolute; inset:13px; border:1px solid rgba(7,27,42,.25); border-radius:50%; }
.moon::after { content:""; position:absolute; width:85px; height:85px; border:1px solid rgba(7,27,42,.23); border-radius:50%; top:92px; left:74px; box-shadow: 155px 142px 0 -16px rgba(7,27,42,.11), 80px 235px 0 -28px rgba(7,27,42,.18); }
.sun-disc { position:absolute; width:350px; height:350px; right:clamp(85px,11.5vw,205px); top:175px; border:1px solid rgba(7,27,42,.32); border-radius:50%; display:grid; place-items:center; }
.sun-disc::before,.sun-disc::after { content:""; position:absolute; inset:31px; border:1px solid rgba(7,27,42,.2); border-radius:50%; }
.sun-disc::after { inset:68px; }
.sun-disc span { transform:rotate(90deg); font:10px Georgia,serif; letter-spacing:.5em; color:rgba(7,27,42,.42); }
.constellation { position:absolute; width:420px; top:80px; right:30px; fill:var(--paper); stroke:rgba(241,232,213,.4); stroke-width:.7; opacity:.45; }
.star { position:absolute; width:3px; height:3px; border-radius:50%; background:var(--paper); box-shadow:0 0 12px var(--paper); }
.star-a{right:18%;top:90px}.star-b{right:52%;top:126px}.star-c{right:7%;top:270px}
.sail { position:absolute; z-index:4; width:245px; height:300px; right:clamp(140px,16vw,280px); top:314px; }
.sail::before { content:""; position:absolute; width:2px; height:270px; left:119px; top:0; background:var(--ink); }
.sail::after { content:""; position:absolute; left:30px; top:20px; width:84px; height:220px; background:var(--ink); clip-path:polygon(100% 0,100% 100%,0 82%); }
.sail i { position:absolute; left:124px; top:36px; width:86px; height:190px; background:rgba(7,27,42,.88); clip-path:polygon(0 0,100% 82%,0 100%); }
.wave { position:absolute; z-index:5; left:-10%; width:120%; height:180px; border-radius:50%; border-top:2px solid rgba(241,232,213,.72); }
.wave::before,.wave::after { content:""; position:absolute; border-radius:50%; border-top:1px solid rgba(241,232,213,.28); width:100%; height:100%; top:13px; }
.wave::after{top:26px}
.wave-1{top:580px;transform:rotate(-3deg)}.wave-2{top:620px;transform:rotate(5deg);opacity:.5}.wave-3{top:665px;transform:rotate(-6deg);opacity:.25}
.landing-footer { position:relative; z-index:4; background:var(--paper); color:var(--ink); padding:70px clamp(24px,8vw,140px) 80px; }
.scroll-cue { position:absolute; left:clamp(24px,8vw,140px); top:-44px; font-size:9px; letter-spacing:.16em; color:rgba(241,232,213,.52); display:flex; align-items:center; gap:10px; }
.scroll-cue span { height:36px; width:1px; background:linear-gradient(var(--gold),transparent); }
.promise-grid { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(34px,6vw,86px); }
.promise-grid article { position:relative; padding-left:0; }
.promise-grid b { font:italic 14px Georgia,serif; color:var(--gold); }
.promise-grid h2 { margin:14px 0 10px; font:600 18px var(--serif); }
.promise-grid p { margin:0; color:#5f655e; font-size:12px; line-height:1.8; }

/* Quiz */
.quiz { background: radial-gradient(circle at 50% 45%, #103448 0, var(--ink) 65%); position:relative; padding:0 clamp(20px,4vw,64px); }
.quiz::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background:repeating-radial-gradient(circle at 50% 46%, transparent 0 80px, rgba(204,163,91,.2) 81px, transparent 82px 150px); }
.quiz-topbar { height:100px; display:grid; grid-template-columns:44px minmax(200px,660px) 44px; justify-content:space-between; align-items:center; gap:20px; position:relative; z-index:2; }
.icon-button { width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.02); color:rgba(241,232,213,.7); display:grid; place-items:center; cursor:pointer; }
.icon-button:disabled { opacity:.2; cursor:default; }
.icon-button svg,.text-button svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round; }
.progress-wrap { width:100%; max-width:660px; margin:0 auto; }
.progress-meta { display:flex; justify-content:space-between; margin-bottom:10px; color:rgba(241,232,213,.5); font-size:9px; letter-spacing:.14em; }
.progress-meta strong { font-weight:400; color:var(--gold-bright); }
.progress-track { height:1px; background:var(--line); }
.progress-track i { display:block; width:6.25%; height:2px; background:var(--gold-bright); box-shadow:0 0 9px var(--gold); transition:width .45s cubic-bezier(.2,.7,.2,1); }
.question-stage { width:min(720px,100%); margin:0 auto; padding:60px 0 80px; position:relative; z-index:2; }
.question-stage.animating { animation:questionOut .16s ease both; }
.question-stage.entering { animation:questionIn .35s ease both; }
@keyframes questionOut { to { opacity:0; transform:translateX(-15px); } }
@keyframes questionIn { from{opacity:0;transform:translateX(22px)} to{opacity:1;transform:none} }
.question-symbol { width:50px; height:50px; margin:0 auto 28px; border:1px solid rgba(202,157,86,.35); border-radius:50%; display:grid;place-items:center;color:var(--gold-bright);font:italic 16px Georgia,serif; }
.question-context { margin:0 0 12px; color:var(--gold); text-align:center; text-transform:uppercase; font-size:10px; letter-spacing:.2em; }
.question-stage h2 { max-width:650px; min-height:82px; margin:0 auto 34px; text-align:center; font:400 clamp(24px,3vw,34px)/1.52 var(--serif); letter-spacing:.035em; }
.answers { display:grid; gap:12px; }
.answer-button { width:100%; min-height:68px; padding:12px 18px; border:1px solid rgba(241,232,213,.14); border-radius:3px; background:rgba(241,232,213,.035); color:var(--paper); cursor:pointer; display:grid; grid-template-columns:34px 1fr 24px; align-items:center; gap:14px; text-align:left; transition:border-color .2s,background .2s,transform .2s; }
.answer-button:hover { border-color:rgba(225,184,111,.65); background:rgba(225,184,111,.075); transform:translateX(4px); }
.answer-button.selected { border-color:var(--gold-bright); background:rgba(225,184,111,.14); }
.answer-letter { width:30px;height:30px;border:1px solid rgba(241,232,213,.18);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:12px Georgia,serif; }
.answer-button span:nth-child(2) { font:14px/1.65 var(--serif); letter-spacing:.035em; }
.answer-arrow { color:transparent; font-size:18px; transition:color .2s; }
.answer-button:hover .answer-arrow,.answer-button.selected .answer-arrow { color:var(--gold-bright); }
.answer-hint { text-align:center; color:rgba(241,232,213,.3); font-size:9px; letter-spacing:.08em; margin:24px 0 0; }

/* Analysis */
.analyzing { padding:150px 24px 80px; background:radial-gradient(circle at center,#12394a 0,var(--ink) 62%); text-align:center; }
.astrolabe { width:230px; height:230px; margin:0 auto 54px; position:relative; display:grid;place-items:center; }
.astrolabe::before,.astrolabe::after,.ring { content:"";position:absolute;border-radius:50%;border:1px solid rgba(225,184,111,.35); }
.astrolabe::before{inset:0;animation:spin 11s linear infinite}.astrolabe::after{inset:18px;border-style:dashed;animation:spin 16s linear infinite reverse}
.astrolabe .ring-a{inset:42px}.astrolabe .ring-b{inset:70px;border-color:rgba(241,232,213,.22)}.astrolabe .ring-c{width:1px;height:180px;border:0;border-left:1px solid rgba(225,184,111,.26);border-radius:0;transform:rotate(35deg)}
.astrolabe b{color:var(--gold-bright);font-size:28px;text-shadow:0 0 24px var(--gold);animation:pulse 2s ease infinite}
@keyframes spin{to{transform:rotate(360deg)}} @keyframes pulse{50%{opacity:.4;transform:scale(.85)}}
.eyebrow.centered{justify-content:center}.analyzing h2{margin:26px 0 14px;font:400 clamp(26px,4vw,40px) var(--serif)}.analyzing>p:not(.eyebrow){color:rgba(241,232,213,.5);font-size:12px;letter-spacing:.08em}.analysis-progress{width:min(340px,80vw);height:1px;background:var(--line);margin:30px auto}.analysis-progress i{display:block;height:2px;width:0;background:var(--gold-bright);box-shadow:0 0 10px var(--gold);transition:width .9s ease}

/* Result */
.result { background:var(--paper); color:var(--ink); padding-top:82px; }
.result .result-nav { height:54px; padding:0 clamp(20px,5vw,80px); display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(7,27,42,.1); color:#6e746d; font-size:9px; letter-spacing:.13em; }
.text-button{border:0;background:none;color:inherit;display:flex;align-items:center;gap:8px;cursor:pointer;padding:10px 0;font-size:10px}.result-nav b{color:var(--gold);font-weight:500}
.identity-card { min-height:590px; position:relative; overflow:hidden; text-align:center; background:radial-gradient(circle at 50% 42%,#174252 0,#0b2939 43%,var(--ink) 80%); color:var(--paper); padding:73px 20px 60px; }
.identity-card::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(circle,black,transparent 72%)}
.card-stars{position:absolute;inset:0;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:110px 90px;opacity:.14;transform:rotate(11deg)}
.card-orbit{position:absolute;width:470px;height:470px;border:1px solid rgba(225,184,111,.22);border-radius:50%;left:50%;top:57%;transform:translate(-50%,-50%)}.card-orbit i{position:absolute;inset:34px;border:1px solid rgba(225,184,111,.14);border-radius:50%}.card-orbit i:nth-child(2){inset:76px}.card-orbit i:nth-child(3){inset:120px}
.result-glyph{position:relative;width:62px;height:62px;margin:0 auto 24px;border:1px solid rgba(225,184,111,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);font:27px Georgia,serif;box-shadow:0 0 32px rgba(202,155,88,.15)}
.result-kicker{position:relative;margin:0;color:rgba(241,232,213,.55);font-size:10px;letter-spacing:.22em}.identity-card h1{position:relative;margin:22px 0 8px;font:400 clamp(48px,7vw,82px)/1 var(--serif);letter-spacing:.12em}.result-en{position:relative;margin:0;color:var(--gold-bright);font:10px Georgia,serif;letter-spacing:.28em}.identity-card blockquote{position:relative;max-width:610px;margin:35px auto 28px;font:400 17px/1.8 var(--serif);color:rgba(241,232,213,.85);letter-spacing:.04em}.result-tags{position:relative;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.result-tags span{border:1px solid rgba(225,184,111,.32);color:rgba(241,232,213,.7);padding:7px 11px;font-size:9px;letter-spacing:.12em;border-radius:999px}.match-seal{position:absolute;right:clamp(24px,8vw,140px);bottom:54px;width:76px;height:76px;border:1px solid rgba(225,184,111,.38);border-radius:50%;display:flex;justify-content:center;align-items:center;gap:3px;transform:rotate(7deg)}.match-seal::before{content:"";position:absolute;inset:5px;border:1px dashed rgba(225,184,111,.3);border-radius:50%}.match-seal b{font:italic 26px Georgia,serif;color:var(--gold-bright)}.match-seal small{font-size:8px;color:rgba(241,232,213,.55);line-height:1.2}
.result-actions{display:flex;justify-content:center;gap:12px;margin:-29px auto 72px;position:relative;z-index:3}.primary-cta.compact,.secondary-cta{min-height:58px}.primary-cta.compact{padding:0 25px}.secondary-cta{padding:0 24px;border:1px solid rgba(7,27,42,.14);background:var(--foam);color:var(--ink);font-weight:600;font-size:12px;letter-spacing:.08em}.secondary-cta:hover{background:#fff;transform:translateY(-2px)}
.result-layout{width:min(1040px,calc(100% - 40px));margin:0 auto 90px}.panel{border:1px solid rgba(7,27,42,.13);background:rgba(248,242,230,.6);position:relative}.section-index{margin:0;color:var(--gold);font:10px Georgia,serif;letter-spacing:.2em}.panel h2{font:500 clamp(24px,3vw,34px)/1.35 var(--serif);margin:15px 0}.story-panel{padding:clamp(34px,6vw,72px);text-align:center}.story-panel h2 span{color:var(--coral)}.ornament{color:var(--gold);margin:26px 0}.story-panel .lead{max-width:760px;margin:0 auto 20px;font:500 19px/1.9 var(--serif);color:#263a42}.story-panel>p:not(.section-index):not(.lead){max-width:760px;margin:0 auto;color:#62685f;font:14px/2 var(--serif)}.callout{max-width:640px;margin:40px auto 0;padding:22px 30px;border-top:1px solid rgba(202,155,88,.4);border-bottom:1px solid rgba(202,155,88,.4)}.callout span{display:block;color:#969486;font-size:9px;letter-spacing:.17em}.callout strong{display:block;margin-top:10px;font:500 17px/1.6 var(--serif)}
.tides-panel{margin-top:20px;padding:clamp(30px,5vw,60px)}.section-note{color:#7c8178;font-size:11px;margin:-4px 0 36px}.dimension-list{display:grid;gap:27px}.dimension-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dimension-meta span{font:13px var(--serif);color:#5e655f}.dimension-meta b{font:600 13px var(--serif);color:var(--ink)}.dimension-meta em{font:11px Georgia,serif;color:var(--gold);font-style:normal}.dimension-track{position:relative;height:5px;background:#d8cfbc;border-radius:10px}.dimension-track::before{content:"";position:absolute;left:50%;top:-4px;width:1px;height:13px;background:rgba(7,27,42,.2)}.dimension-track i{position:absolute;height:5px;background:linear-gradient(90deg,var(--gold),var(--coral));border-radius:10px;transition:width 1.2s .2s ease}.dimension-track b{position:absolute;top:50%;width:13px;height:13px;border:3px solid var(--foam);border-radius:50%;background:var(--coral);box-shadow:0 1px 5px rgba(0,0,0,.25);transform:translate(-50%,-50%);transition:left 1.2s .2s ease}.dimension-poles{display:flex;justify-content:space-between;margin-top:8px;color:#999a8e;font-size:9px;letter-spacing:.1em}
.duality-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.duality-grid .panel{padding:48px}.panel-icon{position:absolute;right:35px;top:32px;font:28px Georgia,serif;color:var(--gold)}.duality-grid p:last-child{color:#646b63;font:14px/1.95 var(--serif);margin:20px 0 0}.shadow-panel{background:var(--ink);color:var(--paper)}.shadow-panel p:last-child{color:rgba(241,232,213,.65)}
.relation-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;margin-top:20px;padding:55px 60px}.relation-panel>p{margin:0;color:#61675f;font:15px/2 var(--serif);padding-left:60px;border-left:1px solid rgba(202,155,88,.35)}
.companion-panel{margin-top:20px;padding:60px;background:#dfd1b6;overflow:hidden}.companion-panel::after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(7,27,42,.1);border-radius:50%;right:-120px;top:-140px;box-shadow:0 0 0 35px rgba(7,27,42,.025),0 0 0 70px rgba(7,27,42,.02)}.mini-label{margin:24px 0 12px;color:#77796f;font-size:10px;letter-spacing:.12em}.companion-row{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.companion-glyph{width:58px;height:58px;border:1px solid rgba(7,27,42,.25);border-radius:50%;display:grid;place-items:center;font:24px Georgia,serif}.companion-row h2{margin:0 0 5px;font-size:32px}.companion-row p{margin:0;color:var(--coral);font:10px Georgia,serif;letter-spacing:.18em}.companion-panel>p:not(.section-index):not(.mini-label):not(.compat-line){max-width:730px;margin:25px 0;color:#58605a;font:14px/1.9 var(--serif);position:relative;z-index:1}.compat-line{margin:30px 0 0;padding-top:24px;border-top:1px solid rgba(7,27,42,.12);display:flex;gap:13px;position:relative;z-index:1}.compat-line span{color:#85877c;font-size:10px;letter-spacing:.12em}.compat-line strong{font:500 13px var(--serif)}
.result-end{text-align:center;background:var(--ink);color:var(--paper);padding:74px 24px 50px}.result-end>p{margin:0 0 34px;font:400 21px/1.8 var(--serif);color:rgba(241,232,213,.82)}.end-actions{display:flex;justify-content:center;gap:12px;margin-bottom:46px}.secondary-cta.light{border-color:rgba(241,232,213,.18);background:transparent;color:var(--paper)}.feedback-button{min-height:58px;padding:0 22px;border:1px solid rgba(241,232,213,.18);background:transparent;color:rgba(241,232,213,.7);cursor:pointer;font-size:11px}.feedback-button span{display:block;color:var(--gold);letter-spacing:.1em;margin-top:4px}.feedback-button.rated span{color:var(--gold-bright);letter-spacing:0}.result-end small{color:rgba(241,232,213,.3);font-size:9px;letter-spacing:.08em}

/* Shared result */
.shared-result{padding:140px 20px 70px;background:radial-gradient(circle at 50% 30%,#154456,var(--ink) 62%);text-align:center}.shared-wrap{max-width:720px;margin:0 auto}.shared-glyph{width:100px;height:100px;border:1px solid rgba(225,184,111,.45);border-radius:50%;margin:45px auto 30px;display:grid;place-items:center;font:38px Georgia,serif;color:var(--gold-bright);box-shadow:0 0 70px rgba(202,155,88,.12)}.shared-owner{color:rgba(241,232,213,.5);font-size:11px;letter-spacing:.12em}.shared-result h1{font:400 clamp(50px,9vw,88px)/1 var(--serif);letter-spacing:.1em;margin:24px 0 10px}.shared-result #sharedTitle{color:var(--gold-bright);font:10px Georgia,serif;letter-spacing:.28em}.shared-result blockquote{max-width:580px;margin:40px auto 30px;font:17px/1.8 var(--serif);color:rgba(241,232,213,.8)}.shared-result .primary-cta{margin-top:46px}.shared-note{font-size:9px!important;color:rgba(241,232,213,.35)!important;letter-spacing:.12em!important}

/* Modal, toast */
.modal-backdrop{position:fixed;z-index:50;inset:0;background:rgba(2,12,18,.84);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(400px,100%);background:var(--paper);color:var(--ink);padding:40px;text-align:center;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.modal-symbol{color:var(--gold);font:30px Georgia,serif}.modal h2{font:500 27px var(--serif);margin:14px 0 12px}.modal p{font:13px/1.8 var(--serif);color:#70766e}.modal .primary-cta{width:100%;margin-top:15px}.modal-link{border:0;background:none;color:#777d75;margin-top:18px;cursor:pointer;font-size:11px;text-decoration:underline;text-underline-offset:4px}.toast{position:fixed;z-index:80;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);padding:12px 18px;border-radius:999px;background:#f7ecda;color:var(--ink);font-size:11px;box-shadow:0 10px 40px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width: 860px){
  .site-header{height:70px}.sound-label{display:none}.hero-copy{padding:150px 24px 95px;min-height:720px;max-width:58%}.hero-copy h1{font-size:48px}.hero-art{left:43%;height:720px}.moon{width:390px;height:390px;right:-45px;top:150px}.sun-disc{width:300px;height:300px;right:0;top:195px}.sail{right:56px;top:335px}.wave-1{top:565px}.wave-2{top:610px}.wave-3{top:650px}.promise-grid{gap:35px}.identity-card{min-height:570px}.match-seal{right:25px}.relation-panel{gap:35px;padding:45px}.relation-panel>p{padding-left:35px}.duality-grid .panel{padding:40px 35px}
}
@media (max-width: 640px){
  .site-header{position:absolute;padding-left:20px;padding-right:20px}.landing{background:radial-gradient(circle at 65% 22%,#164454 0,#0a2939 38%,var(--ink) 74%)}.hero-art{left:0;right:0;height:560px;opacity:.63}.moon{width:310px;height:310px;right:-96px;top:103px}.sun-disc{width:245px;height:245px;right:-63px;top:137px}.constellation{width:270px;right:4px;top:67px}.sail{width:150px;height:210px;right:18px;top:254px;transform:scale(.75)}.wave-1{top:450px}.wave-2{top:486px}.wave-3{top:520px}.hero-copy{padding:133px 20px 76px;max-width:none;min-height:660px}.hero-copy h1{font-size:41px;line-height:1.22;margin-top:24px}.hero-intro{font-size:14px;line-height:1.9;max-width:91%}.hero-meta{margin:25px 0 27px}.primary-cta{min-height:56px;width:100%;gap:18px}.privacy-note{justify-content:center}.landing-footer{padding:55px 22px 66px}.promise-grid{grid-template-columns:1fr;gap:34px}.promise-grid article{padding-left:42px}.promise-grid b{position:absolute;left:0;top:1px}.promise-grid h2{margin-top:0}.scroll-cue{display:none}
  .quiz{padding:0 16px;min-height:100dvh}.quiz-topbar{height:82px;grid-template-columns:38px 1fr 38px;gap:12px}.icon-button{width:38px;height:38px}.question-stage{padding:34px 0 48px}.question-symbol{width:42px;height:42px;margin-bottom:22px}.question-stage h2{font-size:23px;min-height:72px;margin-bottom:27px}.answer-button{min-height:66px;padding:10px 13px;grid-template-columns:31px 1fr 14px;gap:11px}.answer-button span:nth-child(2){font-size:13px}.answer-hint{margin-top:18px}
  .analyzing{padding-top:125px;min-height:100dvh}.astrolabe{width:190px;height:190px}.astrolabe .ring-c{height:150px}
  .result{padding-top:70px}.result .result-nav{padding:0 17px}.identity-card{min-height:575px;padding:62px 17px 100px}.card-orbit{width:390px;height:390px}.identity-card h1{font-size:50px}.identity-card blockquote{font-size:15px;margin:31px auto 26px}.match-seal{width:66px;height:66px;right:20px;bottom:22px}.match-seal b{font-size:22px}.result-actions{margin:-28px 16px 52px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-actions .primary-cta{width:auto;padding:0 12px;gap:8px;font-size:12px}.result-actions .secondary-cta{padding:0 10px;font-size:11px;gap:7px}.result-layout{width:calc(100% - 28px);margin-bottom:55px}.story-panel{padding:38px 24px}.panel h2{font-size:25px}.story-panel .lead{font-size:17px;line-height:1.8}.story-panel>p:not(.section-index):not(.lead){font-size:13px;line-height:1.9}.callout{padding:20px 5px}.callout strong{font-size:15px}.tides-panel{padding:34px 24px}.section-note{line-height:1.6}.duality-grid{grid-template-columns:1fr;gap:14px;margin-top:14px}.duality-grid .panel{padding:38px 28px}.relation-panel{grid-template-columns:1fr;gap:22px;margin-top:14px;padding:38px 28px}.relation-panel>p{padding:20px 0 0;border-left:0;border-top:1px solid rgba(202,155,88,.35);font-size:13px}.companion-panel{margin-top:14px;padding:38px 25px}.companion-row h2{font-size:28px}.compat-line{display:block}.compat-line strong{display:block;margin-top:10px;line-height:1.6}.result-end{padding:58px 18px 38px}.end-actions{display:grid;grid-template-columns:1fr;max-width:350px;margin-left:auto;margin-right:auto}.feedback-button{height:58px}.result-end small{line-height:1.7;display:block}.shared-result{padding-top:120px;min-height:100dvh}.shared-result h1{font-size:51px}.shared-result .primary-cta{width:100%}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
