@font-face{font-family:Manrope;src:url('/static/fonts/manrope-cyr.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('/static/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Prata;src:url('/static/fonts/prata-cyr.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Prata;src:url('/static/fonts/prata-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#f6f3eb;--sheet:#fffdf8;--ink:#272821;--muted:#5d6058;--line:#cfc9bc;--accent:#934830;--blue:#315579;--font-body:Manrope,Arial,sans-serif;--font-display:Prata,Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.65 var(--font-body)}
::selection{background:#c8d9e6;color:#182f43}
a{color:inherit;text-underline-offset:.23em}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.site-header{display:flex;align-items:center;gap:3rem;min-height:82px;padding:0 clamp(24px,5vw,84px);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;white-space:nowrap;font-size:16px;letter-spacing:-.02em}
.brand svg{width:37px;height:37px;fill:none;stroke:var(--ink);stroke-width:1.15}.brand svg circle:last-child{fill:var(--accent);stroke:none}
.site-header nav{display:flex;gap:clamp(15px,3vw,36px);margin:auto}.site-header nav a{text-decoration:none;color:var(--muted);font-size:13px;font-weight:600}.site-header nav a:hover{text-decoration:underline;color:var(--ink)}
.header-note{font:12px/1.4 var(--font-body);color:var(--muted);white-space:nowrap}
main{max-width:1500px;margin:auto}.intro{min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(35px,5vw,90px);padding:80px clamp(24px,5vw,84px) 90px;border-bottom:1px solid var(--line)}
.intro-copy{align-self:center;position:relative;z-index:1}.intro h1{font:400 clamp(42px,4.6vw,72px)/1.18 var(--font-display);letter-spacing:-.035em;max-width:700px;margin:0 0 35px}.intro h1 em{font-style:normal;color:var(--accent)}.intro-copy p{max-width:56ch;font-size:17px;line-height:1.85;margin:0 0 35px;color:#44483f}.primary-link{display:inline-flex;align-items:center;gap:38px;background:var(--ink);color:#fffaf0;text-decoration:none;padding:15px 21px;font-weight:600;font-size:14px;transition:background .2s,transform .2s}.primary-link:hover{background:var(--accent);transform:translateY(-2px)}
.atlas-wrap{min-width:0;border:1px solid var(--line);background:#f2efe6;box-shadow:0 16px 36px -29px #30352b}.atlas{display:block;width:100%;height:auto}.orbit-lines{stroke-width:1.2}.atlas-center{font:600 10px var(--font-body);letter-spacing:.22em;fill:#54584e}.point{font:600 13px var(--font-body);fill:var(--ink)}.point circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}.point.ready circle{fill:var(--blue);stroke:#fff}.point.ready{cursor:pointer}.point.ready:hover text{fill:var(--accent)}.point.muted{fill:#6d6e66}.point.muted circle{fill:var(--paper);stroke:#8b8a80}.point-sub{font-size:10px;font-weight:400;fill:#4b5660}.atlas-caption{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:var(--muted)}.atlas-caption strong{color:var(--blue)}
.section-grid,.process,.cabinet{padding:100px clamp(24px,5vw,84px);border-bottom:1px solid var(--line)}.section-grid,.process{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:clamp(45px,7vw,130px)}.section-heading h2{font:400 clamp(35px,3vw,52px)/1.2 var(--font-display);letter-spacing:-.035em;margin:0 0 24px}.section-heading p{margin:0;max-width:44ch;color:var(--muted);line-height:1.8}
.systems-list{border-top:1px solid var(--ink)}.system-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);transition:background .3s}.system-row.selected{background:#e9e2d4}.system-name{font-size:15px;font-weight:600}.system-status{font-size:11px;white-space:nowrap;color:var(--muted)}.system-status.calculation_ready,.system-status.session_ready{color:var(--blue);font-weight:700}
.process{background:var(--sheet)}.process-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);counter-reset:step}.process-steps li{display:grid;grid-template-columns:26px minmax(120px,.55fr) minmax(0,1fr);gap:20px;padding:21px 0;border-bottom:1px solid var(--line);align-items:start;counter-increment:step}.process-steps li:before{content:counter(step,decimal-leading-zero);font:600 11px/2 var(--font-body);color:var(--accent)}.process-steps strong{font-size:15px}.process-steps span{color:var(--muted);font-size:13px}.process-footnote{grid-column:2;color:var(--muted);margin:-10px 0 0;font-size:12px}
.cabinet{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:clamp(45px,7vw,130px)}.cabinet-body{min-width:0}.empty-state,.error{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:0;padding:28px 0;color:var(--muted)}.error{color:#9a341f}.profile-form{display:flex;align-items:end;gap:15px;flex-wrap:wrap;border-top:1px solid var(--ink);padding:20px 0 25px}.profile-form label{display:grid;gap:9px;font-weight:600;font-size:12px}.profile-form input{background:var(--sheet);border:1px solid #9c998e;border-radius:0;color:var(--ink);min-height:45px;padding:8px 12px;color-scheme:light;caret-color:var(--accent)}.save-button{background:var(--blue);border:1px solid var(--blue);color:white;padding:10px 18px;min-height:45px;font-weight:600}.save-button:hover{background:#233e5b}.save-button:disabled,.remove-button:disabled{opacity:.55;cursor:wait}.form-message{width:100%;margin:0;color:#9a341f;font-size:12px}.results{border-top:1px solid var(--line);padding-top:22px}.results h3{font:400 25px var(--font-display);margin:0 0 16px}.result{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr);gap:3px 20px;padding:18px 0;border-bottom:1px solid var(--line)}.result-system{font-weight:700;font-size:14px}.result-value{font:400 26px/1.3 var(--font-display);color:var(--blue);grid-column:2;grid-row:1}.result p{grid-column:2;margin:0;color:var(--muted);font-size:12px}.result-details{grid-column:1/-1;font-size:12px;margin-top:10px}.result-details summary{cursor:pointer;color:var(--blue);font-weight:700}.result-details a{display:inline-block;margin-top:10px}.result-details pre{max-width:100%;overflow:auto;background:#eae6dc;padding:13px;margin:8px 0;font:12px/1.6 Consolas,monospace}.remove-button{margin-top:27px;background:none;border:0;border-bottom:1px solid #9a341f;padding:2px 0;color:#9a341f;font-size:12px}
.profile-form select{background:var(--sheet);border:1px solid #9c998e;border-radius:0;color:var(--ink);min-height:45px;padding:8px 12px}.iching-section .remove-button{margin:12px 16px 0 0}.iching-section .form-message{margin-top:12px}
.iching-section{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.iching-section h3{font:400 25px var(--font-display);margin:0 0 10px}.iching-section>p{margin:0 0 20px;color:var(--muted);font-size:12px}.iching-form{display:grid;gap:15px}.iching-form label{display:grid;gap:8px;font-size:12px;font-weight:600}.iching-form textarea{width:100%;resize:vertical;background:var(--sheet);border:1px solid #9c998e;color:var(--ink);padding:10px;caret-color:var(--accent)}.iching-form button{justify-self:start}.iching-reading{margin-top:25px}.reading-question{font-weight:600}.iching-lines{display:grid;gap:8px;width:150px;margin:20px 0}.iching-line{display:flex;justify-content:space-between;height:10px}.iching-line span{height:100%;background:var(--blue)}.iching-line.yang span:first-child{width:100%}.iching-line.yang span:last-child{display:none}.iching-line.yin span{width:43%}.reading-detail{font-size:12px;color:var(--muted)}
footer{max-width:1500px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:35px clamp(24px,5vw,84px) 55px;font-size:12px;color:var(--muted)}footer span:first-child{font-weight:700;color:var(--ink)}
@media(max-width:1020px){.header-note{display:none}.intro{min-height:0;gap:20px}.intro h1{font-size:clamp(38px,5vw,60px)}.point{font-size:11px}.section-grid,.process,.cabinet{gap:40px}}
@media(max-width:720px){.site-header{min-height:70px;flex-wrap:wrap;gap:0;padding:15px 20px}.brand{width:100%;font-size:15px}.brand svg{width:31px;height:31px}.site-header nav{width:100%;justify-content:space-between;margin:14px 0 0;gap:8px}.site-header nav a{font-size:11px}.intro{display:flex;flex-direction:column;align-items:stretch;padding:65px 20px 55px}.intro h1{font-size:clamp(36px,9vw,53px);line-height:1.23;margin-bottom:24px}.intro-copy p{font-size:14px;margin-bottom:25px}.atlas-wrap{margin-top:20px}.atlas-caption{font-size:9px}.section-grid,.process,.cabinet{display:block;padding:65px 20px}.section-heading{margin-bottom:36px}.section-heading h2{font-size:36px;margin-bottom:16px}.section-heading p{font-size:13px}.process-steps li{grid-template-columns:20px minmax(0,1fr);gap:6px 15px}.process-steps li span{grid-column:2}.process-footnote{margin-top:17px}.result{grid-template-columns:1fr 1fr}.result-value{text-align:right}.result p{grid-column:1/-1}.profile-form{align-items:stretch}.profile-form label{width:100%}footer{padding:30px 20px 45px;display:block}footer span{display:block;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.result-placements{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 18px;margin-top:14px;border-top:1px solid var(--line)}.placement{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.placement strong{font-weight:700;color:var(--blue);text-align:right}
.profile-form input[type=checkbox]{min-height:20px;width:20px;height:20px;padding:0;accent-color:var(--blue)}.profile-form .reading-detail{width:100%;margin:0;color:var(--muted);font-size:12px}
.profile-form .weekdays{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--line);padding:10px 12px 12px;min-width:0;width:100%}.weekdays legend{font-size:12px;font-weight:600;padding:0 5px}.profile-form .weekdays label{display:flex;align-items:center;gap:5px;font-size:12px;min-height:30px}.profile-form .weekdays input{margin:0;width:16px;height:16px;min-height:16px}
.delivery-heading{font:400 20px var(--font-display);margin:28px 0 0}.login-widget{margin-top:20px;min-height:50px}
.aspect-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px;margin-top:8px}.aspect-list p{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}
@media(max-width:720px){.result{grid-template-columns:1fr}.result-value{grid-column:1;grid-row:auto;text-align:left;font-size:20px}.result p{grid-column:1}}
