@font-face{font-family:Manrope;src:url('../assets/assets/fonts/Manrope.13c2d694c23b.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{font-family:Manrope,sans-serif;color:#242941;background:#F5F4FA;font-synthesis:none;color-scheme:light;--phone-width:390px}
*{box-sizing:border-box}body{margin:0;padding:40px 24px}button,select{font:inherit}button,summary,select{cursor:pointer}button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #8A6637;outline-offset:4px}
.intro,.toolbar,footer{max-width:1000px;margin:auto}.intro{display:flex;gap:24px;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.9px;margin:0 0 12px}.intro h1{font-weight:500;font-size:32px;letter-spacing:-1.2px;margin:0}.description{font-size:13px;color:#61657D;line-height:1.65;max-width:590px}.back{color:#353F74;white-space:nowrap;font-size:12px;text-underline-offset:5px}
.toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:20px;padding:20px 0 24px;margin-top:12px;border-top:1px solid #D5D8E5}.toolbar label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600}.toolbar select{background:#FFFFFF;color:#242941;border:1px solid #D5D8E5;border-radius:10px;padding:10px 30px 10px 12px;min-height:44px}.toolbar .check{flex-direction:row;align-items:center;align-self:center}.toolbar input{accent-color:#353F74;width:17px;height:17px}.toolbar p{font-size:10px;color:#61657D;margin-left:auto;align-self:center}
.comparison{display:flex;align-items:start;justify-content:center;gap:36px;flex-wrap:wrap;margin:10px auto 30px}.phone{--bg:#F5F4FA;--panel:#FFFFFF;--ink:#242941;--muted:#61657D;--line:#D5D8E5;--soft:#E7E8F3;--accent:#353F74;--gold:#8A6637;--conjunction:#8A6637;--harmony:#4F766E;--tense:#AD665E;width:var(--phone-width);max-width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:30px;padding:24px 18px 12px;box-shadow:0 16px 55px #162f2110;overflow:hidden}.phone.dark{--bg:#111525;--panel:#1D243A;--ink:#F5F1ED;--muted:#B9C1D5;--line:#3C4964;--soft:#283149;--accent:#D8C39D;--gold:#DDC392;--conjunction:#DDC392;--harmony:#8CC5B8;--tense:#D99791;color-scheme:dark}
.app-header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 30px}.wordmark{font-size:27px;font-weight:500;letter-spacing:-1.4px}.wordmark-dot{color:var(--gold)}.theme-label{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 10px}.page-title{text-align:center;margin-bottom:22px}.page-title .eyebrow{color:var(--gold);font-size:9px}.page-title h2{font-size:23px;letter-spacing:-.8px;line-height:1.25;font-weight:500;margin:0 0 8px}.page-title>p:last-child{font-size:12px;color:var(--muted);margin:0}
.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:10px 3px 14px}.chart{width:100%;aspect-ratio:1;position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart [role=button]{cursor:pointer;outline:none}.chart [role=button]:focus-visible .planet-target,.chart [aria-pressed=true] .planet-target{stroke:var(--gold);stroke-width:2;fill:var(--soft)}.chart text{font-family:Manrope,sans-serif}.accuracy-note{margin:4px 16px 12px;color:var(--muted);font-size:10px;line-height:1.6;text-align:center}.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 13px;margin-top:8px;font-size:11px;line-height:1.5;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.line{width:14px;height:3px;border-radius:2px;background:var(--accent);display:inline-block}.line.green{background:var(--harmony)}.line.gold{background:var(--tense)}.line.neutral{background:var(--conjunction)}
.birth-row{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding:16px 4px 24px;gap:8px;flex-wrap:wrap}.birth-row .time-label{color:var(--ink)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 3px 12px}.section-heading h3{font-size:15px;font-weight:600;margin:0}.section-heading>span{font-size:10px;color:var(--muted)}.planet-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:-4px 3px 14px}
.planet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:10px}
.planet-tile{display:flex;align-items:center;text-align:left;gap:9px;border:0;background:transparent;color:var(--ink);padding:8px 5px;border-radius:14px;width:100%;min-width:0;min-height:60px}
.planet-tile:hover{background:var(--soft)}
.planet-tile[aria-pressed=true]{background:var(--soft);box-shadow:inset 0 0 0 1px var(--gold)}
.planet-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;color:var(--gold);background:var(--soft);border-radius:50%}
.planet-icon svg{width:34px;height:34px}
.planet-copy{min-width:0;width:100%}
.planet-copy strong{display:block;font-weight:600;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.planet-copy small{display:block;margin-top:3px;font-size:11px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.detail{background:var(--soft);border-radius:17px;padding:19px;margin-top:18px}.detail .eyebrow{color:var(--gold);font-size:8px;display:block;letter-spacing:1.4px}.detail h3{font-size:17px;font-weight:500;line-height:1.45;margin:0 0 8px;letter-spacing:-.3px}.detail p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.detail ul{font-size:11px;line-height:1.8;padding-left:16px;margin-bottom:0}.aspect-list{border-top:1px solid var(--line);margin:20px 0 16px;font-size:11px}.aspect-list summary{padding:16px 3px;min-height:48px}.aspect-list>div p{font-size:11px;line-height:1.7;color:var(--muted);padding:7px 0;margin:0;border-top:1px solid var(--line)}
.bottom-nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0 0;gap:2px}.bottom-nav span{font-size:8px;display:flex;flex:1;align-items:center;flex-direction:column;gap:5px;padding:8px 2px;border-radius:12px;color:var(--muted)}.bottom-nav img{width:20px;height:20px;opacity:.7}.bottom-nav .active{background:var(--soft);color:var(--ink)}.dark .bottom-nav img{filter:invert(85%) sepia(10%) saturate(330%)}footer{font-size:11px;line-height:1.7;color:#61657D;text-align:center;padding:8px 0 20px}
@media(max-width:600px){body{padding:20px 12px}.intro{display:block}.intro h1{font-size:27px}.back{display:inline-block;margin:6px 0 10px}.toolbar{gap:12px}.toolbar p{margin:0;width:100%}.comparison{gap:24px}.phone{border-radius:22px}.toolbar label{max-width:100%}}

.detail .planet-connections{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.planet-connections li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:start;padding:12px 6px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.connection-icon{width:32px;height:32px;color:var(--accent)}.connection-copy{min-width:0}.connection-copy strong{display:block;font-size:12px;font-weight:600;line-height:1.5;color:var(--ink);margin-bottom:3px}.connection-copy span{display:block;font-size:11px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}

.detail-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}.detail .detail-header h3{margin:0}.reading-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 4px 0 8px;border:0;border-radius:8px;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:600}.reading-button svg{width:16px;height:16px;flex:none}.reading-button:hover{background:var(--panel)}
.chart-mode{display:flex;gap:4px;padding:4px;margin:0 0 14px;border:1px solid var(--line);border-radius:15px;background:var(--soft)}.chart-mode button{flex:1;min-width:0;min-height:44px;padding:10px 6px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;cursor:pointer}.chart-mode button[aria-pressed=true]{background:var(--panel);color:var(--ink);border-color:var(--line)}.chart-mode button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* ——— The wheel's look «Б» (owner 3 Nov 2026, concept natal-main-2026-11-03 .cmode/.ccard/.cdeco). Only the visual layer. ——— */
:root{--spring:cubic-bezier(.34,1.56,.64,1);--ios:cubic-bezier(.32,.72,0,1)}
/* «Упрощённая / Традиционная» as the main pages' segments: the page's soft track, the accent thumb glides on a spring under the
   chosen view, its word in the text on the accent. Its colours are the page's (--seg-*), not the night card's */
.chart-mode{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:4px;margin:0 0 14px;border:0;border-radius:16px;background:var(--seg-soft,var(--soft))}
.chart-mode .cm-i{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px)/2);border-radius:12px;background:var(--seg-fill,var(--accent));box-shadow:0 2px 8px rgba(20,24,48,.16);transition:transform .5s var(--spring)}
.chart-mode[data-v="positions"] .cm-i{transform:translateX(100%)}
.chart-mode button{position:relative;z-index:1;appearance:none;min-width:0;min-height:44px;padding:10px 6px;border:0;border-radius:12px;background:none;color:var(--seg-muted,var(--muted));font:600 15px/1.25 inherit;font-size:15px;font-weight:600;line-height:1.25;transition:color .3s var(--ios)}
.chart-mode button[aria-pressed=true]{background:none;border-color:transparent;color:var(--seg-onfill,var(--bg))}
.still .chart-mode .cm-i{transition:none}
/* the card: a night card in both themes with a vignette, a thin accent edge that fades along the sides, the decor under the
   wheel (a halo round the rim, two orbits, a planet, stars) and sparse dust */
.chart-card{position:relative;overflow:hidden;border:0;border-radius:22px;padding:10px 3px 14px;box-shadow:0 1px 2px rgba(10,12,28,.12),0 14px 34px rgba(10,12,28,.18);
  background:radial-gradient(120% 95% at 50% 44%,transparent 55%,rgba(6,8,22,.34) 100%),linear-gradient(165deg,var(--hero,#262F4D),var(--hero-deep,#1E2641))}
.chart-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(150deg,color-mix(in srgb,var(--w-accent) 62%,transparent),color-mix(in srgb,var(--w-accent) 10%,transparent) 36%,color-mix(in srgb,var(--w-ink) 6%,transparent) 55%,color-mix(in srgb,var(--w-accent) 12%,transparent) 76%,color-mix(in srgb,var(--w-accent) 40%,transparent));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.chart-card>:not(.dust,.cdeco){position:relative}
.chart-card .dust{position:absolute;inset:0;pointer-events:none;opacity:.3;
  background-image:radial-gradient(1.2px 1.2px at 14% 30%,#fff9ef 50%,transparent 52%),radial-gradient(1px 1px at 38% 12%,#fff9ef 50%,transparent 52%),radial-gradient(1px 1px at 63% 26%,#fff9ef 50%,transparent 52%),radial-gradient(1.4px 1.4px at 86% 44%,#fff9ef 50%,transparent 52%),radial-gradient(1px 1px at 72% 62%,#fff9ef 50%,transparent 52%),radial-gradient(1px 1px at 24% 70%,#fff9ef 50%,transparent 52%),radial-gradient(1.2px 1.2px at 50% 84%,#fff9ef 50%,transparent 52%),radial-gradient(1px 1px at 92% 88%,#fff9ef 50%,transparent 52%);
  animation:wTwinkle 5s ease-in-out infinite alternate}
@keyframes wTwinkle{from{opacity:.075}to{opacity:.24}}
.cdeco{position:absolute;left:3px;top:10px;width:calc(100% - 6px);height:auto;aspect-ratio:1;overflow:visible;pointer-events:none}
.cdeco .cg{transform-box:view-box;transform-origin:300px 300px}
.cdeco .cp{transform-box:fill-box;transform-origin:center}
.chart-card .legend{color:var(--w-muted)}
.chart-card .line.green{background:var(--w-harmony)}.chart-card .line.gold{background:var(--w-tense)}.chart-card .line.neutral{background:var(--w-conj)}
/* a planet's glyph stands on the wheel itself in a soft glow of its colour (the copy under it); no circle under it. The
   chosen one: its glyph in its colour, ×1.15, a stronger glow; the others dimmed to 42 % */
.chart [role=button]:focus-visible .planet-target,.chart [aria-pressed=true] .planet-target{stroke:transparent;fill:transparent}
.chart .pgl{transform-box:fill-box;transform-origin:center;transition:transform .45s var(--spring),opacity .35s ease}
.chart [aria-pressed=true] .pgl{transform:scale(1.15)}
.chart :is([aria-pressed=true],[role=button]:focus-visible) .pgl>g:not(.halo) path{stroke:var(--pc)}
.chart.picked [aria-pressed=false] .pgl{opacity:.42}
.chart .pgl.go{animation:pglGo .55s var(--spring)}
@keyframes pglGo{0%{transform:scale(.92)}55%{transform:scale(1.26)}100%{transform:scale(1.15)}}
.chart :is(.rg,.belt,.orb){transform-box:view-box;transform-origin:300px 300px}
.chart :is(.sg,.nd,.cx){transform-box:fill-box;transform-origin:center}
.chart .up{transform-box:view-box}
.chart .nd.pul{animation:ndp .5s var(--spring)}
@keyframes ndp{0%{transform:scale(.5)}60%{transform:scale(1.4)}100%{transform:none}}
.chart .du .tw{animation:wTw 4.6s ease-in-out infinite alternate;animation-delay:var(--d)}
.still .chart .du .tw,.still .chart-card .dust{animation:none}
/* the entrance: every rule that hides under .armed has its .armed.play that shows; the classes go after 2.65 s (owner 2026-11-04 12:40: a fifth quicker than the concept's 3.3 s, the same order and curves); each glyph's glow and the lines' glow come in once it has landed (.gw) */
.armed .cdeco .cg{opacity:0;transform:scale(.86)}
.armed.play .cdeco .cg{opacity:1;transform:none;animation:wGlow 1.04s var(--ios) both .08s}
.armed .cdeco .co path{stroke-dasharray:1;stroke-dashoffset:1}
.armed.play .cdeco .co path{stroke-dashoffset:0;animation:wDraw 1.28s var(--ios) both;animation-delay:calc(.24s + var(--k) * 128ms)}
.armed .cdeco :is(.cs,.cp){opacity:0}
.armed.play .cdeco .cs{opacity:1;animation:wFade .72s ease both .88s}
.armed.play .cdeco .cp{opacity:1;animation:wPop .48s var(--spring) both 1.2s}
.armed .chart-mode,.armed .legend span{opacity:0;transform:translateY(8px)}
.armed.play .chart-mode{opacity:1;transform:none;transition:opacity .28s ease,transform .44s var(--spring)}
.armed.play .legend span{opacity:1;transform:none;transition:opacity .28s ease 1.24s,transform .4s var(--spring) 1.24s}
.armed .chart :is(.rg,.sg,.orb,.nd,.gd,.belt,.tk,.cx,.du,.asp-u){opacity:0}
.armed .chart :is(.asp,.rl path,.gd path[pathLength]){stroke-dasharray:1;stroke-dashoffset:1}
.armed .chart .pgl{transform:scale(.55)}
.armed.play .chart .rg{opacity:1;animation:wRing .76s var(--ios) both}
.armed.play .chart .rl path{stroke-dashoffset:0;animation:wDraw .84s var(--ios) both;animation-delay:calc(var(--k) * 88ms)}
.armed.play .chart .belt{opacity:1;animation:wBelt .72s var(--ios) both .32s}
.armed.play .chart .tk{opacity:1;animation:wFade .64s ease both .48s}
.armed.play .chart .sg{opacity:1;animation:wPop .44s var(--spring) both;animation-delay:calc(.2s + var(--k) * 30.4ms)}
.armed.play .chart .orb{opacity:1;animation:wOrb 1.04s cubic-bezier(.2,1.1,.35,1) both,wFade .36s ease both;animation-delay:calc(.28s + var(--k) * 56ms)}
.armed.play .chart .up{animation:wUp 1.04s cubic-bezier(.2,1.1,.35,1) both;animation-delay:calc(.28s + var(--k) * 56ms)}
.armed.play .chart .pgl{transform:none;animation:wLand .6s var(--spring) both;animation-delay:calc(.736s + var(--k) * 56ms)}
.armed.play .chart .nd{opacity:1;animation:wPop .36s var(--spring) both;animation-delay:calc(.84s + var(--k) * 36ms)}
.armed.play .chart .asp{stroke-dashoffset:0;animation:wDraw .48s var(--ios) both;animation-delay:calc(.96s + var(--k) * 44ms)}
.armed.play .chart .asp-u{opacity:1;animation:wFade .48s ease both .96s}
.armed.play .chart .cx{opacity:1;animation:wStar .72s var(--spring) both .96s}
.armed.play .chart .du{opacity:1;animation:wFade 1.12s ease both 1.04s}
.armed.play .chart .gd{opacity:1;animation:wFade .48s ease both 1.04s}
.armed.play .chart .gd path[pathLength]{stroke-dashoffset:0;animation:wDraw .44s var(--ios) both;animation-delay:calc(1.28s + var(--k) * 56ms)}
/* «Упрощённая» ↔ «Традиционная»: the planets glide from where they were, the signs and the lines come anew */
.chart .gw{opacity:0}
.chart .gw.gw-in{opacity:1;transition:opacity .3s ease}
.swap .chart .sg{animation:wPop .5s var(--spring) both;animation-delay:calc(.1s + var(--k) * 28ms)}
.swap .chart .nd{animation:wPop .4s var(--spring) both;animation-delay:calc(.55s + var(--k) * 35ms)}
.swap .chart .asp{stroke-dasharray:1;animation:wDraw .55s var(--ios) both;animation-delay:calc(.6s + var(--k) * 40ms)}
.swap .chart .gd{animation:wFade .5s ease both;animation-delay:.7s}
.swap .chart .tk{animation:wFade .6s ease both .35s}
@keyframes wGlow{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}
@keyframes wRing{from{opacity:0;transform:scale(.9) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes wPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@keyframes wOrb{from{transform:rotate(-56deg)}to{transform:none}}
@keyframes wUp{from{transform:rotate(56deg)}to{transform:none}}
@keyframes wFade{from{opacity:0}to{opacity:1}}
@keyframes wDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes wBelt{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes wLand{from{transform:scale(.55)}to{transform:none}}
@keyframes wStar{from{opacity:0;transform:scale(.2) rotate(-90deg)}to{opacity:1;transform:none}}
@keyframes wTw{from{opacity:.12}to{opacity:.85}}
@media (prefers-reduced-motion:reduce){.chart *,.chart-card *,.chart-mode *{animation:none!important;transition:none!important}}
