.hn-body { background: #F4F6F9; }
.page-shell.page-shell--list.hn-shell { --page-max: 1640px; }
.hn-shell { display: grid; grid-template-columns: 216px minmax(0, 1fr); grid-template-areas: "top top" "side main"; gap: 0 1.5rem; align-items: start; padding-top: 1.5rem; padding-bottom: 3rem; }
.hn-top { grid-area: top; min-width: 0; }
.hn-side { grid-area: side; }
.hn-main { grid-area: main; }
.hn-side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 1rem; }
.hn-side-who { padding: 0 0.5rem; }
.hn-side-name { display: block; font-size: 0.95rem; font-weight: 700; color: #111827; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hn-nav { display: flex; flex-direction: column; gap: 2px; }
.hn-nav-i { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 10px; color: #374151; font-size: 0.95rem; font-weight: 600; text-decoration: none; }
.hn-nav-i i { width: 18px; text-align: center; font-size: 0.9rem; color: #9CA3AF; }
.hn-nav-i span { flex: 1 1 auto; }
.hn-nav-i:hover { background: #fff; color: #111827; }
.hn-nav-i.is-on { background: #fff; color: #111827; font-weight: 700; box-shadow: 0 1px 4px rgba(17,24,39,.06); border: 1px solid #E5E7EB; padding: 8px 11px; }
.hn-nav-i.is-on i { color: var(--brand-600); }
.hn-nav-n { min-width: 1.4rem; padding: 0 7px; border-radius: 999px; background: #E5E7EB; color: #374151; font-size: 0.72rem; font-weight: 700; font-style: normal; line-height: 1.6; text-align: center; font-variant-numeric: tabular-nums; }
.hn-nav-n.is-alert { background: #FEE2E2; color: #B91C1C; }
.hn-nav-n.is-new { background: var(--brand-tint); color: var(--brand-700); }
.hn-side-sub { display: flex; flex-direction: column; gap: 1px; padding-top: 0.75rem; border-top: 1px solid #E5E7EB; }
.hn-side-h { margin: 0 0 4px; padding: 0 12px; font-size: 0.72rem; font-weight: 700; color: #9CA3AF; }
.hn-side-sub a { padding: 5px 12px; border-radius: 8px; color: #64748B; font-size: 0.85rem; text-decoration: none; }
.hn-side-sub a:hover { background: #fff; color: #111827; }
.hn-side-token { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; border: 1px solid #E5E7EB; border-radius: 10px; background: #fff; font-size: 0.8rem; color: #374151; }
.hn-side-token i { margin-right: 6px; color: var(--brand-600); }
.hn-side-token a { color: var(--brand-700); font-weight: 700; text-decoration: none; }
.hn-guest { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 1rem; padding: 0.9rem 1.1rem; border: 1px solid #E5E7EB; border-radius: 12px; background: var(--brand-tint); }
.hn-guest p { margin: 0; font-size: 0.9rem; color: #374151; }
.hn-guest p b { color: #111827; }
.hn-guest-btn { flex: none; padding: 0.55rem 1rem; border-radius: 10px; background: var(--brand-600); color: #fff; font-size: 0.9rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.hn-guest-btn:hover { background: var(--brand-700); color: #fff; }
@media (max-width: 575px) { .hn-guest { flex-direction: column; align-items: stretch; } .hn-guest-btn { text-align: center; } }
.hn-main { min-width: 0; }
#hnPane { transition: opacity .15s ease; }
#hnPane.is-loading { opacity: .4; pointer-events: none; }
.hn-view-head { display: flex; align-items: baseline; gap: 0.6rem; margin-bottom: 1rem; min-height: 38px; }
.hn-view-title { margin: 0; font-size: 1.5rem; font-weight: 700; color: #111827; }
.hn-view-sub { font-size: 0.9rem; color: #64748B; }

.hn-day { display: grid; grid-template-columns: 216px minmax(0, 1fr) auto; align-items: center; gap: 0.75rem 1.5rem; margin-bottom: 1.25rem; }
.hn-day-l { display: contents; }
.hn-day-date { margin: 0; font-size: 1.75rem; font-weight: 700; color: #111827; letter-spacing: -0.01em; white-space: nowrap; }
.hn-day-sum { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.hn-sum { padding: 3px 11px; border: 1px solid #E5E7EB; border-radius: 999px; background: #fff; color: #374151; font-size: 0.85rem; font-weight: 600; text-decoration: none; }
.hn-sum b { font-variant-numeric: tabular-nums; }
.hn-sum:hover { border-color: var(--brand-600); color: var(--brand-700); }
.hn-sum.is-alert { border-color: #FECACA; background: #FEF2F2; color: #B91C1C; }
.hn-sum.is-new { border-color: transparent; background: var(--brand-tint); color: var(--brand-700); }
.hn-sum.is-calm { color: #64748B; }
.hn-today-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1rem; align-items: start; }
.hn-col, .hn-rail { min-width: 0; }
.hn-now .tk-body { padding-bottom: 0.25rem; }
.hn-now .tk-focus-stats .tk-stat { text-decoration: none; }
.hn-head-link { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; color: var(--brand-700); font-size: 0.8rem; font-weight: 700; text-decoration: none; }
.hn-head-link i { font-size: 0.65rem; }
.hn-empty { padding: 1.1rem 1.25rem; }

.hn-nlist { list-style: none; margin: 0; padding: 0; }
.hn-n { display: grid; grid-template-columns: minmax(0, 1fr) auto 28px; column-gap: 0.9rem; align-items: center; padding: 0.75rem 1.25rem; border-bottom: 1px solid #F3F4F6; }
.hn-n-main { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.hn-n-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; }
.hn-tag { padding: 0 6px; border-radius: 6px; background: #F3F4F6; color: #374151; font-size: 0.72rem; font-weight: 700; line-height: 1.6; }
.hn-tag.is-src { background: #EFF6FF; color: #1E40AF; }
.hn-n-close { font-size: 0.78rem; color: #64748B; font-variant-numeric: tabular-nums; }
.hn-n-title { color: #111827; font-size: 0.95rem; font-weight: 600; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hn-n-title:hover { color: var(--brand-700); text-decoration: underline; }
.hn-n-ai { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.hn-n-ai .btn-view-prediction { border-radius: 10px; font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
.hn-n-ai .prediction-value { font-size: 0.85rem; white-space: nowrap; }
.hn-n-wait { font-size: 0.78rem; color: #9CA3AF; white-space: nowrap; }
.hn-n-star { display: flex; justify-content: center; }

.hn-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.hn-wd { min-width: 0; min-height: 132px; padding: 0.6rem 0.5rem; border-right: 1px solid #F3F4F6; }
.hn-wd:last-child { border-right: 0; }
.hn-wd-h { display: flex; align-items: baseline; gap: 6px; margin-bottom: 6px; font-size: 0.78rem; color: #64748B; }
.hn-wd-h b { color: #111827; font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.hn-wd.is-today { background: #F0FDF9; }
.hn-wd.is-today .hn-wd-h span { color: var(--brand-700); font-weight: 700; }
.hn-wd.is-sun .hn-wd-h span { color: #DC2626; }
.hn-wd.is-sat .hn-wd-h span { color: #2563EB; }
.hn-wd-b { display: flex; flex-direction: column; gap: 4px; }
.hn-ev { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%; padding: 4px 6px; border: 0; border-radius: 6px; background: var(--k-bg, #F3F4F6); color: var(--k-fg, #374151); text-align: left; cursor: pointer; }
.hn-ev-l { font-size: 0.72rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.hn-ev-t { font-size: 0.72rem; opacity: 0.85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.hn-ev-more { font-size: 0.72rem; font-weight: 600; color: #64748B; text-decoration: none; }

.hn-renew { list-style: none; margin: 0; padding: 0.25rem 0 0.5rem; }
.hn-renew li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; padding: 0.55rem 1.25rem; border-bottom: 1px solid #F3F4F6; font-size: 0.88rem; }
.hn-renew li:last-child { border-bottom: 0; }
.hn-weekly { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0.25rem 0 0.5rem; }
.hn-weekly > div { padding: 0.6rem 1.25rem; border-bottom: 1px solid #F3F4F6; }
.hn-weekly > div:nth-child(odd) { border-right: 1px solid #F3F4F6; }
.hn-weekly > div:nth-last-child(-n+2) { border-bottom: 0; }
.hn-weekly dt { margin: 0; color: #64748B; font-size: 0.78rem; font-weight: 500; }
.hn-weekly dd { margin: 2px 0 0; color: #111827; font-size: 1.15rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.hn-weekly dd small { margin-left: 6px; color: var(--brand-700); font-size: 0.76rem; font-weight: 600; }
.hn-why { margin-top: 3px; color: #475569; font-size: 0.78rem; line-height: 1.45; }
.hn-why-k { margin-right: 6px; color: var(--brand-700); font-weight: 600; }
.hn-renew-t { flex: 1 1 auto; min-width: 0; color: #111827; font-weight: 600; }
.hn-renew-s { flex-basis: 100%; order: 3; font-size: 0.75rem; color: #9CA3AF; }
.hn-renew-d { font-size: 0.8rem; color: #64748B; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hn-renew-d.is-soon { color: #B91C1C; font-weight: 600; }
.hn-inbox { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.hn-inbox .td-sect { margin-bottom: 0; }

.hn-notices .page-shell, .hn-notices .container { max-width: none; padding-left: 0; padding-right: 0; }
.hn-notices .home-bids-section { background: transparent; padding: 0; }
.hn-notices .home-bids-section .page-shell { margin: 0; }
.hn-notices > .container.py-4 { padding-top: 0 !important; }
.hn-fav { --brand: #0D9E82; --brand-dark: #0B7C68; }

@media (max-width: 991.98px) {
    .hn-shell { grid-template-columns: minmax(0, 1fr); grid-template-areas: "side" "top" "main"; gap: 0; padding-top: 0.75rem; }
    .hn-side { position: sticky; top: 0; z-index: 20; margin: 0 -12px 0.75rem; padding: 8px 12px; background: #F4F6F9; border-bottom: 1px solid #E5E7EB; gap: 0; }
    .hn-side-who, .hn-side-sub, .hn-side-token { display: none; }
    .hn-nav { flex-direction: row; gap: 4px; overflow-x: auto; scrollbar-width: none; }
    .hn-nav::-webkit-scrollbar { display: none; }
    .hn-nav-i { flex: 0 0 auto; padding: 7px 11px; font-size: 0.88rem; }
    .hn-nav-i.is-on { padding: 6px 10px; }
    .hn-nav-i i { display: none; }
    .hn-today-grid { grid-template-columns: minmax(0, 1fr); }
    .hn-inbox { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
    .hn-day-date { font-size: 1.4rem; }
    .hn-n { grid-template-columns: minmax(0, 1fr) 28px; row-gap: 6px; padding: 0.7rem 1rem; }
    .hn-n-ai { grid-column: 1; grid-row: 2; align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
    .hn-n-star { grid-column: 2; grid-row: 1; }
    .hn-n-title { white-space: normal; }
    .hn-week { grid-template-columns: minmax(0, 1fr); }
    .hn-wd { min-height: 0; border-right: 0; border-bottom: 1px solid #F3F4F6; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; }
    .hn-wd.is-empty { display: none; }
    .hn-wd-h { flex-direction: column; gap: 0; margin: 0; }
    .hn-fav table.analysis-table { min-width: 1000px; }
    .hn-view-title { font-size: 1.3rem; }
}

.hn-fav { --brand: #0D9E82; --brand-dark: #0B7C68; }
.hn-fav .stat-card { background: #fff; border-radius: 14px; padding: 1.25rem 1.5rem; box-shadow: 0 1px 4px rgba(0,0,0,.06); display: flex; align-items: center; gap: 1rem; }
.hn-fav .stat-icon { width: 44px; height: 44px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.hn-fav .stat-val { font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.hn-fav .stat-lbl { font-size: 0.78rem; color: #6B7280; margin-top: 0.15rem; }
.hn-fav .source-tabs { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.hn-fav .source-tab { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.5rem 1rem; border-radius: 8px; border: 1.5px solid #E5E7EB; background: #fff; color: #374151; font-size: 0.85rem; font-weight: 600; text-decoration: none; transition: all 0.15s ease; }
.hn-fav .source-tab:hover { border-color: var(--brand); color: var(--brand-dark); }
.hn-fav .source-tab.active { background: var(--brand); border-color: var(--brand); color: #fff; }
.hn-fav .source-tab .tab-count { font-size: 0.72rem; font-weight: 700; padding: 0.1rem 0.45rem; border-radius: 20px; background: rgba(0,0,0,0.08); }
.hn-fav .source-tab.active .tab-count { background: rgba(255,255,255,0.25); color: #fff; }
.hn-fav .analysis-card { background: #fff; border-radius: 14px; box-shadow: 0 1px 4px rgba(0,0,0,.06); overflow: hidden; }
.hn-fav .analysis-card .card-header { background: #fff; border-bottom: 1px solid #F3F4F6; padding: 1.1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }
.hn-fav .analysis-card .card-header h5 { margin: 0; font-size: 1rem; font-weight: 700; color: #111827; }
.hn-fav .analysis-card .card-footer { background: #fff; border-top: 1px solid #F3F4F6; padding: 0.85rem 1.5rem; }
.hn-fav .btn-hide-unlock { display: inline-block; margin-top: 2px; border: 0; background: transparent; color: #C4C9D0; font-size: 0.78rem; padding: 2px 4px; cursor: pointer; line-height: 1; }
.hn-fav .btn-hide-unlock:hover { color: #EF4444; }
.hn-fav tr.row-unlock-hidden { opacity: .55; }
.hn-fav .fav-memo { margin-top: 0; }
.hn-fav .fav-memo-cell { vertical-align: top !important; }
.hn-fav .fav-memo-cell .fav-memo-view { cursor: text; width: 100%; }
.hn-fav .fav-memo-view { display: inline-flex; align-items: flex-start; gap: 5px; max-width: 100%; border: 0; background: transparent; padding: 1px 0; text-align: left; font-size: 0.74rem; line-height: 1.35; color: #92400E; cursor: text; }
.hn-fav .fav-memo-view i { font-size: 0.62rem; margin-top: 3px; color: #D97706; flex: 0 0 auto; }
.hn-fav .fav-memo-text { white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hn-fav .fav-memo-add { color: #9CA3AF; opacity: 0; transition: opacity .15s; }
.hn-fav .fav-memo.is-empty .fav-memo-text { display: none; }
.hn-fav .fav-memo.is-empty .fav-memo-view i { color: #9CA3AF; }
.hn-fav .fav-memo:not(.is-empty) .fav-memo-add { display: none; }
.hn-fav tr:hover .fav-memo-add, .hn-fav .fav-memo-view:focus .fav-memo-add { opacity: 1; }
.hn-fav .fav-memo-edit { margin-top: 2px; max-width: 420px; }
.hn-fav .fav-memo-input { width: 100%; font-size: 0.78rem; line-height: 1.4; padding: 5px 7px; border: 1px solid #D1D5DB; border-radius: 6px; resize: vertical; min-height: 44px; }
.hn-fav .fav-memo-input:focus { outline: 0; border-color: var(--brand-500, #14B8A6); box-shadow: 0 0 0 2px rgba(20,184,166,.18); }
.hn-fav .fav-memo-actions { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.hn-fav .fav-memo-actions .btn { padding: 1px 9px; font-size: 0.72rem; }
.hn-fav .fav-memo-count { margin-right: auto; font-size: 0.68rem; color: #9CA3AF; }
.hn-fav .fav-memo.is-saving { opacity: .6; pointer-events: none; }
.hn-fav .res-cell { white-space: nowrap; font-size: 0.8rem; }
.hn-fav .res-line { display: flex; align-items: baseline; gap: 8px; line-height: 1.5; }
.hn-fav .res-line + .res-line { margin-top: 2px; }
.hn-fav .res-k { flex: 0 0 52px; font-size: 0.68rem; color: #6B7280; }
.hn-fav .res-v { flex: 1 1 auto; display: grid; grid-template-columns: minmax(0, 1fr) 100px; column-gap: 6px; align-items: baseline; text-align: right; font-variant-numeric: tabular-nums; }
.hn-fav .res-v > * { grid-column: 1; }
.hn-fav .res-v > .res-rank { grid-column: 2; text-align: left; white-space: nowrap; }
.hn-fav .res-rank { margin-left: 0; font-size: 0.72rem; font-weight: 600; }
.hn-fav .res-rank small { font-weight: 400; font-size: 0.66rem; }
.hn-fav .res-rank-sub { display: block; line-height: 1.2; color: #B91C1C; }
.hn-fav .res-tag { font-size: 0.62rem; color: #6B7280; background: #F3F4F6; border-radius: 3px; padding: 0 4px; }
.hn-fav .res-cell .btn-view-prediction { padding: 1px 8px; font-size: 0.72rem; }
.hn-fav .fav-rgst { display: inline-block; margin-top: 2px; font-size: 0.68rem; color: #B45309; background: #FFFBEB; border-radius: 3px; padding: 0 4px; white-space: nowrap; }
.hn-fav .fav-joint { display: inline-block; margin-top: 3px; font-size: 0.64rem; font-weight: 700; color: #1D4ED8; background: #EFF6FF; border-radius: 3px; padding: 0 4px; cursor: help; }
.hn-fav table.analysis-table th { font-size: 0.78rem; font-weight: 600; color: #6B7280; background: #F9FAFB; border-bottom: 1px solid #E5E7EB; white-space: nowrap; padding: 0.65rem 0.9rem; }
.hn-fav table.analysis-table td { font-size: 0.85rem; vertical-align: middle; padding: 0.75rem 0.9rem; border-bottom: 1px solid #F3F4F6; }
.hn-fav table.analysis-table tr:last-child td { border-bottom: none; }
.hn-fav table.analysis-table tr:hover td { background: #FAFAFA; }
.hn-fav table.analysis-table tr.row-missing td { background: #F9FAFB; }
.hn-fav .badge-closed { background: #F0FDF4; color: #16A34A; }
.hn-fav .badge-open { background: #FFF7ED; color: #EA580C; }
.hn-fav .badge-st-open { background: #FFF7ED; color: #EA580C; }
.hn-fav .badge-st-waiting { background: #EFF6FF; color: #2563EB; }
.hn-fav .badge-st-closed { background: #F0FDF4; color: #16A34A; }
.hn-fav .badge-st-cancel { background: #F3F4F6; color: #6B7280; text-decoration: line-through; }
.hn-fav .badge-st-unknown { background: #F3F4F6; color: #6B7280; }
.hn-fav .st-sub { font-size: 0.68rem; color: #6B7280; }
.hn-fav .fav-line3 { margin-top: 3px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.hn-fav .fav-line3 .badge { font-size: 0.66rem; }
.hn-fav .fav-line3 .fav-joint { margin-top: 0; }
.hn-fav .st-kind { font-size: 0.66rem; color: #9CA3AF; }
.hn-fav .badge-div { background: #EFF6FF; color: #2563EB; }
.hn-fav .badge-missing { background: #F3F4F6; color: #6B7280; }
.hn-fav tr.row-rank1 { --bs-table-bg: rgba(61,212,180,0.15); --bs-table-bg-state: rgba(61,212,180,0.15); }
.hn-fav tr.row-rank1:hover { --bs-table-bg: rgba(61,212,180,0.28); --bs-table-bg-state: rgba(61,212,180,0.28); }
.hn-fav .rank-gold { color: #D97706; font-weight: 700; }
.hn-fav .rank-silver { color: #4B5563; font-weight: 700; }
.hn-fav .rank-bronze { color: #92400E; font-weight: 700; }
.hn-fav .rank-ok { color: #2563EB; }
.hn-fav .rank-bad { color: #9CA3AF; }
.hn-fav .diff-pos { color: #16A34A; font-weight: 600; }
.hn-fav .diff-neg { color: #DC2626; font-weight: 600; }
.hn-fav .empty-box { text-align: center; padding: 4rem 1rem; color: #9CA3AF; }
.hn-fav .empty-box i { font-size: 3rem; margin-bottom: 1rem; display: block; color: #D1D5DB; }
.hn-fav .fav-pagination .page-link { font-size: 0.85rem; color: #374151; border-color: #E5E7EB; }
.hn-fav .fav-pagination .page-item.disabled .page-link { color: #9CA3AF; background: #F9FAFB; }
@media (max-width: 768px) {
    .hn-fav .analysis-card { border-radius: 0; }
    .hn-fav table.analysis-table th, .hn-fav table.analysis-table td { font-size: 0.76rem; padding: 0.6rem 0.6rem; }
    .hn-fav .source-tabs { gap: 0.35rem; }
    .hn-fav .source-tab { font-size: 0.78rem; padding: 0.4rem 0.75rem; }
}
.hn-view-act { margin-left: auto; align-self: center; }
.hn-view-act i { margin-right: 2px; }
.hn-ics .modal-content, .hn-ics { border-radius: 12px; border: 1.5px solid #E5E7EB; }
.hn-ics-row { display: flex; gap: 8px; margin-bottom: 14px; }
.hn-ics-row .form-control { border-radius: 10px; font-size: 0.82rem; color: #374151; }
.hn-ics-row .btn { border-radius: 10px; white-space: nowrap; }
.hn-ics-btns { display: flex; flex-direction: column; gap: 8px; }
.hn-ics-btns .btn { border-radius: 10px; font-weight: 700; }
.hn-ics-reset { margin-right: auto; color: #64748B; text-decoration: none; font-size: 0.8rem; }
.hn-tag.is-ok { background: #ECFDF5; color: #047857; }
.hn-tag.is-check { background: #FFFBEB; color: #B45309; }
.hn-tag.is-warn { background: #FEF3C7; color: #92400E; }
.hn-n-star { flex-direction: column; align-items: center; gap: 2px; }
.hn-n-more { width: 28px; height: 24px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #9CA3AF; font-size: 0.8rem; cursor: pointer; }
.hn-n-more:hover { background: #F3F4F6; color: #374151; }
.hn-mute-menu { font-size: 0.82rem; min-width: 220px; }
.hn-mute-menu .dropdown-header { font-size: 0.72rem; }
.hn-print { width: 38px; padding: 0; }
.hn-print i { color: #64748B; }
@media print {
    .hn-body { background: #fff; }
    .navbar, header.site-header, footer, .hn-side, .td-daygroup, .tk-focus-stats, .hn-n-ai .btn, .hn-n-star, .hn-feed-acts, .hn-readall, .td-more, .hn-head-link, .tk-acts, .tk-status i, #chat-widget { display: none !important; }
    .hn-shell { display: block; padding: 0; }
    .hn-today-grid { grid-template-columns: minmax(0, 1fr) 280px; }
    .td-sect { box-shadow: none; break-inside: avoid; }
    .hn-week { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
.hn-fav .analysis-card > .mb-2 { padding: 0.75rem 1.5rem 0; margin-bottom: 0.25rem !important; }
.hn-fav .stat-card { border: 1.5px solid #E5E7EB; border-radius: 12px; box-shadow: 0 1px 4px rgba(17,24,39,.05); }
.hn-fav .analysis-card { border: 1.5px solid #E5E7EB; border-radius: 12px; box-shadow: 0 1px 4px rgba(17,24,39,.05); }
.hn-stat-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: -0.25rem 0 1rem; }
.hn-stat { padding: 3px 11px; border: 1px solid #E5E7EB; border-radius: 999px; background: #fff; color: #64748B; font-size: 0.85rem; font-weight: 600; }
.hn-stat b { margin-left: 2px; color: #111827; font-variant-numeric: tabular-nums; }
.hn-fav .table-responsive { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
.hn-col { display: flex; flex-direction: column; }
.hn-col.is-calm #hnNew { order: -1; }
.td-item[data-feed-key]:not(.is-unread) .sch-open-btn { font-weight: 500; color: #4B5563; }
.td-item[data-feed-key]:not(.is-unread) .td-when { opacity: 0.7; }
.hn-n-ai .tk-act { font-size: 0.78rem; }
.hn-n-ai .prediction-value { font-size: 0.82rem; }
.hn-filter { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.hn-filter a { padding: 3px 11px; border: 1px solid #E5E7EB; border-radius: 999px; background: #fff; color: #374151; font-size: 0.8rem; font-weight: 600; text-decoration: none; }
.hn-filter a b { margin-left: 2px; font-variant-numeric: tabular-nums; }
.hn-filter a.is-on { border-color: var(--brand-600); background: var(--brand-tint); color: var(--brand-700); }
@media (max-width: 991.98px) {
    .hn-side::after { content: ''; position: absolute; top: 0; right: 0; bottom: 1px; width: 32px; background: linear-gradient(to right, rgba(244,246,249,0), #F4F6F9 75%); pointer-events: none; }
}
@media (max-width: 768px) {
    .hn-view-head { flex-wrap: wrap; row-gap: 6px; }
    .hn-view-title { white-space: nowrap; }
    .hn-view-act { margin-left: 0; flex-basis: 100%; justify-content: center; }
    .hn-feed-btn { min-height: 34px; padding: 4px 12px; font-size: 0.78rem; }
    .hn-feed-acts { gap: 8px; }
    .hn-readall { min-height: 32px; padding: 4px 8px; }
}
@media (max-width: 768px) {
    .hn-fav .table-responsive {
        background: linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left center / 32px 100% no-repeat local,
                    linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) right center / 32px 100% no-repeat local,
                    radial-gradient(farthest-side at 0 50%, rgba(17,24,39,.14), transparent) left center / 12px 100% no-repeat scroll,
                    radial-gradient(farthest-side at 100% 50%, rgba(17,24,39,.14), transparent) right center / 12px 100% no-repeat scroll;
    }
    .hn-feed-btn { min-height: 40px; padding: 6px 14px; }
    .hn-feed-acts .btn-favorite-star { min-width: 40px; min-height: 40px; }
    .hn-readall { min-height: 40px; padding: 6px 10px; }
}
.hn-cdoc-head { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 160px 150px 92px; gap: 12px; padding: 0.7rem 1.25rem; border-bottom: 1px solid #E5E7EB; color: #64748B; font-size: 0.76rem; font-weight: 600; }
.hn-cdoc-list { list-style: none; margin: 0; padding: 0; }
.hn-cdoc { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 160px 150px 92px; gap: 12px; align-items: center; padding: 0.6rem 1.25rem; border-bottom: 1px solid #F3F4F6; font-size: 0.88rem; }
.hn-cdoc:last-child { border-bottom: 0; }
.hn-cdoc.is-saving { opacity: 0.6; }
.hn-cdoc-name { color: #111827; font-weight: 600; }
.hn-cdoc-rule { color: #64748B; font-size: 0.8rem; }
.hn-cdoc-f { display: flex; align-items: center; gap: 6px; margin: 0; }
.hn-cdoc-f input { max-width: 160px; }
.hn-cdoc-k { display: none; color: #64748B; font-size: 0.76rem; }
.hn-cdoc-exp b { color: #111827; font-weight: 600; font-variant-numeric: tabular-nums; }
.hn-cdoc-st { justify-self: start; padding: 1px 9px; border-radius: 999px; font-size: 0.74rem; font-weight: 700; white-space: nowrap; }
.hn-cdoc-st.is-ok { background: #ECFDF5; color: #047857; }
.hn-cdoc-st.is-soon { background: #FEF3C7; color: #92400E; }
.hn-cdoc-st.is-over { background: #FEE2E2; color: #991B1B; }
.hn-cdoc-st.is-none { background: #F3F4F6; color: #64748B; }
@media (max-width: 768px) {
    .hn-cdoc-head { display: none; }
    .hn-cdoc { grid-template-columns: 1fr auto; gap: 6px 10px; padding: 0.8rem 1rem; }
    .hn-cdoc-name { grid-column: 1; }
    .hn-cdoc-st { grid-column: 2; grid-row: 1; justify-self: end; }
    .hn-cdoc-rule { grid-column: 1 / -1; }
    .hn-cdoc-f { grid-column: 1 / -1; }
    .hn-cdoc-k { display: inline; width: 44px; flex: none; }
    .hn-cdoc-f input { max-width: none; flex: 1; }
}

.hn-search { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; border: 1.5px solid #E5E7EB; border-radius: 10px; background: #fff; box-shadow: 0 1px 2px rgba(17, 24, 39, 0.04); }
.hn-search i { color: #9CA3AF; font-size: 0.85rem; }
.hn-search input { width: 260px; border: 0; outline: 0; background: transparent; color: #111827; font-size: 0.88rem; }
.hn-search:focus-within { border-color: var(--brand-600); }
@media (max-width: 768px) {
    .hn-search { order: -1; flex: 1 1 100%; }
    .hn-search input { width: 100%; }
}
.hn-day .td-daygroup { grid-column: 3; flex-wrap: wrap; }
@media (max-width: 1279.98px) {
    .hn-day { grid-template-columns: 216px minmax(0, 1fr); }
    .hn-day .td-daygroup { grid-column: 2; }
    .hn-day .hn-search { flex: 1 1 auto; }
    .hn-day .hn-search input { width: 100%; }
}
@media (max-width: 991.98px) {
    .hn-day { grid-template-columns: minmax(0, 1fr); }
    .hn-day-sum, .hn-day .td-daygroup { grid-column: 1; }
}
