
/* ══ 「조과 분석」·「조과 예측」 두 손잡이의 **한 벌 값** ══════════════════════
   ★ 2026-09-02, 같은 주문이 세 번 잇달아 왔다(m.onfishing #me → naksigo
     /favorites → m.naksigo #me): *"개별 조과 분석 및 조과 예측 아이콘의 높이를
     줄여줘"*. 곳마다 눈대중으로 낮추면 **네 곳이 다 다른 높이**가 된다.
     그래서 값을 **여기 한 곳**에 두고 네 화면이 이것을 쓴다:
        · onfishing.net/?reopen=fav   (service/_rankrow_css.php)
        · m.onfishing.net/#me         (mobile/app.php)
        · naksigo.com/favorites       (service/board.php)
        · m.naksigo.com/#me           (mobile/app.php)
     이 파일은 **두 앱에 같은 내용**으로 있으므로(머리말의 md5 규칙) 값도 한 벌이다.
     지시를 안 받은 데스크톱 onfishing 도 같이 맞춘다 — 그곳만 홀로 두꺼우면
     그것이 어긋난 것이다("같은 것을 가리키면 이름·숫자·모양이 한 벌").
   ▣ ★ **보이는 박스**(--btbtn-h)와 **누르는 넓이**(--btbtn-tap)는 다른 값이다.
     안쪽 여백을 줄이면 손가락 표적까지 줄어들므로, 박스만 낮추고 모자란
     높이는 `::before` 누름판으로 채운다. 쓰는 쪽이 그렇게 쓴다.
   ▣ 아이콘 크기도 한 값이다(--btbtn-ico). 이 화면들의 좋아요·관심선박 아이콘을
     3/4 로 줄이라는 옛 지시가 폰에 있지만, 그것은 **그 아이콘(.nkacts svg)** 의
     일이다. 이 두 손잡이는 네 곳이 같은 크기로 선다. */
:root{
  --btbtn-h:26px;          /* 테두리·바탕이 그리는 **보이는** 높이 */
  --btbtn-pad-y:2px;       /* 안쪽 여백 — 세로 */
  --btbtn-pad-x:9px;       /* 안쪽 여백 — 가로 */
  --btbtn-tap:44px;        /* 보이지 않는 **누름판**(손가락 표적) */
  --btbtn-ico:11px;        /* 앞에 서는 아이콘 */
}

/* ══ 부르는 아이콘 — 관심선박 제목 오른쪽 ═════════════════════════════════
   ★ 「조과 예측」(호박)·「조과 추이」(초록)와 나란히 서도 헷갈리지 않게
     **테두리만 있는 조용한 단추**로 둔다. 이것은 목록 전체를 훑는 손잡이라
     줄마다 서는 단추들보다 한 단 물러서는 편이 옳다. */
.btcall{display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  padding:4px 10px;border-radius:var(--r-sm,9px);min-height:30px;
  border:1px solid var(--line,#D2E0E3);background:var(--card,#fff);
  color:var(--ink,#12303A);font-family:var(--ui,inherit);font-size:12px;font-weight:700}
.btcall:hover{background:var(--card-2,#EEF4F5)}
.btcall:focus-visible{outline:2px solid var(--water,#2E7D91);outline-offset:1px}
.btcall[disabled]{opacity:.5;cursor:default}
/*  아이콘 — 글자가 아니라 그림이라 낭독기에서는 감춘다(단추에 이름이 있다). */
.btcall .bticon{display:inline-block;width:14px;height:14px;flex:0 0 auto}
/*  「전부」 곁말 — 줄마다의 「조과 분석 ›」과 **다른 것을 연다**는 표다. */
.btcall s{all:unset;font-size:10.5px;font-weight:400;color:var(--dim,#6B8189);
  margin-left:1px}
/*  ★ 제목 줄의 **오른쪽**에 세운다 (지시: "관심선박 우측에").
    .dtitle 을 flex 로 바꾸지 않는다 — 그 클래스는 여덟 차림표 제목이 다 쓰는
    것이라 여기서 짜임을 바꾸면 나머지 일곱이 함께 움직인다. 이 단추만 띄운다. */
.dtitle .btcall{float:right;margin:-1px 0 0 8px}

/* ══ 떠오르는 층 — _porttrend.php 의 #ptModal 과 같은 규칙 ══════════════
   ▣ 뒤를 어둡게 덮되 지우지 않는다 — 어디서 눌렀는지를 잃지 않게.
   ▣ 닫는 길 셋: ✕ · 바깥 어두운 데 · Esc.
   ▣ 구르는 것은 **안쪽 상자**다 — 창이 통째로 구르면 ✕ 가 밀려 사라진다. */
#btModal{position:fixed;inset:0;z-index:93;display:none}
#btModal.on{display:block}
#btModal .btdim{position:absolute;inset:0;background:rgba(6,20,28,.55)}
#btModal .btwin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(880px,calc(100vw - 24px));max-height:min(90vh,940px);
  display:flex;flex-direction:column;
  background:var(--hull,#FBFDFD);color:var(--ink,#12303A);
  border:1px solid var(--line,#D2E0E3);border-radius:var(--r,16px);
  box-shadow:0 24px 60px rgba(6,20,28,.45);padding:16px 18px 18px}
#btModal .btx{position:absolute;right:10px;top:10px;width:32px;height:32px;
  border:0;border-radius:var(--r-sm,9px);cursor:pointer;font-size:15px;line-height:1;
  background:transparent;color:var(--ink,#12303A)}
#btModal .btx:hover{background:rgba(127,127,127,.14)}
#btHead{padding-right:38px}
#btHead .btt{font-size:17px;font-weight:800;margin:0 0 2px}
#btHead .btm{font-size:12px;color:var(--ink-soft,#3E5C68)}
#btBox{overflow:auto;margin-top:12px;padding-right:2px}
#btBox .btnote{margin:8px 0 0;font-size:11.5px;color:var(--ink-soft,#3E5C68);line-height:1.55}
#btBox .btghost{color:var(--ink-soft,#3E5C68);font-size:13px;margin:16px 0}

/* ══ 이름표 — 맨 위에 서고, **눌러서 고른다** ══════════════════════════════
   ▣ 색이 무슨 배인지 알려 주는 자리이자, 그 배만 도드라지게 하는 손잡이다.
   ▣ 진짜 <button> 이라 키보드 탭으로 닿고 Enter 로 눌린다. 눌린 상태는
     aria-pressed 로 말한다(낭독기에 '선택됨' 으로 읽힌다).
   ▣ 배 이름 옆에 **평균과 잰 날 수를 글자로** 적는다 — 색을 못 보는 사람에게
     이것이 그래프를 읽는 유일한 길이다. */
.btleg{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin:0 0 10px;font-size:11.5px}
.btleg .btlegk{font-size:11.5px;font-weight:800;color:var(--ink,#12303A);margin-right:2px}
.btleg .btlegh{font-size:11px;color:var(--ink-soft,#3E5C68)}
.btleg button{display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  border:1px solid transparent;border-radius:99px;padding:3px 9px 3px 7px;
  background:none;color:var(--ink,#12303A);font:inherit;font-size:11.5px;line-height:1.3}
.btleg button:hover{border-color:var(--line,#D2E0E3)}
.btleg button:focus-visible{outline:2px solid var(--ink,#12303A);outline-offset:1px}
.btleg button[aria-pressed="true"]{border-color:var(--ink,#12303A);font-weight:800}
.btleg i{width:10px;height:10px;border-radius:2px;background:var(--c);display:inline-block;flex:0 0 auto}
/*  ★ 이름·평균·날수가 붙어 읽히지 않게 사이를 띄운다 — 실측에서
    「평균3.9712일」로 붙어 나왔다(별을 걷으면서 사이가 없어졌다). */
.btleg b{font-family:var(--mono,ui-monospace,monospace);font-weight:700;margin:0 1px}
.btleg s{all:unset;font-size:10.5px;color:var(--ink-soft,#3E5C68);margin-left:3px}

/* ══ 그림판 ═══════════════════════════════════════════════════════════════
   ★ SVG 다 — 선과 점은 픽셀 상자로는 못 그린다. 폭은 viewBox 로 늘어난다
     (preserveAspectRatio="none" 은 **안 쓴다** — 선 굵기까지 늘어나 찌그러진다). */
.btchart{margin-top:6px}
.btchart svg{display:block;width:100%;height:auto}
.btchart .btgrid{stroke:var(--line,#D2E0E3);stroke-width:1;stroke-dasharray:3 3;opacity:.75}
.btchart .btaxis{stroke:var(--line,#D2E0E3);stroke-width:1}
.btchart .btytx,.btchart .btxtx{fill:var(--ink-soft,#3E5C68);
  font-family:var(--mono,ui-monospace,monospace);font-size:9px}
.btchart .btxtx.sat{fill:#1F5FA8}
.btchart .btxtx.sun{fill:#B3372A}
/*  주말 띠 — 아주 옅게. 진하면 그 칸의 선 색이 그 위에서 달라 보인다. */
.btchart .btwk{fill:rgba(31,95,168,.06)}
.btchart .btwk.sun{fill:rgba(179,55,42,.06)}
.btchart .btline{fill:none;stroke:var(--c);stroke-width:2;
  stroke-linejoin:round;stroke-linecap:round}
/*  ★ 점을 **갈라** 그린다 — 꽉 찬 점은 실제로 등급이 있는 날, 속 빈 점은
    0 으로 채운 날이다. 선은 이어지되 어느 날이 진짜 기록인지 눈으로 갈린다
    (2026-09-02 지시로 선을 잇게 되면서 둔 안전장치 — 머리말 참고). */
.btchart .btdot{fill:var(--c)}
.btchart .btdot.none{fill:var(--hull,#FBFDFD);stroke:var(--c);stroke-width:1.4}
/*  ══ 고른 배만 도드라지게 ═══════════════════════════════════════════════
    ★ **지우지 않고 흐리게** 한다 — 나머지를 없애면 견줄 것이 사라져 고른
      배가 실제보다 잘한 것처럼 보인다. 자리는 그대로 두고 눈만 비킨다.
    ★ 흐리게 하는 것은 **선과 점뿐**이다. 눈금·날짜·주말 띠는 어느 배의
      것도 아니라 흐려질 이유가 없다. */
.btchart.sel .btg{opacity:.14}
.btchart.sel .btg.on{opacity:1}
.btchart.sel .btg.on .btline{stroke-width:3}
.btleg.sel button:not([aria-pressed="true"]){opacity:.5}
/*  고른 배가 바뀔 때 선이 **옮겨 가는 동안**(btMorph) 새 배의 진짜 선은 숨기고 움직이는 사본만 보인다.
    사본은 진짜 선과 같은 옷(btline · btdot)을 입어 끝나는 순간 바꿔치기에서 튀지 않는다(2026-10-01). */
.btchart.btmorph .btg.on:not(.btmv){opacity:0}
.btchart.sel .btg.btmv{opacity:1}
.btchart .btmv .btline{stroke-width:3}

/* ══ 막대 판 — 한 판에 배 셋을 나란히 (스위치 window.BT_BARS · 2026-10-01 지시: naksigo "조과 분석은 … 막대그래프로
   표시하고, 날자 옆에는 물때도 표시" → 같은 날 재지시 "날짜는 8일이고 동일한 그래프에 3개의 선박을 표시해") ═══════
   ★ SVG 가 아니라 HTML 칸이다 — 폰에서 viewBox 를 줄이면 날짜·물때 글자가 4px 로 쪼그라든다(조과 추이 막대와 같은 방식).
   ★ 등급이 없는 날은 **막대를 세우지 않는다**(0 으로 채우지 않는다 — 출항 안 한 날일 수 있다). */
.btsmg{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:4px;margin-top:4px}
.btsmy{position:relative;height:170px;font:9.5px var(--mono,ui-monospace,monospace);color:var(--ink-soft,#3E5C68)}
.btsmy span{position:absolute;right:0;transform:translateY(50%)}
.btsmp{position:relative;height:170px;border-left:1px solid var(--line,#D2E0E3);border-bottom:1px solid var(--line,#D2E0E3)}
.btsmp .btgl{position:absolute;left:0;right:0;border-top:1px dashed var(--line,#D2E0E3);opacity:.75}
.btsmb{position:absolute;inset:0;display:flex}
.btsmb > span{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}
.btsmb > span.sat{background:rgba(31,95,168,.06)}.btsmb > span.sun{background:rgba(179,55,42,.06)}
.btsmb > span > b{display:block;background:var(--c);border-radius:2px 2px 0 0;min-height:2px;
  transition:opacity .18s ease}
.btsmx,.btmulrow{display:flex}
.btsmx{margin-top:3px}
.btsmx > i,.btmulrow > i{flex:1 1 0;min-width:0;font-style:normal;text-align:center;white-space:nowrap;overflow:hidden;
  font:10.5px/1.3 var(--mono,ui-monospace,monospace);color:var(--ink-soft,#3E5C68)}
.btsmx > i.sat{color:#1F5FA8}.btsmx > i.sun{color:#B3372A}
.btsmx > i u{text-decoration:none}
.btmulrow > i{color:var(--water,#2E7D91);font-size:10px}
.btmulrow > i.jo{color:#B3372A}
.btmulkw{font-size:10.5px;color:var(--ink-soft,#3E5C68);text-align:right;margin-top:1px}
/*  물때 줄 — 고른 배의 것만(고르지 않았으면 첫 배). 흐리기 규칙(.sel .btg)이 이 줄까지 흐리지 않게 되돌린다. */
.btchart.btbars .btmulrow,.btchart.btbars .btmulk{display:none}
.btchart.btbars:not(.sel) .btmulrow.first{display:flex}
.btchart.btbars:not(.sel) .btmulk.first,.btchart.btbars.sel .btmulk.on{display:inline}
.btchart.btbars.sel .btmulrow.on{display:flex}
.btchart.btbars.sel .btmulrow,.btchart.btbars.sel .btmulk{opacity:1}
.btchart.btbars.sel .btsmb .btg{opacity:.28}
.btchart.btbars.sel .btsmb .btg.on{opacity:1}
.btmulrow > i .c{display:none}
/*  고른 배의 조황지수 숫자(2026-10-01) — 꺾은선 판은 그림 위 HTML(.btvals), 막대 판은 막대 위(.btv). 고른 배(.on)만. */
.btsvgw{position:relative}
.btchart .btvals{display:none;position:absolute;inset:0;pointer-events:none}
.btchart.sel .btvals.on{display:block}
.btchart .btvals b.dn{transform:translate(-50%,45%)}
.btchart .btvals b{position:absolute;transform:translate(-50%,-140%);font:700 11px/1 var(--mono,ui-monospace,monospace);color:var(--ink,#12303A);
  white-space:nowrap;text-shadow:0 0 2px var(--pt-paper,var(--hull,#fff)),0 0 2px var(--pt-paper,var(--hull,#fff)),0 0 3px var(--pt-paper,var(--hull,#fff))}
.btsmb > span > b{position:relative}
.btsmb .btg > .btv{display:none;position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding-bottom:1px;font:700 10px/1 var(--mono,ui-monospace,monospace);
  font-style:normal;color:var(--ink,#12303A);white-space:nowrap;pointer-events:none}
.btchart.btbars.sel .btsmb .btg.on > .btv{display:block}
.btsmb .btg > .btv.in{bottom:auto;top:2px;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.45)}
@media (max-width:520px){ .btchart .btvals b{font-size:9.5px} .btsmb .btg > .btv{font-size:8.5px} }
/*  유속 곡선(window.BT_CUR, 2026-10-01) — 오른쪽 자(.btsmr)가 하나 더 선다. 줄들은 2번 칸에 못박아 둔다(3칸이 되어도 자리가 밀리지 않게). */
.btsmg.btcurg{grid-template-columns:18px minmax(0,1fr) 22px}
.btsmg > .btsm0{grid-column:1}
.btsmg > .btsmx,.btsmg > .btmulw,.btsmg > .btmulkw{grid-column:2}
.btsmr{position:relative;height:170px;font:9.5px var(--mono,ui-monospace,monospace);color:var(--pt-cur,#2F6FD8)}
.btsmr span{position:absolute;left:3px;transform:translateY(50%)}
.btsmp > .btcurs{position:absolute;inset:0;pointer-events:none;display:none}
.btsmp > .btcurs svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.btsmp > .btcurs path{fill:none;stroke:var(--pt-cur,#2F6FD8);stroke-width:1.4;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.btsmp > .btcurs .btcurd{position:absolute;width:5px;height:5px;margin:0 0 -2.5px -2.5px;border-radius:50%;background:var(--pt-cur,#2F6FD8)}
.btchart.btbars:not(.sel) .btcurs.first,.btchart.btbars.sel .btcurs.on{display:block}
.btchart.btbars.sel .btcurs{opacity:1}
.btcurk{margin:6px 0 0;font-size:11.5px;color:var(--pt-cur,#2F6FD8);line-height:1.5}
.btsmb > span{gap:1px}
@media (max-width:520px){
  .btsmy,.btsmp,.btsmr{height:150px}
  .btsmx > i,.btmulrow > i{font-size:9px;letter-spacing:-.4px}
  .btsmx > i u{display:none}
  .btmulrow > i .f{display:none}
  .btmulrow > i .c{display:inline}
}

/* ══ 추천 두 척 ═══════════════════════════════════════════════════════════
   ★ **근거를 함께 적는다** — 어종·그 어종에서의 지수·센 글 수. 왜 이 배인지를
     못 적으면 그것은 추천이 아니라 광고다. */
.btrec{margin:14px 0 0;border-top:1px solid var(--line,#D2E0E3);padding-top:12px}
.btrec > .btreck{font-size:14px;font-weight:800;margin:0 0 2px}
.btrec > .btreck s{all:unset;font-weight:500;font-size:11.5px;
  color:var(--ink-soft,#3E5C68);margin-left:6px}
.btrec ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.btrec li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
  padding:7px 9px;border:1px solid var(--line,#D2E0E3);border-radius:var(--r-sm,9px);
  background:var(--card,#fff);font-size:12.5px}
.btrec li i{width:10px;height:10px;border-radius:2px;background:var(--c);
  display:inline-block;flex:0 0 auto;align-self:center}
/*  ★ 추천 배 이름은 **진짜 단추**다 — 누르면 층이 닫히고 그 배 상세가 열린다.
    누르는 넓이를 44px 로 잡는다(이 판의 손잡이 규칙). */
.btrec li .btrn{font-weight:800}
.btrec li button.btrn{border:0;background:none;padding:6px 2px;margin:-6px 0;
  min-height:44px;cursor:pointer;color:var(--water,#2E7D91);font:inherit;
  font-weight:800;text-decoration:underline;text-underline-offset:2px}
.btrec li button.btrn:hover{color:var(--ink,#12303A)}
.btrec li button.btrn:focus-visible{outline:2px solid var(--ink,#12303A);outline-offset:2px}
.btrec li .btrw{font-size:11.5px;color:var(--ink-soft,#3E5C68);
  font-family:var(--mono,ui-monospace,monospace)}
.btrec li b{font-family:var(--mono,ui-monospace,monospace)}

@media (max-width:520px){
  #btModal .btwin{width:calc(100vw - 12px);max-height:94vh;padding:12px 12px 14px}
  #btHead .btt{font-size:15.5px}
  .btchart .btxtx{font-size:8px}
}
