/* ============================================================================
   community-pages.css — блоки страниц раздела «Сообщество» (шкура — community.css).
   Префиксы: h* — главная, f* — форум, t* — тема, i* — идеи, r* — рейтинг, c* — чат, u* — профиль.
   ============================================================================ */
.muted { color: var(--text-secondary); }

/* ===================== community.html ===================== */
/* 01 пульс */
.hb-top { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 22px; align-items: end; }
.hb-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.hb-nums > div { padding: 12px 14px; border-radius: 12px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.hb-nums b { display: block; font: 700 34px/1.05 var(--sx-f); color: var(--text-color); }
.hb-nums span { font-size: 14px; color: var(--text-secondary); }
.hb-bars { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 4px; height: 168px; align-items: end; padding-bottom: 22px; position: relative;
    background: repeating-linear-gradient(0deg, var(--mx-line) 0 1px, transparent 1px 36px) 0 0 / 100% calc(100% - 22px) no-repeat; }
.hb-col { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.hb-col i { display: block; border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, var(--tb-a), color-mix(in srgb, var(--tb-a) 35%, transparent)); min-height: 0; }
.hb-col.now i { background: linear-gradient(180deg, var(--tb-b), color-mix(in srgb, var(--tb-b) 35%, transparent)); box-shadow: 0 0 12px color-mix(in srgb, var(--tb-b) 50%, transparent); }
.hb-col:not(.now) i:empty { }
.hb-col::after { content: ""; display: block; height: 3px; border-radius: 2px; background: var(--mx-line); margin-top: 2px; }
.hb-col em { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); font: 600 12.5px var(--sx-f); font-style: normal; color: var(--text-secondary); }
.hb-online { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mx-line); }
.hb-online > span { font: 600 13px var(--sx-f); letter-spacing: .12em; text-transform: uppercase; color: var(--text-secondary); }

/* 02 билет */
.hm-ticket { position: relative; display: flex; flex-direction: column; gap: 12px; }
.hm-ticket > b { font: 700 22px var(--mx-f-display, 'Unbounded', sans-serif); }
.hm-ticket ul { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hm-ticket li { display: flex; gap: 12px; font-size: 15.5px; line-height: 1.45; }
.hm-ticket li i { color: var(--tb-a); margin-top: 3px; width: 18px; text-align: center; }
.hm-perf { position: absolute; right: -20px; top: -18px; bottom: -18px; width: 14px;
    background: radial-gradient(circle at 100% 50%, var(--bg-color, #0b0b0c) 6px, transparent 6.5px) 0 0 / 14px 22px repeat-y; opacity: .9; }
.hm-me { display: flex; flex-direction: column; gap: 14px; }
.hm-who { display: flex; align-items: center; gap: 14px; }
.hm-who b { display: block; font: 700 22px var(--sx-f); }
.hm-who span { font-size: 14px; color: var(--text-secondary); }
.hm-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.hm-nums > div { padding: 10px 12px; border-radius: 12px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.hm-nums b { display: block; font: 700 24px var(--sx-f); }
.hm-nums span { font-size: 13px; color: var(--text-secondary); }
.hm-prog span { font-size: 14px; color: var(--text-secondary); }
.hm-prog i, .hp-near i { display: block; height: 8px; border-radius: 5px; background: var(--mx-line); margin-top: 6px; overflow: hidden; }
.hm-prog i b, .hp-near i b { display: block; height: 100%; border-radius: 5px; background: var(--tb-a); }
.hm-go { display: flex; gap: 8px; } .hm-go .tb-btn { flex: 1; }

/* 03 идеи */
.hi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 16px; }
.hi-card { display: flex; flex-direction: column; gap: 14px; padding: 18px 20px 14px; border: 1px solid var(--mx-line); border-radius: 16px; background: var(--mx-surface); color: inherit; text-decoration: none; transition: border-color .2s, transform .15s; }
.hi-card:hover { border-color: var(--tb-line); transform: translateY(-2px); }
.hi-top { display: flex; align-items: center; gap: 10px; }
.hi-top > b { font: 700 24px var(--sx-f); }
.hi-r { margin-left: auto; text-align: right; font: 700 22px var(--sx-f); line-height: 1; }
.hi-r small { display: block; font: 500 12px var(--sx-f); color: var(--text-secondary); margin-top: 3px; }
.hi-f { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--mx-line); font-size: 14px; color: var(--text-secondary); }
.hi-f > span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--text-color); font-weight: 600; }
.hi-f .tb-ava { width: 28px; height: 28px; font-size: 13px; }
.hi-v { margin-left: auto; }
.hi-closed { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin-top: 14px; font-size: 14.5px; color: var(--text-secondary); }
.hi-closed a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--mx-line); color: var(--text-color); text-decoration: none; }
.hi-closed a em { font-style: normal; font-weight: 700; }

/* 04 толпа */
.hc-head { display: grid; grid-template-columns: 150px minmax(0, 1fr) 96px; gap: 14px; font-size: 13px; color: var(--text-secondary); margin-bottom: 4px; }
.hc-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) 96px; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid var(--mx-line); }
.hc-k b { display: block; font: 700 18px var(--sx-f); }
.hc-k span { font-size: 13.5px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.hc-k em { font-style: normal; }
.hc-bar { display: flex; height: 28px; border-radius: 8px; overflow: hidden; background: var(--mx-line); }
.hc-bar i { display: grid; place-items: center; font: 700 14px var(--sx-f); font-style: normal; color: #0b0b0c; min-width: 0; }
.hc-bar .l { background: var(--tb-up); } .hc-bar .s { background: var(--tb-down); }
body.light .hc-bar i { color: #fff; }
.hc-v { text-align: right; font: 700 18px var(--sx-f); } .hc-v small { display: block; font: 500 12px var(--sx-f); color: var(--text-secondary); }

/* 05 пьедестал */
.hp-stage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-items: end; padding-top: 6px; }
.hp-step { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; color: inherit; text-decoration: none; min-width: 0; }
.hp-step > b { font: 700 17px var(--sx-f); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-step > span:not(.tb-ava) { font: 700 22px var(--sx-f); }
.hp-step small { font-size: 13px; color: var(--text-secondary); }
.hp-block { width: 100%; margin-top: 8px; border-radius: 12px 12px 4px 4px; display: grid; place-items: center; border: 1px solid var(--tb-line);
    background: radial-gradient(circle, rgba(255, 209, 102, .07) 1px, transparent 1.6px) 0 0 / 7px 7px, linear-gradient(180deg, #1d130d, #100b08); }
.hp-block em { font: 900 44px var(--tb-dot); font-style: normal; color: #ffd166; text-shadow: 0 0 12px rgba(255, 209, 102, .5); }
.hp-step.p1 .hp-block { height: 128px; } .hp-step.p2 .hp-block { height: 92px; } .hp-step.p3 .hp-block { height: 68px; }
.hp-step.p2 .hp-block em { color: #e2e8f0; text-shadow: 0 0 10px rgba(226, 232, 240, .4); } .hp-step.p3 .hp-block em { color: #f0a46b; text-shadow: 0 0 10px rgba(240, 164, 107, .4); }
.hp-stage.empty .hp-step { opacity: .55; }
.hp-q { color: var(--text-secondary) !important; background: transparent !important; border-style: dashed !important; }
.hp-all { display: inline-block; margin-top: 14px; font-size: 15px; font-weight: 600; color: var(--tb-a2); text-decoration: none; }
body.light .hp-all { color: var(--tb-a); }
.hp-all:hover { text-decoration: underline; }
.hp-note { margin: 0 0 10px; font-size: 15px; color: var(--text-secondary); }
.hp-near { display: grid; grid-template-columns: minmax(0, 140px) minmax(0, 1fr) 54px 76px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; font-size: 15px; }
.hp-near i { margin-top: 0; }
.hp-near em { font-style: normal; color: var(--text-secondary); text-align: right; }
.hp-near strong { text-align: right; font: 700 17px var(--sx-f); }

/* 06 форум */
.ht-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 16px; gap: 14px; align-items: center; padding: 12px 4px; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.ht-row:first-child { border-top: 0; }
.ht-row:hover { background: var(--tb-wash); }
.ht-n { text-align: center; padding: 6px 0; border-radius: 10px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.ht-n b { display: block; font: 700 21px var(--sx-f); line-height: 1.1; } .ht-n span { font-size: 12px; color: var(--text-secondary); }
.ht-t b { display: block; font-size: 16.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ht-t span { font-size: 13.5px; color: var(--text-secondary); }
.ht-row > i { color: var(--text-secondary); font-size: 13px; }

/* 07 чат */
.hch-list { display: flex; flex-direction: column; gap: 12px; max-height: 360px; overflow: auto; margin-bottom: 12px; }
.hch-m { display: flex; gap: 10px; }
.hch-m > div { min-width: 0; }
.hch-m small { font-size: 12.5px; color: var(--text-secondary); font-weight: 400; margin-left: 4px; }
.hch-m .tb-text { font-size: 15px; line-height: 1.45; }
.hch-f { display: flex; gap: 8px; }
.hch-f .tb-btn { flex: 0 0 auto; width: 50px; padding: 0; }

@media (max-width: 1000px) { .hb-top { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
    .hi-grid { grid-template-columns: 1fr; }
    .hc-head, .hc-row { grid-template-columns: 92px minmax(0, 1fr) 64px; gap: 10px; }
    .hb-bars { height: 130px; }
    .hp-near { grid-template-columns: minmax(0, 1fr) 60px 70px; } .hp-near i { display: none; }
    .hp-block em { font-size: 34px; }
}

/* ===================== forum.html ===================== */
.f-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.f-cat { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px 14px; border-radius: 16px; border: 1px solid var(--mx-line); background: var(--mx-surface);
    color: var(--text-color); text-align: left; cursor: pointer; font: inherit; transition: border-color .2s, transform .15s, background .2s; min-width: 0; }
.f-cat:hover { border-color: var(--tb-line); transform: translateY(-2px); }
.f-cat.on { border-color: var(--tb-a); background: linear-gradient(180deg, var(--tb-wash), transparent), var(--mx-surface); box-shadow: inset 0 0 0 1px var(--tb-a); }
.f-cat > i { position: absolute; right: 16px; top: 14px; font-size: 26px; color: var(--tb-a); opacity: .85; }
.f-cat > b { font: 700 19px var(--sx-f); padding-right: 36px; }
.f-cat-d { font-size: 14px; line-height: 1.35; color: var(--text-secondary); }
.f-cat-n { margin-top: 6px; font-size: 14px; color: var(--text-secondary); }
.f-cat-n em { font: 700 17px var(--sx-f); font-style: normal; color: var(--text-color); }
.f-cat-l { font-size: 13px; color: var(--text-secondary); opacity: .85; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f-cat.all > span { margin-top: auto; font-size: 14.5px; color: var(--text-secondary); }
.f-newbtn { margin-left: auto; }
.f-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 8px; }
.f-search { position: relative; flex: 1 1 200px; }
.f-search i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-secondary); }
.f-search .tb-in { padding-left: 40px; }
.f-tag { flex: 0 0 180px; width: 180px; }
.f-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 150px; gap: 16px; align-items: center; padding: 14px 6px; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.f-row:hover { background: var(--tb-wash); }
.f-n { text-align: center; padding: 8px 0; border-radius: 12px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.f-n b { display: block; font: 700 24px var(--sx-f); line-height: 1.1; }
.f-n span { font-size: 12px; color: var(--text-secondary); }
.f-n.zero { background: var(--tb-wash); } .f-n.zero b { color: var(--tb-a); }
.f-main { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.f-title { font-size: 17.5px; font-weight: 700; line-height: 1.3; }
.f-title i { color: var(--tb-a); }
.f-snip { font-size: 14.5px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.f-meta .tb-ava { width: 26px; height: 26px; font-size: 12px; }
.f-catb { font-style: normal; padding: 2px 9px; border-radius: 7px; background: var(--mx-surface-2, rgba(255, 255, 255, .06)); color: var(--text-secondary); font-size: 13px; }
.f-side { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; font-size: 14px; color: var(--text-secondary); text-align: right; }
.f-side span i { width: 16px; color: var(--tb-a); opacity: .75; }
.f-side small { font-size: 13px; }
#fMore { margin-top: 12px; }
.f-gap { margin-top: 26px; }
.f-hotrow { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto 64px 30px; gap: 8px; align-items: baseline; width: 100%; padding: 10px 4px; border: 0; border-top: 1px solid var(--mx-line);
    background: transparent; color: var(--text-color); font: inherit; text-align: left; cursor: pointer; }
.f-hotrow:first-child { border-top: 0; }
.f-hotrow:hover { background: var(--tb-wash); }
.f-hotrow b { font: 700 17px var(--sx-f); } .f-hotrow span { font-size: 13.5px; color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f-hotrow strong { font: 700 16px var(--sx-f); font-variant-numeric: tabular-nums; } .f-hotrow em { font-style: normal; font-size: 14px; text-align: right; }
.f-hotrow small { text-align: right; font: 700 14px var(--sx-f); color: var(--tb-a); }
.f-hint { margin: 10px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--text-secondary); }
.tb-empty.sm { padding: 10px 6px; } .tb-empty.sm > i { font-size: 24px; }
.f-rules p { display: flex; gap: 12px; margin: 0 0 12px; font-size: 15px; line-height: 1.45; }
.f-rules p:last-child { margin: 0; }
.f-rules i { color: var(--tb-a); margin-top: 4px; width: 18px; text-align: center; }
.f-mh { margin: 0 0 18px; font: 700 26px var(--mx-f-display, 'Unbounded', sans-serif); }
.f-mtags { margin-bottom: 14px; font-size: 14px; font-weight: 600; color: var(--text-secondary); }
.f-mtags small { font-weight: 400; }
.f-mtags > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.f-mtags button { padding: 6px 11px; border-radius: 8px; border: 1px solid var(--mx-line); background: var(--mx-surface); color: var(--text-color); font: 600 14px var(--sx-f); cursor: pointer; }
.f-mtags button.on { background: var(--tb-a); border-color: var(--tb-a); color: #1f0d04; }
.f-poll { margin-bottom: 16px; padding: 12px 14px; border: 1px dashed var(--mx-line-strong, var(--mx-line)); border-radius: 12px; }
.f-poll summary { cursor: pointer; font-weight: 600; font-size: 15px; } .f-poll summary i { color: var(--tb-a); }
.f-poll[open] summary { margin-bottom: 12px; }
#ntOpts { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
@media (max-width: 1200px) { .f-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .f-cats { grid-template-columns: 1fr 1fr; gap: 8px; } .f-cat { padding: 12px 12px 10px; } .f-cat-d, .f-cat-l { display: none; } .f-cat > i { font-size: 18px; right: 10px; top: 10px; } .f-cat > b { font-size: 16px; }
    .f-row { grid-template-columns: 58px minmax(0, 1fr); gap: 12px; } .f-side { display: none; } .f-tag { flex: 1 1 100%; width: 100%; }
    .f-snip { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
}

/* ===================== topic.html ===================== */
.cm-pg-topic .page-content .hero h1 { font-size: clamp(24px, 3vw, 40px); max-width: 820px; }
.cm-pg-topic .hero-sub a { color: inherit; text-decoration: none; }
.cm-pg-topic .hero-sub a:hover { text-decoration: underline; }
.t-back { margin-left: auto; }
.t-gap { margin-top: 28px; }
.t-post { display: flex; flex-direction: column; gap: 12px; scroll-margin-top: 100px; }
#tPosts { display: flex; flex-direction: column; gap: 12px; }
.t-post.hl { box-shadow: 0 0 0 2px var(--tb-a); }
.t-first .tb-text { font-size: 17px; }
.t-head { display: flex; align-items: center; gap: 12px; }
.t-head > div { display: flex; flex-direction: column; min-width: 0; }
.t-head .tb-nick { font-size: 16px; }
.t-head small { font-size: 13.5px; color: var(--text-secondary); }
.t-num { margin-left: auto; font: 600 14px var(--sx-f); color: var(--text-secondary); text-decoration: none; }
.t-num:hover { color: var(--tb-a); }
.t-quote { display: block; padding: 8px 12px; border-left: 3px solid var(--tb-a); border-radius: 0 10px 10px 0; background: var(--tb-wash); color: var(--text-secondary); font-size: 14.5px; text-decoration: none; }
.t-quote b { color: var(--text-color); }
.t-gone { margin: 0; font-size: 15px; color: var(--text-secondary); font-style: italic; }
.t-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.t-poll { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--tb-line); background: var(--tb-wash); }
.t-poll > b { font-size: 17px; } .t-poll > b i { color: var(--tb-a); }
.t-opt { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 56px 40px; gap: 10px; align-items: center; padding: 11px 14px; border-radius: 10px; border: 1px solid var(--mx-line);
    background: var(--mx-surface); color: var(--text-color); font: inherit; text-align: left; cursor: pointer; overflow: hidden; }
.t-opt > i { position: absolute; left: 0; top: 0; bottom: 0; background: color-mix(in srgb, var(--tb-a) 22%, transparent); transition: width .4s; }
.t-opt.lead > i { background: color-mix(in srgb, var(--tb-a) 34%, transparent); }
.t-opt > * { position: relative; }
.t-opt span { font-size: 15.5px; } .t-opt em { font-style: normal; font-size: 12.5px; color: var(--tb-a); margin-left: 6px; }
.t-opt strong { font: 700 17px var(--sx-f); text-align: right; } .t-opt small { font-size: 13px; color: var(--text-secondary); text-align: right; }
.t-opt.my { border-color: var(--tb-a); }
.t-poll-f { font-size: 13px; color: var(--text-secondary); }
.t-editf input { margin-bottom: 8px; }
.t-editb { display: flex; gap: 8px; margin-top: 8px; }
.t-rf { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; font-size: 14px; }
.t-rto { position: relative; margin-bottom: 8px; padding: 8px 40px 8px 12px; border-radius: 10px; background: var(--tb-wash); font-size: 14px; color: var(--text-secondary); }
.t-rto i { color: var(--tb-a); } .t-rto b { color: var(--text-color); }
.t-rto button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent; color: var(--text-secondary); font-size: 20px; cursor: pointer; }
.t-pr-h { display: flex; align-items: baseline; gap: 10px; } .t-pr-h b { font: 700 22px var(--sx-f); } .t-pr-h span { font-size: 14px; color: var(--text-secondary); }
.t-spark { display: block; width: 100%; height: 130px; margin: 8px 0; }
.t-pr-r { display: grid; grid-template-columns: 70px minmax(0, 1fr) 80px; gap: 8px; align-items: baseline; padding: 8px 0; border-top: 1px solid var(--mx-line); }
.t-pr-r b { font: 700 16px var(--sx-f); } .t-pr-r strong { font: 700 17px var(--sx-f); font-variant-numeric: tabular-nums; } .t-pr-r em { font-style: normal; text-align: right; }
.t-pp { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.t-pp:first-child { border-top: 0; }
.t-pp b { font-size: 15px; } .t-pp span { margin-left: auto; font-size: 13.5px; color: var(--text-secondary); }
.t-pp .tb-ava { width: 30px; height: 30px; font-size: 13px; }
.t-mr { display: block; padding: 10px 0; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.t-mr:first-child { border-top: 0; }
.t-mr b { display: block; font-size: 15px; } .t-mr span { font-size: 13px; color: var(--text-secondary); }
.t-mr:hover b { color: var(--tb-a); }
@media (max-width: 700px) { .t-rf { flex-direction: column; align-items: stretch; } }

/* колонки из нескольких карточек: тянется только последняя */
.cm-page .sx-g > div > .sx-card { flex: none; }
.cm-page .sx-g > div > .sx-card:last-child { flex: 1; }
.t-pp, .t-mr { width: 100%; box-sizing: border-box; }
.t-pp { display: flex !important; justify-content: flex-start; }
.tb-cell b.sm { font-size: 26px; }

/* ===================== ideas.html ===================== */
.cm-pg-ideas #new { scroll-margin-top: 90px; }
.i-form { display: flex; flex-direction: column; }
.i-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: end; }
.i-now { display: flex; flex-direction: column; margin-bottom: 14px; padding: 8px 12px; border-radius: 12px; background: var(--tb-wash); min-height: 50px; }
.i-now small { font-size: 12.5px; color: var(--text-secondary); }
.i-now b { font: 700 24px var(--sx-f); font-variant-numeric: tabular-nums; line-height: 1.1; }
.i-now em { font-style: normal; font-size: 13px; }
.i-closed { font-size: 12.5px; color: var(--tb-b); margin-top: 2px; }
.i-dir { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.i-dir button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px; border-radius: 14px; border: 2px solid var(--mx-line); background: var(--mx-surface); color: var(--text-secondary);
    font: 700 19px var(--sx-f); cursor: pointer; transition: all .15s; }
.i-dir button small { font: 500 13px var(--mx-f-ui, 'Onest', sans-serif); }
.i-dir .long.on { border-color: var(--tb-up); color: var(--tb-up); background: color-mix(in srgb, var(--tb-up) 10%, transparent); }
.i-dir .short.on { border-color: var(--tb-down); color: var(--tb-down); background: color-mix(in srgb, var(--tb-down) 10%, transparent); }
.i-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: -4px 0 14px; font-size: 13.5px; color: var(--text-secondary); }
.i-quick i { width: 10px; }
.i-quick button { padding: 6px 10px; border-radius: 8px; border: 1px solid var(--mx-line); background: var(--mx-surface); color: var(--text-color); font: 600 13.5px var(--sx-f); cursor: pointer; }
.i-quick button:hover { border-color: var(--tb-line); color: var(--tb-a); }
.i-hor { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; font-size: 14px; font-weight: 600; color: var(--text-secondary); }
.i-prev { margin-bottom: 14px; padding: 14px; border-radius: 14px; border: 1px dashed var(--mx-line-strong, var(--mx-line)); }
.i-prev p { margin: 0; font-size: 14.5px; line-height: 1.45; }
.i-calc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.i-calc > div { padding: 8px 10px; border-radius: 10px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.i-calc b { display: block; font: 700 20px var(--sx-f); } .i-calc span { font-size: 12.5px; color: var(--text-secondary); }
.i-warn { margin-top: 10px !important; color: var(--tb-b); font-size: 14px !important; }
.i-fine { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: var(--text-secondary); }
.i-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.i-tools select { width: 200px; }
.i-mine { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; color: var(--text-secondary); cursor: pointer; }
.i-mine input { width: 18px; height: 18px; accent-color: var(--tb-a); }
#iFeed { display: flex; flex-direction: column; gap: 14px; }
.i-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 14px; border: 1px solid var(--mx-line); border-radius: 16px; background: var(--mx-surface); scroll-margin-top: 100px; }
.i-card::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; width: 4px; border-radius: 3px; background: var(--tb-a); }
.i-card.won::before { background: var(--tb-up); } .i-card.lost::before { background: var(--tb-down); }
.i-card.hl { box-shadow: 0 0 0 2px var(--tb-a); }
.i-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.i-top > b { font: 700 26px var(--sx-f); }
.i-name { font-size: 15px; color: var(--text-secondary); }
.i-r { margin-left: auto; text-align: right; font: 700 26px var(--sx-f); line-height: 1; }
.i-r small { display: block; font: 500 12px var(--sx-f); color: var(--text-secondary); margin-top: 3px; }
.i-spark { display: block; width: 100%; height: 110px; }
.i-body { font-size: 15.5px; padding: 10px 12px; border-radius: 10px; background: var(--mx-surface-2, rgba(255, 255, 255, .04)); }
.i-f { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--mx-line); }
.i-au { display: inline-flex; align-items: center; gap: 8px; }
.i-au .tb-ava { width: 30px; height: 30px; font-size: 13px; }
.i-au small { font-size: 13px; color: var(--text-secondary); }
.i-votes { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.i-votes button { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--mx-line); background: transparent; color: var(--text-secondary); font: 600 14px var(--mx-f-ui, 'Onest', sans-serif); cursor: pointer; }
.i-votes button:hover:not(:disabled) { border-color: var(--tb-line); color: var(--text-color); }
.i-votes button.on.up { border-color: var(--tb-up); color: var(--tb-up); } .i-votes button.on.down { border-color: var(--tb-down); color: var(--tb-down); }
.i-votes button:disabled { opacity: .5; cursor: default; }
.i-votes .tb-rep { border: 0; opacity: .55; } .i-votes .tb-rep:hover { color: var(--tb-down); opacity: 1; }
.i-votes .muted { font-size: 14px; }
.i-at-h, .i-at-r { display: grid; grid-template-columns: minmax(0, 1.4fr) 70px 110px 80px minmax(0, 2fr); gap: 14px; align-items: center; }
.i-at-h { font-size: 13px; color: var(--text-secondary); padding-bottom: 6px; }
.i-at-r { padding: 10px 0; border-top: 1px solid var(--mx-line); }
.i-at-r b { font: 700 17px var(--sx-f); margin-right: 8px; } .i-at-r small { font-size: 13px; color: var(--text-secondary); }
.i-at-r .n { font: 700 17px var(--sx-f); }
.i-at-bar { position: relative; height: 26px; background: linear-gradient(var(--mx-line-strong, var(--mx-line)), var(--mx-line-strong, var(--mx-line))) 50% 0 / 1px 100% no-repeat; }
.i-at-bar i { position: absolute; top: 4px; bottom: 4px; border-radius: 4px; }
.i-at-bar i.p { left: 50%; background: color-mix(in srgb, var(--tb-up) 55%, transparent); } .i-at-bar i.m { right: 50%; background: color-mix(in srgb, var(--tb-down) 55%, transparent); }
.i-at-bar em { position: absolute; right: 0; top: 50%; transform: translateY(-50%); font: 700 15px var(--sx-f); font-style: normal; }
@media (max-width: 700px) {
    .i-row2 { grid-template-columns: 1fr; } .i-calc b { font-size: 17px; }
    .i-at-h { display: none; } .i-at-r { grid-template-columns: minmax(0, 1fr) 44px 60px; } .i-at-r > :nth-child(3) { display: none; } .i-at-bar { grid-column: 1 / -1; }
    .i-votes { margin-left: 0; width: 100%; } .i-tools select { width: 100%; }
}
.cm-pg-ideas #new > .sx-card { flex: none; position: sticky; top: 84px; }
.cm-pg-ideas .sx-g > .s5 { align-self: stretch; }
@media (max-width: 1200px) { .cm-pg-ideas #new > .sx-card { position: static; } }

/* ===================== rating.html ===================== */
.cm-pg-rating .hp-block { height: auto; }
.cm-pg-rating .hp-step.p1 .hp-block { height: 150px; } .cm-pg-rating .hp-step.p2 .hp-block { height: 110px; } .cm-pg-rating .hp-step.p3 .hp-block { height: 80px; }
.r-near { display: grid; grid-template-columns: 34px minmax(0, 150px) minmax(0, 1fr) 150px 80px; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.r-near:first-child { border-top: 0; }
.r-near .tb-ava { width: 32px; height: 32px; font-size: 14px; }
.r-near b { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.r-near > span { font-size: 14px; color: var(--text-secondary); }
.r-near strong { text-align: right; font: 700 18px var(--sx-f); }
.r-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.r-steps i { height: 16px; border-radius: 4px; background: var(--mx-line); }
.r-steps i.on { background: var(--tb-a); box-shadow: 0 0 8px color-mix(in srgb, var(--tb-a) 45%, transparent); }
.r-h, .r-row { display: grid; grid-template-columns: 50px minmax(0, 1.5fr) 60px minmax(0, 1.6fr) 80px 90px 150px 130px; gap: 14px; align-items: center; }
.r-h { font-size: 13px; color: var(--text-secondary); padding-bottom: 8px; } .r-h small { font-size: 12px; }
.r-row { padding: 12px 4px; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.r-row:hover { background: var(--tb-wash); }
.r-pl { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; font: 800 22px var(--tb-dot); color: var(--text-secondary); background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.r-pl.p1 { color: #ffd166; background: #1d130d; text-shadow: 0 0 8px rgba(255, 209, 102, .5); } .r-pl.p2 { color: #e2e8f0; background: #16171a; } .r-pl.p3 { color: #f0a46b; background: #1b120c; }
.r-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.r-who > span { display: flex; flex-direction: column; min-width: 0; }
.r-who b { font-size: 16.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .r-who small { font-size: 13px; color: var(--text-secondary); }
.r-n { font: 700 18px var(--sx-f); }
.r-sum { font: 700 22px var(--sx-f); }
.r-win { display: flex; flex-direction: column; gap: 4px; }
.r-wb { position: relative; height: 12px; border-radius: 6px; background: var(--mx-line); }
.r-wb .ci { position: absolute; top: 0; bottom: 0; border-radius: 6px; background: color-mix(in srgb, var(--tb-a) 30%, transparent); }
.r-wb b { position: absolute; top: -3px; width: 4px; height: 18px; margin-left: -2px; border-radius: 2px; background: var(--tb-a); }
.r-wb em { position: absolute; top: -2px; bottom: -2px; width: 1px; background: var(--text-secondary); opacity: .6; }
.r-win span { font: 700 15px var(--sx-f); } .r-win small { font: 500 12.5px var(--sx-f); color: var(--text-secondary); }
.r-dots { display: flex; gap: 4px; flex-wrap: wrap; }
.r-dots i { width: 11px; height: 11px; border-radius: 50%; }
.r-dots .w { background: var(--tb-up); } .r-dots .l { background: var(--tb-down); } .r-dots .tw { border: 2px solid var(--tb-up); } .r-dots .tl { border: 2px solid var(--tb-down); }
.r-curve { width: 130px; height: 34px; }
.r-curve .z { stroke: var(--mx-line-strong, var(--mx-line)); stroke-dasharray: 3 3; }
.r-curve path { fill: none; stroke-width: 2; } .r-curve .p { stroke: var(--tb-up); } .r-curve .m { stroke: var(--tb-down); }
@media (max-width: 1200px) { .r-h, .r-row { grid-template-columns: 44px minmax(0, 1.5fr) 50px minmax(0, 1.4fr) 70px 80px; } .r-h > :nth-child(n+7), .r-row > :nth-child(n+7) { display: none; } }
@media (max-width: 700px) {
    .r-h { display: none; } .r-row { grid-template-columns: 40px minmax(0, 1fr) 76px; gap: 10px; } .r-row > :nth-child(3), .r-row > :nth-child(5) { display: none; } .r-row .r-win { grid-column: 2 / -1; grid-row: 2; }
    .r-near { grid-template-columns: 32px minmax(0, 1fr) 70px; } .r-near .r-steps { grid-column: 2 / -1; grid-row: 2; } .r-near > span { display: none; }
}

/* ===================== chat.html ===================== */
.c-box { position: relative; display: flex; flex-direction: column; padding: 0 !important; overflow: hidden; }
.c-list { height: min(64vh, 680px); overflow-y: auto; padding: 14px 18px; scroll-behavior: smooth; }
.c-day { display: flex; justify-content: center; margin: 14px 0 8px; }
.c-day span { padding: 4px 14px; border-radius: 999px; background: var(--mx-surface-2, rgba(255, 255, 255, .06)); font: 600 13px var(--sx-f); letter-spacing: .06em; color: var(--text-secondary); }
.c-m { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; padding: 8px 10px; border-radius: 12px; scroll-margin-top: 40px; }
.c-m:hover { background: var(--tb-wash); }
.c-m.grp { padding-top: 2px; }
.c-m.ment { background: var(--sx-b-wash); box-shadow: inset 3px 0 0 var(--tb-b); }
.c-m.hl { box-shadow: 0 0 0 2px var(--tb-a); }
.c-m .tb-ava { width: 38px; height: 38px; }
.c-t2 { font-size: 11.5px; color: var(--text-secondary); text-align: center; padding-top: 4px; opacity: 0; }
.c-m:hover .c-t2 { opacity: 1; }
.c-b { min-width: 0; }
.c-h { display: flex; align-items: baseline; gap: 8px; margin-bottom: 2px; }
.c-h .tb-nick { font-size: 15.5px; } .c-h small { font-size: 12.5px; color: var(--text-secondary); }
.c-m .tb-text { font-size: 16px; line-height: 1.5; }
.c-q { display: block; margin: 2px 0 4px; padding: 4px 10px; border-left: 3px solid var(--tb-a); border-radius: 0 8px 8px 0; background: var(--tb-wash); font-size: 13.5px; color: var(--text-secondary); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c-acts { position: absolute; right: 8px; top: -14px; padding: 2px; border-radius: 10px; border: 1px solid var(--mx-line); background: var(--bg-color, #0f0d0c); opacity: 0; pointer-events: none; transition: opacity .15s; }
body.light .c-acts { background: #fff; }
.c-m:hover .c-acts, .c-m:focus-within .c-acts { opacity: 1; pointer-events: auto; }
.c-acts button { padding: 5px 9px; } .c-acts .tb-rep { margin-left: 0; }
.c-newbtn { position: absolute; left: 50%; bottom: 92px; transform: translateX(-50%); padding: 8px 16px; border-radius: 999px; border: 0; background: var(--tb-a); color: #1f0d04; font: 600 14px var(--mx-f-ui, 'Onest', sans-serif); cursor: pointer; box-shadow: 0 8px 20px rgba(0, 0, 0, .35); }
.c-input { padding: 12px 14px; border-top: 1px solid var(--mx-line); background: var(--mx-surface); }
.c-form { display: flex; align-items: flex-end; gap: 8px; position: relative; }
.c-form textarea { resize: none; min-height: 48px; max-height: 140px; line-height: 1.45; padding-right: 54px; }
.c-cnt { position: absolute; right: 70px; bottom: 14px; font-size: 12px; color: var(--text-secondary); }
.c-form .tb-btn { width: 52px; height: 48px; padding: 0; flex: 0 0 auto; }
.c-guest { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 15px; color: var(--text-secondary); }
.c-guest span { margin-right: auto; }
.c-empty { height: 100%; justify-content: center; }
a.f-hotrow { text-decoration: none; }
@media (hover: none) { .c-acts { position: static; opacity: 1; pointer-events: auto; grid-column: 2; border: 0; background: none; padding: 0; } }
@media (max-width: 700px) { .c-list { height: 60vh; padding: 10px; } .c-m { grid-template-columns: 34px minmax(0, 1fr); } .c-m .tb-ava { width: 32px; height: 32px; } }

/* ===================== user.html ===================== */
.u-card { display: flex; flex-direction: column; gap: 14px; }
.u-top { display: flex; align-items: center; gap: 14px; }
.u-top b { display: block; font: 700 24px var(--sx-f); }
.u-top span:last-child { display: block; font-size: 14px; color: var(--text-secondary); }
.u-bio { font-size: 15.5px; line-height: 1.5; }
.u-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.u-nums > div { padding: 10px 12px; border-radius: 12px; background: var(--mx-surface-2, rgba(255, 255, 255, .05)); }
.u-nums b { display: block; font: 700 24px var(--sx-f); } .u-nums span { font-size: 13px; color: var(--text-secondary); }
.u-rate { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; background: var(--tb-wash); color: var(--tb-a); font-weight: 700; text-decoration: none; }
.u-mine { display: flex; gap: 8px; flex-wrap: wrap; }
.u-cv { display: block; width: 100%; height: 240px; }
.u-cvf { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 8px; font-size: 14px; color: var(--text-secondary); }
.u-ih, .u-ir { display: grid; grid-template-columns: minmax(0, 1fr) 100px minmax(0, 2fr) minmax(0, 1.4fr) 90px; gap: 14px; align-items: center; }
.u-ih { font-size: 13px; color: var(--text-secondary); padding-bottom: 6px; }
.u-ir { padding: 11px 4px; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; }
.u-ir:hover { background: var(--tb-wash); }
.u-ir b { display: block; font: 700 18px var(--sx-f); } .u-ir small { font-size: 12.5px; color: var(--text-secondary); }
.u-ir .tb-dir { justify-self: start; font-size: 14px; }
.u-lv { font: 600 15px var(--sx-f); font-variant-numeric: tabular-nums; } .u-lv em { font-style: normal; }
.u-res { text-align: right; font: 700 20px var(--sx-f); line-height: 1; } .u-res small { display: block; font: 500 12px var(--sx-f); color: var(--text-secondary); margin-top: 2px; }
.u-notes a { display: flex; justify-content: space-between; gap: 14px; padding: 10px 8px; border-top: 1px solid var(--mx-line); color: inherit; text-decoration: none; font-size: 15px; }
.u-notes a:first-child { border-top: 0; }
.u-notes a.new { background: var(--tb-wash); } .u-notes small { flex: 0 0 auto; font-size: 13px; color: var(--text-secondary); }
@media (max-width: 700px) { .u-ih { display: none; } .u-ir { grid-template-columns: minmax(0, 1fr) auto 80px; } .u-ir > :nth-child(3), .u-ir > :nth-child(4) { display: none; } }
.tb-cell b.xs { font-size: 21px; line-height: 1.5; }
@media (max-width: 700px) { .cm-page .strip-legend { font-size: 0; gap: 0; padding: 3px 5px; } .cm-page .strip-legend i { display: none; } .cm-page .strip-legend::after { margin-left: 0; } }

/* ===== Профиль: тариф + теги (11.10.2026) ===== */
.u-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 14px 0 4px; }
.u-tag { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font: 600 15px Onest, sans-serif; border: 1px solid var(--tb-line, rgba(255,255,255,.14)); }
.u-tag.tier { font-weight: 800; letter-spacing: .03em; }
.u-tag.tier.pro { color: #e6bf55; border-color: rgba(230,191,85,.55); background: rgba(230,191,85,.12); }
.u-tag.tier.max { color: #c9a7ff; border-color: rgba(178,140,255,.55); background: rgba(178,140,255,.12); }
.u-tag.m { border-color: rgba(255,122,92,.45); background: rgba(255,122,92,.08); }
.u-tag.s { border-color: rgba(92,180,255,.45); background: rgba(92,180,255,.08); }
.u-tag.e { border-color: rgba(127,199,164,.45); background: rgba(127,199,164,.08); }
body.light .u-tag.tier.pro { color: #8a6510; } body.light .u-tag.tier.max { color: #5a2fc0; }
.u-tagf { width: 100%; display: grid; gap: 12px; }
.u-tg b { display: block; font: 700 15px Onest, sans-serif; margin-bottom: 7px; }
.u-tg > div { display: flex; flex-wrap: wrap; gap: 7px; }
.u-tagpick input { position: absolute; opacity: 0; pointer-events: none; }
.u-tagpick span { display: inline-block; padding: 7px 13px; border-radius: 999px; border: 1px solid var(--tb-line, rgba(255,255,255,.18)); font: 600 15px Onest, sans-serif; cursor: pointer; }
.u-tagpick input:checked + span { background: var(--tb-a, #ff6b4a); border-color: var(--tb-a, #ff6b4a); color: #fff; }
.u-tagpick input:focus-visible + span { outline: 2px solid var(--tb-a, #ff6b4a); outline-offset: 2px; }
.tb-tier { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 6px; font: 800 11px/17px Onest, sans-serif; letter-spacing: .04em; vertical-align: middle; }
.tb-tier.pro { color: #e6bf55; background: rgba(230,191,85,.14); border: 1px solid rgba(230,191,85,.5); }
.tb-tier.max { color: #c9a7ff; background: rgba(178,140,255,.14); border: 1px solid rgba(178,140,255,.5); }
body.light .tb-tier.pro { color: #8a6510; } body.light .tb-tier.max { color: #5a2fc0; }

/* ================= PnL-КАЛЕНДАРЬ в профиле (cm-pnl.js, 12.10.2026) ================= */
#uPnl { position: relative; }
.pn-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pn-nav { display: flex; align-items: center; gap: 10px; }
.pn-nav b { min-width: 170px; text-align: center; font: 700 20px Unbounded, sans-serif; }
.pn-nav .tb-btn.sm { padding: 8px 12px; }
.pn-y, #pnCur { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--mx-line); background: transparent; color: inherit; font: 600 15px Onest, sans-serif; }
.pn-y option, #pnCur option { background: #15100d; }
.pn-set { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pn-sw { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; user-select: none; }
.pn-sw input { position: absolute; opacity: 0; pointer-events: none; }
.pn-sw span { position: relative; width: 42px; height: 24px; border-radius: 12px; background: rgba(255,255,255,.14); transition: background .25s; flex: 0 0 auto; }
.pn-sw span::after { content: ''; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .25s; }
.pn-sw input:checked + span { background: var(--tb-up); }
.pn-sw input:checked + span::after { transform: translateX(18px); }
.pn-sw input:focus-visible + span { outline: 2px solid var(--tb-a); outline-offset: 2px; }

.pn-sum { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 14px; }
.pn-sum > div { padding: 12px 14px; border-radius: 10px; border: 1px solid var(--mx-line); background: rgba(255,255,255,.02); }
.pn-sum span { display: block; font-size: 13px; color: var(--text-secondary); }
.pn-sum b { display: block; margin-top: 4px; font: 700 20px Unbounded, sans-serif; }
.pn-sum b small { font: 500 13px Onest, sans-serif; color: var(--text-secondary); }
.pn-sum em { font-style: normal; }

.pn-grid { display: grid; grid-template-columns: repeat(7, 1fr) 110px; gap: 6px; }
.pn-grid > span { font-size: 13px; font-weight: 700; color: var(--text-secondary); text-align: center; padding-bottom: 2px; }
.pn-grid > span.we { color: color-mix(in srgb, var(--text-secondary) 70%, transparent); }
.pn-d { position: relative; min-height: 74px; padding: 8px 9px; border-radius: 8px; border: 1px solid var(--mx-line); background: rgba(255,255,255,.015);
  display: flex; flex-direction: column; justify-content: space-between; transition: border-color .2s, transform .2s; }
.pn-d.off { border-color: transparent; background: none; }
.pn-d .pn-n { font-size: 13px; color: var(--text-secondary); }
.pn-d b { font: 700 16px Onest, sans-serif; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pn-d i { position: absolute; top: 9px; right: 9px; font-size: 11px; opacity: .55; }
.pn-d.up { background: color-mix(in srgb, var(--tb-up) calc(var(--a) * 38%), transparent); border-color: color-mix(in srgb, var(--tb-up) 45%, transparent); }
.pn-d.up b { color: var(--tb-up); }
.pn-d.down { background: color-mix(in srgb, var(--tb-down) calc(var(--a) * 38%), transparent); border-color: color-mix(in srgb, var(--tb-down) 45%, transparent); }
.pn-d.down b { color: var(--tb-down); }
.pn-d.today { box-shadow: inset 0 0 0 2px var(--tb-a); }
.pn-d.fut { opacity: .35; }
.pn-d.ed { cursor: pointer; }
.pn-d.ed:hover { border-color: var(--tb-a); transform: translateY(-2px); }
.pn-d.sel { box-shadow: inset 0 0 0 2px var(--tb-b); }
.pn-wk { display: flex; align-items: center; justify-content: flex-end; padding: 0 10px; border-radius: 8px; font: 700 15px Onest, sans-serif; border-left: 2px solid var(--mx-line); }
.pn-wk.up { color: var(--tb-up); } .pn-wk.down { color: var(--tb-down); }

.pn-year { margin-top: 18px; }
.pn-year-h { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; font-size: 14px; color: var(--text-secondary); }
.pn-year-h b { font: 700 16px Onest, sans-serif; }
.pn-strip { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; }
.pn-m { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; border-radius: 8px; border: 1px solid var(--mx-line); background: none; color: inherit; cursor: pointer; font-family: inherit; }
.pn-m:hover, .pn-m.on { border-color: var(--tb-a); }
.pn-m.on { background: color-mix(in srgb, var(--tb-a) 10%, transparent); }
.pn-m-bar { position: relative; width: 10px; height: 40px; border-radius: 3px; background: rgba(255,255,255,.06); overflow: hidden; }
.pn-m-bar i { position: absolute; left: 0; right: 0; bottom: 0; height: var(--h, 0%); background: var(--tb-mute); }
.pn-m.up .pn-m-bar i { background: var(--tb-up); } .pn-m.down .pn-m-bar i { background: var(--tb-down); }
.pn-m b { font-size: 13px; }
.pn-m small { font-size: 12px; color: var(--text-secondary); white-space: nowrap; }
.pn-m.up small { color: var(--tb-up); } .pn-m.down small { color: var(--tb-down); }

.pn-ed { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 14px; padding: 14px 16px; border-radius: 10px; border: 1px solid var(--tb-a); background: color-mix(in srgb, var(--tb-a) 6%, transparent); }
.pn-ed > b { width: 100%; font: 700 17px Onest, sans-serif; }
.pn-ed label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--text-secondary); }
.pn-ed label.w { flex: 1 1 280px; }
.pn-ed input { padding: 10px 12px; border-radius: 8px; border: 1px solid var(--mx-line); background: rgba(0,0,0,.25); color: var(--text-color); font: 600 16px Onest, sans-serif; min-width: 160px; }
.pn-ed input:focus { outline: none; border-color: var(--tb-a); }
.pn-ed-b { display: flex; gap: 8px; flex-wrap: wrap; }
.pn-note { margin: 12px 0 0; font-size: 15px; color: var(--text-secondary); }

/* 14.10: несколько сделок за день + скрины */
.pn-d .pn-cnt { position: absolute; left: 9px; bottom: 7px; font-size: 11px; font-weight: 600; color: var(--text-secondary); }
.pn-d.vw { cursor: pointer; }
.pn-d.vw:hover { border-color: var(--tb-a); }
.pn-trs { width: 100%; display: flex; flex-direction: column; gap: 10px; }
.pn-tr { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; padding: 10px 12px; border-radius: 9px; border: 1px solid var(--mx-line); background: rgba(0,0,0,.14); }
.pn-tr-i { align-self: center; min-width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; font: 700 13px Onest, sans-serif; color: var(--tb-a); border: 1px solid color-mix(in srgb, var(--tb-a) 55%, transparent); }
.pn-tr-x { align-self: center; }
.pn-tr-p { align-self: center; font: 700 17px Onest, sans-serif; min-width: 90px; }
.pn-tr-n { align-self: center; flex: 1 1 200px; font-size: 15px; color: var(--text-secondary); }
.pn-tr-p.up, .pn-view .up, .pn-tot .up { color: var(--tb-up); } .pn-tr-p.down, .pn-view .down, .pn-tot .down { color: var(--tb-down); }
.pn-shots { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pn-shot { position: relative; width: 84px; height: 60px; border-radius: 7px; overflow: hidden; border: 1px solid var(--mx-line); background: rgba(0,0,0,.3); }
.pn-shot-img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; display: block; }
.pn-shot-x { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; border: 0; background: rgba(0,0,0,.7); color: #fff; font-size: 12px; cursor: pointer; display: grid; place-items: center; }
.pn-ed label.pn-shot-add { flex-direction: row; align-items: center; gap: 7px; height: 44px; padding: 0 14px; border-radius: 8px; border: 1px dashed color-mix(in srgb, var(--tb-a) 60%, transparent); color: var(--text-color); font-size: 14px; cursor: pointer; }
.pn-ed label.pn-shot-add:hover { border-style: solid; border-color: var(--tb-a); }
.pn-shot-miss { font-size: 12px; color: var(--text-secondary); padding: 4px; }
.pn-ed-add { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pn-tot { font-size: 15px; color: var(--text-secondary); }
.pn-tot b { font: 700 18px Onest, sans-serif; color: var(--text-color); margin-left: 4px; }
.pn-lb { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.85); cursor: zoom-out; }
.pn-lb img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.6); }
body.light .pn-tr { background: rgba(0,0,0,.03); }

/* без PRO: свои данные размыты, сверху — плашка */
#uPnl.pn-locked .pn-sum, #uPnl.pn-locked .pn-grid, #uPnl.pn-locked .pn-year { filter: blur(5px); opacity: .55; pointer-events: none; user-select: none; }
.pn-lock { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(460px, calc(100% - 32px)); display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center;
  padding: 22px; border-radius: 14px; border: 1px solid var(--tb-a); background: color-mix(in srgb, #120d0a 92%, var(--tb-a)); box-shadow: 0 24px 60px rgba(0,0,0,.6); }
.pn-lock > i { font-size: 26px; color: var(--tb-a); }
.pn-lock b { font: 700 19px Onest, sans-serif; }
.pn-lock span { font-size: 15px; line-height: 1.45; color: var(--text-secondary); }
body.light .pn-lock { background: #fff; }
body.light .pn-y option, body.light #pnCur option { background: #fff; }

@media (max-width: 900px) {
  .pn-sum { grid-template-columns: repeat(2, 1fr); }
  .pn-grid { grid-template-columns: repeat(7, 1fr); }
  .pn-grid .pn-wh, .pn-wk { display: none; }
  .pn-d { min-height: 56px; padding: 6px; }
  .pn-d b { font-size: 12px; }
  .pn-strip { grid-template-columns: repeat(6, 1fr); }
}
