:root{--kat-navy:#031A48;--kat-navy-dark:#021233;--kat-midnight:#07132B;--kat-blue:#0052FF;--kat-blue-hover:#0043D4;--kat-azure:#0088FF;--kat-cyan:#00D2FF;--kat-cyan-light:#E0F7FE;--kat-emerald:#10B981;--kat-emerald-light:#ECFDF5;--kat-bg:#FFFFFF;--kat-surface-ice:#F4F8FD;--kat-surface-soft:#EBF3FC;--kat-surface-card:#FFFFFF;--kat-surface-dark:#05183D;--kat-surface-dark-card:#082154;--kat-text-main:#0B192C;--kat-text-heading:#031A48;--kat-text-muted:#52657D;--kat-text-subtle:#7E92A9;--kat-text-white:#FFFFFF;--kat-border-subtle:#E2ECF6;--kat-border-strong:#BCD6EE;--kat-border-card:rgba(0,82,255,0.08);--kat-border-dark:rgba(255,255,255,0.12);--kat-shadow-xs:0 1px 2px rgba(3,26,72,0.04);--kat-shadow-sm:0 2px 8px rgba(3,26,72,0.06);--kat-shadow-md:0 8px 24px rgba(3,26,72,0.08);--kat-shadow-lg:0 16px 40px rgba(3,26,72,0.12);--kat-shadow-xl:0 24px 60px rgba(3,26,72,0.15);--kat-shadow-glow:0 0 35px rgba(0,210,255,0.35);--kat-shadow-btn:0 4px 16px rgba(0,82,255,0.3);--radius-xs:6px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-pill:9999px;--grad-hero:radial-gradient(130% 120% at 50% 0%,#E5F2FF 0%,#F5F9FD 55%,#FFFFFF 100%);--grad-primary:linear-gradient(135deg,#0052FF 0%,#0088FF 60%,#00D2FF 100%);--grad-card-dark:linear-gradient(145deg,#051A44 0%,#092667 100%);--grad-glow-line:linear-gradient(90deg,rgba(0,210,255,0) 0%,rgba(0,210,255,0.8) 50%,rgba(0,210,255,0) 100%);--trans-fast:0.18s cubic-bezier(0.16,1,0.3,1);--trans-base:0.28s cubic-bezier(0.16,1,0.3,1);--trans-smooth:0.45s cubic-bezier(0.16,1,0.3,1);--font-main:-apple-system,BlinkMacSystemFont,'Plus Jakarta Sans','Inter','PingFang SC','Microsoft YaHei',sans-serif}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-main);font-size:16px;line-height:1.6;color:var(--kat-text-main);background-color:var(--kat-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}img,svg,picture,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none;transition:color var(--trans-fast)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}ul,ol{list-style:none}.skip-link{position:absolute;top:-9999px;left:50%;transform:translateX(-50%);background:var(--kat-navy);color:#fff;padding:12px 24px;border-radius:var(--radius-sm);z-index:99999;font-weight:600;text-decoration:none}.skip-link:focus{top:16px}.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:24px}.container--narrow{max-width:920px}.container--wide{max-width:1360px}.py-section{padding-block:80px}@media (min-width:992px){.py-section{padding-block:104px}}.badge-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:#FFFFFF;border:1px solid var(--kat-border-strong);border-radius:var(--radius-pill);font-size:0.8125rem;font-weight:700;letter-spacing:0.04em;color:var(--kat-blue);box-shadow:var(--kat-shadow-xs);text-transform:uppercase}.badge-pill--dark{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.16);color:var(--kat-cyan)}.badge-pill--emerald{background:var(--kat-emerald-light);border-color:rgba(16,185,129,0.25);color:#065F46}.badge-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse-dot 2s infinite ease-in-out}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.85)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:0.9375rem;font-weight:600;border-radius:var(--radius-sm);transition:all var(--trans-base);position:relative;overflow:hidden;white-space:nowrap}.btn-primary{background:var(--grad-primary);color:#FFFFFF;box-shadow:var(--kat-shadow-btn)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,82,255,0.4);color:#FFFFFF}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#FFFFFF;color:var(--kat-navy);border:1px solid var(--kat-border-strong);box-shadow:var(--kat-shadow-xs)}.btn-secondary:hover{background:var(--kat-surface-ice);border-color:var(--kat-blue);color:var(--kat-blue);transform:translateY(-2px)}.btn-dark{background:var(--kat-navy);color:#FFFFFF;box-shadow:0 4px 16px rgba(3,26,72,0.2)}.btn-dark:hover{background:var(--kat-navy-dark);box-shadow:0 8px 24px rgba(3,26,72,0.35);color:var(--kat-cyan);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--kat-blue);padding:10px 18px}.btn-ghost:hover{background:rgba(0,82,255,0.06)}.btn-arrow{display:inline-block;transition:transform var(--trans-fast)}.btn:hover .btn-arrow{transform:translateX(4px)}.kat-breadcrumbs{padding-block:16px;background:var(--kat-surface-ice);border-bottom:1px solid var(--kat-border-subtle);font-size:0.875rem}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--kat-text-muted)}.breadcrumb-separator{color:var(--kat-text-subtle);opacity:0.6}.breadcrumb-item--active{color:var(--kat-navy);font-weight:600}:focus-visible{outline:2px solid var(--kat-blue);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}.btn:focus-visible{outline:2px solid var(--kat-blue);outline-offset:3px;box-shadow:0 0 0 4px rgba(0,82,255,0.2)}.btn-primary:focus-visible{outline-color:#FFFFFF}.nav-link:focus-visible,.mega-link-item:focus-visible{background:var(--kat-surface-ice);outline:2px solid var(--kat-blue)}.filter-tab-btn:focus-visible{outline:2px solid var(--kat-blue);outline-offset:2px}.bento-card:focus-visible,.juris-item-card:focus-visible,.blog-card-item:focus-visible,.search-result-item:focus-visible{outline:2px solid var(--kat-blue);outline-offset:2px;box-shadow:var(--kat-shadow-md)}.quick-chip-item:focus-visible{border-color:var(--kat-blue);outline:2px solid var(--kat-blue);outline-offset:2px}.hero-search-input:focus-visible,.search-modal-input:focus-visible{outline:none}.toc-link:focus-visible{color:var(--kat-blue);outline:2px solid var(--kat-blue);outline-offset:2px}.footer-link:focus-visible{color:var(--kat-cyan);outline:2px solid var(--kat-cyan);outline-offset:2px}.mobile-nav-link:focus-visible{outline:2px solid var(--kat-blue);outline-offset:4px}