:root{--bg:#eff6ff;--bg-soft:#dbeafe;--card:#fff;--border:#0f172a14;--text:#0f172a;--text-dim:#5b6478;--accent:#2563eb;--accent-2:#ec4899;--yellow:#f59e0b;--green:#10b981;--purple:#7c3aed;--radius:24px}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth}body{background:radial-gradient(1100px 520px at 82% -12%, #2563eb1f, transparent 60%), radial-gradient(900px 420px at -12% 28%, #ec489917, transparent 60%), radial-gradient(700px 380px at 55% 110%, #f59e0b14, transparent 60%), var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:"Baloo 2",Nunito,Microsoft JhengHei,sans-serif;line-height:1.65}.container{max-width:1240px;margin:0 auto;padding:0 clamp(12px,3vw,24px)}.site-header .container{max-width:none}.site-nav{flex-wrap:wrap;row-gap:6px}@media (max-width:640px){.site-nav{gap:12px;font-size:14px}.header-inner{flex-wrap:wrap;padding-top:8px;padding-bottom:8px;height:auto!important}.toolCard h2{font-size:16px}.toolCard p{font-size:14px}.toolIcon{width:40px!important;height:40px!important;font-size:22px!important}}.card{border-radius:var(--radius);background:linear-gradient(160deg,#fff,#f4f8ff);border:3px solid #ffffffe0;box-shadow:inset -2px -2px 8px #1e40af12,inset 2px 2px 8px #fffffff2,6px 10px 24px #2563eb21}.btn{color:var(--ink,var(--text));cursor:pointer;background:#fff;border:3px solid #ffffffe6;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:800;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease-out,filter .2s;display:inline-flex;box-shadow:inset -2px -2px 6px #1e40af12,inset 2px 2px 6px #fffffff2,3px 6px 14px #2563eb24}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset -2px -2px 6px #1e40af12,inset 2px 2px 6px #fffffff2,5px 10px 20px #2563eb33}.btn:active:not(:disabled){transform:scale(.94)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-color:#ffffff8c;box-shadow:inset 0 -3px 8px #0000002e,inset 0 2px 4px #ffffff59,0 8px 18px #2563eb52}.btn-primary:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}input[type=text],textarea{border:2.5px solid var(--bg-soft);width:100%;color:var(--text);background:#fff;border-radius:14px;outline:none;padding:10px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px #2563eb1f}input[type=text]::placeholder,textarea::placeholder{color:#93a3c4}h1,h2,h3{letter-spacing:-.01em;line-height:1.3}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#eff6ffd9;border-bottom:3px solid #ffffffe6;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{align-items:center;gap:8px;font-size:19px;font-weight:800;display:flex}.logo-mark{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:13px;place-items:center;width:38px;height:38px;font-size:17px;display:grid;box-shadow:inset 0 -3px 6px #00000029,inset 0 2px 3px #fff6,2px 4px 10px #7c3aed4d}.logo-text em{color:var(--text-dim);font-style:normal;font-weight:600}.site-nav{color:var(--text-dim);flex-wrap:wrap;gap:20px;font-size:14px;font-weight:700;display:flex}.site-nav a{transition:color .15s}.site-nav a:hover{color:var(--accent)}.mobileToggle{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text);cursor:pointer;background:#fff;border:2.5px solid #ffffffe6;border-radius:12px;font-size:18px;font-weight:800;display:none;box-shadow:inset 2px 2px 6px #fffffff2,3px 6px 14px #2563eb1f}.mobileToggle:hover{border-color:var(--accent);color:var(--accent)}.site-nav{align-items:center}.navHome{border-radius:999px;padding:6px 10px;transition:background .15s,color .15s}.navHome:hover{background:var(--bg-soft);color:var(--accent)}.navGroup{position:relative}.navTrigger{min-height:44px;color:var(--text-dim);cursor:pointer;white-space:nowrap;background:#fff;border:2.5px solid #ffffffe6;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:800;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex;box-shadow:inset 2px 2px 6px #fffffff2,2px 4px 10px #2563eb14}.navTrigger:hover{background:var(--bg-soft);color:var(--accent);border-color:var(--bg-soft)}.navGroup--open .navTrigger{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-color:#ffffff8c;box-shadow:inset 0 -2px 6px #00000024,0 6px 14px #2563eb38}.navTriggerIcon{font-size:14px;line-height:1}.navCaret{opacity:.7;font-size:14px;transition:transform .15s}.navGroup--open .navCaret{transform:rotate(180deg)}.navDropdown{opacity:0;visibility:hidden;pointer-events:none;z-index:60;min-width:176px;transition:opacity .18s,transform .22s cubic-bezier(.34,1.56,.64,1),visibility .18s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(6px)}.navGroup--open .navDropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.navDropdownInner{background:linear-gradient(160deg,#fff,#f4f8ff);border:3px solid #ffffffe0;border-radius:18px;flex-direction:column;gap:4px;padding:8px;display:flex;box-shadow:inset 2px 2px 8px #fffffff2,6px 10px 24px #2563eb21}.navDropdownItem{color:var(--text);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex}.navDropdownItem:hover{background:var(--bg-soft);color:var(--accent)}@media (max-width:960px){.mobileToggle{place-items:center;display:grid}.header-inner{height:64px;position:relative}.site-nav{opacity:0;visibility:hidden;pointer-events:none;z-index:70;background:linear-gradient(160deg,#fff,#f4f8ff);border:3px solid #ffffffeb;border-radius:20px;flex-direction:column;align-items:stretch;gap:8px;padding:14px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 10px);left:12px;right:12px;transform:translateY(6px);box-shadow:inset 2px 2px 8px #fffffff2,8px 14px 28px #2563eb26}.site-nav--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.navHome{border:2px solid var(--bg-soft);text-align:center;background:#fff;border-radius:12px;padding:10px 12px}.navGroup{width:100%}.navTrigger{border-color:var(--bg-soft);background:#fff;justify-content:space-between;width:100%;min-height:44px;padding:10px 14px}.navDropdown{opacity:1;visibility:visible;pointer-events:auto;min-width:0;margin-top:8px;display:none;position:static;transform:none}.navGroup--open .navDropdown{display:block;transform:none}.navDropdownInner{border-color:var(--bg-soft);box-shadow:none;background:#fff;border-radius:14px}}main{flex:1;width:100%;padding-top:clamp(20px,4vw,32px);padding-bottom:clamp(40px,8vw,64px)}.site-footer{color:var(--text-dim);background:0 0;border:none;padding:28px 0 40px}.footer-card{background:linear-gradient(160deg,#fff,#f4f8ff);border:3px solid #ffffffe6;border-radius:24px;padding:24px 22px 18px;box-shadow:inset -2px -2px 8px #1e40af0f,inset 2px 2px 8px #fffffff2,8px 14px 32px #2563eb1f}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;align-items:start;gap:22px 18px;display:grid}.footer-brand{flex-direction:column;gap:10px;min-width:0;display:flex}.footer-logo{color:var(--text);align-items:center;gap:9px;font-size:18px;font-weight:900;display:inline-flex}.footer-logoMark{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:16px;display:grid;box-shadow:inset 0 -3px 6px #00000029,inset 0 2px 3px #fff6,2px 4px 10px #7c3aed47}.footer-logoText em{color:var(--text-dim);font-style:normal;font-weight:700}.footer-desc{color:var(--text-dim);margin:0;font-size:14px;font-weight:600;line-height:1.6}.footer-tagline{letter-spacing:.04em;color:var(--accent);text-transform:uppercase;margin:0;font-size:14px;font-weight:800}.footer-badgeRow{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.footer-badge{border:2px solid var(--bg-soft);color:var(--text);background:#fff;border-radius:999px;align-items:center;padding:5px 10px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:1px 3px 8px #2563eb14}.footer-group{flex-direction:column;gap:8px;min-width:0;display:flex}.footer-group strong{color:var(--text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:6px;margin-bottom:2px;font-size:14px;font-weight:900;display:inline-flex}.footer-group a{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:2px 0;font-size:14px;font-weight:700;line-height:1.5;transition:color .15s,transform .15s;overflow:hidden}.footer-group a:hover{color:var(--accent);transform:translate(2px)}.footer-bottom{border-top:2px solid #0f172a0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;font-size:14px;font-weight:700;display:flex}.footer-bottom p{color:var(--text-dim);margin:0}.footer-legal{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.footer-legal a{color:var(--text);font-weight:800}.footer-legal a:hover{color:var(--accent);text-decoration:underline}.footer-dot{color:#0f172a2e;font-weight:900}.footer-hint{color:var(--text-dim);font-size:14px;font-weight:600}@media (max-width:1100px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{border-bottom:2px dashed #0f172a0f;flex-flow:wrap;grid-column:1/-1;align-items:center;gap:12px 14px;margin-bottom:4px;padding-bottom:6px}.footer-brand .footer-desc,.footer-brand .footer-tagline{flex-basis:100%}}@media (max-width:560px){.footer-card{border-radius:20px;padding:18px 14px 14px}.footer-grid{grid-template-columns:1fr 1fr;gap:18px 12px}.footer-group a{font-size:14px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
