/* voyager — бортовой журнал 7K · namespace .vy */

:root{
  --vySea:#0a1622;
  --vyPanel:#132434;
  --vyBrass:#e0b354;
  --vyFog:#9db4c0;
  --vyInk:#eaf2f7;
  --vyRule:#24405a;
  --vyMono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.vy{
  margin:0;
  background:
    radial-gradient(900px 520px at 78% -10%,rgba(224,179,84,.10),transparent 60%),
    linear-gradient(180deg,#081320 0%,var(--vySea) 38%,#081320 100%);
  color:var(--vyInk);
  font-family:"Arsenal","Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.66;
  overflow-x:hidden;
}
.vy img,.vy svg{max-width:100%}
.vy p{margin:0 0 1em}
.vy a{color:var(--vyBrass)}

.vySkip{
  position:absolute;left:-9999px;top:0;
  background:var(--vyBrass);color:#0a1622;padding:10px 16px;z-index:50;
  text-decoration:none;border-radius:0 0 6px 0;
}
.vySkip:focus{left:0}

/* ——— мачта ——— */
.vyMast{
  position:sticky;top:0;z-index:30;
  background:rgba(8,19,32,.94);
  border-bottom:1px solid var(--vyRule);
  backdrop-filter:blur(8px);
}
.vyMastInner{
  max-width:1140px;margin:0 auto;padding:10px 18px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.vyLogo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--vyInk)}
.vyLogoMark{display:flex;width:38px;height:38px}
.vyLogoText{
  font-family:"Forum",Georgia,serif;font-size:24px;line-height:1;
  letter-spacing:.06em;display:flex;flex-direction:column;gap:3px;color:var(--vyBrass);
}
.vyLogoText small{
  font-family:var(--vyMono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--vyFog);
}
.vyNav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}
.vyNav a{
  font-family:var(--vyMono);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--vyFog);text-decoration:none;
  padding-bottom:2px;border-bottom:1px solid transparent;
}
.vyNav a:hover{color:var(--vyBrass);border-bottom-color:var(--vyBrass)}

.vy a.vyCta{
  display:inline-block;background:var(--vyBrass);color:#0a1622;
  font-family:var(--vyMono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:11px 18px;border-radius:2px;text-decoration:none;white-space:nowrap;
  border:1px solid var(--vyBrass);
}
.vy a.vyCta:hover{background:#f0c976;border-color:#f0c976}
.vy a.vyCtaBig{font-size:13.5px;padding:14px 24px;letter-spacing:.06em}
.vy a.vyCtaGhost{
  display:inline-block;background:transparent;color:var(--vyInk);
  border:1px solid var(--vyRule);
  font-family:var(--vyMono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:13px 20px;border-radius:2px;text-decoration:none;
}
.vy a.vyCtaGhost:hover{border-color:var(--vyFog);color:var(--vyBrass)}

/* ——— разворот журнала ——— */
.vySpread{
  max-width:1140px;margin:0 auto;padding:30px 18px 26px;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);
  gap:30px;align-items:start;
  border-bottom:1px solid var(--vyRule);
}
.vySlug{
  font-family:var(--vyMono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--vyFog);margin:0 0 14px;
}
.vyH1{
  font-family:"Forum",Georgia,serif;font-weight:400;
  font-size:clamp(28px,5.2vw,44px);line-height:1.16;letter-spacing:.01em;
  margin:0 0 16px;color:var(--vyInk);
}
.vyLead{color:#cfe0ea;font-size:17px;margin-bottom:22px}
.vyActions{display:flex;flex-wrap:wrap;gap:12px}

.vySpreadRight{
  background:var(--vyPanel);
  border:1px solid var(--vyRule);
  border-radius:3px;
  padding:20px 18px;
}
.vyRoseWrap{position:relative;max-width:230px;margin:0 auto 18px}
.vyRose{display:block;width:100%;height:auto}
.vyRoseLabel{
  position:absolute;font-family:var(--vyMono);font-size:11px;
  letter-spacing:.1em;color:var(--vyBrass);
}
.vyRoseN{top:-4px;left:50%;transform:translateX(-50%)}
.vyRoseS{bottom:-4px;left:50%;transform:translateX(-50%)}
.vyRoseW{left:-4px;top:50%;transform:translateY(-50%)}
.vyRoseE{right:-4px;top:50%;transform:translateY(-50%)}

.vyReadings{list-style:none;margin:0;padding:0}
.vyReading{
  display:flex;align-items:baseline;gap:10px;
  padding:9px 0;border-top:1px solid var(--vyRule);
}
.vyReading:first-child{border-top:none}
.vyReadingMark{
  font-family:var(--vyMono);font-size:11px;color:var(--vyBrass);
  border:1px solid var(--vyRule);border-radius:50%;
  width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 22px;
}
.vyReadingName{font-size:14px;color:var(--vyFog);flex:1 1 auto}
.vyReadingVal{font-family:var(--vyMono);font-size:12.5px;color:var(--vyInk);text-align:right}

/* ——— запись вахты ——— */
.vyLog{
  max-width:1140px;margin:0 auto;padding:34px 18px;
  display:grid;grid-template-columns:168px minmax(0,1fr);gap:26px;
  border-bottom:1px solid var(--vyRule);
}
.vyWatch{
  display:flex;flex-direction:column;gap:6px;
  border-left:2px solid var(--vyBrass);
  padding-left:14px;
  position:sticky;top:88px;
  font-family:var(--vyMono);font-size:11px;letter-spacing:.09em;
}
.vyWatchNo{color:var(--vyBrass);text-transform:uppercase;font-size:12px}
.vyWatchCoord,.vyWatchTime{color:var(--vyFog)}
.vyWatchTag{color:#6f8ba0;text-transform:uppercase;font-size:10px;letter-spacing:.14em}

.vyEntry{min-width:0}
.vyH2{
  font-family:"Forum",Georgia,serif;font-weight:400;
  font-size:clamp(23px,3.4vw,31px);line-height:1.24;
  margin:0 0 16px;color:var(--vyInk);
}
.vyH3{
  font-family:var(--vyMono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--vyBrass);margin:26px 0 10px;font-weight:400;
}
.vyEntry p{color:#cfe0ea}

/* ——— ступени пакета ——— */
.vyTiers{list-style:none;margin:20px 0;padding:0;display:grid;gap:10px}
.vyTier{
  display:grid;grid-template-columns:34px 76px 70px minmax(0,1fr);
  align-items:center;gap:12px;
  background:var(--vyPanel);border:1px solid var(--vyRule);border-radius:3px;
  padding:12px 14px;
}
.vyTierNo{font-family:"Forum",Georgia,serif;font-size:20px;color:var(--vyBrass)}
.vyTierPct{font-family:var(--vyMono);font-size:15px;color:var(--vyInk)}
.vyTierFs{font-family:var(--vyMono);font-size:13px;color:var(--vyFog)}
.vyTierNote{font-size:13.5px;color:var(--vyFog)}

/* ——— судовой реестр ——— */
.vyRegistryWrap{
  overflow-x:auto;margin:20px 0;
  border:1px solid var(--vyRule);border-radius:3px;
  -webkit-overflow-scrolling:touch;
}
.vyTable{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.vyTable caption{
  caption-side:top;text-align:left;padding:12px 14px;
  font-family:var(--vyMono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--vyFog);background:#0e1d2c;border-bottom:1px solid var(--vyRule);
}
.vyTable th{
  text-align:left;padding:10px 14px;
  font-family:var(--vyMono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--vyBrass);font-weight:400;border-bottom:1px solid var(--vyRule);
  background:#0e1d2c;
}
.vyTable td{padding:10px 14px;color:#cfe0ea;border-bottom:1px solid rgba(36,64,90,.55)}
.vyTable tbody tr:nth-child(odd){background:var(--vyPanel)}
.vyTable tbody tr:nth-child(even){background:transparent}
.vyTable tbody tr:last-child td{border-bottom:none}
.vyTable td:nth-child(3){font-family:var(--vyMono);color:var(--vyInk);white-space:nowrap}

/* ——— шкала широт ——— */
.vyLat{list-style:none;margin:20px 0;padding:0}
.vyLatRow{
  display:grid;grid-template-columns:40px 130px minmax(0,1fr);
  align-items:baseline;gap:12px;
  padding:12px 0 12px 0;
  border-top:1px solid var(--vyRule);
  position:relative;
}
.vyLatRow[data-step="1"]{margin-left:0}
.vyLatRow[data-step="2"]{margin-left:16px}
.vyLatRow[data-step="3"]{margin-left:32px}
.vyLatRow[data-step="4"]{margin-left:48px}
.vyLatRow[data-step="5"]{margin-left:64px}
.vyLatRow[data-step="6"]{margin-left:80px}
.vyLatMark{font-family:var(--vyMono);font-size:12px;color:var(--vyBrass)}
.vyLatName{font-family:"Forum",Georgia,serif;font-size:20px;color:var(--vyInk)}
.vyLatVal{font-size:13.5px;color:var(--vyFog)}

/* ——— грузовая опись ——— */
.vyManifest{margin:20px 0;padding:0}
.vyManifestRow{
  display:flex;align-items:baseline;gap:8px;
  padding:9px 0;border-bottom:1px dotted var(--vyRule);
}
.vyManifestName{
  margin:0;font-family:var(--vyMono);font-size:13px;color:var(--vyInk);
  flex:0 1 auto;white-space:nowrap;
}
.vyManifestRow::after{
  content:"";flex:1 1 auto;order:1;
  border-bottom:1px dotted #3a5c78;transform:translateY(-4px);min-width:16px;
}
.vyManifestVal{margin:0;order:2;font-size:13.5px;color:var(--vyFog);text-align:right;flex:0 1 auto}

/* ——— записи игроков ——— */
.vyVoices{list-style:none;margin:20px 0;padding:0;display:grid;gap:14px}
.vyVoice{
  background:var(--vyPanel);border:1px solid var(--vyRule);
  border-left:2px solid var(--vyBrass);border-radius:3px;padding:16px 18px;
}
.vyVoiceMeta{
  font-family:var(--vyMono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--vyFog);margin:0 0 8px;
}
.vyVoiceName{color:var(--vyBrass)}
.vyVoice p:last-child{margin:0;font-style:italic;color:#cfe0ea}

/* ——— FAQ ——— */
.vyFaq{margin:20px 0;display:grid;gap:8px}
.vyFaqItem{
  background:var(--vyPanel);border:1px solid var(--vyRule);border-radius:3px;
  padding:0 16px;
}
.vyFaqQ{
  cursor:pointer;list-style:none;padding:14px 26px 14px 0;position:relative;
  font-family:"Forum",Georgia,serif;font-size:18px;color:var(--vyInk);
}
.vyFaqQ::-webkit-details-marker{display:none}
.vyFaqQ::after{
  content:"+";position:absolute;right:2px;top:12px;
  font-family:var(--vyMono);color:var(--vyBrass);font-size:18px;
}
.vyFaqItem[open] .vyFaqQ::after{content:"—";font-size:14px;top:16px}
.vyFaqItem[open] .vyFaqQ{border-bottom:1px solid var(--vyRule)}
.vyFaqItem p{padding:12px 0 4px;margin:0;color:#cfe0ea;font-size:15.5px}

/* ——— заметка составителя ——— */
.vyNote{
  max-width:1140px;margin:0 auto;padding:30px 18px 36px;
}
.vyNoteH{
  font-family:var(--vyMono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--vyBrass);font-weight:400;margin:0 0 14px;
}
.vyNote p{color:#a9c2d1;font-size:14.5px}
.vyAge{
  border-left:2px solid var(--vyBrass);padding-left:14px;
  color:var(--vyFog);font-size:14px;
}

/* ——— подвал ——— */
.vyFoot{border-top:1px solid var(--vyRule);background:#081320}
.vyFootInner{max-width:1140px;margin:0 auto;padding:26px 18px 40px}
.vyFootLegal{color:var(--vyFog);font-size:14px;max-width:760px}
.vyFootMeta{
  font-family:var(--vyMono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#6f8ba0;margin-bottom:18px;
}

/* ——— планшет ——— */
@media (max-width:960px){
  .vySpread{grid-template-columns:minmax(0,1fr);gap:24px}
  .vyLog{grid-template-columns:minmax(0,1fr);gap:16px}
  .vyWatch{
    position:static;flex-direction:row;flex-wrap:wrap;gap:12px;
    border-left:none;border-bottom:1px solid var(--vyBrass);
    padding:0 0 8px;
  }
  .vyNav{order:3;width:100%;margin-left:0;gap:12px}
}

/* ——— телефон ——— */
@media (max-width:620px){
  body.vy{font-size:16px}
  .vyMastInner{padding:9px 14px;gap:10px}
  .vyNav{display:none}
  .vyLogoText{font-size:21px}
  .vy a.vyCta{padding:10px 14px;font-size:11px;margin-left:auto}
  .vySpread{padding:22px 14px 22px}
  .vyLog{padding:26px 14px}
  .vyNote{padding:24px 14px 30px}
  .vyFootInner{padding:22px 14px 34px}
  .vyActions{flex-direction:column;align-items:stretch}
  .vy .vyActions a.vyCta,.vy .vyActions a.vyCtaGhost{text-align:center;margin-left:0}
  .vyLead{font-size:15.5px;margin-bottom:18px}
  .vySpreadRight{padding:16px 14px}
  .vyRoseWrap{max-width:180px}
  .vyTier{grid-template-columns:28px 66px 60px;row-gap:6px}
  .vyTierNote{grid-column:1 / -1}
  .vyLatRow{grid-template-columns:34px minmax(0,1fr);row-gap:4px}
  .vyLatVal{grid-column:2 / -1}
  .vyLatRow[data-step="2"]{margin-left:8px}
  .vyLatRow[data-step="3"]{margin-left:16px}
  .vyLatRow[data-step="4"]{margin-left:24px}
  .vyLatRow[data-step="5"]{margin-left:32px}
  .vyLatRow[data-step="6"]{margin-left:40px}
  .vyManifestRow{flex-wrap:wrap;gap:2px}
  .vyManifestRow::after{display:none}
  .vyManifestName{white-space:normal;flex:1 1 100%}
  .vyManifestVal{flex:1 1 100%;text-align:left}
  .vyFaqQ{font-size:16.5px}
}
