:root{color-scheme:dark;--ink:#060a12;--panel:#0a101b;--ivory:#f3ece0;--muted:#afaead;--gold:#d6ac5c;--gold-light:#f6e3ae;--line:rgba(214,172,92,.28);--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,'Segoe UI',sans-serif}

*{box-sizing:border-box}
html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;min-width:0;background:var(--ink);color:var(--ivory);font:14px/1.65 var(--sans)}
button,input{font:inherit}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a,button,input{transition:color .18s,border-color .18s,background-color .18s,box-shadow .18s}
a:hover{color:var(--gold-light)}
button:disabled{cursor:not-allowed}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
[hidden]{display:none!important}
img,svg{display:block}
form,p{margin:0}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.05}

.shell{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.portal{position:relative;display:flex;flex-direction:column;min-height:100svh}
.portal-scenery{position:absolute;z-index:-1;inset:0 0 auto;height:max(100svh,940px);background:linear-gradient(180deg,rgba(6,10,18,.2),rgba(6,10,18,.05) 37%,#060a12 97%),linear-gradient(90deg,rgba(6,10,18,.43),rgba(6,10,18,.15) 48%,rgba(6,10,18,.7)),url('theme/harbor.webp') 35% top/cover no-repeat;pointer-events:none}
.portal-header{border-top:3px solid #6c4e2f;border-bottom:1px solid rgba(243,236,224,.12);background:linear-gradient(180deg,rgba(6,10,18,.6),rgba(6,10,18,.08))}
.header-inner{min-height:91px;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;margin-right:auto;flex-shrink:0}
.brand__logo{width:200px;height:auto}
.site-nav{display:flex;align-items:center;gap:32px}
.site-nav a,.header-home{font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:1px}
.site-nav a{color:#e2ded5}
.site-nav a:hover{color:var(--gold-light)}
.header-home{border:1px solid rgba(243,236,224,.35);padding:11px 18px;display:flex;align-items:center;gap:10px;min-height:44px}
.header-home:hover{border-color:var(--gold);background:rgba(214,172,92,.07)}
.ui-icon{width:19px;height:19px;flex:0 0 auto}
.skip-link{position:fixed;z-index:20;top:-90px;left:24px;padding:12px 20px;background:var(--ink);color:var(--gold-light);border:1px solid var(--gold)}
.skip-link:focus{top:12px}
.eyebrow,.section-number{display:block;color:var(--gold);font-size:10px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase}

/* Вход и регистрация */
.auth-layout{display:grid;grid-template-columns:1fr 470px;gap:80px;align-items:start;flex:1;padding-block:24px 48px}
.auth-story{padding:160px 0 68px;text-shadow:0 2px 22px rgba(0,0,0,.4)}
.auth-story .eyebrow{letter-spacing:3px}
.auth-story .eyebrow > span:not([data-ui]){padding-inline:8px}
.auth-story h2{margin:27px 0 26px;font-size:clamp(58px,5.2vw,78px);letter-spacing:-1.7px;line-height:.99}
.auth-story p{color:#dad7d0;line-height:1.9;margin-top:24px}
.story-rule{display:flex;gap:8px;align-items:center;width:152px}
.story-rule span{height:1px;background:var(--gold);flex:1;opacity:.7}
.story-rule i{width:5px;height:5px;transform:rotate(45deg);background:var(--gold-light)}
.story-link{display:inline-flex;gap:22px;align-items:center;margin-top:30px;color:var(--gold-light);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;min-height:44px}
.story-link > span[aria-hidden]{font-size:24px;font-weight:400}

.auth-card{position:relative;border:1px solid var(--line);background:rgba(7,12,21,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.auth-card::before,.auth-card::after{position:absolute;content:'';pointer-events:none;width:30px;height:30px;border-color:var(--gold);border-style:solid;opacity:.8}
.auth-card::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.auth-card::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.auth-card__body{padding:26px 38px 26px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.auth-tabs a{text-align:center;padding:19px 12px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent}
.auth-tabs a[aria-current]{color:var(--gold-light);background:linear-gradient(0deg,rgba(214,172,92,.08),transparent);border-bottom-color:var(--gold)}
.auth-tabs a:hover{color:var(--gold-light)}
.card__title{margin:10px 0 12px;font-size:39px;letter-spacing:-.6px}
.block__text{color:var(--muted);font-size:12px;line-height:1.85}
.block__text strong{color:var(--ivory);font-weight:500;overflow-wrap:anywhere}

.form{display:grid;gap:17px;margin-top:25px}
.auth-card .form{gap:14px;margin-top:18px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field__label{color:#d0cbc0;font-size:11px;letter-spacing:.3px}
.field__input{display:block;width:100%;min-width:0;border:1px solid rgba(243,236,224,.19);border-radius:0;outline:0;background:rgba(255,255,255,.025);color:var(--ivory);min-height:48px;padding:12px 14px;font-size:13px}
.field__input:hover{border-color:rgba(214,172,92,.5)}
.field__input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(214,172,92,.12)}
.field__input:-webkit-autofill{-webkit-text-fill-color:var(--ivory);box-shadow:0 0 0 100px #151c25 inset;caret-color:var(--ivory)}
.input-wrap{position:relative;display:block}
.input-wrap .field__input{padding-right:46px}
.password-toggle{position:absolute;right:1px;top:1px;height:calc(100% - 2px);width:44px;display:grid;place-items:center;color:#a6a7a8;background:transparent;border:0}
.password-toggle:hover,.password-toggle[aria-pressed=true]{color:var(--gold-light)}

.btn{border:1px solid var(--gold-light);border-radius:0;min-height:46px;padding:13px 23px;background:linear-gradient(180deg,#f6e3ae,#d9b25f 40%,#8e6621);color:#211707;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;text-align:center;display:inline-flex;justify-content:center;align-items:center}
.btn:hover:not(:disabled){background:linear-gradient(180deg,#fff0c6,#e7c374 40%,#a37a30);box-shadow:0 0 24px rgba(214,172,92,.12)}
.btn--full{width:100%;margin-top:5px}
.btn--ghost{background:transparent;color:var(--ivory);border-color:var(--line)}
.btn--ghost:hover:not(:disabled){background:rgba(214,172,92,.08);color:var(--gold-light);border-color:var(--gold);box-shadow:none}
.btn--small{min-height:36px;padding:9px 16px;font-size:9px;letter-spacing:1px}
.btn:disabled{background:rgba(255,255,255,.025);border-color:rgba(243,236,224,.1);color:#757c84;box-shadow:none}

.social-divider{display:flex;gap:15px;align-items:center;margin:20px 0 12px;color:#999da3;font-size:10px}
.social-divider::before,.social-divider::after{content:'';height:1px;background:rgba(243,236,224,.12);flex:1}
.social-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:17px}
.social-divider + .social-grid{margin-top:0}
.social-grid form{grid-column:span 2;min-width:0}
.social-grid form:nth-child(4){grid-column:2/span 2}
.social-button{width:100%;min-height:42px;border:1px solid rgba(243,236,224,.15);background:rgba(255,255,255,.015);color:#d2cfc8;display:flex;justify-content:center;align-items:center;gap:8px;font-size:10px;padding:9px 6px}
.social-button:hover:not(:disabled){border-color:var(--gold);background:rgba(214,172,92,.07);color:var(--gold-light)}
.social-button:disabled{color:#92969c;border-color:rgba(243,236,224,.1)}
.social-button:disabled .provider-icon{opacity:.58}
.provider-icon{object-fit:contain;flex:0 0 auto;width:17px;height:17px}
.social-grid--icons{grid-template-columns:repeat(5,minmax(0,1fr))}
.social-grid--icons form,.social-grid--icons form:nth-child(4){grid-column:auto}
.social-grid--icons .social-button{min-height:46px;padding:10px 6px}
.social-grid--icons .provider-icon{width:21px;height:21px}
.social-note{color:#92969e;font-size:10px;text-align:center;margin-top:10px;line-height:1.8}
.links{margin-top:18px;color:var(--gold);font-size:11px}
.links--center{text-align:center}
.alert{margin:18px 0;padding:12px 15px;border:1px solid rgba(214,172,92,.45);background:rgba(214,172,92,.075);color:var(--gold-light);font-size:12px;overflow-wrap:anywhere}
.utility-back{display:flex;gap:10px;align-items:center;padding:19px 38px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}
.utility-code{padding:22px 16px;border:1px solid var(--line);color:var(--gold-light);font-family:var(--sans);font-size:28px;letter-spacing:7px;text-align:center;margin:24px 0;overflow-wrap:anywhere}

.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:75px;padding-block:22px;border-top:1px solid rgba(214,172,92,.18);color:#92959c;font-size:10px}
.footer-dot{padding-inline:8px;color:var(--gold)}
.portal-footer a{display:flex;align-items:center;gap:9px}
.portal-footer .ui-icon{width:13px;height:13px}
.test-status{display:flex;gap:8px;align-items:center;color:#bab29e;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.test-status i{width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}

/* Личный кабинет */
.portal--dashboard .portal-scenery{height:690px;background-image:linear-gradient(180deg,rgba(6,10,18,.55),#060a12 94%),linear-gradient(90deg,rgba(6,10,18,.8),rgba(6,10,18,.4)),url('theme/harbor.webp')}
.dashboard{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;padding-block:48px 64px;flex:1;align-items:start}
.account-sidebar{position:sticky;top:28px;border:1px solid var(--line);background:rgba(7,12,21,.88)}
.sidebar-identity{text-align:center;padding:30px 18px 26px;border-bottom:1px solid var(--line)}
.account-emblem{width:54px;height:54px;border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 20px;background:linear-gradient(145deg,rgba(214,172,92,.14),transparent);transform:rotate(45deg)}
.account-emblem .ui-icon{transform:rotate(-45deg);width:26px;height:26px;color:var(--gold-light)}
.sidebar-identity .eyebrow{font-size:8px;letter-spacing:1.8px}
.sidebar-identity strong{display:block;font-size:11px;font-weight:500;margin-top:10px;overflow-wrap:anywhere}
.sidebar-id{font-size:9px;color:#858c96;display:block;margin-top:6px}
.account-nav{display:grid;padding:17px 0}
.account-nav a{min-height:47px;display:flex;align-items:center;gap:11px;border-left:2px solid transparent;padding:12px 18px;color:#9fa5ae;font-size:11px}
.account-nav .ui-icon{width:17px;height:17px}
.account-nav a:hover{color:var(--ivory);background:rgba(255,255,255,.025)}
.account-nav a[aria-current]{color:var(--gold-light);background:linear-gradient(90deg,rgba(214,172,92,.12),transparent);border-left-color:var(--gold)}
.sidebar-bottom{border-top:1px solid var(--line);padding:16px 20px;display:grid;gap:5px}
.sidebar-download,.sidebar-logout{color:#a5a7ab;font-size:10px;display:flex;align-items:center;gap:12px;min-height:38px}
.sidebar-bottom .ui-icon{width:15px;height:15px}
.sidebar-logout{background:none;border:0;padding:0}
.sidebar-logout:hover{color:var(--gold-light)}

.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.dashboard-heading h1{font-size:54px;margin:10px 0 12px}
.dashboard-heading p{color:#b8b7b4;font-size:12px}
.chapter-mark{font:120px/.9 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(214,172,92,.22);padding-right:15px;user-select:none}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}
.panel{border:1px solid var(--line);padding:28px 30px;background:rgba(10,16,27,.94)}
.panel h2{margin:13px 0 22px;font-size:33px}
.section-number{font-size:8px;letter-spacing:1.8px}
.profile-email{margin:7px 0 19px;overflow-wrap:anywhere;font-size:16px}
.tag{display:inline-flex;align-items:center;gap:7px;color:#bcb6a8;font-size:9px;padding:6px 9px;background:rgba(214,172,92,.06);border:1px solid rgba(214,172,92,.18)}
.tag .ui-icon{width:13px;height:13px}
.tag--verified{color:#b8c6a5;border-color:rgba(184,198,165,.25);background:rgba(184,198,165,.05)}
.profile-note{font-size:10px;color:#999c9f;margin-top:14px}
.profile-note a{color:var(--gold)}
.world-panel{position:relative;padding:28px 30px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(6,10,18,.78),rgba(6,10,18,.25)),url('theme/world.webp') 64% center/cover}
.world-panel h2{margin:14px 0;font-size:38px}
.world-panel p{color:#b3b7bd;font-size:10px;max-width:255px;margin-bottom:20px}
.world-panel .tag{background:rgba(6,10,18,.68)}

.section-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}
.section-heading h2{margin-bottom:14px}
.section-count{color:var(--gold-light);font:38px/1 var(--serif)}
.section-count small{color:#777d88;font:14px var(--sans)}
.connections{display:grid;margin-top:22px;border-top:1px solid rgba(243,236,224,.08)}
.connection{display:flex;gap:15px;align-items:center;min-height:76px;border-bottom:1px solid rgba(243,236,224,.08);padding:15px 0}
.connection-icon{display:grid;place-items:center;width:40px;height:40px;background:rgba(255,255,255,.025);border:1px solid rgba(243,236,224,.1)}
.connection-icon .provider-icon{width:20px;height:20px}
.connection__name{color:#e6e1d7;font-size:12px}
.connection__name small{display:block;color:#878f9b;font-size:9px;margin-top:2px}
.connection--linked .connection__name small{color:#b8c6a5}
.connection form{margin-left:auto}
.section-foot{display:flex;justify-content:space-between;gap:16px;margin-top:22px;color:#878f9b;font-size:9px}
.section-foot span{display:flex;gap:7px;align-items:center}
.section-foot .ui-icon{width:14px;height:14px}
.section-foot a{color:var(--gold);flex-shrink:0}
.security-panel{margin-top:22px}
.security-panel .section-heading>.ui-icon{color:var(--gold);width:31px;height:31px}
.password-settings{margin-top:21px;border-top:1px solid rgba(243,236,224,.1)}
.password-settings summary{padding-top:20px;cursor:pointer;list-style:none;display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;color:#d8d4ca}
.password-settings summary::-webkit-details-marker{display:none}
.password-settings summary>span:first-child{display:flex;gap:12px;align-items:center}
.password-settings summary .ui-icon{color:var(--gold);width:17px;height:17px}
.details-plus{font-size:22px;color:var(--gold)}
.password-settings[open] .details-plus{transform:rotate(45deg)}
.password-settings>.block__text{margin-top:18px}
.password-form{grid-template-columns:1fr 1fr}
.password-form .btn{justify-self:start;grid-column:1/-1}

@media(min-width:1600px){.portal--auth .portal-scenery{background-position:center top}
.auth-layout{gap:120px}
}

@media(max-width:1100px){.shell{width:calc(100% - 48px)}
.auth-layout{grid-template-columns:1fr 430px;gap:35px}
.auth-story h2{font-size:60px}
.header-inner{gap:28px}
.site-nav{gap:22px}
.dashboard{grid-template-columns:190px minmax(0,1fr);gap:25px}
.panel,.world-panel{padding:25px}
.panel h2{font-size:30px}
.profile-email{font-size:14px}
.section-foot{flex-direction:column;gap:12px}
.account-nav a{padding-inline:13px;font-size:10px}
}

@media(max-width:800px){.site-nav{display:none}
.header-inner{min-height:77px}
.brand__logo{width:177px}
.auth-layout{grid-template-columns:1fr 400px;gap:24px;padding-block:24px 40px}
.auth-story h2{font-size:48px}
.auth-story .eyebrow{font-size:8px;letter-spacing:1.3px}
.auth-story .eyebrow > span:not([data-ui]){padding-inline:2px}
.auth-story p{font-size:12px}
.auth-card__body{padding:26px 30px}
.dashboard{display:block;padding-top:25px}
.account-sidebar{position:static;margin-bottom:30px}
.sidebar-identity,.sidebar-download{display:none}
.account-nav{display:flex;overflow-x:auto;padding:0}
.account-nav a{flex:0 0 auto;border-left:0;border-bottom:2px solid transparent;min-height:52px;font-size:10px;padding-inline:16px}
.account-nav a[aria-current]{border-bottom-color:var(--gold);background:rgba(214,172,92,.06)}
.sidebar-bottom{padding:5px 16px}
.sidebar-logout{min-height:32px}
.sidebar-bottom form{justify-self:end}
.dashboard-heading h1{font-size:46px}
.chapter-mark{font-size:95px}
}

@media(max-width:680px){
.account-nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible}
.account-nav a{min-width:0;padding-inline:12px;border-bottom:1px solid rgba(243,236,224,.08)}
.shell{width:calc(100% - 36px)}
.header-inner{gap:15px;min-height:72px}
.brand__logo{width:157px}
.header-home{font-size:8px;padding:10px 12px;gap:7px;letter-spacing:.6px}
.header-home .ui-icon{width:15px;height:15px}
.auth-layout{display:block;max-width:460px;padding-block:20px 32px}
.auth-story{padding:0 0 20px;text-align:center}
.auth-story h2{font-size:39px;line-height:1.05;margin:12px 0 0;letter-spacing:-.5px}
.auth-story h2 br{display:block}
.auth-story .eyebrow{font-size:8px;letter-spacing:2px}
.auth-story p,.story-rule,.story-link{display:none}
.auth-card__body{padding:22px 25px}
.card__title{font-size:35px}
.portal-scenery{height:850px;background-position:38% top}
.auth-tabs a{padding-block:17px;font-size:10px}
.field__input{font-size:16px}
.portal-footer{flex-wrap:wrap;justify-content:center;gap:14px 25px;padding-block:20px;text-align:center}
.portal-footer>span:first-child{width:100%}
.utility-back{padding-inline:25px}
.dashboard{padding-bottom:35px}
.dashboard-heading h1{font-size:39px}
.dashboard-heading p{font-size:11px}
.chapter-mark{display:none}
.overview-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}
.panel,.world-panel{padding:24px}
.world-panel{min-height:253px;background-position:center}
.profile-email{font-size:16px}
.section-heading h2{font-size:30px}
.section-count{font-size:30px}
.section-count small{font-size:11px}
.connection{gap:11px;min-height:78px}
.connection__name{font-size:11px}
.connection-icon{width:34px;height:38px}
.btn--small{padding:10px 11px;min-height:44px;font-size:8px;letter-spacing:.6px}
.security-panel{margin-top:18px}
.password-form{grid-template-columns:1fr}
.password-form .btn{justify-self:stretch}
.section-foot{font-size:9px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important}
}


/* Язык и стабильное положение форм */
.language { position: relative; }
.lang {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 2px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: rgba(240, 238, 232, 0.88);
  font-family: var(--sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.22s, background 0.22s;
}
.lang:hover,
.lang[aria-expanded="true"] {
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
}
.lang:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 2px;
}
.lang__globe {
  flex: none;
  opacity: 0.85;
  stroke-linecap: round;
}
.lang__code { line-height: 1; }
.lang__chevron {
  flex: none;
  color: var(--gold);
  transition: transform 0.22s;
}
.lang[aria-expanded="true"] .lang__chevron { transform: rotate(180deg); }

.lang-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 60;
  width: 190px;
  max-width: calc(100vw - 32px);
  padding: 5px;
  border: 0;
  border-radius: 6px;
  background: #1b1d21;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}
.lang-menu__group { display: flex; flex-direction: column; }
/* разделения групп достаточно тонкого зазора, линия не нужна */
.lang-menu__sep { height: 6px; }
.lang-menu__item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 9px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: rgba(226, 226, 228, 0.82);
  font-family: var(--sans);
  font-size: 0.82rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  cursor: pointer;
  transition: color 0.18s, background 0.18s;
}
.lang-menu__item:hover,
.lang-menu__item:focus-visible,
.lang-menu__item:active {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  outline: none;
}
.lang-menu__item:focus-visible { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18); }
.lang-menu__item[aria-checked="true"] {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}
.lang-menu__name { min-width: 0; }
.lang-menu__item:disabled {
  opacity: 0.42;
  cursor: default;
  background: transparent;
}
.lang-flag {
  flex: none;
  width: 18px;
  height: 12px;
  border-radius: 1px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.header-inner{gap:28px}
.header-home{flex-shrink:0}
.auth-story h2 [data-ui]{display:inline}
@media(max-width:1100px){.header-inner{gap:20px}.site-nav{gap:18px}.header-home{font-size:10px}}
@media(max-width:680px){.header-inner{flex-wrap:wrap;column-gap:12px;row-gap:0;padding-block:6px}.brand__logo{width:145px}.header-home{font-size:0;gap:0;padding:10px}.header-home > span{display:none}.header-home .ui-icon{width:18px;height:18px}.lang{min-height:44px}.auth-story{padding-top:0}.auth-story h2{font-size:36px}.lang-menu{width:190px}}
