
:root{--ui-pri:#4f46e5;--ui-pri2:#7c3aed;--ui-line:#e6eaf5;--ui-text:#101828;--ui-muted:#667085;--ui-card:#fff}
.ui-btn,button:not(.code-copy):not(.upload-del):not(.reply-btn):not(.comment-like){border:0;border-radius:14px;padding:10px 16px;background:linear-gradient(135deg,var(--ui-pri),var(--ui-pri2));color:#fff;cursor:pointer;font-weight:700;box-shadow:0 12px 26px rgba(79,70,229,.18)}
.ui-btn.ghost,button.ghost,.ghost{background:#fff!important;color:#344054!important;border:1px solid var(--ui-line)!important;box-shadow:none!important}
.ui-card,.card,.userbox{border-radius:24px;border:1px solid var(--ui-line);background:rgba(255,255,255,.96);box-shadow:0 18px 55px rgba(16,24,40,.08)}
.ui-avatar,.top-avatar{object-fit:cover;background:#eef2ff;border:2px solid #fff;box-shadow:0 8px 18px rgba(79,70,229,.18)}
.ui-avatar.round,.top-avatar{border-radius:50%}.ui-toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#101828;color:#fff;padding:14px 22px;border-radius:16px;z-index:9999;box-shadow:0 18px 50px #0004}.ui-modal-mask{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;z-index:9998}.ui-modal{width:min(430px,92vw);background:#fff;border-radius:20px;padding:20px;box-shadow:0 28px 80px #0004}.ui-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}body.dark{background:#0f172a!important;color:#e5e7eb!important}body.dark .card,body.dark .userbox,body.dark .toolbar,body.dark .list,body.dark .ui-card{background:#111827!important;color:#e5e7eb!important;border-color:#334155!important}body.dark input,body.dark select,body.dark textarea{background:#0f172a!important;color:#e5e7eb!important;border-color:#334155!important}

.site-footer{max-width:none!important;width:100%!important;margin:42px 0 0!important;padding:36px 22px!important;text-align:center!important;color:#e5e7eb!important;background:linear-gradient(135deg,#111827,#312e81 68%,#4f46e5)!important;position:relative!important;overflow:hidden!important;box-shadow:0 -18px 55px rgba(16,24,40,.08)!important}.site-footer:before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:260px;border-radius:50%;background:#60a5fa44;filter:blur(12px);pointer-events:none}.site-footer:after{content:"";position:absolute;left:-80px;bottom:-160px;width:360px;height:260px;border-radius:50%;background:#a78bfa55;filter:blur(18px);pointer-events:none}.site-footer-inner{position:relative;z-index:1;max-width:1500px!important;margin:0 auto!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:26px;padding:20px 18px;box-shadow:0 18px 55px rgba(15,23,42,.18);backdrop-filter:blur(14px)}.site-footer a{position:relative;z-index:1;display:inline-flex;margin:6px 10px;color:#fff!important;font-weight:900;text-decoration:none}.site-footer span{position:relative;z-index:1;display:inline-flex;margin:6px 10px;color:#cbd5e1!important}.site-footer a:hover{transform:translateY(-1px)}body.dark .site-footer-inner{background:rgba(15,23,42,.48)!important;border-color:rgba(255,255,255,.16)!important}
.theme-toggle{position:fixed;right:20px;bottom:22px;z-index:9997;border:0;border-radius:999px;padding:11px 16px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:900;box-shadow:0 18px 42px rgba(79,70,229,.28);cursor:pointer;transition:.18s ease}.theme-toggle:hover{transform:translateY(-2px);box-shadow:0 24px 58px rgba(79,70,229,.34)}body.dark .theme-toggle{background:linear-gradient(135deg,#f8fafc,#c7d2fe);color:#111827}

/* front motion polish */
@keyframes uiFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes uiPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.card,.ui-card,.list,.toolbar,.profile-card,.userbox{animation:uiFadeUp .32s ease both;transition:transform .2s ease,box-shadow .2s ease}.card:hover,.ui-card:hover,.userbox:hover{transform:translateY(-2px)}.row{animation:uiFadeUp .26s ease both}.post-title,.quick-nav a,.guest-actions a,.site-footer a{transition:transform .16s ease,color .16s ease,box-shadow .16s ease}.post-title:hover,.quick-nav a:hover,.guest-actions a:hover,.site-footer a:hover{transform:translateY(-1px)}button,.ui-btn{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}button:hover,.ui-btn:hover{transform:translateY(-1px);filter:saturate(1.06)}.toast,.ui-toast{animation:uiPop .18s ease both}.pop-box,.ui-modal{animation:uiFadeUp .2s ease both}.level-dot,.tag{transition:transform .16s ease}.level-node:hover .level-dot,.tag:hover{transform:scale(1.08)}


/* required unified footer readability */
.site-footer{max-width:none!important;width:100%!important;margin:42px 0 0!important;padding:36px 22px!important;text-align:center!important;color:#fff!important;background:linear-gradient(135deg,#111827,#312e81 68%,#4f46e5)!important;position:relative!important;overflow:hidden!important;box-shadow:0 -18px 55px rgba(16,24,40,.10)!important}.site-footer-inner{position:relative!important;z-index:1!important;max-width:1500px!important;margin:0 auto!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:26px!important;padding:20px 22px!important;box-shadow:0 18px 55px rgba(15,23,42,.22)!important;backdrop-filter:blur(14px)!important}.site-footer span,.site-footer a{position:relative!important;z-index:1!important;display:inline-flex!important;margin:7px 12px!important;color:#fff!important;font-weight:900!important;text-decoration:none!important;text-shadow:0 1px 2px rgba(15,23,42,.35)!important}.site-footer .footer-disclaimer{display:block!important;max-width:1100px!important;margin:10px auto 0!important;color:#e0e7ff!important;font-size:13px!important;line-height:1.8!important;font-weight:700!important}.wrap,.inner{max-width:1500px}


/* prevent horizontal overflow globally */
html,body{max-width:100%!important;overflow-x:hidden!important}*,*::before,*::after{box-sizing:border-box!important}.site-footer{box-sizing:border-box!important;left:0!important;right:0!important}.site-footer-inner{box-sizing:border-box!important;width:min(1500px,calc(100vw - 44px))!important;max-width:1500px!important}.hero,.top{box-sizing:border-box!important;max-width:100%!important}.inner,.wrap{box-sizing:border-box!important;width:min(1500px,calc(100vw - 44px))!important;max-width:1500px!important}.public-announcements{box-sizing:border-box!important;width:min(1500px,calc(100vw - 44px))!important;max-width:1500px!important;padding-left:0!important;padding-right:0!important}@media(max-width:520px){.inner,.wrap,.site-footer-inner,.public-announcements{width:calc(100vw - 24px)!important}.site-footer{padding-left:12px!important;padding-right:12px!important}}


/* unified front container width: header/main/announcement/footer use the same x-axis */
:root{--front-container:1500px;--front-gap:44px}.inner,.wrap,.public-announcements,.site-footer-inner{width:min(var(--front-container),calc(100vw - var(--front-gap)))!important;max-width:var(--front-container)!important;margin-left:auto!important;margin-right:auto!important}.wrap,.public-announcements{padding-left:0!important;padding-right:0!important}.site-footer{padding-left:0!important;padding-right:0!important}@media(max-width:520px){:root{--front-gap:24px}.inner,.wrap,.public-announcements,.site-footer-inner{width:calc(100vw - var(--front-gap))!important}}

/* footer alignment and number font */
.site-footer-inner{display:flex!important;align-items:center!important;justify-content:center!important;gap:22px!important;flex-wrap:wrap!important}.site-footer span,.site-footer a{margin:0!important;align-items:center!important;white-space:nowrap!important}.site-footer span:nth-child(3){gap:6px!important}.site-footer .footer-disclaimer{flex-basis:100%!important;text-align:center!important;margin-top:12px!important;white-space:normal!important}.site-footer span,.site-footer a,.meta,.mut,.tag,.pill,.stat b,.posts td,.posts th,.mini-muted,time{font-variant-numeric:tabular-nums!important}.meta,.stat b,.posts td:first-child,.posts td:last-child,.mini-muted,time{font-family:Consolas,"SFMono-Regular","Liberation Mono",Menlo,Monaco,"Microsoft YaHei",monospace!important;font-weight:700!important}

/* stronger numeric mono font for front badges */
#uid,#level,#points,#postCount,#loginCount,#levelNum,#streak,#nextNeed,.pill,.level-node,.level-tip,.level-label,.leader-rank,.checkin-day,.stat b,.profile-card .pill,.profile-card .meta span{font-family:Consolas,"SFMono-Regular","Liberation Mono",Menlo,Monaco,"Microsoft YaHei",monospace!important;font-variant-numeric:tabular-nums!important;font-weight:800!important;letter-spacing:.02em!important}
