@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-ext-400-normal-BjDhGU6t.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-ext-400-normal-d9FrwbiD.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-cyrillic-400-normal-CHP_ranX.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-400-normal-BDYvNhAR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-devanagari-400-normal-C3FccbrF.woff2) format("woff2"),url(/assets/noto-sans-devanagari-400-normal-g9fsM2jL.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-ext-400-normal-i2oSBwXz.woff2) format("woff2"),url(/assets/noto-sans-greek-ext-400-normal-L11LEhi4.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-greek-400-normal-DCESwnT1.woff2) format("woff2"),url(/assets/noto-sans-greek-400-normal-Be2BcUUc.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-vietnamese-400-normal-D2wP-Vm-.woff2) format("woff2"),url(/assets/noto-sans-vietnamese-400-normal-C3Al4sv4.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-ext-400-normal-CVf-LbaS.woff2) format("woff2"),url(/assets/noto-sans-latin-ext-400-normal-CNh9dRW_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-latin-400-normal-BTkUljjl.woff2) format("woff2"),url(/assets/noto-sans-latin-400-normal-DPpKfCgK.woff) format("woff");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:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-cyrillic-ext-600-normal-DlWr7wnj.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-ext-600-normal-Cwz1867h.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-cyrillic-600-normal-KpAl9xZA.woff2) format("woff2"),url(/assets/noto-sans-cyrillic-600-normal-BRIw9PIU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-devanagari-600-normal-Ewgvvq1j.woff2) format("woff2"),url(/assets/noto-sans-devanagari-600-normal-Bly84zfI.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-greek-ext-600-normal-B4z4a2vi.woff2) format("woff2"),url(/assets/noto-sans-greek-ext-600-normal-BjvVOqxV.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-greek-600-normal-CT9U7UAD.woff2) format("woff2"),url(/assets/noto-sans-greek-600-normal-C0bz_iEd.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-vietnamese-600-normal-mhyQDSzg.woff2) format("woff2"),url(/assets/noto-sans-vietnamese-600-normal-D0HZFEqa.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-latin-ext-600-normal-Has_8ph9.woff2) format("woff2"),url(/assets/noto-sans-latin-ext-600-normal-B3lLaxXr.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-latin-600-normal-Dkgu5AE5.woff2) format("woff2"),url(/assets/noto-sans-latin-600-normal-DVJMj_t0.woff) format("woff");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:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-ext-400-normal-DU92duxl.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-ext-400-normal-DWZRXqV9.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-cyrillic-400-normal-B-euljER.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-400-normal-D8jOFnDU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-ext-400-normal-B7STXmTm.woff2) format("woff2"),url(/assets/pt-serif-latin-ext-400-normal-tfSDtiqN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-serif-latin-400-normal-Cx0mQj7e.woff2) format("woff2"),url(/assets/pt-serif-latin-400-normal-DIu_lRW0.woff) format("woff");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:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-ext-700-normal-CpXZPNZI.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-ext-700-normal-C7FyUQsB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-cyrillic-700-normal-DvVvs_4R.woff2) format("woff2"),url(/assets/pt-serif-cyrillic-700-normal-BeN6CUoB.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-ext-700-normal-B7jTzfC-.woff2) format("woff2"),url(/assets/pt-serif-latin-ext-700-normal-BQOBW4N0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"PT Serif";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-serif-latin-700-normal-Bsuo9jes.woff2) format("woff2"),url(/assets/pt-serif-latin-700-normal-BnJLcJ8K.woff) format("woff");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:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-ext-400-normal-Bo67NYBq.woff2) format("woff2"),url(/assets/golos-text-cyrillic-ext-400-normal-D592xEk3.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2) format("woff2"),url(/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-ext-400-normal-BjKcJWKY.woff2) format("woff2"),url(/assets/golos-text-latin-ext-400-normal-BXgyX_iE.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/golos-text-latin-400-normal-Coi1FYaD.woff2) format("woff2"),url(/assets/golos-text-latin-400-normal-DOuJOmdK.woff) format("woff");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:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-ext-600-normal-uuhKjiyO.woff2) format("woff2"),url(/assets/golos-text-cyrillic-ext-600-normal-rSWq63aw.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-cyrillic-600-normal-lpQ9rVRR.woff2) format("woff2"),url(/assets/golos-text-cyrillic-600-normal-BgvEFMNR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-ext-600-normal-DLLCs_GQ.woff2) format("woff2"),url(/assets/golos-text-latin-ext-600-normal-C6iohuVX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/golos-text-latin-600-normal-Bhk8uV1U.woff2) format("woff2"),url(/assets/golos-text-latin-600-normal-B_o32mE8.woff) format("woff");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}.tour{position:fixed;inset:0;z-index:1000;pointer-events:none}.tour-spot{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #141e1a9e,0 0 0 3px var(--gold);transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease;pointer-events:none}.tour-dim{position:fixed;inset:0;background:#141e1a9e}.tour-box{position:fixed;pointer-events:auto;padding:14px 16px 12px;border-radius:14px;background:var(--color-surface);color:var(--color-text);box-shadow:var(--sh-lg);border:1px solid var(--color-border);animation:tour-in .2s ease}@keyframes tour-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tour-box:before{content:"";position:absolute;width:14px;height:14px;background:var(--color-surface);border:1px solid var(--color-border);transform:rotate(45deg)}.tour-box.bottom:before{top:-8px;left:calc(50% - 7px);border-right:none;border-bottom:none}.tour-box.top:before{bottom:-8px;left:calc(50% - 7px);border-left:none;border-top:none}.tour-box.right:before{left:-8px;top:18px;border-right:none;border-top:none}.tour-box.left:before{right:-8px;top:18px;border-left:none;border-bottom:none}.tour-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.tour-head b{font-family:var(--font-serif);font-size:15px;color:var(--color-primary)}.tour-step{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--gold);color:var(--ink)}.tour-x{margin-left:auto;border:none;background:none;font-size:20px;line-height:1;color:var(--color-text-muted);cursor:pointer}.tour-box p{margin:0 0 12px;font-size:14px;line-height:1.5}.tour-btns{display:flex;align-items:center;gap:8px}.tour-btns .btn{height:34px;padding:0 14px;font-size:13px}.hp-fab{position:fixed;right:18px;bottom:18px;z-index:900;width:52px;height:52px;border-radius:50%;border:2px solid var(--gold);background:var(--color-primary);color:var(--gold-2);font:inherit;font-family:var(--font-serif);font-size:26px;font-weight:700;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px #1a3c3459;transition:transform .12s ease}.hp-fab:hover{transform:translateY(-2px)}.hp-panel{position:fixed;right:18px;bottom:80px;z-index:900;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;border-radius:18px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--sh-lg);overflow:hidden}.hp-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-primary);color:#fff}.hp-head b{display:block;font-family:var(--font-serif);font-size:15px}.hp-head small{font-size:11px;color:#ffffffb3}.hp-head .icon-btn{margin-left:auto;color:#fff;background:#ffffff1f;border-color:transparent}.hp-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--ink);font-family:var(--font-serif);font-weight:700;display:grid;place-items:center;flex:none}.hp-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--color-bg)}.hp-msg{max-width:88%;padding:8px 12px;border-radius:14px;font-size:13.5px;line-height:1.45}.hp-msg p{margin:0}.hp-msg p+p{margin-top:4px}.hp-msg.model{align-self:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-bottom-left-radius:4px}.hp-msg.user{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:4px}.hp-typing{letter-spacing:3px;animation:hp-blink 1s infinite}@keyframes hp-blink{50%{opacity:.4}}.hp-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 10px 0;scrollbar-width:none}.hp-chips button{flex:none;padding:5px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:12px;color:var(--color-primary);cursor:pointer;white-space:nowrap}.hp-chips button:hover{background:var(--gold-soft);border-color:var(--gold)}.hp-input{display:flex;gap:6px;padding:8px 10px}.hp-input input{flex:1;height:38px}.hp-input .btn{height:38px;padding:0 14px}.hp-foot{display:flex;justify-content:space-between;align-items:center;padding:0 12px 8px;font-size:11px}.hp-foot a{color:var(--color-text-muted)}@media(max-width:640px){.hp-fab{right:12px;bottom:12px;width:46px;height:46px;font-size:22px}.hp-panel{right:8px;bottom:66px;width:calc(100vw - 16px)}}.hp-tour{margin:8px 10px 0;padding:8px 10px;border-radius:10px;border:1px dashed var(--gold);background:var(--gold-soft);color:var(--color-primary);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.au-modal{max-width:420px}.au-tabs{margin:6px 0 14px}.au-submit{width:100%;height:44px;margin-top:6px}.au-hint{margin:12px 0 0;font-size:12px;color:var(--color-text-muted);text-align:center}.au-offline{padding:10px 12px;border-radius:10px;background:#fff4e0;border:1px solid #f0d9a8;color:#7a5a1c;font-size:13px}.au-forgot{display:block;margin:10px auto 0;font-size:13px}.au-agree{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--color-text-muted);margin:4px 0 10px;cursor:pointer}.au-agree input[type=checkbox]{width:16px;height:16px;min-height:0;margin:3px 0 0;padding:0;flex:none;accent-color:var(--color-primary)}.au-agree span{display:block;flex:1;min-width:0}.au-agree a{color:var(--color-primary)}.au-sent{padding:8px 0 4px;font-size:14px;line-height:1.5}.au-sent a{color:var(--color-primary);font-weight:600}.um-login{height:36px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);color:var(--color-primary);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.um{position:relative}.um-avatar{width:34px;height:34px;border-radius:50%;border:2px solid var(--gold);background:var(--color-primary);color:var(--gold-2);font:inherit;font-weight:800;cursor:pointer}.um-menu{position:absolute;right:0;top:42px;min-width:220px;padding:6px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--sh-lg);z-index:200}.um-head{padding:8px 10px 10px;border-bottom:1px solid var(--color-border);margin-bottom:4px;color:var(--color-text)}.um-head b{display:block;font-size:14px}.um-head small{color:var(--color-text-muted);font-size:12px}.um-menu button{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:8px;background:none;color:var(--color-text);font:inherit;font-size:14px;cursor:pointer}.um-menu button:hover{background:var(--gold-soft)}.um-menu button.danger{color:var(--color-danger)}.cab{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.cab-main{max-width:1080px;width:100%;margin:0 auto;padding:24px 24px 60px}.cab-tabs{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:3px;border-radius:var(--r-pill);background:#efe8da;margin-bottom:22px}.cab-tabs button{flex:none;height:34px;padding:0 16px;border:none;border-radius:var(--r-pill);background:transparent;color:var(--color-text-muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.cab-tabs button.active{background:var(--color-primary);color:#fff}.cab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.cab-main h2{font-family:var(--font-serif);font-size:26px;color:var(--color-primary);margin:0}.cab-main h3{font-family:var(--font-serif);font-size:18px;color:var(--color-primary);margin:22px 0 10px}.cab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.cab-card{position:relative;padding:18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:4px}.cab-card b{font-family:var(--font-serif);font-size:18px;color:var(--color-primary)}.cab-card-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--color-primary);color:var(--gold-2);margin-bottom:8px}.cab-thumb{aspect-ratio:9 / 14;border-radius:10px;background:linear-gradient(160deg,#1a3c34,#24160e) center / cover no-repeat;margin-bottom:8px;cursor:pointer;border:1px solid var(--color-border)}.cab-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.cab-card-actions .btn{height:34px;padding:0 12px;font-size:13px}.cab-profile{max-width:460px}.cab-tamga-row{display:flex;align-items:center;gap:12px}.cab-tamga-img{width:44px;height:44px;border-radius:50%;flex:none}.muted.small{font-size:12px;margin:6px 0 0}.adm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:8px}.adm-tile{padding:14px 16px;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border)}.adm-tile b{display:block;font-family:var(--font-serif);font-size:28px;color:var(--color-primary)}.adm-tile span{font-size:12px;color:var(--color-text-muted)}.adm-chart{display:flex;align-items:flex-end;justify-content:flex-start;gap:6px;height:160px;padding:8px 8px 0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);overflow-x:auto}.adm-bar{flex:1;min-width:22px;max-width:44px;display:flex;flex-direction:column;align-items:center;height:100%}.adm-bar-stack{flex:1;width:100%;display:flex;flex-direction:column-reverse;justify-content:flex-start}.adm-bar-stack i{display:block;width:100%;min-height:0}.adm-bar small{font-size:9px;color:var(--color-text-muted);margin-top:4px}.adm-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--color-text-muted);margin:8px 0 14px}.adm-legend span{width:12px;height:12px;border-radius:3px;display:inline-block}.adm-cols{display:grid;grid-template-columns:1fr 1.4fr;gap:24px}.adm-table-wrap{overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.adm-table th,.adm-table td{padding:8px 10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.adm-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);background:#f6f1e6}.adm-table td.num{text-align:right;font-variant-numeric:tabular-nums}.adm-table tr.blocked td{opacity:.55}.adm-actions{white-space:nowrap}.adm-actions .btn-link{font-size:12px}.adm-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#ece5d6;color:var(--color-text-muted);margin-right:4px}.adm-badge.admin{background:var(--color-primary);color:var(--gold-2)}.adm-badge.premium{background:var(--gold);color:var(--ink)}.adm-badge.blocked{background:#c0553b1f;color:var(--color-danger)}.adm-search{width:260px;height:36px}@media(max-width:800px){.adm-cols{grid-template-columns:1fr}.cab-main{padding:16px 16px 48px}}.landing{min-height:100vh;background:var(--color-bg);color:var(--color-text);overflow-x:hidden}.landing h1,.landing h2{font-family:var(--font-serif);letter-spacing:-.01em;text-wrap:balance}.lp-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:14px 24px;background:#f8f5f0d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.lp-logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:20px;font-weight:800;letter-spacing:.2px;color:var(--color-primary)}.lp-logo .tld{color:var(--gold)}.lp-logo-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--color-primary);color:var(--gold-2)}.lp-nav-links{display:flex;gap:26px;margin-left:auto}.lp-nav-links a{color:var(--color-text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:color .15s ease}.lp-nav-links a:hover{color:var(--color-primary)}.lp-nav-right{display:flex;align-items:center;gap:12px}.lp-nav-cta{height:36px;padding:0 16px;border:none;border-radius:var(--r-pill);background:var(--color-primary);color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .1s ease}.lp-nav-cta:hover{background:var(--color-primary-2)}.lp-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}.lp-hero{position:relative;margin:6px 16px 0;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,#05271f,#05271fe6 25%,#05271f00 52%),var(--hero-bg, none) right center / auto 100% no-repeat,linear-gradient(160deg,#06302a,#05271f 60%,#071f1b);color:#fff;box-shadow:var(--sh-lg)}.lp-hero-orn{--orn: clamp(420px, 44vw, 640px);position:absolute;top:50%;right:calc(var(--orn) * -.5);width:var(--orn);opacity:.95;aspect-ratio:1;transform:translateY(-50%);pointer-events:none;filter:drop-shadow(0 0 40px rgba(230,184,102,.25))}.lp-hero-orn i{display:block;width:100%;height:100%;background:var(--hero-orn) center / contain no-repeat;animation:lp-spin 120s linear infinite;will-change:transform}@keyframes lp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lp-hero-orn i{animation:none}}.lp-hero:after{content:"";position:absolute;inset:12px;border:1px solid rgba(230,184,102,.22);border-radius:20px;pointer-events:none}.lp-hero-glow{position:absolute;right:-10%;top:-30%;width:60%;height:120%;background:radial-gradient(closest-side,rgba(230,184,102,.18),transparent);filter:blur(20px);pointer-events:none}.lp-hero-inner{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:72px 48px 64px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;align-items:end}.lp-hero .lp-eyebrow{color:var(--gold-2)}.lp-hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.06;margin:0 0 20px;color:#fff}.lp-sub{color:#d9e2dd;font-size:17px;line-height:1.6;max-width:520px;margin:0 0 28px}@keyframes art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.lp-chips{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:22px 0 0}.lp-chips li{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#c9d6d0}.lp-chips svg{color:var(--gold-2)}.lp-continue{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 18px;padding:14px 16px;border:1px solid rgba(230,184,102,.35);border-radius:16px;background:#ffffff0f}.lp-continue-txt{display:flex;flex-direction:column;min-width:140px;flex:1}.lp-continue-txt small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}.lp-continue-txt b{font-family:var(--font-serif);font-size:20px;color:#fff}.lp-continue-txt span{font-size:13px;color:#c9d6d0}.lp-link{background:none;border:none;color:#c9d6d0;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 2px}.lp-link:hover{color:#fff}.lp-cta{display:flex;gap:12px;flex-wrap:wrap}.lp-hero .lp-cta{display:grid;grid-template-columns:repeat(2,minmax(0,max-content))}.lp-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 15px;border:1px solid transparent;border-radius:14px;cursor:pointer;text-align:left;font-family:inherit;transition:transform .12s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.lp-btn:hover{transform:translateY(-2px)}.lp-btn:active{transform:translateY(0)}.lp-btn svg{flex:none}.lp-btn-txt{display:flex;flex-direction:column;line-height:1.2}.lp-btn-txt b{font-size:15px;font-weight:700}.lp-btn-txt small{opacity:.72;font-size:12px}.lp-btn-primary{background:linear-gradient(180deg,#dfa940,var(--gold));color:var(--ink);box-shadow:0 10px 24px #c8912e59,inset 0 1px #ffffff4d}.lp-btn-primary:hover{box-shadow:0 14px 30px #c8912e73,inset 0 1px #ffffff4d}.lp-btn-secondary{background:#fffdf8f5;color:var(--color-text);border-color:#eadfce;box-shadow:var(--sh-md)}.lp-btn-secondary:hover{background:#fff;border-color:#dcc79b}.lp-btn-secondary svg{color:var(--gold)}.lp-divider{display:flex;justify-content:center;color:var(--gold);padding:44px 0 8px}.lp-divider.light{color:var(--gold-2);padding:0 0 20px}.lp-section{max-width:1040px;margin:0 auto;padding:44px 24px}.lp-section-head{text-align:center;margin-bottom:36px}.lp-section h2{font-size:clamp(26px,3.2vw,34px);line-height:1.15;margin:0;color:var(--color-primary)}.lp-about{max-width:760px;text-align:center;padding-top:16px}.lp-about p{font-size:18px;line-height:1.7;color:var(--color-text-muted)}.lp-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media(max-width:1000px){.lp-feats{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.lp-feats{grid-template-columns:1fr}}.lp-feat{position:relative;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:24px 24px 22px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.lp-feat:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity .2s ease}.lp-feat:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:#dcc79b}.lp-feat:hover:before{opacity:1}.lp-feat-n{position:absolute;top:18px;right:22px;font-family:var(--font-serif);font-size:13px;letter-spacing:.06em;color:#cdbf9f}.lp-feat-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--color-primary);color:var(--gold-2);margin-bottom:16px;box-shadow:0 6px 14px #1a3c3438}.lp-feat b{display:block;font-family:var(--font-serif);font-size:18px;margin-bottom:6px;color:var(--color-primary)}.lp-feat p{margin:0;color:var(--color-text-muted);font-size:14px;line-height:1.55}.lp-how{position:relative;background:linear-gradient(180deg,#f1eadc,#f8f5f0);max-width:none;border-radius:28px;margin:12px 16px 0;padding:56px 24px;overflow:hidden}.lp-how:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='26' viewBox='0 0 48 26'%3E%3Cg fill='none' stroke='%23c8912e' stroke-width='1.4' stroke-linecap='round' opacity='0.12'%3E%3Cpath d='M0 20 12 8 24 20 36 8 48 20'/%3E%3C/g%3E%3C/svg%3E");mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 60%);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 60%);pointer-events:none}.lp-how .lp-section-head,.lp-how .lp-steps{position:relative;max-width:1000px;margin-left:auto;margin-right:auto}.lp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.lp-step{position:relative;text-align:center;padding:8px}@media(min-width:720px){.lp-step:not(:last-child):after{content:"";position:absolute;top:34px;left:calc(50% + 34px);width:calc(100% - 68px);border-top:2px dashed #d9c9a5}}.lp-step-n{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:var(--gold-2);font-family:var(--font-serif);font-size:22px;font-weight:700;margin-bottom:16px;box-shadow:0 0 0 4px var(--color-bg),0 0 0 5px var(--gold),0 8px 18px #1a3c3440}.lp-step b{display:block;font-family:var(--font-serif);font-size:19px;margin-bottom:6px;color:var(--color-primary)}.lp-step p{margin:0;color:var(--color-text-muted);font-size:14px}.lp-final{margin:48px 16px 24px}.lp-final-inner{position:relative;overflow:hidden;max-width:1088px;margin:0 auto;padding:48px 32px 56px;border-radius:28px;text-align:center;color:#fff;background:radial-gradient(70% 80% at 50% 0%,rgba(200,145,46,.24),transparent 60%),linear-gradient(160deg,#163229,#24160e);box-shadow:var(--sh-lg)}.lp-final-inner:after{content:"";position:absolute;inset:12px;border:1px solid rgba(230,184,102,.22);border-radius:20px;pointer-events:none}.lp-final h2{font-size:clamp(28px,3.6vw,38px);color:#fff;margin:0 0 10px}.lp-final .lp-sub{color:#c9d6d0;margin:0 auto 28px}.lp-final .lp-cta{justify-content:center}.lp-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1120px;margin:0 auto;padding:28px 24px 36px;font-size:13px}.lp-footer-links{display:flex;gap:20px}.lp-footer-links a{color:var(--color-text-muted);text-decoration:none}.lp-footer-links a:hover{color:var(--color-primary)}.lp-hero-art{position:relative;display:flex;justify-content:center;align-items:flex-end;align-self:stretch;margin-bottom:-64px}.lp-hero-art img{width:100%;max-width:560px;height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45));transform:translateY(0)}.lp-stats{max-width:1040px;margin:28px auto 0;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lp-stat{text-align:center;padding:18px 12px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.lp-stat b{display:block;font-family:var(--font-serif, "PT Serif", serif);font-size:clamp(28px,3.4vw,40px);line-height:1;color:var(--color-primary);background:linear-gradient(120deg,#b5842a,#e6b866 50%,#b5842a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lp-stat span{display:block;margin-top:8px;font-size:13.5px;color:var(--color-text-muted)}.lp-showcase{padding:44px 0 20px;overflow:hidden}.lp-showcase .lp-section-head{padding:0 24px}.lp-section-sub{max-width:640px;margin:10px auto 0;color:var(--color-text-muted);font-size:16px;line-height:1.55}.lp-marquee{position:relative;overflow:hidden;padding:14px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.lp-marquee-track{display:flex;gap:18px;width:max-content;animation:lp-marquee 60s linear infinite}.lp-marquee.reverse .lp-marquee-track{animation:lp-marquee3 75s linear infinite reverse}.lp-marquee:hover .lp-marquee-track{animation-play-state:paused}@keyframes lp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes lp-marquee3{0%{transform:translate(0)}to{transform:translate(-33.333%)}}.lp-show-card{flex:0 0 auto;width:200px;height:auto;border-radius:14px;box-shadow:0 10px 30px #1410082e;border:1px solid rgba(0,0,0,.06);transition:transform .25s ease}.lp-show-card.wide{width:320px}.lp-show-card:hover{transform:translateY(-6px) scale(1.03)}.lp-show-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:20px 24px 0}@media(prefers-reduced-motion:reduce){.lp-marquee-track{animation:none}}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}[data-reveal].in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}@media(max-width:900px){.lp-hero-inner{grid-template-columns:1fr;padding:48px 28px 0;text-align:center}.lp-hero-art{margin:12px 0 0;justify-content:center}.lp-hero-orn{display:none}.lp-hero-art img{max-width:420px}.lp-stats{grid-template-columns:repeat(2,1fr)}.lp-hero .lp-cta,.lp-chips{justify-content:center}.lp-sub{margin-left:auto;margin-right:auto}.lp-nav-links{display:none}}@media(max-width:560px){.lp-hero{margin:4px 10px 0;border-radius:22px;background:linear-gradient(180deg,#05271f73,#05271f4d),var(--hero-bg, none) 22% center / auto 100% no-repeat,#05271f}.lp-hero-inner{padding:36px 20px}.lp-hero:after,.lp-final-inner:after{inset:8px;border-radius:16px}.lp-nav-cta{display:none}.lp-nav{padding:12px 16px}.lp-section{padding:36px 16px}.lp-how{margin:8px 10px 0;padding:44px 16px;border-radius:22px}.lp-final{margin:36px 10px 16px}.lp-final-inner{padding:36px 18px 40px;border-radius:22px}.lp-hero .lp-cta{grid-template-columns:1fr}.lp-btn{width:100%;justify-content:flex-start}.lp-footer{flex-direction:column;align-items:flex-start;gap:12px}}.lp-feat-link{text-decoration:none;color:inherit;cursor:pointer;border-color:var(--gold)!important}.lp-feat-link:hover{box-shadow:var(--sh-lg)}:root{--color-bg: #f8f5f0;--color-surface: #ffffff;--color-primary: #1a3c34;--color-primary-2: #2d5a4e;--color-accent: #c8912e;--color-text: #3d2b1f;--color-text-muted: #7a6a5c;--color-border: #e3dccf;--gold: #c8912e;--gold-2: #e6b866;--gold-soft: rgba(200, 145, 46, .14);--ink: #24160e;--node-male: #7cb574;--node-female: #d98fb0;--color-success: #4a9d5b;--color-danger: #c0553b;--font-ui: "Golos Text", "Noto Sans", system-ui, sans-serif;--font-serif: "PT Serif", Georgia, "Times New Roman", serif;--fs-h1: 24px;--fs-h2: 20px;--fs-body: 15px;--fs-small: 13px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-6: 24px;--sp-8: 32px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--sh-sm: 0 1px 3px rgba(61, 43, 31, .08);--sh-md: 0 6px 18px rgba(61, 43, 31, .1);--sh-lg: 0 18px 44px rgba(36, 22, 14, .18);--ring: 0 0 0 3px rgba(200, 145, 46, .35)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--gold-soft)}:focus-visible{outline:none;box-shadow:var(--ring)}.app{max-width:760px;margin:0 auto;padding:var(--sp-6) var(--sp-4)}.center{min-height:100vh;display:grid;place-items:center;padding:var(--sp-4);background:radial-gradient(60% 40% at 50% 0%,var(--gold-soft),transparent 70%),var(--color-bg)}.muted{color:var(--color-text-muted)}.card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);padding:var(--sp-8);box-shadow:var(--sh-md)}.card:before{content:"";position:absolute;top:0;left:28px;right:28px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.card h1{font-family:var(--font-serif);font-size:30px;line-height:1.15;margin:8px 0 6px;color:var(--color-primary)}.card .muted{margin:0 0 20px}.card .btn-link{padding:0;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:6px;margin-bottom:16px}.card .btn-link:hover{background:none;color:var(--color-primary)}.card-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--color-primary);color:var(--gold-2);margin-bottom:4px}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-6)}.header h1{font-size:var(--fs-h1);margin:0}.brand{color:var(--color-primary);font-weight:700}.saved{font-size:var(--fs-small);color:var(--color-success)}label{display:block;font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--sp-1)}input,select{width:100%;height:40px;padding:0 var(--sp-3);border:1px solid var(--color-border);border-radius:var(--r-md);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder{color:#a89c8c}input:hover,select:hover{border-color:#cfc4b2}input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:var(--ring)}.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.field{margin-bottom:var(--sp-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--r-md);font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--color-primary-2),var(--color-primary));color:#fff;box-shadow:0 4px 12px #1a3c3440,inset 0 1px #ffffff14}.btn-primary:hover{background:linear-gradient(180deg,#34685a,#1f483e);box-shadow:0 6px 16px #1a3c344d}.btn-gold{background:linear-gradient(180deg,#d9a33f,var(--gold));color:var(--ink);box-shadow:0 4px 12px #c8912e4d,inset 0 1px #ffffff40}.btn-gold:hover{background:linear-gradient(180deg,#e0ad4c,#cf983a)}.btn-ghost{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-ghost:hover{border-color:#cfc4b2;background:#fffdf8}.btn-link{background:none;border:none;padding:4px 6px;border-radius:var(--r-sm);color:var(--color-primary);cursor:pointer;font:inherit;font-weight:500}.btn-link:hover{background:var(--gold-soft)}.btn-link.danger{color:var(--color-danger)}.btn-link.danger:hover{background:#c0553b1a}.persons{list-style:none;padding:0;margin:var(--sp-4) 0 0;display:flex;flex-direction:column;gap:var(--sp-2)}.person{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface)}.dot{width:12px;height:12px;border-radius:50%;flex:none}.dot.male{background:var(--node-male)}.dot.female{background:var(--node-female)}.person .name{font-weight:600}.person .rel{color:var(--color-text-muted);font-size:var(--fs-small);margin-left:auto}.empty{color:var(--color-text-muted);padding:var(--sp-4) 0}.divider{height:1px;background:var(--color-border);margin:var(--sp-6) 0}.app-shell{height:100vh;display:flex;flex-direction:column}.topbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:56px;background:linear-gradient(135deg,#163229,var(--color-primary) 60%,#1f4a40);color:#fff;z-index:30}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-2) 50%,var(--gold) 70%,transparent);opacity:.8}.topbar h1{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:500;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800;letter-spacing:.2px}.topbar .brand-btn{border:none;background:none;padding:4px 6px;margin-left:-6px;border-radius:8px;cursor:pointer;font:inherit;font-size:16px}.topbar .brand-btn:hover{background:#ffffff14}.topbar .brand-mark{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#c8912e2e;color:var(--gold-2)}.topbar .sep{color:#ffffff59}.topbar .title{color:#d9e2dd;font-weight:500;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:8px;flex:none}.topbar .saved{color:#a9dcb6;font-size:12px;margin-right:4px}.tb-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);background:#ffffff0f;color:#eef4f1;font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s ease,border-color .15s ease}.tb-btn:hover{background:#ffffff24;border-color:#ffffff4d}.tb-btn svg{flex:none;opacity:.9}.tb-btn.gold{background:linear-gradient(180deg,#d9a33f,var(--gold));border-color:transparent;color:var(--ink);box-shadow:0 3px 10px #c8912e59}.tb-btn.gold:hover{background:linear-gradient(180deg,#e0ad4c,#cf983a)}.tb-btn.quiet{background:transparent;border-color:transparent;color:#c9d6d0}.tb-btn.quiet:hover{background:#ffffff14;color:#fff}.tree-wrap{flex:1;min-height:0;position:relative;background:var(--color-bg)}.tree-empty{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--color-text-muted)}.tree-empty-box{max-width:420px;padding:28px 32px;border:1px dashed #d4c7ad;border-radius:var(--r-lg);background:#fff9}.tree-empty-box svg{color:var(--gold);margin-bottom:10px}.tree-empty-box b{display:block;font-family:var(--font-serif);font-size:20px;color:var(--color-primary);margin-bottom:6px}.form-dock{border-top:1px solid var(--color-border);background:var(--color-surface);padding:10px 16px 12px;box-shadow:0 -6px 18px #3d2b1f0d}.dock-title{font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:8px}.dock-title b{color:var(--color-text)}.dock-title .dock-rel{color:var(--color-primary);background:var(--gold-soft);padding:2px 8px;border-radius:999px}.dock-title .btn-link{margin-left:10px}.dock-hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-small);color:var(--color-text-muted);padding:4px 0}.tb-dl{position:relative}.tb-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:230px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 14px 36px #14100833;display:flex;flex-direction:column;gap:2px}.tb-menu button{display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text);font:inherit;font-weight:600;text-align:left;cursor:pointer}.tb-menu button small{margin-left:auto;font-weight:400;color:var(--color-text-muted)}.tb-menu button:hover{background:var(--gold-soft)}.tb-menu button:disabled{opacity:.6;cursor:default}.dock-title .btn-link{margin-left:8px}.dock-row{display:flex;gap:8px;flex-wrap:wrap}.dock-row input,.dock-row select{width:auto;flex:1;min-width:120px}.topbar-cta{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:var(--r-md);background:var(--color-accent);color:#fff;text-decoration:none;font-weight:600;font-size:var(--fs-small)}.share-toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:10px;max-width:92vw;padding:10px 14px;background:var(--ink);color:#fff;border:1px solid rgba(200,145,46,.35);border-radius:14px;box-shadow:var(--sh-lg);font-size:var(--fs-small);animation:toast-in .25s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.share-toast input{width:220px;height:30px;border:none;border-radius:6px;padding:0 8px;color:var(--color-text);font-size:12px}.share-toast .btn-link{color:var(--gold-2)}.share-toast .btn-link:hover{background:#ffffff1a}@media(max-width:560px){.share-toast{flex-wrap:wrap}.share-toast input{width:100%}}.lang-toggle{display:inline-flex;padding:2px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface)}.lang-toggle button{padding:4px 10px;border:none;border-radius:var(--r-pill);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:12px;font-weight:700;transition:background .15s ease,color .15s ease}.lang-toggle button.active{background:var(--color-primary);color:#fff}.topbar .lang-toggle{border-color:#ffffff2e;background:#ffffff0f}.topbar .lang-toggle button{color:#c9d6d0}.topbar .lang-toggle button.active{background:var(--gold);color:var(--ink)}@media(max-width:640px){.topbar{height:auto;min-height:52px;padding:8px 12px;flex-wrap:wrap}.tb-btn .tb-label{display:none}.tb-btn{padding:0 10px}.topbar .saved{display:none}.topbar-right{flex-wrap:wrap;flex:1 1 100%;min-width:0;justify-content:flex-end}.topbar-right .ps{display:none}}.tb-actions{display:contents}.tb-label.only-sheet{display:none}.tb-more{display:none;font-size:20px;font-weight:700;padding:0 10px}.sheet-backdrop{position:fixed;inset:0;z-index:90;background:#0a080673;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:520px;background:var(--color-surface);border-radius:20px 20px 0 0;padding:12px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #14100840;animation:sheet-up .22s ease}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.sheet-title{font-size:var(--fs-small);color:var(--color-text-muted);padding:4px 6px 10px}.sheet-title b{color:var(--color-text)}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg, #faf7f1);color:var(--color-text);font:inherit;font-size:16px;font-weight:600;text-align:left;margin-bottom:8px;cursor:pointer}.sheet-item i{font-style:normal;width:22px;text-align:center;color:var(--color-primary);font-weight:700}.sheet-item:active{background:var(--gold-soft)}.sheet-row{display:flex;gap:8px}.sheet-item.half{justify-content:center}.sheet-item:disabled{opacity:.4}.sheet-cancel{width:100%;min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:15px;cursor:pointer}@media(max-width:700px),(pointer:coarse)and (max-width:1024px){.topbar{flex-wrap:nowrap;min-height:52px;padding:6px 10px}.topbar-right{flex:0 1 auto;flex-wrap:nowrap;gap:6px}.tb-more{display:inline-flex}.tb-actions{display:none}.tb-actions.open{display:flex;flex-direction:column;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:95;margin:0 auto;max-width:520px;background:var(--color-surface);border-radius:20px 20px 0 0;padding:14px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px #14100840;animation:sheet-up .22s ease}.tb-actions.open .tb-btn{justify-content:flex-start;height:46px;padding:0 14px;border:1px solid var(--color-border);background:var(--color-bg, #faf7f1);color:var(--color-text);font-size:16px;box-shadow:none}.tb-actions.open .tb-btn.gold{background:var(--gold);color:var(--ink)}.tb-actions.open .tb-btn .tb-label{display:inline}body.sheet-open .hp-fab,.tb-actions.open .saved{display:none}.tb-actions.open .ps{display:block;width:100%}.tb-dl .tb-menu{right:auto;left:50%;transform:translate(-50%)}.pnode-actions button{width:30px;height:30px;font-size:16px}.form-dock{padding:8px 64px 10px 12px}.form-dock.as-sheet{position:fixed;left:0;right:0;bottom:0;z-index:92;padding:14px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;box-shadow:0 -12px 40px #14100840;animation:sheet-up .22s ease}.form-dock.as-sheet .dock-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-dock.as-sheet .dock-row input,.form-dock.as-sheet .dock-row select{width:100%;max-width:none!important;min-height:44px;font-size:16px}.form-dock.as-sheet .dock-row input:first-child{grid-column:1 / -1}.form-dock.as-sheet .dock-row .btn{grid-column:1 / -1;min-height:48px;font-size:16px}.form-dock.as-sheet .dock-title{font-size:14px;margin-bottom:10px}}.route-fallback{animation:route-fade .01s linear .25s both}@keyframes route-fade{0%{opacity:0}to{opacity:1}}.ex-error{margin:10px 0 0;font-size:12px;color:var(--color-danger);word-break:break-word}
