/* 台股資金地圖 · 街頭專欄 (r28, columns.js): the 專欄 tab, the reader, the editor, the street board's label and the new-column banner. */
/* the tab and the panel body it owns */
.tabs button { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative; }
body[data-tab="col"] #panel-body { display: none; } body:not([data-tab="col"]) #col-body { display: none; }
.cl-dot { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; margin-left: 4px; padding: 0 4px; border-radius: 999px; background: #E5484D; color: #fff; font: 600 calc(10px * var(--fz, 1))/1 var(--font-mono); font-style: normal; vertical-align: 1px; }
#bottomnav .cl-dot { position: absolute; top: 6px; margin-left: 2px; } #bottomnav button { position: relative; }
@media (max-width: 860px) { #bottomnav.has-col { grid-template-columns: repeat(5, 1fr); } }
.cl-lk { color: var(--buy); font-size: calc(12px * var(--fz, 1)); border-radius: 4px; } .cl-lk:hover { text-decoration: underline; text-underline-offset: 2px; }
.btn.del { color: #FF8A7A; border-color: rgba(255,138,122,.35); } .btn.del.sure, .cl-ab.sure { background: rgba(229,72,77,.16); color: #FFB4AA; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }

/* board */
.cl-bh { padding: 2px 0 8px; border-bottom: 1px solid var(--line); }
.cl-bt { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .cl-bt h2 { margin: 0; font-size: calc(15px * var(--fz, 1)); font-weight: 700; }
.cl-bb { display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.cl-sub { margin: 4px 0 8px; font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-3); }
.cl-fr { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.cl-seg { display: inline-flex; border: 1px solid var(--line-2); border-radius: 8px; overflow: hidden; } .cl-seg button { height: 28px; padding: 0 11px; font-size: calc(12px * var(--fz, 1)); color: var(--fg-2); }
.cl-seg button + button { border-left: 1px solid var(--line-2); } .cl-seg button.on { background: rgba(61,220,203,.14); color: var(--buy); font-weight: 600; } .cl-seg button:hover:not(.on) { background: var(--bg-3); color: var(--fg); }
.cl-seg.wide { display: flex; margin-top: 4px; } .cl-seg.wide button { flex: 1; padding: 0 4px; }
.cl-inds { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }
.cl-ind { display: inline-flex; align-items: baseline; gap: 4px; height: 24px; padding: 0 8px; border-radius: 999px; background: var(--bg-3); border: 1px solid var(--line); font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-2); }
.cl-ind small { font: calc(10px * var(--fz, 1)) var(--font-mono); color: var(--fg-3); } .cl-ind.on { border-color: var(--gold); color: var(--gold); background: rgba(243,198,94,.1); } .cl-ind:hover:not(.on) { color: var(--fg); border-color: var(--line-2); }
.cl-sf { position: relative; } .cl-sq { width: 100%; height: 30px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-3); color: var(--fg); padding: 0 10px; font: calc(12.5px * var(--fz, 1)) var(--font-ui); }
.cl-sq:focus { outline: 2px solid rgba(61,220,203,.5); outline-offset: 0; }
.cl-sr { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 5; max-height: 260px; overflow-y: auto; padding: 4px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); box-shadow: 0 12px 30px rgba(0,0,0,.5); }
.cl-sr button { display: flex; width: 100%; align-items: baseline; gap: 8px; padding: 6px 8px; border-radius: 6px; text-align: left; font-size: calc(12.5px * var(--fz, 1)); } .cl-sr button:hover { background: var(--bg-3); } .cl-sr small { color: var(--fg-3); font: calc(11px * var(--fz, 1)) var(--font-mono); } .cl-sr p { margin: 6px 8px; color: var(--fg-3); font-size: calc(12px * var(--fz, 1)); }
.cl-act { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .cl-on { height: 26px; padding: 0 10px; border-radius: 999px; background: rgba(243,198,94,.12); border: 1px solid rgba(243,198,94,.5); color: var(--gold); font-size: calc(12px * var(--fz, 1)); } .cl-on small { color: var(--fg-3); font-family: var(--font-mono); }
.cl-list { display: flex; flex-direction: column; }
.cl-row { padding: 10px 2px 9px; border-bottom: 1px solid var(--line); } .cl-row.new { box-shadow: inset 3px 0 0 #E5484D; padding-left: 9px; }
.cl-rb { display: flex; flex-direction: column; gap: 3px; width: 100%; text-align: left; border-radius: 6px; } .cl-rb:hover .cl-rt { color: var(--buy); }
.cl-rk { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: calc(10.5px * var(--fz, 1)); color: var(--fg-3); }
.cl-kd { font-style: normal; font-size: calc(10.5px * var(--fz, 1)); font-weight: 600; padding: 1px 6px; border-radius: 4px; background: rgba(61,220,203,.12); color: var(--buy); } .cl-kd.tutorial { background: rgba(181,156,255,.14); color: var(--ai); }
.cl-new { font-style: normal; font-size: calc(10px * var(--fz, 1)); font-weight: 700; padding: 0 5px; border-radius: 4px; background: #E5484D; color: #fff; }
.cl-rt { font-size: calc(14px * var(--fz, 1)); font-weight: 600; line-height: 1.45; color: var(--fg); overflow-wrap: anywhere; }
.cl-rs { font-size: calc(12px * var(--fz, 1)); line-height: 1.5; color: var(--fg-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cl-rm { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px; font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-3); }
.cl-au { display: inline-flex; align-items: center; gap: 5px; max-width: 12em; color: var(--fg-2); border-radius: 999px; } .cl-au span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } button.cl-au:hover span, button.cl-au:hover b { text-decoration: underline; text-underline-offset: 2px; }
.cl-au.big { max-width: none; gap: 8px; } .cl-au.big b { display: block; color: var(--fg); font-size: calc(13px * var(--fz, 1)); } .cl-au.big small { display: block; font-size: calc(10.5px * var(--fz, 1)); color: var(--fg-3); }
.cl-sc { height: 20px; padding: 0 7px; border-radius: 999px; background: var(--bg-4); color: var(--gold); font-size: calc(11px * var(--fz, 1)); } .cl-sc small { font: calc(10px * var(--fz, 1)) var(--font-mono); color: var(--fg-3); } .cl-sc:hover { background: rgba(243,198,94,.14); }
.cl-rmr { margin-left: auto; display: inline-flex; gap: 10px; font-family: var(--font-mono); font-size: calc(11px * var(--fz, 1)); }
.cl-more { width: 100%; height: 34px; margin-top: 8px; border-radius: 8px; border: 1px dashed var(--line-2); color: var(--fg-2); font-size: calc(12px * var(--fz, 1)); } .cl-more:hover { color: var(--fg); border-color: var(--buy); }
.cl-wait { margin: 14px 0 6px; text-align: center; font-size: calc(12px * var(--fz, 1)); color: var(--fg-3); }
.cl-msg { margin: 14px 0 6px; padding: 14px 12px; border-radius: 10px; background: rgba(5,8,12,.45); text-align: center; } .cl-msg p { margin: 0 0 10px; font-size: calc(12.5px * var(--fz, 1)); color: var(--fg-2); line-height: 1.6; } .cl-msg p:last-child { margin: 0; }
.cl-rule { margin: 12px 2px 0; font-size: calc(10.5px * var(--fz, 1)); color: var(--fg-3); line-height: 1.5; }
.cl-g { gap: 6px; }
/* an empty board: the system's own note (never a fake author) */
.cl-sysnote { position: relative; margin: 14px 4px 6px; padding: 18px 14px 14px; border-radius: 4px; background: #F4E9C9; color: #3A2C18; box-shadow: 0 6px 18px rgba(0,0,0,.35); transform: rotate(-.6deg); }
.cl-sysnote p { margin: 6px 0 10px; font-size: calc(13px * var(--fz, 1)); line-height: 1.6; } .cl-pin { position: absolute; left: 50%; top: -6px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: #D9383C; box-shadow: 0 2px 3px rgba(0,0,0,.4); }
.cl-sysh { display: flex; align-items: center; gap: 6px; font-size: calc(12px * var(--fz, 1)); } .cl-sysh b { color: #3A2C18; } .cl-sysnote .tk-sysb { background: rgba(58,44,24,.12); color: #5B4524; }
.cl-sysnote .btn.gold { background: #3A2C18; color: #F4E9C9; border-color: #3A2C18; } .cl-sysnote .btn.gold:hover { background: #59442A; }

/* the article */
.cl-back { display: inline-flex; align-items: center; height: 28px; padding: 0 10px 0 6px; margin: 0 0 8px; border-radius: 8px; color: var(--fg-2); font-size: calc(12px * var(--fz, 1)); } .cl-back:hover { background: var(--bg-3); color: var(--fg); }
.cl-own { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0 0 10px; padding: 7px 10px; border-radius: 8px; background: rgba(243,198,94,.08); border: 1px solid rgba(243,198,94,.3); font-size: calc(12px * var(--fz, 1)); color: var(--fg-2); }
.cl-stp { font-style: normal; font-size: calc(10.5px * var(--fz, 1)); font-weight: 600; padding: 1px 6px; border-radius: 4px; background: var(--bg-4); color: var(--fg-2); } .cl-stp.ok { background: rgba(75,211,123,.14); color: #6BE09A; } .cl-stp.warn { background: rgba(255,169,64,.14); color: var(--sell); }
.cl-art { padding-bottom: 6px; }
.cl-ak { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: calc(11px * var(--fz, 1)); color: var(--fg-3); }
.cl-tg { height: 20px; padding: 0 8px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--fg-2); font-size: calc(11px * var(--fz, 1)); } .cl-tg:hover { color: var(--fg); border-color: var(--gold); }
.cl-h { margin: 8px 0 6px; font: 700 calc(21px * var(--fz, 1))/1.4 var(--font-display); color: var(--fg); overflow-wrap: anywhere; }
.cl-sum { margin: 0 0 10px; font-size: calc(13px * var(--fz, 1)); line-height: 1.6; color: var(--fg-2); }
.cl-by { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 0 10px; border-bottom: 1px solid var(--line); }
.cl-dt { text-align: right; font: calc(11px * var(--fz, 1))/1.5 var(--font-mono); color: var(--fg-3); flex: none; }
.cl-body { font-size: calc(14px * var(--fz, 1)); line-height: 1.8; color: var(--fg); overflow-wrap: anywhere; padding-top: 6px; }
.cl-body h2 { font-size: calc(16.5px * var(--fz, 1)); margin: 18px 0 6px; line-height: 1.45; } .cl-body h3 { font-size: calc(15px * var(--fz, 1)); margin: 16px 0 6px; } .cl-body h4 { font-size: calc(14px * var(--fz, 1)); margin: 14px 0 4px; color: var(--fg-2); }
.cl-body p { margin: 0 0 12px; } .cl-body ul, .cl-body ol { margin: 0 0 12px; padding-left: 22px; } .cl-body li { margin: 3px 0; }
.cl-body blockquote { margin: 0 0 12px; padding: 6px 12px; border-left: 3px solid var(--gold); background: rgba(243,198,94,.06); color: var(--fg-2); border-radius: 0 8px 8px 0; } .cl-body blockquote p:last-child { margin: 0; }
.cl-body code { padding: 1px 5px; border-radius: 4px; background: var(--bg-4); font: calc(12.5px * var(--fz, 1)) var(--font-mono); } .cl-body pre { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; background: var(--bg); border: 1px solid var(--line); overflow-x: auto; } .cl-body pre code { padding: 0; background: none; }
.cl-body hr { border: 0; border-top: 1px solid var(--line-2); margin: 16px 0; } .cl-body a { color: var(--buy); text-decoration: underline; text-underline-offset: 2px; } .cl-body a::after { content: ' ↗'; font-size: .85em; text-decoration: none; }
.cl-body .dq-img-alt { display: inline-block; padding: 1px 8px; border-radius: 6px; border: 1px dashed var(--line-2); color: var(--fg-3); font-size: calc(12px * var(--fz, 1)); } .cl-body .dq-img-alt::before { content: '圖：'; }
.cl-body .dq-disclaimer { margin-top: 18px; padding-top: 10px; border-top: 1px dashed var(--line-2); font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-3); }
.cl-stk { display: inline; padding: 0 5px; margin: 0 1px; border-radius: 5px; background: rgba(243,198,94,.12); color: var(--gold); font: inherit; font-weight: 600; } button.cl-stk:hover { background: rgba(243,198,94,.24); text-decoration: underline; text-underline-offset: 2px; }
.cl-stks h4, .cl-rel h4 { margin: 14px 0 6px; font-size: calc(12px * var(--fz, 1)); font-weight: 600; color: var(--fg-2); } .cl-rel h4 small { color: var(--fg-3); font-weight: 400; }
.cl-chips { display: flex; flex-wrap: wrap; gap: 6px; } .cl-chips .cl-sc { height: 26px; padding: 0 10px; font-size: calc(12px * var(--fz, 1)); }
.cl-acts { position: relative; display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 4px; }
.cl-ab { height: 30px; padding: 0 12px; border-radius: 8px; border: 1px solid var(--line-2); color: var(--fg-2); font-size: calc(12.5px * var(--fz, 1)); } .cl-ab b { font-family: var(--font-mono); font-weight: 600; margin-left: 2px; } .cl-ab:hover { background: var(--bg-3); color: var(--fg); }
.cl-ab.on { color: #FF8A9B; border-color: rgba(255,138,155,.5); background: rgba(255,138,155,.08); } .cl-ab.gold { color: var(--gold); border-color: rgba(243,198,94,.5); } .cl-ab.rep { margin-left: auto; color: var(--fg-3); }
.cl-rep { position: absolute; right: 0; top: calc(100% + 4px); z-index: 6; width: min(260px, 100%); padding: 8px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); box-shadow: 0 12px 30px rgba(0,0,0,.5); font-size: calc(12px * var(--fz, 1)); }
.cl-rep b { display: block; margin: 2px 4px 6px; } .cl-rep p { margin: 0 4px 8px; color: var(--fg-2); line-height: 1.5; } .cl-rep button { display: block; width: 100%; text-align: left; padding: 6px 8px; border-radius: 6px; color: var(--fg-2); } .cl-rep button:hover { background: var(--bg-3); color: var(--fg); } .cl-rep small { display: block; margin: 6px 4px 2px; color: var(--fg-3); font-size: calc(10.5px * var(--fz, 1)); line-height: 1.45; }
/* my columns */
.cl-mrow { border-bottom: 1px solid var(--line); } .cl-mrow .cl-row { border-bottom: 0; }
.cl-hid { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0 2px 6px; padding: 5px 8px; border-radius: 8px; background: rgba(255,169,64,.09); border: 1px solid rgba(255,169,64,.34); font-size: calc(11.5px * var(--fz, 1)); } .cl-hid b { color: var(--sell); font-weight: 600; } .cl-hid small { margin-left: auto; color: var(--fg-3); font-size: calc(10.5px * var(--fz, 1)); }
.cl-mact { display: flex; gap: 6px; padding: 0 2px 10px; }
/* the 總覽 block */
.cl-sec h2 small b.cl-newn { color: #FF8A8E; font-weight: 600; }
.cl-watch { margin: 0 0 6px; padding: 5px 8px; border-radius: 8px; background: rgba(229,72,77,.09); border: 1px solid rgba(229,72,77,.3); font-size: calc(12px * var(--fz, 1)); color: var(--fg); }
.cl-mini { display: flex; align-items: center; gap: 8px; width: 100%; padding: 6px 4px; border-radius: 8px; text-align: left; } .cl-mini:hover { background: var(--bg-3); } .cl-mini span { min-width: 0; } .cl-mini b { display: block; font-size: calc(12.5px * var(--fz, 1)); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .cl-mini small { display: block; font-size: calc(11px * var(--fz, 1)); color: var(--fg-3); }
.cl-mini.new b::before { content: '新'; display: inline-block; margin-right: 5px; padding: 0 4px; border-radius: 4px; background: #E5484D; color: #fff; font-size: calc(10px * var(--fz, 1)); vertical-align: 1px; }
.cl-mf { display: flex; justify-content: space-between; gap: 10px; margin-top: 4px; } .cl-empty { margin: 4px 0; font-size: calc(12px * var(--fz, 1)); color: var(--fg-3); } .cl-empty .cl-lk { margin-left: 4px; }
/* the stock card */
.cl-card { margin: 12px 0 10px; padding: 10px 10px 8px; border-radius: 12px; background: var(--bg-3); border: 1px solid var(--line); }
.cl-ch { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .cl-ch h4 { margin: 0 0 4px !important; font-size: calc(12.5px * var(--fz, 1)) !important; color: var(--fg) !important; font-weight: 600 !important; }
.cl-cr { display: flex; flex-direction: column; gap: 3px; width: 100%; padding: 7px 2px; border-top: 1px solid var(--line); text-align: left; } .cl-cr b { font-size: calc(13px * var(--fz, 1)); line-height: 1.45; } .cl-cr:hover b { color: var(--buy); } .cl-cr .cl-kd { align-self: flex-start; }
.cl-crm { display: flex; align-items: center; gap: 8px; font-size: calc(11px * var(--fz, 1)); color: var(--fg-3); } .cl-crm time { margin-left: auto; font-family: var(--font-mono); }
.cl-cw { width: 100%; justify-content: center; margin-top: 6px; }
.cl-card .cl-rule { margin-top: 6px; }
/* the new-column banner (in the page only) */
#col-banner { position: fixed; left: calc((100vw - var(--panel-w) - 28px) / 2); top: calc(var(--top-h) + env(safe-area-inset-top, 0px) + 54px); transform: translateX(-50%); z-index: 45; display: flex; align-items: center; gap: 10px; max-width: min(640px, calc(100vw - var(--panel-w) - 60px)); /* centred over the map, left of the panel */ padding: 8px 8px 8px 12px; border-radius: 12px; background: rgba(20,27,36,.97); border: 1px solid rgba(243,198,94,.55); box-shadow: 0 12px 30px rgba(0,0,0,.5); font-size: calc(12.5px * var(--fz, 1)); animation: cl-in .28s both; }
#col-banner.out { animation: cl-out .26s both; } .clb-ico { font-size: calc(16px * var(--fz, 1)); } .clb-t { display: flex; align-items: center; gap: 6px; min-width: 0; } .clb-t b { color: var(--gold); flex: none; } .clb-n { color: var(--fg-2); flex: none; } .clb-ti { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--fg); }
.clb-x { width: 26px; height: 26px; border-radius: 6px; color: var(--fg-3); flex: none; } .clb-x:hover { background: var(--bg-3); color: var(--fg); }
@keyframes cl-in { from { opacity: 0; transform: translate(-50%, -8px); } } @keyframes cl-out { to { opacity: 0; transform: translate(-50%, -8px); } }
/* the street board: a label over it and an invisible click area on it */
.col-pin { position: absolute; left: 0; top: 0; z-index: 3; display: inline-flex; flex-direction: column; align-items: center; gap: 0; padding: 3px 9px 4px; border-radius: 8px; background: rgba(28,52,38,.94); border: 1px solid rgba(207,232,214,.5); color: #F6F1E3; font-size: calc(11.5px * var(--fz, 1)); line-height: 1.3; white-space: nowrap; box-shadow: 0 4px 12px rgba(0,0,0,.4); cursor: pointer; }
.col-pin b { font-weight: 600; } .col-pin .cl-pn { font-size: calc(10.5px * var(--fz, 1)); color: #CFE8D6; max-width: 14em; overflow: hidden; text-overflow: ellipsis; } .col-pin .cl-pn.new { color: #FFB4B6; font-weight: 600; }
.col-pin::after { content: ''; position: absolute; left: 50%; bottom: -5px; margin-left: -5px; border: 5px solid transparent; border-bottom: 0; border-top-color: rgba(28,52,38,.94); }
.col-pin:hover { border-color: var(--gold); } .col-hit { position: absolute; left: 0; top: 0; z-index: 3; background: transparent; border: 0; padding: 0; cursor: pointer; }
/* talk.js ticker: a new column in the 跑馬燈 */
.tk-ti.col { cursor: pointer; } .tk-colb { font-style: normal; font-size: calc(10.5px * var(--fz, 1)); font-weight: 600; color: var(--gold); margin-right: 2px; }

/* the editor */
.cl-ed .cl-edc { width: min(1180px, 100%); height: min(880px, calc(100% - 24px)); }
.cl-edh { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 14px 52px 10px 20px; border-bottom: 1px solid var(--line); flex: none; }
.cl-edh h3 { margin: 0; font-size: calc(17px * var(--fz, 1)); } .cl-sv { margin-left: auto; font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-3); } .cl-note { flex-basis: 100%; margin: 2px 0 0; font-size: calc(11.5px * var(--fz, 1)); color: var(--gold); }
.cl-gate:empty { display: none; } .cl-gate { flex: none; padding: 10px 20px 0; }
.cl-gb { padding: 10px 12px; border-radius: 10px; background: rgba(61,220,203,.07); border: 1px solid rgba(61,220,203,.3); font-size: calc(12.5px * var(--fz, 1)); } .cl-gb.warn { background: rgba(255,169,64,.08); border-color: rgba(255,169,64,.35); } .cl-gb p { margin: 0 0 8px; color: var(--fg-2); line-height: 1.55; } .cl-gb p b { color: var(--fg); }
.cl-gf { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .cl-nk { height: 32px; width: 180px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-3); color: var(--fg); padding: 0 10px; font: calc(13px * var(--fz, 1)) var(--font-ui); }
.cl-ag { display: inline-flex; align-items: center; gap: 4px; font-size: calc(12px * var(--fz, 1)); color: var(--fg-2); } .cl-ag .tk-lk { margin: 0; } .cl-gn { font-size: calc(12px * var(--fz, 1)); color: var(--fg-2); } .cl-ge { margin: 6px 0 0; font-size: calc(12px * var(--fz, 1)); color: #FF8A7A; } .cl-gw { margin: 0; font-size: calc(12px * var(--fz, 1)); color: var(--fg-3); }
.cl-tabs { display: none; }
.cl-edb { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.cl-form { min-height: 0; overflow-y: auto; padding: 12px 18px 12px 20px; display: flex; flex-direction: column; gap: 6px; border-right: 1px solid var(--line); }
.cl-kind { display: flex; gap: 8px; } .cl-kind button { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 7px 10px; border-radius: 10px; border: 1px solid var(--line-2); text-align: left; color: var(--fg-2); }
.cl-kind button b { font-size: calc(13px * var(--fz, 1)); } .cl-kind button small { font-size: calc(11px * var(--fz, 1)); color: var(--fg-3); } .cl-kind button.on { border-color: var(--buy); background: rgba(61,220,203,.1); color: var(--fg); } .cl-kind button.on b { color: var(--buy); }
.cl-fl { display: flex; align-items: baseline; gap: 6px; margin-top: 6px; font-size: calc(12px * var(--fz, 1)); color: var(--fg-2); } .cl-fl small { color: var(--fg-3); font-size: calc(10.5px * var(--fz, 1)); }
.cl-cnt { margin-left: auto; font: calc(10.5px * var(--fz, 1)) var(--font-mono); color: var(--fg-3); } .cl-cnt.over { color: #FF8A7A; font-weight: 600; }
.cl-ti, .cl-su { width: 100%; height: 36px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-3); color: var(--fg); padding: 0 10px; font: calc(14px * var(--fz, 1)) var(--font-ui); } .cl-ti { font-weight: 600; font-size: calc(15px * var(--fz, 1)); height: 40px; }
.cl-ti:focus, .cl-su:focus, .cl-bd:focus, .cl-nk:focus { outline: 2px solid rgba(61,220,203,.5); outline-offset: 0; }
.cl-tagr { display: flex; flex-wrap: wrap; gap: 5px; } .cl-tagr button { height: 26px; padding: 0 9px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--fg-2); font-size: calc(11.5px * var(--fz, 1)); } .cl-tagr button.on { border-color: var(--gold); color: var(--gold); background: rgba(243,198,94,.1); }
.cl-tb { position: relative; display: flex; flex-wrap: wrap; gap: 4px; } .cl-tb button { height: 26px; padding: 0 9px; border-radius: 6px; background: var(--bg-3); border: 1px solid var(--line); color: var(--fg-2); font-size: calc(11.5px * var(--fz, 1)); } .cl-tb button:hover { color: var(--fg); border-color: var(--line-2); }
.cl-bd { flex: 1 1 auto; min-height: 240px; width: 100%; resize: vertical; border-radius: 10px; border: 1px solid var(--line-2); background: var(--bg-3); color: var(--fg); padding: 10px 12px; font: calc(14px * var(--fz, 1))/1.75 var(--font-ui); }
.cl-stkl { margin: 2px 0 0; font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-3); line-height: 1.5; } .cl-stkl b { color: var(--gold); font-weight: 600; }
.cl-spop { position: absolute; left: 0; top: calc(100% + 4px); z-index: 7; width: min(300px, 100%); padding: 6px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); box-shadow: 0 12px 30px rgba(0,0,0,.5); }
.cl-spop input { width: 100%; height: 30px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-3); color: var(--fg); padding: 0 10px; font: calc(12.5px * var(--fz, 1)) var(--font-ui); } .cl-spl { max-height: 220px; overflow-y: auto; margin-top: 4px; }
.cl-spl button { display: flex; width: 100%; align-items: baseline; gap: 8px; padding: 6px 8px; border-radius: 6px; font-size: calc(12.5px * var(--fz, 1)); text-align: left; } .cl-spl button:hover { background: var(--bg-3); } .cl-spl small { color: var(--fg-3); font: calc(11px * var(--fz, 1)) var(--font-mono); } .cl-spl p { margin: 6px 8px; font-size: calc(12px * var(--fz, 1)); color: var(--fg-3); }
.cl-pv { min-height: 0; overflow-y: auto; padding: 12px 20px 12px 18px; background: rgba(5,8,12,.25); }
.cl-pvh { display: flex; align-items: baseline; gap: 8px; } .cl-pvh b { font-size: calc(13px * var(--fz, 1)); } .cl-pvh small { font-size: calc(11px * var(--fz, 1)); color: var(--fg-3); } .cl-pvh .tk-lk { margin: 0 0 0 auto; }
.cl-ck { margin: 8px 0 10px; padding: 8px 10px; border-radius: 10px; font-size: calc(12.5px * var(--fz, 1)); line-height: 1.55; display: flex; flex-direction: column; gap: 3px; }
.cl-ck.ok { background: rgba(75,211,123,.09); border: 1px solid rgba(75,211,123,.35); } .cl-ck.ok b { color: #6BE09A; } .cl-ck small { color: var(--fg-2); font-size: calc(11.5px * var(--fz, 1)); }
.cl-ck.bad { background: rgba(229,72,77,.09); border: 1px solid rgba(229,72,77,.4); } .cl-ck.bad b { color: #FF9A9D; } .cl-where { color: var(--fg); overflow-wrap: anywhere; }
.cl-ck.wait { display: block; margin: 8px 0 10px; padding: 0; color: var(--fg-3); font-size: calc(12px * var(--fz, 1)); }
.cl-pvb .cl-h { margin-top: 2px; font-size: calc(19px * var(--fz, 1)); }
.cl-foot { flex: none; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 10px 20px 14px; border-top: 1px solid var(--line); }
.cl-fn { flex: 1 1 280px; margin: 0; font-size: calc(11.5px * var(--fz, 1)); color: var(--fg-2); line-height: 1.5; } .cl-fn span { color: var(--fg-3); font-size: calc(10.5px * var(--fz, 1)); }
.cl-fb { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; } .cl-fb .btn { height: 34px; padding: 0 14px; font-size: calc(12.5px * var(--fz, 1)); }
.cl-pub { min-width: 104px; justify-content: center; font-weight: 700; background: var(--gold) !important; color: #10161E !important; border-color: var(--gold) !important; } .cl-pub:hover { background: #FFD883 !important; }
.cl-err { flex-basis: 100%; padding: 8px 10px; border-radius: 10px; background: rgba(229,72,77,.1); border: 1px solid rgba(229,72,77,.45); font-size: calc(12.5px * var(--fz, 1)); color: var(--fg); line-height: 1.55; display: flex; flex-direction: column; gap: 3px; } .cl-err b { color: #FF9A9D; } .cl-err small { color: var(--fg-2); }
@media (max-width: 1180px) { .cl-edb { grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); } }
@media (max-width: 860px) {
  .cl-ed .cl-edc { height: 100%; } .cl-edh { padding: 10px 48px 8px 14px; } .cl-sv { flex-basis: 100%; margin-left: 0; } .cl-gate { padding: 8px 12px 0; }
  .cl-tabs { display: flex; gap: 4px; padding: 8px 12px 0; flex: none; } .cl-tabs button { flex: 1; height: 32px; border-radius: 8px; font-size: calc(12.5px * var(--fz, 1)); color: var(--fg-2); border: 1px solid var(--line); } .cl-tabs button.on { background: rgba(61,220,203,.14); color: var(--buy); border-color: rgba(61,220,203,.4); }
  .cl-edb { grid-template-columns: 1fr; } .cl-form { border-right: 0; padding: 10px 12px; } .cl-pv { padding: 10px 12px; }
  .cl-ed[data-pane="write"] .cl-pv { display: none; } .cl-ed[data-pane="preview"] .cl-form { display: none; }
  .cl-bd { min-height: 46vh; } .cl-nk { width: 100%; } .cl-foot { padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px)); } .cl-fn { flex-basis: 100%; } .cl-fb { width: 100%; } .cl-fb .btn { flex: 1 1 auto; justify-content: center; }
  #col-banner { top: calc(var(--top-h) + env(safe-area-inset-top, 0px) + 8px); left: 8px; right: 8px; transform: none; max-width: none; } @keyframes cl-in { from { opacity: 0; transform: translateY(-8px); } } @keyframes cl-out { to { opacity: 0; transform: translateY(-8px); } }
  .cl-h { font-size: calc(19px * var(--fz, 1)); } .cl-body { font-size: calc(14.5px * var(--fz, 1)); } .cl-ab.rep { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { #col-banner, #col-banner.out { animation: none; } }
