:root{
  --page-bg:#050b14;
  --surface-1:#0a1320;
  --surface-2:#0f1b2b;
  --surface-3:#142237;
  --border:#23364e;
  --border-active:#38bdf8;
  --text-primary:#f5f8ff;
  --text-secondary:#b7c4d8;
  --text-muted:#7f90aa;
  --accent:#19b8ff;
  --accent-hover:#4ac8ff;
  --success:#34d399;
  --warning:#fbbf24;
  --danger:#fb7185;
  --navbar-height:64px;
  --sidebar-width:250px;
  --content-max-width:1480px;
  --radius-small:8px;
  --radius-medium:14px;
  --shadow-soft:0 18px 48px rgba(0,0,0,.24);
  --transition-fast:160ms ease;
  --transition-normal:240ms ease;
}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--page-bg);color:var(--text-primary)}
.main-content{min-width:0}
.main-content>*{min-width:0}
img{max-width:100%}
button,a,input,select,textarea{font:inherit}
button,a{transition:transform var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}
button:hover,a:hover{transform:translateY(-1px)}
button:active,a:active{transform:translateY(0)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.core-page{width:min(var(--content-max-width),calc(100% - 40px));margin:26px auto 56px;min-width:0;animation:corePageIn .38s ease both}
.core-panel{background:linear-gradient(180deg,rgba(15,27,43,.98),rgba(8,17,29,.98));border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-soft);min-width:0}
.core-heading{font-size:clamp(1.7rem,3vw,3rem);line-height:1.05;margin:0;overflow-wrap:anywhere}
.core-subtitle{color:var(--text-secondary);line-height:1.65;overflow-wrap:anywhere}
.core-kicker{display:inline-flex;align-items:center;gap:8px;color:#7dd3fc;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}
.core-grid{display:grid;gap:16px;min-width:0}
.core-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);text-decoration:none;font-weight:800;cursor:pointer;white-space:normal;text-align:center}
.core-button:hover{border-color:#3f5f81;background:#17283e}
.core-button.primary{background:linear-gradient(135deg,#0ea5e9,#22d3ee);color:#04101a;border-color:transparent}
.core-button.danger{background:#3a1520;border-color:#7f1d2d;color:#fecdd3}
.core-button.ghost{background:transparent}
.core-button.small{min-height:36px;padding:8px 12px;font-size:.86rem}
.core-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto}
.core-chip-row{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.core-chip{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:#101d2e;color:var(--text-secondary);font-size:.83rem;font-weight:700;overflow-wrap:anywhere}
.core-empty{padding:28px;text-align:center;border:1px dashed #2d4766;border-radius:12px;color:var(--text-muted);background:rgba(12,24,39,.7)}
.core-toast-stack{position:fixed;right:20px;bottom:20px;z-index:10000;display:grid;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.core-toast{pointer-events:auto;background:#0b1727;border:1px solid #2d4766;border-radius:12px;padding:13px 15px;box-shadow:0 18px 42px rgba(0,0,0,.35);animation:toastIn .24s ease both;color:var(--text-primary)}
.core-toast.success{border-color:rgba(52,211,153,.5)}
.core-toast.error{border-color:rgba(251,113,133,.55)}
.core-toast.hide{animation:toastOut .2s ease both}
.core-modal-backdrop{position:fixed;inset:0;background:rgba(2,7,14,.76);backdrop-filter:blur(4px);z-index:9990;display:grid;place-items:center;padding:20px;animation:modalFade .22s ease both}
.core-modal{width:min(560px,100%);background:#0b1727;border:1px solid var(--border);border-radius:16px;box-shadow:0 26px 80px rgba(0,0,0,.46);padding:20px;animation:modalScale .24s ease both}
.core-skeleton{position:relative;overflow:hidden;background:#142236;border-radius:8px;min-height:16px}
.core-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:skeletonShimmer 1.3s linear infinite}
.ai-chatbox-shell,.ai-chat-toggle{z-index:8000}
body[data-endpoint="account"] .ai-chatbox-shell,body[data-endpoint="public_profile"] .ai-chatbox-shell{bottom:92px!important;right:24px!important}
body[data-endpoint="login"] .ai-chatbox-shell,body[data-endpoint="admin_login"] .ai-chatbox-shell{display:none!important}
@keyframes corePageIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px)}}
@keyframes modalFade{from{opacity:0}to{opacity:1}}
@keyframes modalScale{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes skeletonShimmer{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
