body.theme-b{
background:
radial-gradient(58vw 58vw at 8% -8%, rgba(21,101,192,.14), transparent 60%),
radial-gradient(50vw 50vw at 96% 6%, rgba(106,76,201,.13), transparent 60%),
radial-gradient(46vw 46vw at 50% 116%, rgba(46,127,50,.10), transparent 60%),
radial-gradient(40vw 40vw at 100% 100%, rgba(230,81,0,.08), transparent 60%),
linear-gradient(160deg,#f8fbff 0%,#eef6f1 55%,#f4f1fb 100%);
}
body.theme-b::after{
content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.04;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.deco-fx{position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.deco-fx .fx{display:none; position:absolute;}
.deco-orb .fx-orb{display:block; border-radius:50%; box-shadow:0 8px 24px rgba(0,0,0,.08); animation:floaty 6s ease-in-out infinite;}
.deco-orb .o1{width:120px;height:120px; right:6%; top:90px; background:radial-gradient(circle at 35% 30%,#42a5f5,#1565C0); animation-delay:0s;}
.deco-orb .o2{width:64px;height:64px; right:22%; top:170px; background:radial-gradient(circle at 35% 30%,#9575cd,#6a4cc9); animation-delay:.8s;}
.deco-orb .o3{width:40px;height:40px; left:8%; top:240px; background:radial-gradient(circle at 35% 30%,#66bb6a,#2e7d32); animation-delay:1.6s;}
.deco-orb .o4{width:28px;height:28px; right:14%; top:60px; background:radial-gradient(circle at 35% 30%,#ffb74d,#E65100); animation-delay:2.2s;}
.deco-orb .o5{width:18px;height:18px; left:30%; top:120px; background:radial-gradient(circle at 35% 30%,#4fc3f7,#0288d1); animation-delay:3s;}
.deco-mesh .fx-mesh{display:block; border-radius:50%; filter:blur(70px); opacity:.5; animation:drift 18s ease-in-out infinite;}
.deco-mesh .m1{width:46vw;height:46vw; right:-8vw; top:-10vw; background:radial-gradient(circle,#1565C0,transparent 70%); animation-delay:0s;}
.deco-mesh .m2{width:40vw;height:40vw; left:-10vw; top:30vh; background:radial-gradient(circle,#6a4cc9,transparent 70%); animation-delay:-4s;}
.deco-mesh .m3{width:38vw;height:38vw; right:10vw; bottom:-12vw; background:radial-gradient(circle,#2e7d32,transparent 70%); animation-delay:-8s;}
.deco-mesh .m4{width:30vw;height:30vw; left:30vw; bottom:-6vw; background:radial-gradient(circle,#E65100,transparent 70%); opacity:.35; animation-delay:-12s;}
.deco-particle .fx-star{display:block; position:absolute; inset:0; opacity:.55;
background-image:
radial-gradient(2px 2px at 12% 22%, rgba(21,101,192,.6), transparent),
radial-gradient(2px 2px at 28% 64%, rgba(106,76,201,.6), transparent),
radial-gradient(1.6px 1.6px at 46% 14%, rgba(46,125,50,.6), transparent),
radial-gradient(2.2px 2.2px at 62% 48%, rgba(230,81,0,.5), transparent),
radial-gradient(1.8px 1.8px at 78% 30%, rgba(21,101,192,.55), transparent),
radial-gradient(2px 2px at 88% 70%, rgba(106,76,201,.55), transparent),
radial-gradient(1.5px 1.5px at 54% 82%, rgba(46,127,50,.55), transparent),
radial-gradient(1.8px 1.8px at 36% 38%, rgba(230,81,0,.45), transparent);
background-repeat:no-repeat; animation:twinkle 5s ease-in-out infinite;}
.deco-particle .fx-sp{display:block; border-radius:50%;
background:radial-gradient(circle at 35% 30%,#fff,#1565C0); box-shadow:0 0 8px rgba(21,101,192,.5);
animation:drift-up 16s linear infinite;}
.deco-particle .s1{width:6px;height:6px; left:18%; bottom:-10px; animation-delay:0s;}
.deco-particle .s2{width:9px;height:9px; left:52%; bottom:-10px;
background:radial-gradient(circle at 35% 30%,#fff,#6a4cc9); box-shadow:0 0 10px rgba(106,76,201,.5); animation-delay:5s;}
.deco-particle .s3{width:5px;height:5px; left:74%; bottom:-10px;
background:radial-gradient(circle at 35% 30%,#fff,#2e7d32); box-shadow:0 0 8px rgba(46,127,50,.5); animation-delay:9s;}
.deco-particle .s4{width:7px;height:7px; left:40%; bottom:-10px;
background:radial-gradient(circle at 35% 30%,#fff,#E65100); box-shadow:0 0 9px rgba(230,81,0,.5); animation-delay:12s;}
.deco-bubble .fx-bubble{display:block; border-radius:50%;
border:1.5px solid rgba(21,101,192,.28); background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),rgba(21,101,192,.10));
animation:rise 10s ease-in infinite;}
.deco-bubble .bu1{width:54px;height:54px; left:12%; bottom:-60px; animation-delay:0s;}
.deco-bubble .bu2{width:30px;height:30px; left:34%; bottom:-40px;
border-color:rgba(106,76,201,.28); background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),rgba(106,76,201,.10));
animation-delay:2.6s; animation-duration:12s;}
.deco-bubble .bu3{width:72px;height:72px; left:58%; bottom:-80px;
border-color:rgba(46,127,50,.26); background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),rgba(46,127,50,.10));
animation-delay:4.4s; animation-duration:14s;}
.deco-bubble .bu4{width:40px;height:40px; left:80%; bottom:-50px;
border-color:rgba(230,81,0,.26); background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.7),rgba(230,81,0,.10));
animation-delay:6.2s; animation-duration:11s;}
.deco-snow .fx-sn{display:block; position:absolute; top:-20px; border-radius:50%;
background:radial-gradient(circle at 35% 30%,#fff,rgba(21,101,192,.22)); box-shadow:0 0 4px rgba(255,255,255,.6);
animation:snow-fall 9s linear infinite;}
.deco-snow .sn1{left:14%; width:7px; height:7px;}
.deco-snow .sn2{left:28%; width:5px; height:5px; animation-delay:1.2s; animation-duration:11s;}
.deco-snow .sn3{left:42%; width:9px; height:9px; animation-delay:2.4s; animation-duration:8s;}
.deco-snow .sn4{left:56%; width:6px; height:6px; animation-delay:.6s; animation-duration:10s;
background:radial-gradient(circle at 35% 30%,#fff,rgba(106,76,201,.22));}
.deco-snow .sn5{left:68%; width:8px; height:8px; animation-delay:3s; animation-duration:9.5s;}
.deco-snow .sn6{left:80%; width:5px; height:5px; animation-delay:1.8s; animation-duration:12s;}
.deco-snow .sn7{left:36%; width:4px; height:4px; animation-delay:4s; animation-duration:10.5s;}
.deco-snow .sn8{left:90%; width:7px; height:7px; animation-delay:2.2s; animation-duration:8.5s;
background:radial-gradient(circle at 35% 30%,#fff,rgba(46,127,50,.22));}
@keyframes snow-fall{0%{transform:translate(0,-20px);opacity:0}10%{opacity:.9}50%{transform:translate(14px,58vh)}100%{transform:translate(-10px,116vh);opacity:.9}}
.deco-confetti .fx-cf{display:block; position:absolute; top:-20px; width:8px; height:12px; border-radius:2px; opacity:.85;
animation:fall 6s linear infinite;}
.deco-confetti .cf1{left:18%; background:#1565C0;}
.deco-confetti .cf2{left:34%; background:#6a4cc9; animation-delay:.9s; animation-duration:7s;}
.deco-confetti .cf3{left:52%; background:#2e7d32; animation-delay:1.7s; animation-duration:5.5s;}
.deco-confetti .cf4{left:70%; background:#E65100; animation-delay:2.4s; animation-duration:6.5s;}
.deco-confetti .cf5{left:84%; background:#0288d1; animation-delay:3.1s; animation-duration:7.5s;}
@keyframes fall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(116vh) rotate(360deg);opacity:.9}}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(0,-16px)}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(3vw,2vh) scale(1.08)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes wave{0%{transform:translateX(-4%)}50%{transform:translateX(4%)}100%{transform:translateX(-4%)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.5);opacity:1}}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:.7}}
@keyframes drift-up{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-110vh);opacity:0}}
@keyframes sweep{0%{transform:translateX(-20%) rotate(-16deg)}50%{transform:translateX(20%) rotate(-16deg)}100%{transform:translateX(-20%) rotate(-16deg)}}
@keyframes gridmove{from{background-position:0 0}to{background-position:0 42px}}
@keyframes rise{0%{transform:translateY(0) scale(.9);opacity:0}12%{opacity:.9}88%{opacity:.9}100%{transform:translateY(-115vh) scale(1.1);opacity:0}}
@keyframes morph{0%,100%{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%}50%{border-radius:58% 42% 38% 62% / 56% 59% 41% 44%}}
.tb-grad{
background:linear-gradient(120deg,#1565C0 0%,#6a4cc9 50%,#2e7d32 100%);
-webkit-background-clip:text; background-clip:text; color:transparent;
}
.tb-grad-2{
background:linear-gradient(120deg,#1565C0,#6a4cc9);
-webkit-background-clip:text; background-clip:text; color:transparent;
}
@keyframes tbRise{from{opacity:0; transform:translateY(14px)}to{opacity:1; transform:none}}
.tb-in{animation:tbRise .5s cubic-bezier(.22,.9,.3,1) both;}
.tb-in-1{animation:tbRise .5s cubic-bezier(.22,.9,.3,1) .06s both;}
.tb-in-2{animation:tbRise .5s cubic-bezier(.22,.9,.3,1) .12s both;}
.tb-in-3{animation:tbRise .5s cubic-bezier(.22,.9,.3,1) .18s both;}
@media (prefers-reduced-motion:reduce){
.deco-fx .fx{animation:none !important;}
body.theme-b::after{display:none;}
.tb-in,.tb-in-1,.tb-in-2,.tb-in-3{animation:none;}
}
:root{--gray:#8d9aa9;}
footer{position:relative;z-index:1;padding:0 var(--gutter) 18px;}
.footer-card{
max-width:calc(var(--shell-max) - var(--gutter) * 2);margin:0 auto;
background:#fff;border:1px solid var(--line);
border-radius:20px;padding:24px 28px;text-align:center;font-size:12px;color:var(--muted);
box-shadow:0 -4px 16px rgba(21,101,192,.05);position:relative;transition:.3s;
}
.footer-section{padding:24px 28px;text-align:left;}
.fs-cocreate{padding:0 24px 4px;}
.fs-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.fs-mascot{
width:38px;height:38px;border-radius:50%;background:#1565C0;flex:0 0 auto;
position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(21,101,192,.25);
}
.fs-mascot .face{position:absolute;inset:0;border-radius:50%;background:#1565C0;}
.fs-mascot .sheen{display:none;}
.fs-mascot .eye{position:absolute;background:#fffef5;border-radius:50%;}
.fs-mascot .eL{left:5px;top:10px;width:10px;height:11px;}
.fs-mascot .eR{right:5px;top:10px;width:13px;height:14px;}
.fs-mascot .pupil{position:absolute;background:#1a1a1a;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);}
.fs-mascot .eL .pupil{width:2.8px;height:2.8px;}
.fs-mascot .eR .pupil{width:3.5px;height:3.5px;}
.fs-mascot .smile{position:absolute;bottom:8px;left:50%;width:11px;height:5px;border-bottom:2px solid #F9A825;box-sizing:border-box;border-left:1px solid transparent;border-right:1px solid transparent;border-radius:0 0 50% 50%/0 0 100% 100%;transform:translateX(-50%);}
.fs-name{font-size:17px;font-weight:700;color:var(--ink);margin:0;}
.fs-slogan{font-size:12px;color:var(--blue);font-weight:600;letter-spacing:.5px;margin:1px 0 0;}
.fs-desc{font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 10px;}
.fs-tagline{font-size:13px;color:var(--ink);line-height:1.75;padding-left:12px;border-left:3px solid var(--blue);margin:0 0 14px;font-style:italic;}
.fs-badges{display:flex;flex-wrap:wrap;gap:8px;}
.ab-badge{font-size:11.5px;color:var(--blue);background:var(--blue-soft);padding:5px 12px;border-radius:999px;font-weight:600;white-space:nowrap;}
.cocreate-inner{background:linear-gradient(135deg,#1565C0 0%,#5b3fc4 100%);border-radius:14px;padding:24px 26px;color:#fff;position:relative;overflow:hidden;}
.cocreate-inner::before{content:"";position:absolute;top:-30px;right:-20px;width:160px;height:160px;background:radial-gradient(circle,rgba(255,255,255,.10) 0%,transparent 70%);border-radius:50%;}
.cc-label{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;}
.cc-label .dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.65);}
.cocreate-inner h4{font-size:17px;font-weight:800;margin-bottom:6px;position:relative;z-index:1;}
.cc-sub{font-size:12.5px;color:rgba(255,255,255,.82);margin-bottom:8px;line-height:1.65;position:relative;z-index:1;}
.cc-value{font-size:12.5px;color:rgba(255,255,255,.82);margin-bottom:18px;line-height:1.65;position:relative;z-index:1;}
.cc-note{font-size:12.5px;color:rgba(255,255,255,.82);margin-top:10px;line-height:1.6;}
.cc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;position:relative;z-index:1;}
.cc-card{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px;transition:.2s;}
.cc-card:hover{background:rgba(255,255,255,.17);transform:translateY(-2px);}
.cc-card .cci{font-size:22px;margin-bottom:6px;}
.cc-card h5{font-size:13px;font-weight:700;margin-bottom:3px;}
.cc-card p{font-size:11px;color:rgba(255,255,255,.72);margin:0;line-height:1.6;}
.cc-cta{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;padding:9px 22px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:.2s;position:relative;z-index:1;text-decoration:none;}
.cc-cta:hover{background:rgba(255,255,255,.26);transform:translateY(-1px);}
.cc-cta-ghost{background:transparent;border-color:rgba(255,255,255,.5);}
.cc-cta-ghost:hover{background:rgba(255,255,255,.12);}
.cc-cta-row{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1;margin-bottom:6px;}
.cc-disclaimer{margin-top:14px;font-size:11px;color:rgba(255,255,255,.6);line-height:1.6;}
.footer-cols{display:grid;grid-template-columns:1fr;gap:16px;padding:20px 28px 8px;text-align:left;}
.fc-contact{display:flex;flex-direction:column;gap:10px;}
.fc-contact-label{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.fc-contact-social{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.fc-contact-social a{font-size:12px;color:var(--blue);background:var(--blue-soft);padding:5px 14px;border-radius:999px;transition:.15s;}
.fc-contact-social a:hover{background:var(--blue);color:#fff;}
.fc-note{font-size:11px;color:#a7b0bd;margin-top:8px;line-height:1.6;}
.fs-title{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f0f3f8;}
.footer-disc-area{padding:16px 24px 0;border-top:1px solid #f0f3f8;text-align:center;}
.disc2{max-width:760px;margin:0 auto;}
.disc2 .t1{font-size:12.5px;font-weight:700;color:#1a2330;line-height:1.8;}
.disc2 .t2{font-size:11.5px;color:var(--gray);line-height:1.8;margin-top:4px;}
.footer-card .divider{width:80px;height:2px;margin:12px auto;background:linear-gradient(to right,transparent,var(--blue),transparent);border-radius:1px;opacity:.55;}
.fl-one{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--gray);}
.fl-one i{color:#c8d0db;font-style:normal;}
.fl-one a{color:#919cab;text-decoration:none;transition:.15s;display:inline-flex;align-items:center;}
.fl-one a:hover{color:var(--blue);}
.back-top{display:inline-block;margin:14px 0 0;background:#f3f7fc;border:1px solid var(--line);color:var(--muted);font-size:12px;padding:7px 18px;border-radius:999px;cursor:pointer;transition:.18s;}
.back-top:hover{background:var(--blue-soft);color:var(--blue);border-color:#bcd4ee;}
.footer-toggle{display:none;}
@media (max-width:1023px){
.footer-toggle{
display:flex; align-items:center; justify-content:space-between; gap:10px;
width:100%; box-sizing:border-box; margin:0 0 14px;
padding:12px 16px; cursor:pointer;
background:var(--blue-soft, #EAF1FB); color:var(--blue, #1565C0);
border:1px solid var(--line, #d8e2ee); border-radius:12px;
font-size:13.5px; font-weight:600; line-height:1.4;
-webkit-appearance:none; appearance:none;
box-shadow:0 2px 8px rgba(21,101,192,.06);
}
.footer-toggle .ft-chev{font-size:12px; transition:transform .25s ease;}
#footer.expanded .footer-toggle .ft-chev{transform:rotate(180deg);}
#footer:not(.expanded) #about,
#footer:not(.expanded) .fs-cocreate,
#footer:not(.expanded) .footer-cols{display:none;}
}
.wx-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:90;display:none}
.wx-modal{position:fixed;z-index:95;left:50%;top:50%;transform:translate(-50%,-50%);width:min(330px,92vw);display:none}
.wx-box{background:#fff;border-radius:14px;padding:22px;box-shadow:0 12px 44px rgba(0,0,0,.3);text-align:center}
.wx-head{font-size:17px;font-weight:700;margin-bottom:6px;color:#1a2330}
.wx-sub{font-size:12.5px;color:#5b6b7d;margin:8px 0}
.wx-qr{width:220px;height:220px;border:1px solid #d8e2ee;border-radius:10px;object-fit:cover;margin:0 auto}
.wx-ph{width:220px;height:220px;margin:0 auto;border:2px dashed #d8e2ee;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#5b6b7d;font-size:13px;text-align:center;padding:14px;line-height:1.6;background:#fafbfc}
.wx-tip{font-size:12px;color:#5b6b7d;margin-top:10px}
.wx-actions{margin-top:14px}
.wx-cancel{background:#eef2f7;border:1px solid #d8e2ee;color:#1a2330;padding:9px 18px;border-radius:8px;font-size:13px;cursor:pointer;font-weight:600}
@media (max-width:600px){
.footer-card{padding:16px 12px;border-radius:16px;}
.footer-cols{grid-template-columns:1fr;gap:22px;padding:20px 16px 4px;}
.footer-section{padding:20px 16px 4px;}
.fs-cocreate{padding:0;}
.cocreate-inner{padding:20px 18px;border-radius:16px;}
.cocreate-inner h4{font-size:18px;}
.cc-sub{font-size:13px;margin-bottom:8px;}
.cc-card{padding:16px;border-radius:14px;}
.cc-card .cci{font-size:24px;}
.cc-card h5{font-size:14px;}
.cc-card p{font-size:11.5px;}
.cc-grid{grid-template-columns:1fr;gap:10px;margin-bottom:16px;}
.cc-cta{width:100%;justify-content:center;padding:11px 22px;font-size:14px;}
.cc-disclaimer{text-align:left;}
.footer-disc-area{padding:14px 16px 0;}
}