/* KuaiQiFu theme - default: light (white bg, black-gray content, red accent); dark: html[data-theme="dark"] */
:root{
  color-scheme:light;
  --header-bg:rgba(255,255,255,.88);
  --header-border:rgba(17,17,22,.09);
  --header-bg2:rgba(255,255,255,.92);
  --ghost-bg:rgba(17,17,22,.035);
  --ghost-hover-fg:#c11721;
  --brand-glow:rgba(226,31,42,.16);
  --card-shadow:0 12px 28px rgba(17,17,22,.06);
  --card-hover-shadow:0 16px 38px rgba(226,31,42,.16);
  --panel-shadow:0 1px 2px rgba(17,17,22,.04);
  --cta-shadow:0 24px 60px rgba(17,17,22,.07);
  --cut-corner:#ffffff;
  --hero-aura:rgba(226,31,42,.10);
  --scheme:light;
  --cube-aura:#e26b61;--cube-aura-op:.18;--cube-orbit:#b9b9c2;--cube-orbit2:#b9b9c2;--cube-shell:#6a6a74;--cube-shell-op:.30;--cube-shell-line:#9a9aa5;--cube-shell-line-op:.18;--cube-front:#f2f2f5;--cube-right:#e3e3e9;--cube-left:#e9e9ee;--cube-edge:#d2d2d8;--cube-face:#55555e;--cube-face-op:.20;--cube-link:#9a9aa3;--cube-label:#9a9aa3;--cube-top1:#ff8f87;--cube-top2:#e63a40;--cube-top3:#c11c24;--cube-glass:#d8d8de;--cube-glass-op:.5;--cube-glass2:#c8c8d2;--cube-glass2-op:.10;--cube-topedge:#ffd9db;--cube-inner:#f38a92;--cube-inner-op:.45
}
html{color-scheme:light}
body{background:var(--bg)}
::selection{background:#e21f2a;color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#f4f5f7}
::-webkit-scrollbar-thumb{background:#d2d2d8;border-radius:6px;border:2px solid #f4f5f7}
::-webkit-scrollbar-thumb:hover{background:#e21f2a}

button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--accent)}
input:focus,select:focus,textarea:focus{outline-color:var(--accent)}
.brand img.brand-logo{width:49px;height:36px;object-fit:contain;filter:none;flex-shrink:0}

/* theme toggle */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font-size:15px;line-height:1;flex-shrink:0;transition:border-color .2s,color .2s,background .2s;padding:0}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
.theme-toggle .ti-sun{display:none}
.theme-toggle .ti-moon{display:inline-block}
@media(max-width:760px){.theme-toggle{width:32px;height:32px;font-size:14px}}

/* primary button: red with cut corner from the logo geometry */
.skip-link{color:#fff}
.btn.primary{background:#e21f2a;border-color:#e21f2a;color:#fff;padding-right:34px;isolation:isolate}
.btn.primary:hover{background:#d11b26;border-color:#d11b26;transform:translateY(-2px)}
.btn.primary:before{content:"";position:absolute;right:-1px;top:-1px;width:30px;height:calc(100% + 2px);background:var(--cut-corner);clip-path:polygon(0 0,100% 0,100% 100%);z-index:-1;transition:width .25s}
.btn.primary:hover:before{width:58px}
.btn.primary>span{position:relative;z-index:1}
.btn.small.primary{padding-right:24px}
.btn.small.primary:before{width:22px}
.btn.small.primary:hover:before{width:40px}
.pill-tabs a.active{color:#fff}
.service-card:hover .circle-arrow{color:#fff}
.milestone.done .milestone-number{color:#fff}

/* ghost / dark buttons */
.btn.ghost{background:var(--ghost-bg);border-color:#d3d3da;color:var(--text)}
.btn.ghost:hover{background:rgba(226,31,42,.08);border-color:#e21f2a;color:var(--ghost-hover-fg)}
.btn.dark{background:#fff;color:#151519;border-color:#e5e5ea;box-shadow:0 1px 2px rgba(17,17,22,.05)}
.btn.dark:hover{background:#c1131d;border-color:#c1131d;color:#fff}

/* light glass header */
.site-header{background:var(--header-bg);border-bottom-color:var(--header-border)}
.app-header{background:var(--header-bg2)}
.brand small{color:#8a8a93}

/* hero red aura */
.hero:before{content:"";position:absolute;right:-20px;top:60px;width:540px;height:520px;background:radial-gradient(ellipse,var(--hero-aura),transparent 68%);z-index:-1;pointer-events:none}

/* light elevation */
.service-card{box-shadow:var(--card-shadow)}
.service-card:hover{border-color:#e21f2a;box-shadow:var(--card-hover-shadow)}
.stat-card{box-shadow:var(--panel-shadow)}
.stat-card:hover{border-color:#f0b2b6}
.panel{box-shadow:var(--panel-shadow)}
.post-card{box-shadow:var(--card-shadow)}
.auth-card{box-shadow:0 24px 60px rgba(17,17,22,.10)}
.welcome-banner{box-shadow:var(--panel-shadow)}
.digital-section{box-shadow:var(--panel-shadow)}
.scenario-tabs{background:#fafafc}

/* CTA panel */
.cta-section{background:linear-gradient(135deg,#ffffff,#f6f6f9);border:1px solid #e8e8ed;color:#151519;box-shadow:var(--cta-shadow)}
.cta-section .eyebrow{color:#e21f2a}
.cta-section h2{color:#151519}
.cta-section h2>span{color:#e21f2a}
.cta-bottom p{color:#6a6a74}
.cta-section .btn.dark{background:#e21f2a;border-color:#e21f2a;color:#fff}
.cta-section .btn.dark:hover{background:#d11b26;border-color:#d11b26;color:#fff}
.cta-orbit{border-color:rgba(226,31,42,.25)}

/* welcome banner, progress, active nav */
.welcome-banner{background:linear-gradient(110deg,#fff5f5,#ffffff);border-color:#f3b9be}
.progress-track>span{background:linear-gradient(90deg,#f52733,#e21f2a)}
.sidebar>a.active{color:#d41a25}
.table-title:hover{color:#d41a25}
.text-link:hover{color:#c11721}

@media(max-width:760px){.hero:before{right:0;width:100%;top:300px;height:380px}}

/* ===================== DARK MODE ===================== */
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0b0b0e;--surface:#141419;--surface2:#1a1a20;--line:#2a2a32;
  --text:#f2f2f4;--muted:#91919b;--accent:#e21f2a;--accent2:#ff5a63;--dark:#101014;--scheme:dark;
  --header-bg:rgba(11,11,14,.85);
  --header-border:rgba(255,255,255,.07);
  --header-bg2:rgba(12,12,16,.86);
  --ghost-bg:rgba(255,255,255,.02);
  --ghost-hover-fg:#fff;
  --brand-glow:rgba(226,31,42,.28);
  --card-shadow:none;
  --card-hover-shadow:0 14px 34px rgba(226,31,42,.10);
  --panel-shadow:none;
  --cta-shadow:none;
  --cut-corner:#0b0b0e;
  --hero-aura:rgba(226,31,42,.13);
  --cube-aura:#e26b61;--cube-aura-op:.23;--cube-orbit:#5a5a64;--cube-orbit2:#8e8e97;--cube-shell:#6a6a74;--cube-shell-op:.5;--cube-shell-line:#9a9aa5;--cube-shell-line-op:.35;--cube-front:#16161b;--cube-right:#33333e;--cube-left:#24242d;--cube-edge:#5a3a3c;--cube-face:#5a5a64;--cube-face-op:.35;--cube-link:#4a4a54;--cube-label:#8c8c96;--cube-top1:#ffb1a8;--cube-top2:#e34d42;--cube-top3:#b92722;--cube-glass:#c5bfc4;--cube-glass-op:.25;--cube-glass2:#c8c8d2;--cube-glass2-op:.03;--cube-topedge:#fff8f7;--cube-inner:#ffb1a8;--cube-inner-op:.3
  --v08080b:#08080b;--v0b0b0e:#0b0b0e;--v0c0c10:#0c0c10;--v0d0d10:#0d0d10;--v0d0d11:#0d0d11;--v101014:#101014;--v121216:#121216;--v121218:#121218;--v141419:#141419;--v16161b:#16161b;--v16161c:#16161c;--v16161d:#16161d;--v17171c:#17171c;--v17171d:#17171d;--v18181f:#18181f;--v19191f:#19191f;--v1a1416:#1a1416;--v1a1a20:#1a1a20;--v1a1a21:#1a1a21;--v1b1b21:#1b1b21;--v1c1c22:#1c1c22;--v1d1517:#1d1517;--v1d1d23:#1d1d23;--v1f1f26:#1f1f26;--v221f14:#221f14;--v22222a:#22222a;--v23232a:#23232a;--v241d17:#241d17;--v24242c:#24242c;--v24242d:#24242d;--v25252c:#25252c;--v26262d:#26262d;--v27272f:#27272f;--v2a1416:#2a1416;--v2a2a30:#2a2a30;--v2a2a32:#2a2a32;--v2b2b34:#2b2b34;--v2c2514:#2c2514;--v2c2c34:#2c2c34;--v2d2d36:#2d2d36;--v2e2118:#2e2118;--v2e2e36:#2e2e36;--v2f2f38:#2f2f38;--v31313a:#31313a;--v33333b:#33333b;--v33333c:#33333c;--v33333e:#33333e;--v34343e:#34343e;--v38383f:#38383f;--v3a0c10:#3a0c10;--v3a1f24:#3a1f24;--v3a262a:#3a262a;--v3a3a42:#3a3a42;--v3a3a44:#3a3a44;--v3d3d48:#3d3d48;--v44444e:#44444e;--v4a2a30:#4a2a30;--v4a4a54:#4a4a54;--v4a4a55:#4a4a55;--v4d2a2e:#4d2a2e;--v4d4528:#4d4528;--v4d4d58:#4d4d58;--v52525b:#52525b;--v54545e:#54545e;--v55555f:#55555f;--v575761:#575761;--v585863:#585863;--v595964:#595964;--v5a262c:#5a262c;--v5a2a30:#5a2a30;--v5a3a3c:#5a3a3c;--v5a4030:#5a4030;--v5a4a26:#5a4a26;--v5a5a64:#5a5a64;--v5a5a65:#5a5a65;--v5c5c67:#5c5c67;--v5d5d68:#5d5d68;--v5e5e69:#5e5e69;--v63421f:#63421f;--v663034:#663034;--v66666f:#66666f;--v666670:#666670;--v666671:#666671;--v6a6a74:#6a6a74;--v6b6b75:#6b6b75;--v6b6b76:#6b6b76;--v6c6c77:#6c6c77;--v73737e:#73737e;--v777781:#777781;--v787883:#787883;--v7a2a30:#7a2a30;--v7a7a85:#7a7a85;--v7c7c87:#7c7c87;--v7d7d88:#7d7d88;--v7e7e89:#7e7e89;--v888893:#888893;--v8a1f26:#8a1f26;--v8a3a40:#8a3a40;--v8a8a94:#8a8a94;--v8a8a95:#8a8a95;--v8b8b94:#8b8b94;--v8c8c96:#8c8c96;--v8c8c97:#8c8c97;--v8e8e97:#8e8e97;--v8e8e99:#8e8e99;--v8f8f99:#8f8f99;--v90909b:#90909b;--v91919b:#91919b;--v92929d:#92929d;--v9696a0:#9696a0;--v9898a2:#9898a2;--v9999a4:#9999a4;--v9a9aa5:#9a9aa5;--v9b9ba5:#9b9ba5;--va1a1ab:#a1a1ab;--va3a3ad:#a3a3ad;--va52a30:#a52a30;--va6a6b0:#a6a6b0;--va8161f:#a8161f;--va8a8b3:#a8a8b3;--va9a9b3:#a9a9b3;--vb5b5bf:#b5b5bf;--vb81e26:#b81e26;--vb92722:#b92722;--vb9b9c2:#b9b9c2;--vc23038:#c23038;--vc2c2ca:#c2c2ca;--vc4c4cb:#c4c4cb;--vc4c4cc:#c4c4cc;--vc5bfc4:#c5bfc4;--vc8c8d0:#c8c8d0;--vc8c8d2:#c8c8d2;--vc9b887:#c9b887;--vd2d2d8:#d2d2d8;--vd3d3d8:#d3d3d8;--vd6d6dc:#d6d6dc;--vd9c58e:#d9c58e;--vdcdce0:#dcdce0;--ve21f2a:#e21f2a;--ve26b61:#e26b61;--ve34d42:#e34d42;--ve4838a:#e4838a;--ve4e4e8:#e4e4e8;--ve59097:#e59097;--ve5a879:#e5a879;--ve6c786:#e6c786;--ve6e6ea:#e6e6ea;--ve8e8ea:#e8e8ea;--vececf0:#ececf0;--veda8ad:#eda8ad;--vf0a1a6:#f0a1a6;--vf0a8a8:#f0a8a8;--vf2f2f4:#f2f2f4;--vf3f3f5:#f3f3f5;--vf4f4f6:#f4f4f6;--vf52733:#f52733;--vff2f3b:#ff2f3b;--vff4a55:#ff4a55;--vff5a63:#ff5a63;--vffb1a8:#ffb1a8;--vfff6f4:#fff6f4;--vfff8f7:#fff8f7;--v0b0b0eeb:#0b0b0eeb;--v0c0c10f5:#0c0c10f5;--v141419ee:#141419ee;--v16161bd9:#16161bd9;--v26262db0:#26262db0;--ve21f2a0a:#e21f2a0a;--ve21f2a10:#e21f2a10;--ve21f2a12:#e21f2a12;--ve21f2a14:#e21f2a14;--ve21f2a18:#e21f2a18;--ve21f2a1a:#e21f2a1a;--ve21f2a26:#e21f2a26;--ve21f2a40:#e21f2a40;--vffffff08:#ffffff08;--v0002:#0002;--v0003:#0003;--vfff4:#fff4
}
html[data-theme="dark"] .ti-sun{display:inline-block}
html[data-theme="dark"] .ti-moon{display:none}
html[data-theme="dark"] ::-webkit-scrollbar-track{background:#0b0b0e}
html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#2e2e36;border-color:#0b0b0e}
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover{background:#5a2a30}
html[data-theme="dark"] .btn.primary:hover{background:#f52733;border-color:#f52733}
html[data-theme="dark"] .btn.ghost{border-color:#33333c;color:#e6e6ea}
html[data-theme="dark"] .btn.dark{background:#17171c;color:#f4f4f6;border-color:#2a2a32;box-shadow:none}
html[data-theme="dark"] .btn.dark:hover{background:#a8161f;border-color:#a8161f;color:#fff}
html[data-theme="dark"] .brand small{color:#8b8b94}
html[data-theme="dark"] .service-card:hover{border-color:#a52a30;box-shadow:0 14px 34px rgba(226,31,42,.10)}
html[data-theme="dark"] .stat-card:hover{border-color:#7a2a30}
html[data-theme="dark"] .auth-card{box-shadow:0 30px 100px rgba(0,0,0,.2)}
html[data-theme="dark"] .scenario-tabs{background:#101014}
html[data-theme="dark"] .cta-section{background:linear-gradient(135deg,#19191f,#101014);border-color:#2a2a32;color:#f2f2f4}
html[data-theme="dark"] .cta-section h2{color:#f2f2f4}
html[data-theme="dark"] .cta-bottom p{color:#91919b}
html[data-theme="dark"] .cta-section .btn.dark{background:#e21f2a;border-color:#e21f2a;color:#fff}
html[data-theme="dark"] .cta-section .btn.dark:hover{background:#f52733;border-color:#f52733;color:#fff}
html[data-theme="dark"] .welcome-banner{background:linear-gradient(110deg,#1d1517,#141419);border-color:#3a262a}
html[data-theme="dark"] .progress-track>span{background:linear-gradient(90deg,#8a1f26,#e21f2a)}
html[data-theme="dark"] .sidebar>a.active{color:#ff5a63}
html[data-theme="dark"] .table-title:hover{color:#ff5a63}
html[data-theme="dark"] .text-link:hover{color:#ff4a55}

/* Light-theme actions: black at rest, brand red on interaction or selection. */
html:not([data-theme="dark"]) .btn,
html:not([data-theme="dark"]) .btn:is(.primary,.ghost,.dark){
  background:#17171c;border-color:#17171c;color:#fff;
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
html:not([data-theme="dark"]) .btn:is(:hover,:focus-visible,:active,.active,[aria-pressed="true"],[aria-selected="true"],[aria-current="page"]){
  background:#e21f2a;border-color:#e21f2a;color:#fff;
}
html:not([data-theme="dark"]) .circle-arrow{
  background:#17171c;border-color:#17171c;color:#fff;
}
html:not([data-theme="dark"]) .service-card:is(:hover,:focus-visible,:active,.active,[aria-selected="true"]) .circle-arrow,
html:not([data-theme="dark"]) .project-list-item:is(:hover,:focus-visible,:active) .circle-arrow{
  background:#e21f2a;border-color:#e21f2a;color:#fff;
}
html:not([data-theme="dark"]) .pill-tabs a{
  background:#17171c;border-color:#17171c;color:#fff;
}
html:not([data-theme="dark"]) .pill-tabs a:is(:hover,:focus-visible,.active,[aria-selected="true"]){
  background:#e21f2a;border-color:#e21f2a;color:#fff;
}
html:not([data-theme="dark"]) .scenario-tabs button{
  background:#17171c;color:#fff;border-color:#35353e;
  transition:background .2s,border-color .2s,color .2s;
}
html:not([data-theme="dark"]) .scenario-tabs button span{color:inherit}
html:not([data-theme="dark"]) .scenario-tabs button:is(:hover,:focus-visible,[aria-selected="true"]){
  background:#e21f2a;border-color:#e21f2a;color:#fff;
}
html:not([data-theme="dark"]) :is(.theme-toggle,.menu-toggle){
  background:#17171c;border-color:#17171c;color:#fff;
}
html:not([data-theme="dark"]) :is(.theme-toggle,.menu-toggle):is(:hover,:focus-visible,[aria-expanded="true"]){
  background:#e21f2a;border-color:#e21f2a;color:#fff;
}
@media(max-width:760px){.brand img.brand-logo,.app-header .brand img.brand-logo{width:42px;height:31px}}
@media(max-width:380px){
  .site-header{padding-left:12px;padding-right:12px;gap:8px}
  .brand img.brand-logo,.app-header .brand img.brand-logo{width:36px;height:27px}
  .site-header .brand small{display:none}
  .site-header .brand{gap:7px}
  .site-header .header-actions{gap:7px}
  .theme-toggle{width:28px;height:28px}
  .menu-toggle{padding:0 7px;font-size:20px}
  .site-header .btn.small.primary{padding-right:18px}
  .site-header .btn.small.primary:before{width:17px}
}
