@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@700;800&display=swap');

:root { --blue:#0754b8; --blue-deep:#063b83; --sky:#eaf4ff; --ink:#101d2d; --muted:#607083; --line:#dce5ee; --paper:#fff; --off:#f5f8fb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--off); font-family:"DM Sans",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
button { font:inherit; }
.site-header { position:sticky; top:0; z-index:20; background:#ffffffed; border-bottom:1px solid #dce5eebd; backdrop-filter:blur(16px); }
.header-inner { width:min(1120px,calc(100% - 40px)); height:74px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; }
.brand img,.post-avatar img { object-fit:cover; border-radius:50%; }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font:800 20px/1 "Manrope",sans-serif; letter-spacing:-.04em; }
.brand-copy small { margin-top:5px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.live-pill { display:flex; align-items:center; gap:8px; padding:8px 12px; color:#436079; background:#f2f7fb; border:1px solid #dde8f0; border-radius:999px; font-size:12px; font-weight:600; }
.live-pill i { width:7px; height:7px; background:#1cac65; border-radius:50%; box-shadow:0 0 0 4px #1cac6519; }
.hero { position:relative; min-height:340px; display:grid; place-items:center; overflow:hidden; color:#fff; background:linear-gradient(120deg,#043674 0%,#0754b8 57%,#1672d3 100%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.14; background:repeating-linear-gradient(108deg,transparent 0 74px,#fff 75px 76px,transparent 77px 150px); transform:scale(1.3); }
.hero::after { content:""; position:absolute; width:650px; height:650px; right:-210px; top:-350px; border:100px solid #fff; border-radius:50%; opacity:.045; }
.hero-glow { position:absolute; width:500px; height:500px; left:-180px; bottom:-380px; border:90px solid #70b5ff; border-radius:50%; opacity:.15; }
.hero-content { position:relative; z-index:1; width:min(1120px,calc(100% - 40px)); padding:50px 0 48px; }
.eyebrow,.section-kicker { margin:0 0 12px; color:#9ccafa; font-size:11px; font-weight:800; letter-spacing:.2em; }
.hero h1 { max-width:760px; margin:0; font:800 clamp(38px,6vw,64px)/1.02 "Manrope",sans-serif; letter-spacing:-.055em; }
.hero h1 em { color:#b9dcff; font-style:normal; }
.hero-text { max-width:620px; margin:18px 0 0; color:#daeaff; font-size:17px; line-height:1.55; }
.hero-rule { margin-top:25px; display:flex; gap:7px; }
.hero-rule span { width:34px; height:5px; background:#fff; transform:skewX(-25deg); }
.hero-rule span:nth-child(2) { background:#86c3ff; }.hero-rule span:nth-child(3) { background:#2786e7; }
.ad-slot { width:min(1120px,calc(100% - 40px)); min-height:122px; margin:24px auto 0; padding:12px 16px 15px; background:#fff; border:1px solid var(--line); border-radius:5px; box-shadow:0 12px 30px #0a376b08; }
.ad-slot-label { display:block; color:#8a9aaa; font-size:9px; font-weight:800; letter-spacing:.16em; text-align:center; text-transform:uppercase; }
.ad-slot-placeholder { min-height:72px; display:grid; place-content:center; gap:4px; color:#8a9aaa; background:repeating-linear-gradient(135deg,#f8fafc 0 9px,#f3f6f9 9px 18px); border:1px dashed #cbd8e3; text-align:center; }
.ad-slot-placeholder span { color:#64788c; font-size:12px; font-weight:700; }
.ad-slot-placeholder small { font-size:10px; }
.ad-slot-live { min-height:90px; }
.ad-slot-live .adsbygoogle { min-height:70px; }
.page-grid { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:70px 0 90px; display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:52px; align-items:start; }
.feed-heading { display:flex; justify-content:space-between; align-items:end; padding-bottom:22px; border-bottom:1px solid var(--line); }
.section-kicker { color:var(--blue); margin-bottom:7px; }
.feed-heading h2,.about-card h2 { margin:0; font:800 25px/1.25 "Manrope",sans-serif; letter-spacing:-.035em; }
.refresh-button { width:40px; height:40px; display:grid; place-items:center; color:var(--blue); background:#fff; border:1px solid var(--line); border-radius:50%; cursor:pointer; transition:.2s ease; }
.refresh-button:hover { background:var(--sky); border-color:#bdd7ef; }.refresh-button svg { width:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.refresh-button.spinning svg { animation:spin .8s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
.new-posts { margin:16px 0 -3px; padding:9px 14px; color:var(--blue); background:var(--sky); border-radius:8px; text-align:center; font-size:13px; font-weight:700; }
.timeline { position:relative; }
.post { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr); gap:15px; padding:28px 4px 28px 0; border-bottom:1px solid var(--line); }
.post::before { content:""; position:absolute; left:23px; top:77px; bottom:-1px; width:1px; background:#d9e5ef; }
.post:last-child::before { display:none; }
.post-avatar { position:relative; z-index:1; width:48px; height:48px; padding:2px; background:#fff; border:1px solid #d7e3ed; border-radius:50%; box-shadow:0 3px 12px #14345414; }
.post-avatar img { width:100%; height:100%; }
.post-meta { min-height:28px; display:flex; align-items:center; gap:7px; color:#718092; font-size:13px; white-space:nowrap; }
.post-meta strong { color:var(--ink); font-size:14px; }.post-meta a { color:inherit; text-decoration:none; transition:color .15s ease; }.post-meta a:hover { color:var(--blue); text-decoration:underline; }.post-meta time { overflow:hidden; text-overflow:ellipsis; }
.post-content > p { margin:7px 0 18px; color:#26384a; font-size:16px; line-height:1.7; overflow-wrap:anywhere; }
.post-footer { display:flex; gap:8px; }
.post-footer span { padding:5px 9px; color:#4f6b83; background:#f0f5f9; border-radius:5px; font-size:11px; font-weight:700; }
.post-footer span:first-child { color:var(--blue); background:var(--sky); }
.post-entering { animation:post-in .35s ease both; } @keyframes post-in { from { opacity:0; transform:translateY(-10px); } }
.sidebar { position:sticky; top:104px; display:grid; gap:16px; }
.about-card { position:relative; min-height:375px; padding:30px; overflow:hidden; color:#fff; background:var(--blue-deep); border-radius:4px; box-shadow:0 18px 50px #0a376b1e; }
.about-card::after { content:""; position:absolute; right:-95px; bottom:-100px; width:260px; height:260px; border:55px solid #fff; border-radius:50%; opacity:.06; }
.card-number { display:block; margin-bottom:66px; color:#4c91da; font:800 54px/1 "Manrope",sans-serif; letter-spacing:-.07em; }
.about-card .section-kicker { color:#8fc4f9; }.about-card h2 { max-width:230px; font-size:26px; }
.about-card > p:last-of-type { position:relative; z-index:1; color:#c9def3; font-size:14px; line-height:1.65; }
.stripe { position:absolute; left:30px; bottom:0; width:84px; height:7px; background:repeating-linear-gradient(90deg,#fff 0 15px,#3290ea 15px 30px); }
.source-card { display:flex; gap:13px; align-items:center; padding:18px; background:#fff; border:1px solid var(--line); border-radius:4px; }
.source-icon { flex:0 0 38px; height:38px; display:grid; place-items:center; color:#fff; background:var(--blue); border-radius:50%; font:800 18px "Manrope"; }
.source-card strong { font-size:12px; }.source-card p { margin:3px 0 0; color:var(--muted); font-size:11px; line-height:1.4; }
.state-card { margin-top:20px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:6px; }.state-card p { margin:6px 0 0; color:var(--muted); }.error-state { border-left:4px solid #d98d21; }
code { padding:2px 5px; background:#edf2f6; border-radius:4px; font-size:.9em; }
.admin-shell { width:min(760px,calc(100% - 40px)); margin:0 auto; padding:76px 0 110px; }
.admin-shell.admin-dashboard { width:min(900px,calc(100% - 40px)); }
.admin-intro h1 { margin:0; font:800 clamp(30px,5vw,48px)/1.08 "Manrope",sans-serif; letter-spacing:-.05em; }
.admin-intro > p:last-child { max-width:600px; margin:14px 0 0; color:var(--muted); line-height:1.6; }
.admin-form,.report-form { display:grid; gap:16px; margin-top:32px; padding:28px; background:#fff; border:1px solid var(--line); border-radius:5px; box-shadow:0 18px 50px #0a376b0d; }
.admin-form label,.report-form > label { display:grid; gap:7px; color:#334b62; font-size:12px; font-weight:700; }
.admin-form input,.report-form input,.report-form textarea,.report-form select { width:100%; color:var(--ink); background:#fbfdff; border:1px solid var(--line); border-radius:4px; font:400 14px "DM Sans",sans-serif; }
.admin-form input,.report-form input,.report-form select { height:42px; padding:0 11px; }
.report-form textarea { padding:12px; resize:vertical; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; line-height:1.5; }
.admin-form input:focus,.report-form input:focus,.report-form textarea:focus,.report-form select:focus { outline:3px solid #b9dcff; border-color:var(--blue); }
.admin-button { width:max-content; min-height:42px; padding:0 18px; color:#fff; background:var(--blue); border:0; border-radius:4px; cursor:pointer; font-size:13px; font-weight:800; }
.admin-button:hover { background:var(--blue-deep); }
.admin-alert,.admin-notice { padding:12px 14px; border-radius:4px; font-size:13px; line-height:1.45; }
.admin-alert { color:#8b3f2f; background:#fff1ed; border:1px solid #f2cfc6; }.admin-notice { color:#176643; background:#ecfaf2; border:1px solid #bde8cf; }
.admin-link { color:var(--blue); font-size:13px; font-weight:700; text-decoration:none; }.admin-link:hover { text-decoration:underline; }
.admin-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:34px; }
.admin-action { display:grid; gap:7px; padding:22px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:4px; text-decoration:none; }.admin-action:hover { border-color:#a9cae5; box-shadow:0 10px 25px #0a376b12; }.admin-action span { color:var(--muted); font-size:13px; }
.admin-layout { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:64px 0 100px; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:42px; align-items:start; }.admin-layout .admin-intro { margin-bottom:28px; }
.admin-sidebar { position:sticky; top:104px; display:grid; gap:14px; }.admin-side-card { padding:22px; background:#fff; border:1px solid var(--line); border-radius:4px; }.admin-side-card p { margin-top:0; }.admin-side-card ul { display:grid; gap:14px; margin:18px 0 0; padding:0; list-style:none; }.admin-side-card li { display:grid; gap:3px; }.admin-side-card a { color:var(--blue); font-size:13px; font-weight:800; text-decoration:none; }.admin-side-card a:hover { text-decoration:underline; }.admin-side-card small { color:var(--muted); font-size:11px; }
.form-help { margin:-5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }.preview-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-top:14px; padding-top:22px; border-top:1px solid var(--line); }.preview-heading h2 { margin:0; font:800 21px/1.2 "Manrope",sans-serif; }.preview-heading > span { color:var(--muted); font-size:12px; text-align:right; }.admin-table-shell { overflow:hidden; border:1px solid var(--line); border-radius:4px; }.column-settings { display:grid; gap:10px; }.column-setting { display:grid; grid-template-columns:1.3fr 1.4fr .7fr 1fr auto auto; align-items:end; gap:9px; padding:12px; background:#f5f8fb; border:1px solid var(--line); border-radius:4px; }.column-setting > strong { padding-bottom:12px; overflow:hidden; color:var(--blue-deep); font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; }.column-setting label { display:grid; gap:5px; color:var(--muted); font-size:10px; font-weight:700; }.column-setting .check-label { display:flex; align-items:center; gap:5px; height:42px; white-space:nowrap; }.column-setting input[type=checkbox] { width:16px; height:16px; accent-color:var(--blue); }
.report-option { display:flex!important; grid-template-columns:none!important; align-items:center; gap:8px; color:var(--ink)!important; }.report-option input[type=checkbox] { width:16px; height:16px; accent-color:var(--blue); }
.save-report-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding-top:20px; border-top:1px solid var(--line); }.save-report-fields label { display:grid; gap:7px; color:#334b62; font-size:12px; font-weight:700; }.save-report-fields input { width:100%; height:42px; padding:0 11px; color:var(--ink); background:#fbfdff; border:1px solid var(--line); border-radius:4px; font:400 14px "DM Sans",sans-serif; }.save-report-fields input:focus { outline:3px solid #b9dcff; border-color:var(--blue); }.published-link { margin:14px 0 0; }.published-link a { color:var(--blue); font-weight:800; }
.report-public { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:70px 0 100px; }.report-public-heading { margin-bottom:24px; }.report-public-heading h1 { margin:0; font:800 clamp(30px,5vw,48px)/1.08 "Manrope",sans-serif; letter-spacing:-.05em; }.report-public-heading p:last-child { margin:12px 0 0; color:var(--muted); }.report-public .admin-table-shell { background:#fff; box-shadow:0 18px 50px #0a376b0d; }
.table-hero { min-height:290px; }.table-hero .hero-content { padding-top:42px; padding-bottom:42px; }.table-hero h1 { max-width:800px; font-size:clamp(35px,5vw,56px); }.table-hero .hero-text { max-width:700px; }.table-layout { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:58px 0 88px; }.table-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; padding-bottom:20px; border-bottom:1px solid var(--line); }.table-heading h2 { margin:0; font:800 25px/1.25 "Manrope",sans-serif; letter-spacing:-.035em; }.table-heading p { max-width:410px; margin:0; color:var(--muted); font-size:13px; line-height:1.55; text-align:right; }.report-builder { padding-top:58px; }.report-builder .admin-main { width:100%; }.report-builder .report-form { margin-top:22px; }.report-builder .admin-sidebar { position:static; margin-top:28px; }.report-table-shell { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:5px; box-shadow:0 18px 50px #0a376b0d; }.report-table-shell .tabulator-header,.admin-table-shell .tabulator-header { color:#dcecff!important; background:var(--blue-deep)!important; border:0; }.report-table-shell .tabulator-col,.admin-table-shell .tabulator-col { min-height:48px; background:transparent!important; border-right:1px solid #ffffff22; }.report-table-shell .tabulator-col-title,.admin-table-shell .tabulator-col-title { padding:0 12px; color:#dcecff!important; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }.report-table-shell .tabulator-row,.admin-table-shell .tabulator-row { min-height:48px; color:var(--ink); background:#fff; border-bottom:1px solid #e7eef4; }.report-table-shell .tabulator-row:nth-child(even),.admin-table-shell .tabulator-row:nth-child(even) { background:#f8fbfd; }.report-table-shell .tabulator-row:hover,.admin-table-shell .tabulator-row:hover { background:var(--sky); }.report-table-shell .tabulator-cell,.admin-table-shell .tabulator-cell { padding:10px 12px; border-right:1px solid #edf2f6; font-size:13px; }.report-error { min-height:500px; }.report-error .state-card { margin-top:0; }
#preview-table .tabulator-header { color:#dcecff; background:var(--blue-deep); border:0; } #preview-table .tabulator-col { min-height:44px; background:transparent; border-right:1px solid #ffffff22; } #preview-table .tabulator-col-title { padding:0 10px; font-size:10px; text-transform:uppercase; letter-spacing:.06em; } #preview-table .tabulator-row { min-height:42px; border-bottom:1px solid #e7eef4; } #preview-table .tabulator-row:nth-child(even) { background:#f8fbfd; } #preview-table .tabulator-row:hover { background:var(--sky); } #preview-table .tabulator-cell { padding:10px; border-right:1px solid #edf2f6; font-size:12px; }
.tabulator-row.tabulator-parent-row .tabulator-cell { font-weight:700; }
footer { min-height:80px; padding:0 max(20px,calc((100% - 1120px)/2)); display:flex; justify-content:space-between; align-items:center; color:#718092; background:#edf3f7; border-top:1px solid var(--line); font-size:12px; } footer span:first-child { color:var(--blue); font-weight:800; }
@media (max-width:860px) { .page-grid { grid-template-columns:1fr; gap:42px; }.sidebar { position:static; grid-template-columns:1fr 1fr; }.about-card { min-height:320px; }.source-card { align-items:flex-start; }.admin-layout { grid-template-columns:1fr; }.admin-sidebar { position:static; }.table-heading { display:block; }.table-heading > p { margin-top:10px; text-align:left; } }
@media (max-width:600px) { .header-inner,.hero-content,.page-grid { width:calc(100% - 28px); }.header-inner { height:64px; }.brand img { width:40px; height:40px; }.brand-copy strong { font-size:18px; }.brand-copy small { display:none; }.live-pill { padding:7px 9px; font-size:10px; }.hero { min-height:315px; }.hero-content { padding:42px 0; }.hero h1 { font-size:39px; }.hero-text { font-size:15px; line-height:1.5; }.hero-rule { margin-top:21px; }.page-grid { padding:48px 0 60px; }.feed-heading h2 { font-size:21px; }.post { grid-template-columns:42px minmax(0,1fr); gap:11px; padding:23px 0; }.post-avatar { width:40px; height:40px; }.post::before { left:19px; top:65px; }.post-meta { flex-wrap:wrap; gap:5px; line-height:1.2; }.post-meta span:nth-of-type(1) { display:none; }.post-content > p { font-size:15px; line-height:1.65; }.sidebar { grid-template-columns:1fr; }.card-number { margin-bottom:48px; } footer { min-height:90px; flex-direction:column; justify-content:center; gap:7px; } }
@media (max-width:600px) { .ad-slot { width:calc(100% - 28px); min-height:104px; margin-top:18px; padding:10px 12px 12px; }.ad-slot-placeholder { min-height:58px; } }
@media (max-width:600px) { .admin-shell,.admin-layout,.report-public { width:calc(100% - 28px); padding-top:48px; }.admin-form,.report-form { padding:20px; }.admin-actions,.save-report-fields { grid-template-columns:1fr; }.column-setting { grid-template-columns:1fr 1fr; }.column-setting > strong { grid-column:1/-1; padding-bottom:0; }.preview-heading { display:block; }.preview-heading > span { display:block; margin-top:8px; text-align:left; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
