.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:8px 0 44px}.hub-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--soft-shadow);transition:transform var(--motion-base) var(--ease),box-shadow var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease)}.hub-card:hover{transform:var(--lift-lg);border-color:#141413;box-shadow:var(--hover-shadow)}.hub-card:active{transform:var(--press)}.hub-card-img{width:100%;aspect-ratio:16 / 9;border-bottom:1px solid var(--line);background:var(--page);-o-object-fit:cover;object-fit:cover}.hub-card-body{display:flex;flex-direction:column;gap:10px;padding:20px}.hub-card-name{font-size:var(--text-lg);font-weight:900}.hub-card-line{color:var(--muted-strong);font-family:var(--font-serif);font-size:var(--text-sm);line-height:1.55}.hub-card-tags{display:flex;flex-wrap:wrap;gap:6px}.hub-tag{padding:4px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--soft);color:var(--muted-strong);font-size:11px;font-weight:800}.hub-card-open{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:var(--accent);font-size:var(--text-sm);font-weight:900}.hub-card-arrow{width:15px;height:15px}@media(max-width:980px){.hub-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.hub-grid{grid-template-columns:1fr}}.ec-calc{align-items:start}.ec-row{display:grid;gap:8px;padding:14px;border:1px solid var(--line-strong);border-radius:var(--radius-button);background:#fff}.ec-row+.ec-row{margin-top:12px}.ec-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ec-remove{border:0;background:transparent;color:var(--muted);font-size:var(--text-xs);font-weight:800;cursor:pointer;transition:color var(--motion-fast) var(--ease)}.ec-remove:hover{color:var(--danger)}.ec-row-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ec-sub{display:grid;gap:4px}.ec-sub-label{font-size:11px;font-weight:800;color:var(--muted-strong)}.ec-cell input,.ec-cell select{width:100%;padding:9px 10px;border:0;background:transparent;font:inherit;font-weight:700;color:var(--ink)}.ec-cell select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.ec-cell input:focus,.ec-cell select:focus{outline:none}.ec-add{margin-top:12px;padding:11px 16px;border:1px dashed var(--line-strong);border-radius:var(--radius-button);background:var(--soft);color:var(--ink);font-size:var(--text-sm);font-weight:800;cursor:pointer;transition:transform var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),background-color var(--motion-fast) var(--ease)}.ec-add:hover:not(:disabled){transform:var(--lift-sm);border-color:#141413;background:#fff}.ec-add:active:not(:disabled){transform:var(--press)}.ec-add:disabled{opacity:.5;cursor:not-allowed}.ec-max-note{margin-top:8px;color:var(--muted);font-size:var(--text-xs);font-weight:700}.ec-outputs{display:grid;gap:18px}.ec-out-block{display:grid;gap:8px}.ec-out-title{font-size:var(--text-sm);font-weight:900;color:var(--gold)}.ec-list,.ec-checklist{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ec-list li{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.ec-list li:last-child{border-bottom:0;padding-bottom:0}.ec-list strong{font-size:var(--text-sm);font-weight:900;font-variant-numeric:tabular-nums}.ec-list span{color:#ffffffb8;font-size:var(--text-xs);font-weight:600}.ec-nodate strong{color:#ffffffd9}.ec-checklist li{display:flex;align-items:center;gap:10px}.ec-dot{flex:none;width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.5)}.ec-dot-notStarted{background:transparent}.ec-dot-reviewing{background:#ffffff8c}.ec-dot-completed{background:#fff;border-color:#fff}.ec-check-name{flex:1;color:#fff;font-size:var(--text-sm);font-weight:700}.ec-check-status{color:#ffffffb8;font-size:var(--text-xs);font-weight:700}.ec-summary{display:flex;flex-wrap:wrap;gap:8px 16px}.ec-summary-item{color:#ffffffb8;font-size:var(--text-xs);font-weight:700}.ec-summary-item strong{color:#fff;font-size:var(--text-md);font-weight:900;font-variant-numeric:tabular-nums}.ec-reminder{color:#ffffffc7;font-size:var(--text-sm);line-height:1.55}.ts-status-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:16px}.ts-status-chip{padding:3px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--soft);color:var(--muted-strong);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ts-status-meta{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ts-textarea-wrap{padding:0}.ts-textarea{width:100%;min-height:200px;padding:12px;border:0;background:transparent;font:inherit;font-size:var(--text-sm);line-height:1.6;color:var(--ink);resize:vertical}.ts-textarea:focus{outline:none}.ts-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:16px}.ts-summary-item{color:#ffffffb8;font-size:var(--text-xs);font-weight:700}.ts-summary-item strong{color:#fff;font-size:var(--text-md);font-weight:900;font-variant-numeric:tabular-nums}.ts-results{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none;max-height:360px;overflow-y:auto}.ts-results li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.ts-results li:last-child{border-bottom:0;padding-bottom:0}.ts-result-count{flex:none;padding:1px 7px;border-radius:var(--radius-pill);background:#ffffff1f;color:#fff;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.ts-result-text{margin:0;color:#ffffffdb;font-size:var(--text-sm);line-height:1.55}.ts-mark{padding:0 2px;border-radius:3px;background:var(--gold);color:#141413;font-weight:800}.ts-block{margin-bottom:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.ts-block-title{margin-bottom:10px;color:#fff;font-size:var(--text-sm);font-weight:900}.ts-freq{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.ts-freq li{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill)}.ts-freq-term{color:#ffffffdb;font-size:var(--text-xs);font-weight:700}.ts-freq-count{padding:1px 7px;border-radius:var(--radius-pill);background:#ffffff1f;color:#fff;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.ts-followup{display:grid;gap:8px;margin:0;padding-left:18px;list-style:disc}.ts-followup li{color:#ffffffd1;font-size:var(--text-sm);line-height:1.5}.ts-disclaimer{margin:0;color:#ffffff9e;font-size:var(--text-xs);line-height:1.55}.smh-calc{align-items:start}.smh-dataready{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:14px}.smh-dr-mode{padding:3px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--soft);color:var(--muted-strong);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.smh-dr-meta{color:var(--muted);font-size:var(--text-xs);font-weight:700}.smh-half-chip{display:inline-block;margin-left:7px;padding:1px 7px;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);color:#ffffffd1;font-size:10px;font-weight:800}.ec-dot-notReviewed{background:transparent}.ec-dot-planned{background:#ffffff8c}.ec-dot-done{background:#fff;border-color:#fff}.vss-calc{align-items:start}.vss-block-title{margin-top:8px}.vss-filters{padding:14px;border:1px solid var(--line-strong);border-radius:var(--radius-button);background:#fff}.vss-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}.vss-ticker{flex:1}.vss-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vss-meta-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.vss-paste{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.vss-paste-area{min-height:96px;color:var(--ink)}.vss-flag{display:inline-block;padding:1px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:800;letter-spacing:.02em;white-space:nowrap}.vss-flag-pass{background:#4aa36e38;color:#8fe3ad}.vss-flag-fail{background:#bf4d4342;color:#f0a39c}.vss-flag-missing{background:#ffffff1f;color:#ffffffb3}.vss-fail-item span{color:#ffffffb8;font-size:var(--text-xs);line-height:1.45}.vss-profile{display:grid;gap:10px}.vss-profile-row{display:grid;gap:6px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.vss-profile-row:last-child{border-bottom:0;padding-bottom:0}.vss-profile-name{color:#fff;font-size:var(--text-sm);font-weight:900}.vss-profile-flags{display:flex;flex-wrap:wrap;gap:5px}@media(max-width:760px){.ec-calc,.smh-calc,.vss-calc,.ec-row-grid,.ts-calc{grid-template-columns:1fr}.vss-filter-grid,.vss-metric-grid{grid-template-columns:repeat(2,1fr)}.vss-meta-grid{grid-template-columns:1fr}}
