/* 카탈로그 (시안 6): 남색 판(표지 · 찾기 · 모델 칩 · 섹션 01~05) → 쪽 카드(동그라미 = 보낼 쪽) | 고른 쪽 · 모델 단가 · 견적에 담기 · 보낼 쪽 묶음.
   카탈로그 PDF의 디자인: 남색 바탕 + 금색 사선 띠 + 자간 넓은 라벨 + 큰 금색 섹션 번호. */
.ct-lbl{font:800 0.65625rem var(--font-display);letter-spacing:.28em;color:var(--muted);}
.ct-lbl.accent{color:var(--accent);}

/* 남색 판 */
.ct-hero{position:relative;overflow:hidden;background:#22263A;color:#FFFFFF;border-radius:14px;padding:22px 26px 0;}
.ct-hero .ray,.ct-hero .band{position:absolute;left:-10%;right:-10%;transform:skewY(-1deg);pointer-events:none;}
.ct-hero .ray{top:200px;height:1px;background:rgba(237,178,78,.55);}
.ct-hero .band{top:208px;height:9px;background:var(--gold-band);}
.ct-in{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) 124px;gap:28px;align-items:start;min-height:186px;}
.ct-wm{font:italic 900 1.25rem var(--font-display);color:#F29700;}
.ct-tag{display:inline-block;margin-top:6px;background:#FFFFFF;color:#22263A;font:800 0.5625rem var(--font-display);letter-spacing:.3em;padding:6px 9px 6px 12px;}
.ct-hero h1{margin:8px 0 4px;font:800 2.125rem/1 var(--font-display);color:#FFFFFF;}
.ct-meta{margin:0;font-size:.8125rem;color:var(--on-navy-soft);}
.ct-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.ct-acts a,.ct-acts button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:none;color:#FFFFFF;font:inherit;font-size:.8125rem;font-weight:800;text-decoration:none;cursor:pointer;white-space:nowrap;}
.ct-acts a:hover,.ct-acts button:hover{border-color:#EDB24E;color:#EDB24E;}
.ct-acts .pri{background:#F39701;border-color:#F39701;color:#1B2130;}
.ct-acts .pri:hover{background:#FFAA1F;color:#1B2130;}
.ct-acts svg{width:16px;height:16px;}
.ct-find{padding-top:24px;min-width:0;}
.ct-search{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border-radius:10px;background:#FFFFFF;color:#22263A;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.ct-search .ic{color:#9A5800;} .ct-search svg{width:20px;height:20px;}
.ct-search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:1rem;font-weight:700;color:#22263A;}
.ct-search input::placeholder{color:#6B7280;font-weight:600;}
.ct-search input:focus{outline:none;}
.ct-search:focus-within{box-shadow:0 0 0 3px #EDB24E,0 8px 24px rgba(0,0,0,.25);}
.ct-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
.ct-chips button{min-height:30px;padding:3px 9px;border:1px solid rgba(255,255,255,.3);border-radius:3px;background:none;color:#FFFFFF;font:800 .6875rem var(--font-display);cursor:pointer;white-space:nowrap;}
.ct-chips button:hover{border-color:#EDB24E;color:#EDB24E;}
.ct-chips button[aria-pressed="true"]{background:#EDB24E;border-color:#EDB24E;color:#22263A;}
.ct-cover{display:block;width:124px;border-radius:3px;box-shadow:0 12px 30px rgba(0,0,0,.45);transform:rotate(3deg);background:#22263A;}
.ct-cover img{display:block;width:100%;border-radius:3px;}
.ct-secs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:22px -26px 0;border-top:1px solid rgba(255,255,255,.14);background:#22263A;}
.ct-sec{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 10px;align-items:baseline;padding:10px 18px 14px;border:0;border-left:1px solid rgba(255,255,255,.12);background:none;color:#FFFFFF;font:inherit;text-align:left;cursor:pointer;min-width:0;}
.ct-sec:first-child{border-left:0;padding-left:26px;}
.ct-sec .n{grid-row:span 2;font:800 1.75rem/1 var(--font-display);color:#EDB24E;}
.ct-sec b{font:800 .875rem var(--font-display);letter-spacing:.06em;}
.ct-sec small{font-size:.6875rem;color:var(--on-navy-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ct-sec:hover b{color:#EDB24E;}
.ct-sec[aria-pressed="true"]{background:rgba(237,178,78,.12);box-shadow:inset 0 -3px 0 #EDB24E;}
.ct-sec:focus-visible,.ct-chips button:focus-visible{outline:3px solid #EDB24E;outline-offset:-3px;}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ct-hero{border:1px solid #2E3550;} }
:root[data-theme="dark"] .ct-hero{border:1px solid #2E3550;}

/* 쪽 카드 | 오른쪽 */
.ct-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start;margin-top:16px;}
.ct-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.ct-head small{font-size:.75rem;color:var(--muted);}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.ct-grp{grid-column:1 / -1;display:flex;align-items:baseline;gap:10px;padding:8px 0 0;border-top:1px solid var(--border);}
.ct-grp:first-child{border-top:0;padding-top:0;}
.ct-grp b{font:800 1.25rem var(--font-display);color:var(--accent);} .ct-grp span{font:800 .75rem var(--font-display);letter-spacing:.2em;} .ct-grp small{font-size:.75rem;color:var(--muted);}
.ct-card{position:relative;min-width:0;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.ct-card .op{display:block;width:100%;padding:0;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;}
.ct-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;border-bottom:1px solid var(--border);background:var(--ink-soft);}
.ct-card .t{display:block;padding:8px 10px 12px;}
.ct-card .t b{display:block;font-size:.8125rem;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ct-card .t small{display:block;margin-top:2px;font-size:.6875rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ct-card .t small.cd{margin-top:4px;font:800 .625rem var(--font-display);letter-spacing:.04em;color:var(--accent);}
.ct-card mark{background:var(--accent-soft);color:var(--accent);border-radius:2px;padding:0 1px;}
.ct-card .pg{position:absolute;left:8px;top:8px;padding:2px 6px;border-radius:3px;background:#22263A;color:#EDB24E;font:800 .75rem var(--font-display);pointer-events:none;}
.ct-card .tg{position:absolute;right:0;bottom:0;padding:3px 6px;background:#22263A;color:#FFFFFF;font:800 .5625rem var(--font-display);letter-spacing:.16em;pointer-events:none;}
.ct-card .pk{position:absolute;right:7px;top:7px;width:28px;height:28px;border-radius:50%;border:2px solid #FFFFFF;background:rgba(34,38,58,.4);color:#FFFFFF;display:grid;place-items:center;cursor:pointer;padding:0;}
.ct-card .pk svg{width:13px;height:13px;stroke-width:3;opacity:0;}
.ct-card .pk[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#1B2130;}
.ct-card .pk[aria-pressed="true"] svg{opacity:1;}
.ct-card .pk:focus-visible,.ct-card .op:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;}
.ct-card.picked{outline:3px solid var(--brand);outline-offset:-1px;}
.ct-card.on{box-shadow:0 0 0 3px var(--text);}
.ct-card:hover{border-color:var(--accent);}
.ct-empty{grid-column:1 / -1;padding:18px 4px;color:var(--muted);font-size:.875rem;}

.ct-side{position:sticky;top:80px;max-height:calc(100dvh - 96px);overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 18px;min-width:0;}
.ct-side .x{display:none;}
.ct-big{display:block;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in;}
.ct-big img{display:block;width:100%;max-width:200px;aspect-ratio:256/362;object-fit:cover;border:1px solid var(--border);border-radius:4px;}
.ct-side h3{margin:4px 0 2px;font-size:1rem;line-height:1.35;}
.ct-side .ko{font-size:.75rem;color:var(--muted);}
.ct-mods{display:flex;gap:4px;flex-wrap:wrap;margin-top:10px;}
.ct-mods button{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:2px 8px;border:1px solid var(--border);border-radius:3px;background:none;color:var(--text);font:800 .6875rem var(--font-display);cursor:pointer;white-space:nowrap;}
.ct-mods button em{font-style:normal;color:var(--accent);}
.ct-mods button:hover{border-color:var(--accent);}
.ct-mods button svg{width:12px;height:12px;}
.ct-more{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:2px 8px;font-size:.75rem;font-weight:800;color:var(--accent);text-decoration:none;}
.ct-more:hover{text-decoration:underline;}
.ct-more svg{width:12px;height:12px;}
.ct-sacts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;}
.ct-sacts .btn-primary{grid-column:1 / -1;}
.ct-sacts button,.ct-sacts a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:6px 10px;border-radius:8px;font:inherit;font-size:.8125rem;font-weight:800;text-decoration:none;cursor:pointer;}
.ct-sacts svg,.ct-tray svg{width:15px;height:15px;}
.ct-tray{margin-top:14px;padding-top:12px;border-top:2px solid var(--text);}
.ct-tray .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 10px;}
.ct-tray .row button{position:relative;padding:0;border:0;background:none;cursor:pointer;}
.ct-tray .row img{display:block;width:38px;aspect-ratio:256/362;object-fit:cover;border:1px solid var(--border);border-radius:2px;}
.ct-tray .row em{position:absolute;left:2px;bottom:2px;background:#22263A;color:#EDB24E;font:800 8px var(--font-display);font-style:normal;padding:0 3px;}
.ct-tray .none{font-size:.75rem;color:var(--muted);margin:6px 0 0;line-height:1.6;}
.ct-tray .go{display:flex;flex-wrap:wrap;gap:6px;}
.ct-tray .go > *{display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.ct-tray .go .btn-primary{flex:1 1 100%;}
.ct-tray .go .btn-outline{flex:1;min-height:38px;padding:6px;}
.ct-bar{display:none;}

/* 크게 보기(PDF 그 쪽) */
.ct-viewer{width:min(980px,calc(100% - 24px));height:min(92dvh,1100px);padding:0;border:0;border-radius:12px;background:#525659;overflow:hidden;}
.ct-viewer[open]{display:flex;flex-direction:column;}
.ct-viewer::backdrop{background:rgba(10,15,26,.65);}
.ct-viewer .vb{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#22263A;color:#FFFFFF;flex:none;}
.ct-viewer .vb b{font:800 .875rem var(--font-display);color:#EDB24E;}
.ct-viewer .vb span{flex:1;min-width:0;font-size:.8125rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ct-viewer .vb a,.ct-viewer .vb button{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.3);border-radius:7px;background:none;color:#FFFFFF;font:inherit;font-size:.75rem;font-weight:800;text-decoration:none;cursor:pointer;}
.ct-viewer{position:relative;}
.ct-viewer .vs{position:relative;flex:1;min-height:0;overflow:auto;background:#525659;padding:12px;}
.ct-viewer .vs .vw{position:relative;width:100%;max-width:900px;margin:0 auto;}
.ct-viewer .vs img{display:block;width:100%;height:auto;background:#FFFFFF;box-shadow:0 6px 24px rgba(0,0,0,.35);cursor:zoom-in;}
.ct-viewer.zoom .vs .vw{width:200%;max-width:none;}
.ct-viewer.zoom .vs img{cursor:zoom-out;}
.ct-viewer .vl{position:absolute;left:50%;top:40%;transform:translateX(-50%);padding:8px 14px;border-radius:8px;background:rgba(34,38,58,.85);color:#FFFFFF;font-size:.8125rem;font-weight:700;}
.ct-viewer .vl[hidden]{display:none;}
.ct-viewer .vn{padding:0;position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:64px;margin-top:-32px;border:0;border-radius:10px;background:rgba(34,38,58,.72);color:#FFFFFF;cursor:pointer;}
.ct-viewer .vn.prev{left:10px;} .ct-viewer .vn.next{right:10px;}
.ct-viewer .vn:hover{background:#22263A;} .ct-viewer .vn:disabled{opacity:.25;cursor:default;}
.ct-viewer .vn svg{width:22px;height:22px;}

/* 움직임: 처음 상태도 읽을 수 있게, 등장 순서만 바꾼다. */
.ct-anim .ray,.ct-anim .band{animation:ct-sweep .9s cubic-bezier(.2,.8,.2,1) both;}
.ct-anim .ct-cover{animation:ct-lift .8s .2s cubic-bezier(.2,.8,.2,1) both;}
.ct-anim .ct-sec{animation:ct-rise .45s cubic-bezier(.2,.8,.2,1) both;}
.ct-cards-anim .ct-card{animation:ct-rise .4s cubic-bezier(.2,.8,.2,1) both;}
@keyframes ct-sweep{from{clip-path:inset(0 100% 0 0);}to{clip-path:inset(0 0 0 0);}}
@keyframes ct-lift{from{transform:rotate(3deg) translateY(24px);}to{transform:rotate(3deg);}}
@keyframes ct-rise{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){ .ct-anim *,.ct-cards-anim .ct-card{animation:none !important;} }

@media (max-width:1180px){
  .ct-in{grid-template-columns:auto minmax(0,1fr);}
  .ct-cover{display:none;}
}
@media (max-width:900px){
  .ct-hero .ray,.ct-hero .band{display:none;}
  .ct-in{grid-template-columns:minmax(0,1fr);gap:4px;min-height:0;}
  .ct-find{padding-top:14px;}
  .ct-main{grid-template-columns:minmax(0,1fr);}
  /* 좁은 화면: 고른 쪽은 아래에서 올라오는 시트, 보낼 쪽은 아래 띠 */
  .ct-side{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:320;max-height:calc(100dvh - env(safe-area-inset-top) - 56px);overflow-y:auto;border:0;border-radius:18px 18px 0 0;box-shadow:0 -12px 32px rgba(0,0,0,.28);padding:22px 18px calc(18px + env(safe-area-inset-bottom));overscroll-behavior:contain;}
  .ct-side[hidden]{display:none;}
  .ct-side .x{padding:0;display:grid;place-items:center;position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;}
  .ct-big img{max-width:180px;}
  .ct-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:310;border:0;background:rgba(10,15,26,.55);}
  .ct-bar:not([hidden]){display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:300;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#22263A;color:#FFFFFF;box-shadow:0 8px 24px rgba(0,0,0,.3);}
  .ct-bar b{flex:1;font-size:.875rem;}
  .ct-bar button{min-height:40px;padding:0 14px;border:0;border-radius:8px;background:#F39701;color:#1B2130;font:inherit;font-weight:800;cursor:pointer;}
  .ct-wrap{padding-bottom:84px;}
}
@media (max-width:640px){
  .ct-hero{padding:18px 16px 0;border-radius:12px;}
  .ct-hero h1{font-size:1.75rem;}
  .ct-secs{margin:18px -16px 0;}
  .ct-sec,.ct-sec:first-child{grid-template-columns:1fr;justify-items:center;text-align:center;padding:10px 2px 12px;}
  .ct-sec .n{grid-row:auto;font-size:1.375rem;}
  .ct-sec b{font-size:.6875rem;letter-spacing:.04em;}
  .ct-sec small{display:none;}
  .ct-search{height:48px;}
  .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .ct-viewer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;}
  .ct-viewer .vs{padding:8px 8px 76px;}
  /* 화면을 꽉 채우면 아이폰 앱(검은 반투명 상태 표시줄)에서 머리가 시계·배터리 밑으로 들어가 눌리지 않는다 */
  .ct-viewer .vb{padding:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 8px calc(10px + env(safe-area-inset-left));}
  .ct-viewer .vb #ctVOpen em{display:none;}
  .ct-pdfm{top:calc(58px + env(safe-area-inset-top));}
  .ct-viewer .vn{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));margin-top:0;width:56px;height:48px;background:rgba(34,38,58,.88);}
}
@media print{ .ct-hero{background:none;color:#000;} .ct-hero .band,.ct-hero .ray,.ct-side,.ct-bar{display:none;} }

/* 이 쪽에 단가표 품목 붙이기(PRICE LINK, 시안 6) */
.ct-plink{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}
.ct-plink .ct-mods{margin-top:6px;}
.ct-pin{display:inline-flex;}
.ct-pin > button:first-child{border-color:var(--brand);border-radius:3px 0 0 3px;}
.ct-pin .un{display:grid;place-items:center;min-height:28px;width:26px;padding:0;border:1px solid var(--brand);border-left:0;border-radius:0 3px 3px 0;background:none;color:var(--muted);cursor:pointer;}
.ct-pin .un:hover{color:var(--danger);}
.ct-pin .un svg{width:12px;height:12px;}
.ct-pq{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;margin:8px 0 4px;border:1px solid var(--border);border-radius:8px;background:var(--card);}
.ct-pq:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(243,151,1,.2);}
.ct-pq svg{width:15px;height:15px;color:var(--muted);flex:none;}
.ct-pq input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;font-size:.8125rem;outline:none;}
.ct-pr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 8px;align-items:center;padding:7px 2px;border-bottom:1px solid var(--border);font-size:.75rem;}
.ct-pr b{font:800 .75rem var(--font-display);overflow-wrap:anywhere;}
.ct-pr small{display:block;color:var(--muted);font-size:.6875rem;line-height:1.4;}
.ct-pr em{font-style:normal;font-weight:800;color:var(--accent);white-space:nowrap;}
.ct-pr .btn-primary{min-height:30px;padding:2px 9px;font-size:.75rem;white-space:nowrap;}
.ct-pr .btn-primary small{display:inline;color:inherit;opacity:.75;font-size:.625rem;margin-left:2px;}
.ct-pr .btn-primary svg{width:13px;height:13px;}
.ct-pon{font-size:.6875rem;font-weight:800;color:var(--muted);padding:4px 8px;border:1px solid var(--border);border-radius:6px;}
.ct-plink .hint{margin:6px 0 0;font-size:.6875rem;color:var(--muted);line-height:1.5;}

/* 직원용 크게 보기(시안 6, catalog-staff.js): 품번 자리 · 가격 말풍선 · 잇기 창 · 직원용 PDF */
.ct-viewer .vb .ct-sleg{display:flex;gap:10px;flex:none;font-size:.75rem;font-weight:800;color:#D3D6DF;white-space:nowrap;}
.ct-viewer .vb .ct-sleg[hidden]{display:none;}
.ct-viewer .vb .ct-sleg span{flex:none;overflow:visible;font-size:inherit;font-weight:inherit;}
.ct-viewer .vb .ct-sleg b{font:800 .8125rem var(--font-display);color:#FFFFFF;}
.ct-sleg i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;}
.ct-sleg i.ok{background:rgba(243,151,1,.35);box-shadow:inset 0 -2px 0 #F39701;}
.ct-sleg i.no{outline:1.5px dashed #FF8A7A;outline-offset:-1px;}
.ct-viewer .vb .ct-vt,.ct-viewer .vb .ct-vpdf{flex:none;}
.ct-viewer .vb .ct-vt em,.ct-viewer .vb .ct-vpdf em,.ct-viewer .vb #ctVOpen em{font-style:normal;}
.ct-viewer .vb .ct-vt.on{background:#FFFFFF;border-color:#FFFFFF;color:#22263A;}
.ct-viewer .vb .ct-vpdf{background:#F39701;border-color:#F39701;color:#1B2130;}
.ct-viewer .vb .ct-vpdf:disabled{opacity:.8;cursor:progress;}
.ct-viewer .vb svg{width:15px;height:15px;}
.ct-pdfm{position:absolute;z-index:8;top:58px;right:130px;width:250px;padding:10px;border-radius:10px;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:0 14px 34px rgba(0,0,0,.35);}
.ct-pdfm[hidden]{display:none;}
.ct-pdfm .lb{padding:2px 4px 8px;font:800 .5625rem var(--font-display);letter-spacing:.24em;color:var(--accent);}
.ct-pdfm button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:.8125rem;font-weight:800;text-align:left;cursor:pointer;margin-bottom:6px;}
.ct-pdfm button:hover{border-color:var(--brand);}
.ct-pdfm button small{font-size:.6875rem;font-weight:700;color:var(--muted);}
.ct-pdfm p{margin:2px 4px 0;font-size:.6875rem;color:var(--muted);line-height:1.5;}
.ct-spots{position:absolute;inset:0;pointer-events:none;}
.ct-spot{position:absolute;padding:0;margin:0;border:0;border-radius:2px;background:transparent;pointer-events:auto;cursor:pointer;transform:translate(-1px,-1px);box-sizing:content-box;padding:1px;}
.ct-spot.ok{background:rgba(243,151,1,.08);box-shadow:inset 0 -2px 0 #F39701;}
.ct-spot.ok:hover,.ct-spot.ok.on,.ct-spot.ok:focus-visible{background:rgba(243,151,1,.28);box-shadow:0 0 0 2px #F39701;outline:none;}
.ct-spot.no{outline:1.5px dashed #D9473A;outline-offset:1px;background:rgba(217,71,58,.06);}
.ct-spot.no:hover,.ct-spot.no.on,.ct-spot.no:focus-visible{outline-style:solid;background:rgba(217,71,58,.18);}
.ct-stip,.ct-spop{position:absolute;z-index:6;font-size:.75rem;line-height:1.45;}
.ct-stip.enter,.ct-spop.enter{animation:ctSpIn .16s ease-out both;}
@keyframes ctSpIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.ct-stip{width:250px;padding:12px 14px;border-radius:10px;background:#22263A;color:#FFFFFF;box-shadow:0 10px 28px rgba(20,24,40,.35);}
.ct-stip .k{font:800 .9375rem var(--font-display);color:#EDB24E;}
.ct-stip .k small{font-size:.6875rem;color:#D3D6DF;}
.ct-stip .it + .it{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.15);}
.ct-stip .n{margin:2px 0 8px;color:#D3D6DF;} .ct-stip .n small{display:block;font:700 .625rem var(--font-display);color:#9AA0B4;}
.ct-stip .p{display:flex;gap:16px;padding-top:8px;border-top:1px solid rgba(255,255,255,.15);}
.ct-stip .p div{display:flex;flex-direction:column;gap:1px;}
.ct-stip .p small{font:800 .5625rem var(--font-display);letter-spacing:.2em;color:#D3D6DF;}
.ct-stip .p b{font:800 1rem var(--font-display);}
.ct-stip .a{display:flex;gap:6px;margin-top:10px;}
.ct-stip .a button,.ct-stip .a a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:none;color:#FFFFFF;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;}
.ct-stip .a button{background:#F39701;border-color:#F39701;color:#1B2130;}
.ct-stip .a svg{width:13px;height:13px;}
.ct-stip .more{display:block;margin-top:8px;color:#EDB24E;font-weight:800;text-decoration:none;}
.ct-spop{width:340px;max-height:min(70vh,560px);overflow:auto;border-radius:12px;background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:0 14px 34px rgba(20,24,40,.32);}
.ct-spop .t{position:sticky;top:0;z-index:1;overflow:hidden;padding:10px 14px 16px;background:#22263A;color:#FFFFFF;}
.ct-spop .t::after{content:'';position:absolute;left:-10%;right:-10%;bottom:-9px;height:12px;background:var(--gold-band);transform:skewY(-1deg);}
.ct-spop .t b{font:800 .9375rem var(--font-display);color:#EDB24E;} .ct-spop .t span{margin-left:8px;color:#D3D6DF;font-weight:700;}
.ct-spop .t small{display:block;margin-top:2px;color:#D3D6DF;overflow-wrap:anywhere;}
.ct-spop .lb{padding:10px 14px 4px;font:800 .5625rem var(--font-display);letter-spacing:.24em;color:var(--accent);}
.ct-spop .s{display:flex;gap:8px;align-items:center;padding:7px 14px;border-top:1px solid var(--border);}
.ct-spop .s > div{flex:1;min-width:0;}
.ct-spop .s b{font:800 .75rem var(--font-display);overflow-wrap:anywhere;}
.ct-spop .s small{display:block;color:var(--muted);font-size:.6875rem;}
.ct-spop .s i{font-style:normal;font-size:.625rem;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:1px 5px;border-radius:3px;margin-left:4px;white-space:nowrap;}
.ct-spop .s button{flex:none;min-height:32px;padding:0 10px;border:0;border-radius:6px;background:var(--brand);color:var(--on-brand);font:inherit;font-weight:800;cursor:pointer;}
.ct-spop .q{display:flex;align-items:center;gap:6px;margin:8px 14px 4px;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);}
.ct-spop .q:focus-within{border-color:var(--brand);}
.ct-spop .q svg{width:14px;height:14px;color:var(--muted);flex:none;}
.ct-spop .q input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;outline:none;}
.ct-spop .none{margin:8px 14px;color:var(--muted);font-size:.6875rem;}
.ct-spop .f{display:flex;gap:6px;padding:10px 14px 12px;}
.ct-spop .f button{flex:1;min-height:34px;border:1px solid var(--border);border-radius:7px;background:var(--card);color:var(--text);font:inherit;font-weight:800;cursor:pointer;}
.ct-stip.sheet,.ct-spop.sheet{position:fixed;left:8px !important;right:8px;top:auto !important;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;max-height:62vh;}
@media (max-width:900px){ .ct-viewer .vb .ct-sleg{display:none;} .ct-pdfm{right:12px;} }
@media (max-width:640px){ .ct-viewer .vb .ct-vt em,.ct-viewer .vb .ct-vpdf em{display:none;} .ct-viewer .vb{gap:6px;} }
@media (prefers-reduced-motion:reduce){.ct-stip.enter,.ct-spop.enter{animation:none;}}
