/* Scoped header treatment and three-way board navigation. */
.organization-visibility-notice{display:flex;align-items:center;gap:7px;margin:4px 0 18px;color:#858b95;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.6}
.organization-visibility-notice i{font-size:19px;line-height:1}
.organization-visibility-notice[hidden]{display:none}
.board-body{display:flex;flex:1;min-height:0}
.board-body>.content{min-width:0}
.board-taxonomy{flex:0 0 220px;width:220px;overflow-y:auto;padding:20px 16px 28px 20px;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;scrollbar-width:thin;scrollbar-color:#d9dde3 transparent}
.board-taxonomy[hidden]{display:none}
.topic-button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 12px;border-radius:8px;background:transparent;text-align:left;color:#626975;font-size:14px;line-height:1.4}
.topic-button i{font-size:17px;color:#7d8591}
.topic-button:hover{background:#eceef2;color:#252b35}
.topic-button.active{background:#e7edfb;color:#315ed3;font-weight:500}
.topic-button.active i{color:inherit}
.topic-all-row{display:flex;align-items:center;margin-top:6px;position:relative}
.topic-children{margin:5px 0 0 20px;padding-left:10px;border-left:1px solid #e2e5eb}
.topic-child{min-height:35px;font-size:13px;padding-left:14px}
.topic-button:focus-visible{outline:2px solid #4268ec;outline-offset:-2px}
@media(max-width:1100px){.board-taxonomy{flex-basis:176px;width:176px;padding-left:12px;padding-right:10px}}
@media(max-width:650px){.board-taxonomy{flex-basis:132px;width:132px;padding:12px 6px}.topic-children{margin-left:10px;padding-left:4px}.topic-button{padding-left:8px;gap:6px}}
.top-header .board-heading{display:flex;align-items:center;gap:30px;flex-shrink:0}
.top-header .brand-title{margin:0;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;font-size:24px;font-weight:400;line-height:1.4;letter-spacing:0;color:#202124}
.board-tabs{display:flex;align-items:center;padding:3px;gap:2px;background:#ededee;border-radius:999px}
.board-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:78px;height:34px;padding:0 15px;border-radius:999px;background:transparent;color:#707176;font-size:15px;font-weight:400;line-height:1;white-space:nowrap;font-family:"Segoe UI","Microsoft YaHei","PingFang SC",Arial,sans-serif}
.board-tab i{font-size:17px}
.board-tab:hover{color:#222;background:rgba(255,255,255,.5)}
.board-tab.active{color:#252628;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.board-tab:focus-visible{outline:2px solid #4268ec;outline-offset:2px}
.content>.section[hidden],.workspace-tab[hidden]{display:none!important}
.content[data-board-view="organization"] .workspace-tabs{display:none}
.content[data-board-view="organization"] .workspace-body{padding-top:6px}
.content>.empty-search{max-width:1540px;margin:20px auto}
@media(max-width:650px){.top-header .board-heading{width:100%;gap:20px}.board-tab{min-width:64px;padding:0 10px}.top-header .header-tools{width:100%}}

/* Organization boards use the favorites card treatment in a wrapping grid. */
.content[data-board-view="organization"] [data-source-panel="organization"] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-top: 10px; overflow: visible; }
.content[data-board-view="organization"] .site-row { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 0; padding: 0; border: 1px solid #e0e2e7; border-radius: 13px; background: var(--surface); box-shadow: var(--shadow); transition: transform .18s ease, box-shadow .18s ease; }
.content[data-board-view="organization"] .site-row:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(27,32,44,.1); }
.content[data-board-view="organization"] .row-thumb { width: 100%; height: 142px; flex: 0 0 142px; border: 0; border-radius: 12px 12px 0 0; background: #eceef2; }
.content[data-board-view="organization"] .row-thumb iframe { width: 920px; height: 520px; transform: scale(var(--organization-preview-scale, .4)); transform-origin: top left; }
.content[data-board-view="organization"] .row-main { height: auto; min-width: 0; padding: 11px 14px 10px; }
.content[data-board-view="organization"] .row-title { margin: 0; }
.content[data-board-view="organization"] .row-title strong { font-size: 16px; line-height: 1.45; }
.content[data-board-view="organization"] .row-description { margin: 6px 0 8px; color: var(--text); line-height: 1.55; }
.content[data-board-view="organization"] .row-meta { min-height: 33px; margin: 0; padding: 8px 118px 0 0; border-top: 1px solid #eff0f3; gap: 6px; }
.content[data-board-view="organization"] .row-meta .author { overflow: hidden; flex-shrink: 1; }
.content[data-board-view="organization"] .row-meta .author > span { overflow: hidden; text-overflow: ellipsis; }
.content[data-board-view="organization"] .row-actions { position: absolute; right: 12px; bottom: 10px; min-width: 0; height: 24px; gap: 9px; }
@media(max-width:1350px) { .content[data-board-view="organization"] [data-source-panel="organization"] { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:1050px) { .content[data-board-view="organization"] [data-source-panel="organization"] { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .content[data-board-view="organization"] [data-source-panel="organization"] { grid-template-columns: minmax(0,1fr); } }

.plaza-filter-toolbar { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.plaza-filter-group { display: inline-flex; align-items: center; gap: 6px; }
.plaza-filter-label { color: #737985; font-size: 13px; margin-right: 2px; white-space: nowrap; }
.plaza-filter-chip { padding: 7px 10px; border-radius: 7px; color: #737985; background: #eef0f3; font-size: 13px; font-weight: 400; white-space: nowrap; }
.plaza-filter-chip:hover { color: #315ed3; background: #e8edf8; }
.plaza-filter-chip.active { color: #315ed3; background: #e7edfb; }
.plaza-filter-chip:focus-visible { outline: 2px solid #4268ec; outline-offset: 2px; }
@media(max-width:1100px) { .plaza-head { flex-wrap: wrap; } .plaza-filter-toolbar { justify-content: flex-start; } }

.organization-visibility-notice { justify-content: space-between; min-height: 34px; }
.organization-notice-text { display: inline-flex; align-items: center; gap: 7px; }
.organization-sort { margin-left: auto; }
@media(max-width:620px) { .organization-visibility-notice { flex-wrap: wrap; gap: 10px; } }

/* Use the same compact preview-card layout as the organization board. */
.discover-section .plaza-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-flow: row; grid-auto-rows: 256px; gap: 14px; }
.discover-section .plaza-grid > .plaza-card { display: flex!important; flex-direction: column!important; grid-column: auto!important; grid-row: auto!important; min-width: 0; width: 100%; height: 256px!important; min-height: 0; overflow: hidden; border: 1px solid #e0e2e7; border-radius: 13px; background: var(--surface); box-shadow: var(--shadow); }
.discover-section .plaza-grid > .plaza-card .plaza-preview { position: relative; width: 100%; height: 142px!important; min-height: 142px!important; flex: 0 0 142px!important; margin: 0; overflow: hidden; background: #eceef2; }
.discover-section .plaza-grid > .plaza-card .plaza-preview img { position: static; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; object-position: top center; transform: none; }
.discover-section .plaza-grid > .plaza-card .plaza-body { display: flex; width: 100%; height: 112px; min-height: 0; padding: 11px 14px 10px; flex-direction: column; justify-content: flex-start; }
.discover-section .plaza-grid > .plaza-card .plaza-body h3 { margin: 0; font-size: 16px; line-height: 1.45; }
.discover-section .plaza-grid > .plaza-card .plaza-body p { display: block; margin: 5px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.discover-section .plaza-grid > .plaza-card .plaza-meta { min-height: 31px; margin-top: auto; padding-top: 7px; border-top: 1px solid #eff0f3; }
@media(max-width:1350px) { .discover-section .plaza-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:1050px) { .discover-section .plaza-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .discover-section .plaza-grid { grid-template-columns: minmax(0,1fr); } }

/* Surface update time on the image, separate from the card metadata. */
.content[data-board-view="organization"] .row-thumb { position: relative; }
.board-update-badge { position: absolute; z-index: 3; top: auto; right: 8px; bottom: 8px; display: inline-flex; align-items: center; gap: 0; max-width: calc(100% - 16px); padding: 4px 7px; border: 0; border-radius: 999px; background: rgba(29, 35, 46, .60); color: #fff; box-shadow: none; font-size: 11px; font-weight: 400; line-height: 1.3; white-space: nowrap; }


/* Reference card treatment: inset artwork, generous rounding and quiet metadata. */
.discover-section .plaza-grid { grid-auto-rows: 326px; gap: 16px; }
.discover-section .plaza-grid > .plaza-card { position: relative; height: 326px!important; border: 1px solid #e5e7ec; border-radius: 20px; box-shadow: none; }
.discover-section .plaza-grid > .plaza-card:hover { border-color: #d2d8e3; box-shadow: 0 7px 22px rgba(28,34,47,.07); }
.discover-section .plaza-grid > .plaza-card .plaza-preview { width: calc(100% - 20px); height: 182px!important; min-height: 182px!important; flex-basis: 182px!important; margin: 10px 10px 0; border-radius: 22px; }
.discover-section .plaza-grid > .plaza-card .plaza-preview img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.discover-section .plaza-grid > .plaza-card .plaza-body { height: auto; min-height: 0; flex: 1; padding: 10px 12px 11px; }
.discover-section .plaza-grid > .plaza-card .plaza-body h3 { font-size: 18px; font-weight: 400; line-height: 1.4; }
.discover-section .plaza-grid > .plaza-card .plaza-body p { display: -webkit-box; margin: 7px 0 0; overflow: hidden; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #858b95; font-size: 14px; line-height: 1.5; }
.discover-section .plaza-grid > .plaza-card .plaza-meta { min-height: 30px; padding-top: 0; border-top: 0; color: #8e96a2; }
.content[data-board-view="organization"] [data-source-panel="organization"] { gap: 16px; }
.content[data-board-view="organization"] .site-row { height: 326px; border: 1px solid #e5e7ec; border-radius: 20px; box-shadow: none; }
.content[data-board-view="organization"] .site-row:hover { border-color: #d2d8e3; box-shadow: 0 7px 22px rgba(28,34,47,.07); }
.content[data-board-view="organization"] .row-thumb { width: calc(100% - 20px); height: 182px; flex-basis: 182px; margin: 10px 10px 0; border-radius: 22px; }
.content[data-board-view="organization"] .row-main { height: auto; flex: 1; padding: 10px 12px 11px; }
.content[data-board-view="organization"] .row-title strong { font-size: 18px; font-weight: 400; line-height: 1.4; }
.content[data-board-view="organization"] .row-description { display: -webkit-box; margin: 7px 0 0; overflow: hidden; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #858b95; font-size: 14px; line-height: 1.5; }
.content[data-board-view="organization"] .row-meta { min-height: 30px; margin-top: auto; padding-top: 0; border-top: 0; }
.content[data-board-view="organization"] .row-actions { right: 12px; bottom: 11px; }
@media(max-width:700px) { .discover-section .plaza-grid { grid-auto-rows: 314px; } .discover-section .plaza-grid > .plaza-card, .content[data-board-view="organization"] .site-row { height: 314px!important; } }


/* Share follows the favorite count in every board action group. */
.board-share-button { position: relative; z-index: 3; display: inline-grid; place-items: center; flex: 0 0 20px; width: 20px; height: 24px; margin-left: -5px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: #b7bbc2; cursor: pointer; }
.board-share-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.favorite-action .favorite-count-inline { min-width: 0; }
.board-share-button:hover { color: #3478f6; background: #eef3ff; }
.board-share-button:focus-visible { outline: 2px solid #3478f6; outline-offset: 2px; }
.plaza-actions { flex-shrink: 0; }
.plaza-meta > .author { overflow: hidden; }
.plaza-meta > .author > span { overflow: hidden; text-overflow: ellipsis; }
.content[data-board-view="organization"] .row-meta { padding-right: 150px; }
.content[data-board-view="mine"] .row-meta { padding-right: 160px; }
@media(max-width:760px) { .content[data-board-view="mine"] .row-meta { padding-right: 0; } }

/* Full report detail keeps the board list mounted for an exact return. */
.board-detail-view { position: fixed; inset: 0; z-index: 100; display: flex; flex-direction: column; background: #f5f6f9; }
.board-detail-view[hidden] { display: none; }
.board-detail-toolbar { flex: 0 0 48px; display: flex; align-items: center; gap: 20px; padding: 0 20px; border-bottom: 1px solid #e4e8ef; background: #fff; color: #66718a; font-size: 13px; }
.board-detail-toolbar button { display: inline-flex; align-items: center; gap: 7px; height: 32px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; color: #303947; font-size: 14px; cursor: pointer; }
.board-detail-toolbar button:hover { background: #eef2f7; }
.board-detail-toolbar button:focus-visible { outline: 2px solid #3478f6; }
.board-detail-toolbar i { font-size: 18px; }
#boardDetailFrame { flex: 1; width: 100%; min-height: 0; border: 0; background: #f5f6f9; }

.board-detail-heading { display: flex; align-items: center; gap: 20px; min-width: 0; }
.board-detail-updated { color: #9299a5; font-size: 12px; white-space: nowrap; }
.board-detail-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.board-detail-toolbar .board-detail-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #87909d; cursor: pointer; }
.board-detail-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.board-detail-toolbar .board-detail-icon:hover { color: #3478f6; background: #f0f4fa; }
.board-detail-icon:focus-visible { outline: 2px solid #3478f6; outline-offset: 2px; }
.board-detail-toolbar .board-detail-icon[aria-pressed="true"] { color: #eb4558; }
.board-detail-icon[aria-pressed="true"] svg { fill: currentColor; }
@media (max-width: 600px) { .board-detail-toolbar { gap: 8px; padding: 0 8px; } .board-detail-heading { gap: 4px; flex-direction: column; align-items: flex-start; } .board-detail-actions { gap: 4px; } }

/* Institution and plaza share taxonomy and the same card component. */
.board-taxonomy .topic-button[hidden] { display: none; }
.content[data-board-view="organization"] .organization-visibility-notice { margin: 0 0 16px; min-height: 34px; gap: 18px; }
.organization-visibility-notice h2 { margin: 0; color: var(--text); font-size: 16px; font-weight: 600; white-space: nowrap; }
.organization-visibility-notice .organization-notice-text { font-size: 12px; }
.organization-visibility-notice .organization-notice-text i { font-size: 16px; }
.content[data-board-view="organization"] [data-source-panel="organization"].plaza-grid { padding-top: 0; }
.workspace.discover-section .list-panel.plaza-grid:not(.active) { display: none; }

/* Personal boards share the plaza cards, with a dedicated collection hierarchy. */
.mine-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 34px; margin-bottom: 16px; }
.mine-toolbar[hidden] { display: none; }
.mine-toolbar h2 { margin: 0; font-size: 16px; font-weight: 600; }
.mine-taxonomy > .topic-button { margin-top: 6px; }
.mine-taxonomy > .topic-button:first-child { margin-top: 0; }
.mine-taxonomy .topic-children { margin-bottom: 12px; }
.content[data-board-view="mine"] .workspace-tabs,
.mine-favorites > :not(.pinned-carousel),
.mine-favorites .pinned-nav { display: none!important; }
.mine-favorites .pinned-carousel { overflow: visible; }
.mine-favorites .pinned-carousel::after { display: none; }
.mine-favorites .pinned-grid.plaza-grid { overflow: visible; padding: 0; margin: 0; scroll-snap-type: none; }
.mine-favorites .pinned-grid.plaza-grid > .plaza-card { flex: none; scroll-snap-align: none; }
.content[data-board-view="mine"] .workspace .plaza-grid { padding-top: 0; }

/* Keep personal card menus above the detail link and neighboring cards. */
.plaza-card[data-board-owned="true"] .more-wrap { position: relative; z-index: 6; }
.plaza-card[data-board-owned="true"]:has([data-card-menu]:not([hidden])) { overflow: visible; z-index: 8; }

.card-menu .card-menu-item[data-menu-action="删除网站"] { color: #303640; }

/* Hierarchical research categories beneath All. */
.board-category-tree { margin-left: 12px; padding-left: 6px; }
.topic-group-row { position: relative; display: flex; align-items: center; }
.board-category-tree .topic-group-row > .topic-button { padding-left: 24px; }
.topic-expand { position: absolute; z-index: 1; left: 2px; display: grid; place-items: center; width: 20px; height: 26px; padding: 0; border-radius: 4px; background: transparent; color: #8a929e; cursor: pointer; }
.topic-expand i { font-size: 16px; transition: transform .15s ease; }
.topic-expand[aria-expanded="true"] i { transform: rotate(90deg); }
.topic-expand:hover { color: #315ed3; background: #e7edfb; }
.topic-expand:focus-visible { outline: 2px solid #4268ec; }
.topic-subcategories { margin: 2px 0 5px 13px; padding-left: 6px; border-left: 1px solid #e2e5eb; }
.topic-subcategories[hidden] { display: none; }
.topic-subcategories .topic-leaf { padding-left: 12px; min-height: 33px; }
.topic-group.has-selected-child > .topic-group-row > .topic-button { color: #315ed3; }

/* Owner management menu in the board detail toolbar. */
.board-detail-more { position: relative; }
.board-detail-more[hidden] { display: none; }
.board-detail-more .card-menu { top: 38px; bottom: auto; width: 184px; }
.board-detail-toolbar .card-menu-item { justify-content: flex-start; width: 100%; height: 34px; font-size: 13px; color: #303640; }
.board-detail-toolbar .card-menu-item[data-detail-menu-action="停止更新"] { margin-top: 4px; border-top: 1px solid #eceff3; border-radius: 0; padding-top: 4px; height: 39px; }

/* Floating action for shared-link readers. */
.board-detail-view.is-shared-view { outline: none; }
.board-detail-view.is-shared-view .board-detail-toolbar { display: none; }
.shared-board-footer { position: absolute; z-index: 2; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); max-width: calc(100% - 32px); padding: 0; border: 0; background: transparent; pointer-events: none; }
.shared-board-footer[hidden] { display: none; }
.shared-board-footer button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: max-content; max-width: 100%; height: 48px; padding: 0 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: #666; box-shadow: 0 6px 22px rgba(0,0,0,.24); color: #fff; font-size: 15px; font-weight: 500; white-space: nowrap; cursor: pointer; pointer-events: auto; }
.shared-board-footer button img { width: 27px; height: 27px; object-fit: contain; }
.shared-board-footer button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.shared-board-footer button:hover { background: #575757; }
.shared-board-footer button:focus-visible { outline: 2px solid #3478f6; outline-offset: 3px; }

/* Reuse a board from the same card action group as sharing. */
.board-remake-button { position: relative; z-index: 3; flex: 0 0 auto; height: 24px; padding: 0 6px; border: 0; border-radius: 5px; background: #eef3ff; color: #3478f6; font: inherit; font-size: 12px; line-height: 24px; white-space: nowrap; cursor: pointer; }
.board-remake-button:hover { background: #e0eaff; }
.board-remake-button:focus-visible { outline: 2px solid #3478f6; outline-offset: 2px; }
.plaza-meta > .author { min-width: 0; }
.plaza-actions { gap: 6px; }

/* Sharing is available only to the board creator. */
.board-share-button:disabled, #boardDetailShare:disabled { opacity: .35; cursor: not-allowed; }

.board-share-button[hidden], #boardDetailShare[hidden] { display: none !important; }
