.portrait{--ink:#3a2e4f;--night:#3d3566;--sun:#e8914f;--paper:#fbf4ea;--line:#d8c7b4;max-width:1100px;color:var(--ink);overflow-wrap:anywhere;background:#fffdf9;margin:0 auto;padding:28px;font:16px/1.6 Arial,sans-serif}.portrait *{box-sizing:border-box}.portrait a{color:inherit}.portrait header{border-bottom:1px solid var(--sun);justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.portrait header label{align-items:center;gap:12px;font-size:13px;display:flex}.portrait select{max-width:130px}.portrait-opening{max-width:820px;padding:64px 0 40px;position:relative;overflow:hidden}.portrait h1{z-index:1;max-width:640px;margin:20px 0;font:clamp(36px,6vw,66px)/1.08 Georgia,serif;position:relative}.portrait-opening p{z-index:1;max-width:520px;position:relative}.portrait-sun{border:34px solid var(--night);border-top-color:var(--sun);border-left-color:var(--sun);opacity:.35;border-radius:50%;width:340px;height:340px;position:absolute;top:40px;right:-120px;transform:rotate(-20deg)}.portrait form{background:var(--paper);border-radius:4px;max-width:850px;padding:30px}.portrait fieldset{border:0;min-width:0;margin:0;padding:0}.portrait legend{margin-bottom:18px;font:26px Georgia,serif}.portrait-variants{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.portrait-variants label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;display:flex}.portrait-variants label.chosen{border-color:var(--night);background:var(--night);color:#fff}.portrait-variants input{accent-color:var(--sun);margin:0}.portrait-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.portrait-fields label,.portrait .city-picker label{font-size:14px;display:block}.portrait input:not([type=radio]),.portrait select{color:var(--ink);background:#fff;border:1px solid #9a8ea8;border-radius:3px;width:100%;min-width:0;margin-top:6px;padding:12px;font:16px Arial,sans-serif;display:block}.portrait button{border:1px solid var(--night);background:var(--night);color:#fff;cursor:pointer;border-radius:3px;min-height:48px;padding:14px 22px;font:16px Arial,sans-serif}.portrait button:disabled{opacity:.55;cursor:wait}.portrait .quiet,.portrait .city-picker .secondary{color:var(--ink);background:#fff}.portrait .city-picker .secondary{margin-top:10px}.portrait .city-picker li button{color:var(--ink);border-color:var(--line);background:#fff;border-radius:6px}.portrait :focus-visible{outline:3px solid var(--sun);outline-offset:4px}.portrait-note{color:#5d5170;font-size:13px}.portrait-result{text-align:center;padding:24px 0}.portrait-kicker{text-transform:uppercase;letter-spacing:.12em;margin-top:24px;font-size:12px}.portrait-result h1{margin:12px auto 18px;font-size:44px}.portrait-dial{max-width:620px;margin:20px auto}.portrait-dial svg,.portrait-chart svg{width:100%;height:auto;display:block}.portrait h2{font:28px Georgia,serif}.portrait-facts,.portrait-chart,.portrait-notes{text-align:left;max-width:740px;margin:36px auto}.portrait table{border-collapse:collapse;width:100%;font-size:15px}.portrait th,.portrait td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 6px}.portrait th{width:45%;font-weight:400}.portrait-notes{color:#5d5170;font-size:13px}.portrait-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:30px 0;display:flex}.portrait-error{color:#81263b;background:#fff4f4;border:1px solid #9c3448;padding:16px}.portrait footer{border-top:1px solid var(--sun);margin-top:50px;padding:18px 0;font-size:12px}@media (max-width:600px){.portrait{padding:18px}.portrait header{align-items:flex-start}.portrait header label{display:block}.portrait-opening{padding-top:35px}.portrait form{padding:20px 16px}.portrait-fields{grid-template-columns:1fr}.portrait-result h1{font-size:32px}.portrait th,.portrait td{padding:10px 3px;font-size:13px}.portrait-sun{right:-230px}.portrait-dial{margin:16px -8px}}@media print{.portrait{max-width:none;padding:0;font-size:11px}.portrait header,.portrait-actions,.portrait-tools,.portrait-error{display:none}.portrait-dial{max-width:110mm}.portrait-result h1{font-size:26px}.portrait-facts,.portrait-chart,.portrait-notes{margin:12px auto}.portrait td,.portrait th{padding:4px}.portrait h2{font-size:20px}}
