:root { --aacp-bg: #f5f4f7; --aacp-bg-soft: #f8f9fa; --aacp-surface: #ffffff; --aacp-surface-muted: #f9fafb; --aacp-text: #2f3033; --aacp-text-muted: #676b73; --aacp-link: #00a896; --aacp-link-hover: #00786c; --aacp-accent: #00a896; --aacp-header-bg: rgba(248, 250, 252, 0.92); --aacp-header-link: #2f3440; --aacp-footer-bg: #15181d; --aacp-footer-text: #b1b6c0; --aacp-g-blue: #4285f4; --aacp-g-red: #ea4335; --aacp-g-yellow: #fbbc05; --aacp-g-green: #34a853; /* Elementor global tokens */ --e-global-color-primary: #00a896; --e-global-color-secondary: var(--aacp-text-muted); --e-global-color-text: var(--aacp-text); --e-global-color-accent: #00a896; } html, body { color: var(--aacp-text); background: radial-gradient(1200px 560px at 12% -180px, rgba(0, 168, 150, 0.14) 0%, rgba(255, 255, 255, 0) 58%), radial-gradient(860px 340px at 90% -60px, rgba(66, 133, 244, 0.12) 0%, rgba(255, 255, 255, 0) 66%), radial-gradient(760px 300px at 72% 0%, rgba(251, 188, 5, 0.08) 0%, rgba(255, 255, 255, 0) 62%), linear-gradient(180deg, var(--aacp-bg-soft) 0%, var(--aacp-bg) 100%); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } a { color: var(--aacp-link); transition: color 0.18s ease; } a:hover, a:focus, a:active { color: var(--aacp-link-hover); } ::selection { background: rgba(0, 168, 150, 0.2); } /* Header — Style 20 Floating Glass Orbs (Dark) */ .site-header { position: sticky; top: 0; z-index: 140; background: linear-gradient(135deg, #0d1117 0%, #141b2e 100%); border-bottom: 1px solid rgba(0, 168, 150, 0.12); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); overflow: visible; } .site-header::after { display: none; } .site-header-inner { width: min(1360px, calc(100% - 24px)); margin: 0 auto; min-height: 68px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 0; flex-wrap: wrap; } /* ── Logo (no orb, just the image) ── */ .site-branding { flex: 0 0 auto; } .site-branding a, .site-branding .custom-logo-link { display: inline-flex; align-items: center; text-decoration: none; background: none; padding: 4px 8px; border: none; box-shadow: none; transition: transform .3s, filter .3s; } .site-branding a::before { display: none; } .site-branding a:hover { transform: translateY(-2px) scale(1.05); filter: brightness(1.2); box-shadow: none; } /* Hidden — replaced by text logo */ .site-header .custom-logo { display: none; } /* ── Nav text logo: 3D perspShift + shimmer ── */ @keyframes navPerspShift { 0%, 100% { transform: perspective(500px) rotateY(-12deg) rotateX(3deg); } 50% { transform: perspective(500px) rotateY(12deg) rotateX(-3deg); } } @keyframes navShine { to { background-position: 200% center; } } .nav-logo-text { display: inline-flex !important; align-items: center; gap: 0; font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 900; font-family: "Noto Sans TC", sans-serif; line-height: 1; letter-spacing: -.02em; text-decoration: none !important; animation: navPerspShift 5s ease-in-out infinite; transform-style: preserve-3d; } .nav-logo-aa, .nav-logo-zj { background: linear-gradient(120deg, #a8f0e8, #fff, #00e8d4, #00a896, #e8c880, #fff, #a8f0e8); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: navShine 7s linear infinite; } .nav-logo-aa { margin-right: .15em; } .site-branding__name { display: inline-flex; align-items: center; font-size: 1.15rem; font-weight: 900; color: #fff; } /* ── Nav orb items ── */ .site-nav { min-width: 0; margin-left: 0; } .site-nav-legacy { flex: 0 1 auto; display: flex; justify-content: center; } .site-nav ul, .site-nav .menu, .site-nav .page_item_has_children > ul { list-style: none; margin: 0; padding: 0; } .site-nav .menu, .site-nav > div > ul { display: flex; align-items: center; gap: 5px; flex-wrap: nowrap; } .site-nav .menu > li { flex: 0 0 auto; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.08), rgba(255,255,255,.02)); border-radius: 50px; border: 1px solid rgba(255,255,255,.07); box-shadow: 0 3px 12px rgba(0,0,0,.15), inset 0 1px 1px rgba(255,255,255,.04); transition: all .35s cubic-bezier(.175,.885,.32,1.275); position: relative; overflow: hidden; } .site-nav .menu > li::before { content: ''; position: absolute; top: -50%; left: -50%; width: 80%; height: 80%; background: radial-gradient(circle, rgba(255,255,255,.06), transparent); border-radius: 50%; pointer-events: none; } .site-nav .menu > li:hover { transform: translateY(-3px) scale(1.06); background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.15), rgba(255,255,255,.05)); border-color: rgba(0,168,150,.3); box-shadow: 0 8px 24px rgba(0,168,150,.18); } .site-nav a { color: rgba(255,255,255,.65); text-decoration: none; font-weight: 600; font-size: clamp(1rem, 1.08vw, 1.13rem); letter-spacing: 0.01em; display: inline-flex; align-items: center; gap: 7px; min-height: auto; padding: 9px 18px; white-space: nowrap; position: relative; z-index: 1; transition: color .3s; } .site-nav .menu > li:hover a { color: #fff; } .site-nav .menu > li:first-child > a { color: rgba(255,255,255,.65); } /* ── is-hot (暑期營隊) — glowing orb with animation ── */ .site-nav .menu > li.is-hot { background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.4), rgba(0,168,150,.12)); border-color: rgba(0,168,150,.45); box-shadow: 0 4px 20px rgba(0,168,150,.25); animation: aacp-hot-glow 2.5s ease-in-out infinite; order: -1; } .site-nav .menu > li.is-hot > a { color: #fff !important; font-weight: 700; padding: 7px 16px; background: none; border-radius: 0; box-shadow: none; } .site-nav .menu > li.is-hot:hover { transform: translateY(-3px) scale(1.1); box-shadow: 0 10px 35px rgba(0,168,150,.35); } @keyframes aacp-hot-glow { 0%, 100% { box-shadow: 0 4px 20px rgba(0,168,150,.25); border-color: rgba(0,168,150,.45); } 50% { box-shadow: 0 4px 30px rgba(0,168,150,.45), 0 0 12px rgba(0,168,150,.2); border-color: rgba(0,168,150,.6); } } /* ── Nav icon (SVG) ── */ .aacp-nav-icon { line-height: 1; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 16px; height: 16px; opacity: .7; } .site-nav .menu > li:hover .aacp-nav-icon { opacity: 1; } .aacp-nav-icon svg { width: 16px; height: 16px; } /* Nav label + description */ .aacp-nav-label { display: flex; flex-direction: column; gap: 1px; line-height: 1.2; } .aacp-nav-title { font-weight: 600; font-size: clamp(1rem, 1.08vw, 1.13rem); white-space: nowrap; } .aacp-nav-desc { font-size: 0.6rem; font-weight: 500; color: rgba(255,255,255,.35); letter-spacing: 0.01em; white-space: nowrap; } /* Active state indicator */ .site-nav .menu > li.is-current { border-color: rgba(0,168,150,.35); background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.12), rgba(255,255,255,.04)); } .site-nav .menu > li.is-current > a { color: #00d4aa; position: relative; } .site-nav .menu > li.is-current > a::after { content: ''; position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%); width: 14px; height: 2px; border-radius: 99px; background: #00a896; } /* ── Hamburger button — hidden on desktop ── */ .aacp-burger { display: none; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50px; border: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.08), rgba(255,255,255,.02)); cursor: pointer; color: #fff; flex-shrink: 0; margin-left: 8px; transition: all .3s; box-shadow: 0 3px 12px rgba(0,0,0,.15); } .aacp-burger:hover { background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.15), rgba(255,255,255,.05)); border-color: rgba(0,168,150,.3); box-shadow: 0 6px 20px rgba(0,168,150,.15); } .aacp-burger svg { width: 20px; height: 20px; display: block; } .site-header-cta { display: none; } /* Footer */ .site-footer { margin-top: 0; background: var(--aacp-footer-bg); color: var(--aacp-footer-text); } .site-footer-inner { width: min(1220px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0; } .site-footer p { margin: 0; } /* Content readability for post/page fallback templates */ .site-main { width: min(1100px, calc(100% - clamp(16px, 3.2vw, 40px))); margin: clamp(18px, 2.2vw, 28px) auto 44px; } .single .site-main, .page .site-main { width: min(1180px, calc(100% - clamp(16px, 3.2vw, 40px))); } .single .site-main article, .page .site-main article { border: 1px solid rgba(17, 24, 39, 0.1); border-radius: 18px; background: #f5f4f7; box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05); padding: clamp(18px, 3.8vw, 44px); } .blog .site-main article, .archive .site-main article, .search .site-main article { border: 1px solid rgba(17, 24, 39, 0.08); border-radius: 14px; background: rgba(255, 255, 255, 0.97); box-shadow: 0 3px 12px rgba(15, 23, 42, 0.04); padding: 18px 20px; transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease; } .blog .site-main article:hover, .archive .site-main article:hover, .search .site-main article:hover { transform: translateY(-1px); border-color: rgba(0, 168, 150, 0.3); box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08); } .blog .site-main article + article, .archive .site-main article + article, .search .site-main article + article { margin-top: 12px; } .site-main .entry-header { margin-bottom: 14px; } .site-main .entry-title, .site-main .page-title { margin: 0; font-size: clamp(1.75rem, 4.6vw, 2.5rem); letter-spacing: -0.02em; line-height: 1.2; } .site-main .entry-content, .site-main .entry-summary, .site-main .archive-description { font-size: clamp(0.98rem, 1.2vw, 1.08rem); line-height: 1.86; color: #4a4f57; } .single .site-main .entry-content, .page .site-main .entry-content { max-width: 100%; } .site-main .entry-content p, .site-main .entry-summary p { margin: 0 0 1.06em; } .site-main .entry-content > * { max-width: 100%; } .site-main .entry-content li, .site-main .entry-summary li { margin-bottom: 0.38em; color: #3f434b; } .site-main .entry-content ul, .site-main .entry-content ol { margin: 0 0 1.15em; padding-left: 1.26em; } .site-main .entry-content h2 { margin-top: 1.8em; margin-bottom: 0.65em; line-height: 1.34; letter-spacing: -0.01em; padding-bottom: 0.24em; border-bottom: 1px solid rgba(17, 24, 39, 0.1); } .site-main .entry-content h3 { margin-top: 1.45em; margin-bottom: 0.58em; line-height: 1.35; letter-spacing: -0.01em; } .site-main .entry-content h4 { margin-top: 1.25em; margin-bottom: 0.45em; line-height: 1.4; } .site-main .entry-content blockquote { margin: 1.35em 0; padding: 14px 16px; border-left: 4px solid rgba(0, 168, 150, 0.46); border-radius: 10px; background: #f6fbfb; } .site-main .entry-content blockquote p:last-child { margin-bottom: 0; } .site-main .entry-content table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: clamp(0.9rem, 1.05vw, 0.98rem); display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } .site-main .entry-content th, .site-main .entry-content td { padding: 10px 12px; border: 1px solid rgba(17, 24, 39, 0.12); } .site-main .entry-content th { background: #f6f8fa; font-weight: 700; } .site-main .entry-content code, .site-main .entry-summary code { padding: 0.1em 0.34em; border-radius: 6px; background: #f4f7f9; font-size: 0.92em; } .site-main .entry-content pre { max-width: 100%; overflow-x: auto; border-radius: 12px; padding: 14px; background: #f4f7f9; } .site-main .entry-content a:not(.elementor-button), .site-main .entry-summary a, .site-main .entry-title a, .site-main .page-title a { position: relative; z-index: 2; color: var(--aacp-link); text-decoration: underline; text-decoration-color: rgba(0, 168, 150, 0.4); text-underline-offset: 3px; } .site-main .entry-content a:not(.elementor-button):hover, .site-main .entry-summary a:hover, .site-main .entry-title a:hover, .site-main .page-title a:hover { color: var(--aacp-link-hover); } .site-main img { max-width: 100%; height: auto; border-radius: 12px; } .site-main iframe, .site-main video, .site-main canvas, .site-main svg { max-width: 100%; } .site-main .wp-block-image { margin: 1.25em 0; } /* Preserve original Elementor-designed article layouts */ body.aacp-elementor-builder .site-main { width: min(1360px, calc(100% - clamp(12px, 2.4vw, 30px))); } body.aacp-elementor-builder .site-main article { border: none; border-radius: 0; background: transparent; box-shadow: none; padding: 0; } body.aacp-elementor-builder .site-main .entry-content { max-width: 100%; font-size: inherit; line-height: inherit; color: inherit; } body.aacp-elementor-builder .site-main .entry-content > * { max-width: 100%; } body.aacp-elementor-builder .site-main .entry-content h2, body.aacp-elementor-builder .site-main .entry-content h3, body.aacp-elementor-builder .site-main .entry-content h4 { padding-bottom: 0; border-bottom: 0; } /* Keep Elementor CTA buttons high-contrast and vivid */ body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button { color: #ffffff !important; text-decoration: none !important; font-weight: 800; letter-spacing: 0.01em; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.14); box-shadow: 0 10px 24px rgba(15, 23, 42, 0.2); transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease; } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button .elementor-button-icon, body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button .elementor-button-icon i, body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button .elementor-button-icon svg { color: currentColor !important; fill: currentColor !important; } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button:hover, body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button:focus { color: #ffffff !important; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(15, 23, 42, 0.24); filter: saturate(1.08); } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button[href*="instagram.com"] { background: linear-gradient(135deg, #cc2f86 0%, #405de6 100%) !important; } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button[href*="line.me"] { background: #06c755 !important; } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button[href*="facebook.com"] { background: #1877f2 !important; } body.aacp-elementor-builder .site-main .elementor-widget-button .elementor-button[href*="youtube.com"] { background: #ff0000 !important; } /* Floating actions: FAQ first, LINE second */ .aacp-floating-actions { position: fixed; right: 14px; bottom: 14px; z-index: 120; display: grid; gap: 8px; justify-items: end; } .aacp-floating-faq, .aacp-floating-line { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 999px; font-size: 0.88rem; font-weight: 700; text-decoration: none; box-shadow: 0 10px 24px rgba(18, 24, 38, 0.14); white-space: nowrap; } .aacp-floating-faq { padding: 9px 14px; border: 1px solid rgba(0, 168, 150, 0.28); background: #ffffff; color: #036f64; } .aacp-floating-faq:hover, .aacp-floating-faq:focus { background: #f1fffd; color: #02564e; } .aacp-floating-line { padding: 9px 16px; border: 1px solid transparent; background: #00a896; color: #ffffff; } .aacp-floating-line:hover, .aacp-floating-line:focus { background: #008b7d; color: #ffffff; } /* ── Scroll-to-top button — lives inside .aacp-floating-actions ── */ /* Slightly smaller (46px) than LINE/FAQ buttons to show visual hierarchy */ #aacp-scroll-top { width: 46px; height: 0; /* collapses when hidden — avoids gap in floating group */ overflow: hidden; border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; background: rgba(0, 168, 150, 0.82); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(0, 168, 150, 0.22); opacity: 0; transform: scale(0.88); pointer-events: none; transition: height 0.32s ease, opacity 0.28s ease, transform 0.38s ease, border-radius 0.4s ease, box-shadow 0.3s ease; align-self: center; } #aacp-scroll-top.aacp-stt-show { height: 46px; opacity: 1; transform: scale(1); pointer-events: auto; } #aacp-scroll-top:hover { border-radius: 50%; background: #00a896; transform: translateY(-2px) scale(1); box-shadow: 0 8px 20px rgba(0, 168, 150, 0.38); } #aacp-scroll-top svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; } /* ── Breadcrumb ── */ .aacp-bc { max-width: min(1200px, calc(100% - 32px)); margin: 10px auto 0; padding: 0 20px; font-size: .78rem; color: #94a3b8; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .aacp-bc a { color: #64748b; text-decoration: none; transition: color .15s; } .aacp-bc a:hover { color: #00a896; } .aacp-bc > span:last-child { color: #1e293b; font-weight: 600; } /* Elementor section container base */ .elementor-section.elementor-section-boxed > .elementor-container { background-color: transparent; } @media (max-width: 980px) { .site-header-inner { width: calc(100% - 12px); gap: 6px; min-height: 60px; } .site-nav { margin-left: auto; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .site-nav::-webkit-scrollbar { display: none; } .site-nav .menu, .site-nav > div > ul { gap: 5px; flex-wrap: nowrap; } .site-nav a { font-size: 0.82rem; padding: 6px 11px; } .site-nav .menu > li.is-hot > a { padding: 6px 13px; } .aacp-floating-actions { right: 10px; bottom: 10px; } } /* ── Mobile nav (hamburger) ──────────────────── */ @media (max-width: 720px) { .site-header { overflow: visible; } .site-header-inner { justify-content: space-between; padding: 8px 0; } .aacp-burger { display: flex; } /* Dropdown panel — dark glass morphism */ .site-nav { position: absolute; top: 100%; left: 0; right: 0; z-index: 200; background: linear-gradient(180deg, rgba(13,17,23,.97), rgba(20,27,46,.97)); backdrop-filter: blur(20px) saturate(140%); border-bottom: 1px solid rgba(0,168,150,.18); box-shadow: 0 12px 40px rgba(0,0,0,.4); max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1); margin-left: 0; flex: none; overflow-x: hidden; scrollbar-width: auto; } .site-nav::-webkit-scrollbar { display: block; } .site-header.aacp-nav-open .site-nav { max-height: 80vh; overflow-y: auto; } .site-nav .menu, .site-nav > div > ul { flex-direction: column; align-items: stretch; gap: 4px; padding: 10px 12px 14px; flex-wrap: wrap; } /* Reset desktop orb styles for mobile list items */ .site-nav .menu > li { flex: none; border-radius: 14px; background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.06), rgba(255,255,255,.015)); border: 1px solid rgba(255,255,255,.06); box-shadow: 0 2px 8px rgba(0,0,0,.12); overflow: hidden; } .site-nav .menu > li::before { display: none; } .site-nav .menu > li:hover, .site-nav .menu > li:active { transform: none; background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.12), rgba(255,255,255,.04)); border-color: rgba(0,168,150,.25); box-shadow: 0 4px 16px rgba(0,168,150,.12); } .site-nav a { min-height: 52px; padding: 12px 16px; font-size: 0.95rem; gap: 12px; justify-content: flex-start; align-items: center; white-space: normal; color: rgba(255,255,255,.7); border-bottom: none; } .site-nav .menu > li:hover a, .site-nav .menu > li:active a { color: #fff; } .site-nav .menu > li:last-child > a { border-bottom: none; } .aacp-nav-desc { color: rgba(255,255,255,.35); font-size: 0.72rem; } /* Active indicator: left teal bar on mobile */ .site-nav .menu > li.is-current { border-color: rgba(0,168,150,.35); background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.1), rgba(255,255,255,.03)); } .site-nav .menu > li.is-current > a { color: #00d4aa; } .site-nav .menu > li.is-current > a::after { bottom: auto; top: 50%; left: 0; transform: translateY(-50%); width: 3px; height: 26px; border-radius: 0 3px 3px 0; } /* is-hot: glowing teal card in mobile menu, stays first */ .site-nav .menu > li.is-hot { background: radial-gradient(circle at 30% 30%, rgba(0,168,150,.3), rgba(0,168,150,.08)); border-color: rgba(0,168,150,.35); box-shadow: 0 4px 18px rgba(0,168,150,.2); animation: aacp-hot-glow 2.5s ease-in-out infinite; order: -1; } .site-nav .menu > li.is-hot > a { color: #fff !important; font-weight: 700; padding: 12px 16px; border-radius: 0; box-shadow: none; background: none; } /* Nav icon sizing for mobile */ .aacp-nav-icon { width: 18px; height: 18px; } .aacp-nav-icon svg { width: 18px; height: 18px; } /* Hero: pill text shift down & logo shrink on mobile */ .fp-hero-pill { margin-top: 20px; } .fp-h1-main img { width: clamp(320px, 55vw, 680px); } /* Hero buttons: stack on very small screens */ .fp-hero-btns { flex-direction: column; align-items: center; gap: 12px; } .fp-btn-p, .fp-btn-s, .fp-btn-camp { width: 100%; max-width: 280px; text-align: center; } /* Scoreboard: single-card carousel on mobile */ .fp-scoreboard { overflow: hidden; } .fp-sb-carousel { overflow: hidden; width: 100%; } .fp-sb-track { gap: 16px; } .fp-sb-card { flex: 0 0 calc(100vw - 10% - 16px) !important; max-width: calc(100vw - 10% - 16px); min-width: 0; box-sizing: border-box; } .fp-sb-card h3, .fp-sb-card p { word-break: break-word; overflow-wrap: break-word; } .fp-sb-prev { left: 2px !important; } .fp-sb-next { right: 2px !important; } /* Scroll-to-top: match updated 46px base on mobile too */ #aacp-scroll-top, #aacp-scroll-top.aacp-stt-show { width: 40px; } #aacp-scroll-top.aacp-stt-show { height: 40px; } } /* ── Button Style A — solid teal CTA ──────────────────────────── */ .btn-a { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; border-radius: 8px; border: none; background: var(--aacp-accent, #00a896); color: #fff; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.03em; text-decoration: none; cursor: pointer; transition: background 0.22s ease, transform 0.18s ease, box-shadow 0.22s ease; } .btn-a:hover, .btn-a:focus { background: var(--aacp-link-hover, #00786c); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 168, 150, 0.38); text-decoration: none; } /* ── Facebook section ── */ .fp-fb-wrapper { display: flex; justify-content: center; } /* ── Course card meta SVG icons ── */ .fp-c-meta i { display: inline-flex; align-items: center; justify-content: center; min-width: 16px; } .fp-c-meta i svg { flex-shrink: 0; } /* ── Course card price section ── */ .fp-c-body > div[style*="font-family:var(--mono)"] { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(0, 0, 0, 0.06); }

Level 1 演算法班課程介紹

此課程適合希望學習競賽相關的演算法 / 挑戰 APCS 實作中高級以上 / 拼資奧的學生。 課程概述 Leve […]

2026 TOI 特訓營

AA 競程近年已培養多名 TOI 二階選手,本次 2026 TOI 特訓營聚焦六場高品質模擬賽與賽後講題,重現正式賽事節奏,訓練學生在壓力下的判斷與時間管理,是瞄準 2026 TOI 與資訊能力競賽的高強度集訓營隊。

Level 1 演算法班課程介紹

此課程適合希望學習競賽相關的演算法 / 挑戰 APCS 實作 300 以上 / 拼資奧的學生。 課程概述 Le […]


Deprecated: 從 6.4.0 版開始,the_block_template_skip_link 函式已淘汰不用,請改用 wp_enqueue_block_template_skip_link()。 in /www/aacpschoolcom_395/public/wp-includes/functions.php on line 6131
先看 FAQ LINE 詢問