@font-face{font-family:Aptos;src:url('../fonts/aptos/Aptos.woff2') format('woff2');font-display:swap}
:root{--bg:#f5f9ff;--panel:#ffffff;--text:#14213d;--muted:#64748b;--line:#dbeafe;--brand:#2563eb;--brand2:#8b5cf6;--danger:#dc2626;--ok:#15803d;--shadow:0 18px 45px rgba(37,99,235,.10);--radius:22px}
[data-theme="dark"]{--bg:#0f172a;--panel:#172033;--text:#f8fafc;--muted:#b8c0cc;--line:#334155;--brand:#60a5fa;--brand2:#c084fc;--shadow:0 18px 45px rgba(0,0,0,.25)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,var(--bg),#fff);color:var(--text);font-family:Aptos,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:var(--brand);text-decoration:none}img,video,audio{max-width:100%}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:16px 6vw;background:rgba(255,255,255,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}[data-theme="dark"] .top{background:rgba(15,23,42,.78)}.brand{font-weight:900;font-size:1.5rem;color:var(--text);display:flex;align-items:center;gap:10px}.brand img{width:38px;height:38px;object-fit:contain;display:block}.brand span{line-height:1}nav{display:flex;gap:12px;align-items:center}nav a{padding:9px 13px;border-radius:999px;font-weight:800;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-dashboard:hover{background:var(--brand);color:#fff}.nav-logout{color:var(--danger)}.nav-logout:hover{background:var(--danger);color:#fff}nav a:hover{transform:translateY(-1px)}.pill,.primary,button{border:0;border-radius:999px;background:#e0ecff;color:var(--brand);padding:10px 16px;font-weight:800;cursor:pointer}button.primary,.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:white}.danger{color:var(--danger)!important}.container{width:min(1100px,92vw);margin:36px auto}.hero{padding:54px;border-radius:32px;background:radial-gradient(circle at top left,#dbeafe,transparent 55%),var(--panel);box-shadow:var(--shadow);margin-bottom:26px}.hero h1{font-size:clamp(2rem,6vw,4rem);line-height:1;margin:0 0 14px}.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.post,.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:24px;margin:18px 0}.card > :first-child{margin-top:0}.card > :last-child{margin-bottom:0}.post{overflow:hidden;padding:22px}.post img{width:100%;height:190px;object-fit:cover;border-radius:18px}.post h2{margin:.7rem 0 .2rem}.meta,.muted{color:var(--muted);font-size:.95rem}.read{font-weight:800}.shell{width:min(1280px,96vw);margin:28px auto;display:grid;grid-template-columns:260px 1fr;gap:22px}.side{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;height:max-content;position:sticky;top:86px}.side a,.side span{display:block;padding:12px 14px;border-radius:14px;margin:4px 0}.side a:hover{background:#eaf2ff}.panel{padding:28px;min-width:0}.form{display:grid;gap:16px}.form label{display:grid;gap:7px;font-weight:800}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:12px 14px;font:inherit}textarea{resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.actions{display:flex;gap:12px;flex-wrap:wrap}.flash{padding:13px 16px;border-radius:16px;margin:0 0 16px}.flash.ok{background:#dcfce7;color:#166534}.flash.bad{background:#fee2e2;color:#991b1b}table{width:100%;border-collapse:separate;border-spacing:0 10px}th{text-align:left;color:var(--muted)}td,th{padding:10px}tr{background:var(--panel)}td:first-child{border-radius:14px 0 0 14px}td:last-child{border-radius:0 14px 14px 0}.inline{display:inline}.link{background:transparent;padding:0 0 0 10px}.article{background:var(--panel);border:1px solid var(--line);border-radius:32px;padding:clamp(22px,4vw,48px);box-shadow:var(--shadow)}.article .cover{width:100%;max-height:420px;object-fit:cover;border-radius:24px}.content img,.content video,.content audio{display:block;margin:24px auto;border-radius:18px}.content audio{width:100%}progress{width:100%;height:18px;border:0;border-radius:99px;overflow:hidden;display:block;margin-top:12px}.form.card{padding:24px}.form.card label{padding:0 2px}input,textarea,select{box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}footer{text-align:center;color:var(--muted);padding:40px 20px}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{position:static}.grid2{grid-template-columns:1fr}.top{align-items:flex-start;gap:10px;flex-direction:column}nav{flex-wrap:wrap}.panel{padding:18px}}

button.danger:hover,a.danger:hover{background:var(--danger)!important;color:#fff!important;}


/* TileMpa style update v20260429-4 */
.action-edit{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e0ecff;color:var(--brand);padding:8px 13px;font-weight:800;transition:background .18s ease,color .18s ease,transform .18s ease}
.action-edit:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}
.action-delete{border:0;border-radius:999px;background:#fff;color:var(--danger)!important;padding:8px 13px;margin-left:8px;font-weight:800;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.action-delete:hover{background:var(--danger)!important;color:#fff!important;transform:translateY(-1px)}
td .action-edit,td .action-delete{white-space:nowrap}
small.muted{display:block;margin-top:6px}
.hero p{max-width:820px}

/* TileMpaSket update v20260504-1 */
.brand img{width:42px;height:42px;filter:drop-shadow(0 4px 8px rgba(245,158,11,.22))}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;margin:26px auto;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);background:#0f172a}
.video-embed iframe{width:100%;height:100%;border:0;display:block}
.content iframe{max-width:100%;border-radius:18px}
.load-more-wrap{text-align:center;margin:28px 0 10px}.load-more{background:#e0ecff;color:var(--brand);box-shadow:0 10px 26px rgba(37,99,235,.12);transition:transform .18s ease,background .18s ease,color .18s ease}.load-more:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}.load-more[disabled]{opacity:.65;cursor:wait}
.back-to-top{position:fixed;right:22px;bottom:24px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:20;opacity:0;pointer-events:none;transform:translateY(12px) scale(.96);transition:opacity .22s ease,transform .22s ease,background .18s ease;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 14px 34px rgba(37,99,235,.28);font-size:1.35rem;padding:0}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.back-to-top:hover{transform:translateY(-2px) scale(1.03)}
small.muted{max-width:240px}.role-note{font-size:.9rem;color:var(--muted)}
@media(max-width:700px){.back-to-top{right:16px;bottom:18px;width:44px;height:44px}.hero{padding:34px 24px}.brand img{width:38px;height:38px}}

/* TileMpaSket auth/revision update v20260504-2 */
.nav-edit-article{background:#e0ecff;color:var(--brand)}
.nav-edit-article:hover{background:var(--brand);color:#fff}
.google-login{display:inline-flex;align-items:center;justify-content:center;width:100%;border-radius:999px;padding:12px 16px;font-weight:900;background:#fff;color:#1f2937;border:1px solid var(--line);box-shadow:0 10px 24px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.google-login:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(37,99,235,.14);background:#f8fbff}

/* Google auth button update v20260504-3 */
.auth-separator{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--muted);font-weight:800}
.auth-separator:before,.auth-separator:after{content:"";height:1px;background:var(--line);flex:1}.auth-separator span{font-size:.95rem}
.google-auth-wrap{display:flex;justify-content:center;margin:10px 0 24px;min-height:62px}
.google-auth-btn{height:56px;width:56px;max-width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:0;overflow:hidden;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px rgba(15,23,42,.10);color:#1f2937;font-weight:900;white-space:nowrap;transition:width .32s ease,transform .24s ease,box-shadow .24s ease,background .24s ease,padding .32s ease}
.google-auth-btn img{width:32px;height:32px;object-fit:contain;flex:0 0 32px;margin:0 11px;display:block}
.google-auth-btn span{opacity:0;max-width:0;transform:translateX(-8px);transition:opacity .22s ease .08s,max-width .32s ease,transform .22s ease .08s;padding-right:0}
.google-auth-btn:hover,.google-auth-btn:focus-visible{width:260px;transform:translateY(-3px);box-shadow:0 18px 36px rgba(37,99,235,.18);background:#f8fbff;color:#111827}
.google-auth-btn:hover span,.google-auth-btn:focus-visible span{opacity:1;max-width:210px;transform:translateX(0);padding-right:18px}
[data-theme="dark"] .google-auth-btn{background:#fff;color:#111827}
@media(max-width:520px){.google-auth-btn:hover,.google-auth-btn:focus-visible{width:min(260px,92vw)}}

/* Homepage graphic hero banner */
.hero-banner{margin-bottom:26px}
.hero-banner-img{display:block;width:100%;height:auto;border-radius:32px;box-shadow:var(--shadow);object-fit:cover}
.hero-banner-dark{display:none}
[data-theme="dark"] .hero-banner-light{display:none}
[data-theme="dark"] .hero-banner-dark{display:block}
@media(max-width:700px){.hero-banner-img{border-radius:22px;min-height:180px;object-fit:cover;object-position:center}}

/* Article edit/back/search/category update v20260504-5 */
nav{position:relative}.site-search{position:relative;display:inline-flex;align-items:center}.search-trigger{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#e0ecff;color:var(--brand);border:0;border-radius:999px;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.search-trigger:hover,.site-search.is-open .search-trigger{background:var(--brand);transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.18)}.search-trigger img{width:20px;height:20px;display:block}.search-trigger:hover img,.site-search.is-open .search-trigger img{filter:brightness(0) invert(1)}.search-popover{position:absolute;right:0;top:calc(100% + 12px);width:min(460px,86vw);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:14px;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.98);transition:opacity .2s ease,transform .2s ease;z-index:40}.site-search.is-open .search-popover{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.search-popover input{border-radius:999px}.search-suggestions{margin-top:12px;display:grid;gap:8px;max-height:430px;overflow:auto}.search-suggestion{display:grid;gap:2px;padding:11px 12px;border-radius:16px;color:var(--text);transition:background .18s ease,transform .18s ease}.search-suggestion:hover{background:#eaf2ff;transform:translateY(-1px)}[data-theme="dark"] .search-suggestion:hover{background:#22314b}.search-suggestion strong{font-size:.98rem}.search-suggestion span{color:var(--muted);font-size:.86rem}.search-suggestion small{color:var(--muted);font-size:.82rem;line-height:1.35}.search-empty{color:var(--muted);margin:6px 4px;font-size:.92rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-edit-article{background:#e0ecff;color:var(--brand);display:inline-flex;align-items:center}.nav-edit-article:hover{background:var(--brand)!important;color:#fff!important}.article-back{margin:0 0 18px;background:#e0ecff;color:var(--brand);transition:background .18s ease,color .18s ease,transform .18s ease}.article-back:hover{background:var(--brand);color:#fff;transform:translateY(-1px)}.article .meta,.post .meta{display:flex;flex-wrap:wrap;gap:0;align-items:center}.search-results-page h1{margin-top:0}.search-page-form{grid-template-columns:1fr auto;align-items:end}.search-page-form label{margin:0}.search-results{margin-top:18px}label .muted{font-weight:500;font-size:.88em}.form small.muted{max-width:none}.post h2 a{color:var(--text)}.post h2 a:hover{color:var(--brand)}
@media(max-width:800px){.search-popover{left:0;right:auto;width:min(92vw,460px)}.search-page-form{grid-template-columns:1fr}.site-search{order:-1}.top nav{width:100%}}


/* Search icon size/color fix v20260504-6 */
.site-search{position:relative;display:inline-flex;align-items:center;justify-content:center}
.search-trigger{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1;color:var(--brand);overflow:hidden}
.search-icon{width:18px;height:18px;display:block;flex:0 0 18px;background:currentColor;mask:url('../img/search.svg?v=20260504-8') center/contain no-repeat;-webkit-mask:url('../img/search.svg?v=20260504-8') center/contain no-repeat}
.search-trigger:hover,.site-search.is-open .search-trigger{color:#fff}
.search-trigger img{display:none!important;width:0!important;height:0!important}
[data-theme="dark"] .search-trigger{background:#22314b;color:var(--brand)}
@media(max-width:800px){.top nav{align-items:center}.search-trigger{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important}.search-icon{width:17px;height:17px}}


/* Search/form/editor cleanup v20260504-8 */
.fields-aligned{align-items:start}
.field-block{display:grid!important;grid-template-rows:auto 1.35em auto auto;gap:7px;align-content:start}
.field-block .field-title{font-weight:800;line-height:1.25}
.field-block .field-hint{display:block;color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.25;min-height:1.25em}
.field-block input{align-self:start}
.search-suggestion small{word-break:normal;overflow-wrap:anywhere}
.tox-tinymce{min-height:520px!important;border-radius:16px!important;border-color:var(--line)!important}
@media(max-width:800px){.field-block{grid-template-rows:auto auto auto auto}.tox-tinymce{min-height:440px!important}}

/* SEO foundation additions */
.seo-fields{border:1px solid var(--line);border-radius:18px;padding:14px 16px;background:rgba(255,255,255,.55);margin:12px 0 18px}
.seo-fields summary{cursor:pointer;font-weight:800;color:var(--ink);user-select:none}
.seo-fields .grid2{margin-top:14px}
.related-articles{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.related-articles h2{font-size:1.25rem;margin:0 0 14px}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.related-card{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:16px;background:rgba(255,255,255,.72);box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.related-card:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:0 18px 36px rgba(37,99,235,.12)}
.related-card strong{display:block;line-height:1.35;margin-bottom:8px}
.related-card span{display:block;color:var(--muted);font-size:.9rem}
html[data-theme="dark"] .seo-fields,html[data-theme="dark"] .related-card{background:rgba(15,23,42,.72)}
@media(max-width:800px){.related-grid{grid-template-columns:1fr}}

/* Article/related image URL robustness + card polish v20260505-1 */
.article .cover{
  display:block;
  width:100%;
  max-height:420px;
  object-fit:cover;
  border-radius:24px;
  margin:0 0 24px;
}
.article-back{
  display:inline-flex;
  align-items:center;
  width:auto;
}
.related-grid{
  align-items:stretch;
}
.related-card{
  display:flex!important;
  flex-direction:column;
  overflow:hidden;
  padding:0!important;
  min-height:100%;
}
.related-thumb{
  display:block;
  width:100%;
  height:132px;
  object-fit:cover;
  border-radius:16px;
  margin:10px 10px 0;
  width:calc(100% - 20px);
}
.related-card-body{
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:12px 16px 16px;
  flex:1;
}
.related-card strong{
  font-size:1.02rem;
  font-weight:900;
  color:var(--text);
  margin:0!important;
}
.related-card span{
  color:var(--muted);
  font-size:.88rem;
}
.related-card em{
  margin-top:auto;
  font-style:normal;
  font-weight:900;
  color:var(--brand);
  font-size:.9rem;
}
[data-theme="dark"] .related-card strong{color:var(--text)}
@media(max-width:800px){
  .related-thumb{height:170px}
}

/* Stats/auth/SEO role patch v20260505-2 */
.google-auth-btn{width:auto!important;min-width:56px;max-width:56px;justify-content:flex-start}
.google-auth-btn:hover,.google-auth-btn:focus-visible{width:auto!important;max-width:280px;padding-right:4px}
.google-auth-btn:hover span,.google-auth-btn:focus-visible span{max-width:220px;padding-right:12px}
.stats-grid{display:grid;gap:16px;margin:18px 0}.stats-grid.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stats-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.stat-panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.stat-card{padding:18px;display:grid;gap:6px}.stat-card span{color:var(--muted);font-weight:800;font-size:.92rem}.stat-card strong{font-size:2rem;line-height:1;color:var(--text)}.stat-card em{font-style:normal;color:var(--muted);font-size:.86rem}.stat-panel{padding:20px;margin:18px 0}.stat-panel h2{margin:0 0 14px;font-size:1.15rem}.stat-bars{display:grid;gap:12px}.stat-bar-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:6px}.stat-bar-head span{font-weight:800;overflow:hidden;text-overflow:ellipsis}.stat-bar-head b{color:var(--brand)}.stat-bar-track{height:12px;background:#e0ecff;border-radius:999px;overflow:hidden}.stat-bar-track.big{height:18px;margin-top:10px}.stat-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,var(--brand),var(--brand2))}.mini-table{overflow:auto}.mini-table table{border-spacing:0;width:100%}.mini-table th,.mini-table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.mini-table tr{background:transparent}.mini-table td:first-child,.mini-table td:last-child{border-radius:0}.storage-stat{display:grid;gap:8px;margin-bottom:16px}.storage-stat strong{font-size:1.8rem;display:block}.storage-stat span{color:var(--muted);font-weight:800}.admin-only-stats{border-color:rgba(37,99,235,.35)}
[data-theme="dark"] .stat-bar-track{background:#22314b}
@media(max-width:900px){.stats-grid.two{grid-template-columns:1fr}.stat-card strong{font-size:1.6rem}}

/* Self-hosted analytics dashboard v20260505-3 */
.stats-section-title{
  margin:34px 0 10px;
  font-size:1.35rem;
  letter-spacing:-.02em;
}
.stats-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.analytics-cards .stat-card{
  position:relative;
  overflow:hidden;
}
.analytics-cards .stat-card::after{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-30px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(139,92,246,.10));
}
.stat-panel .mini-table td:first-child{
  font-weight:800;
}
.stat-panel .mini-table td{
  max-width:340px;
}
.stat-panel .mini-table td:first-child{
  word-break:break-word;
}
@media(max-width:1100px){.stats-grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.stats-grid.three{grid-template-columns:1fr}}

.checkline{display:flex!important;align-items:center;gap:10px;margin:10px 0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(37,99,235,.04)}
.checkline input{width:auto!important;margin:0;accent-color:var(--brand)}
.checkline span{font-weight:800;color:var(--text)}
.small-note{font-size:.92rem;margin-top:-4px}
