@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Montserrat:wght@600;700;800;900&family=Playfair+Display:ital,wght@0,700;1,700&family=Noto+Sans+TC:wght@400;500;700&display=swap";:root{--color-background:#faf9f6;--color-surface:#fff;--color-surface-hover:#f6f5f2;--bg-hero:url(/hero-banner.png);--color-primary:#1e1e1e;--color-primary-dark:#222;--color-primary-light:#f2f2ee;--color-secondary:#2e2e2e;--color-secondary-light:#ebebe6;--color-secondary-dark:#1a1a1a;--color-accent:#333;--color-accent-light:#eaeae6;--color-text-main:#1e1e1e;--color-text-muted:#666;--color-text-light:#fff;--color-border:#eaeae6;--color-border-subtle:#f2f2ee;--color-danger:#991b1b;--color-success:#166534;--font-family-serif:"Georgia", "Noto Serif TC", "Songti TC", serif;--font-family-main:"Montserrat", "Noto Sans TC", "PingFang TC", -apple-system, BlinkMacSystemFont, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--shadow-sm:0 2px 10px #00000008;--shadow-md:0 8px 25px #0000000d;--shadow-lg:0 20px 45px #00000014;--transition-fast:.2s cubic-bezier(.16, 1, .3, 1);--transition-normal:.35s cubic-bezier(.16, 1, .3, 1)}.app-container{min-height:100vh;display:flex}.main-layout{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background-color:#ffffffe6;border-bottom:none;justify-content:space-between;align-items:center;height:80px;padding:0 5%;display:flex;position:sticky;top:0}.logo{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-primary);align-items:center;gap:.5rem;display:flex}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{font-weight:var(--font-weight-bold);color:var(--color-text-muted);transition:color var(--transition-fast)}.nav-links a:hover,.nav-links a.active{color:var(--color-primary)}.header-transparent .nav-links a,.header-transparent .nav-dropdown-trigger{color:#fff;transition:color .25s}.header-transparent .nav-links a:hover,.header-transparent .nav-dropdown-trigger:hover{color:var(--color-secondary)!important}.header-scrolled .nav-links a,.header-scrolled .nav-dropdown-trigger{color:#fff;transition:color .25s}.header-scrolled .nav-links a:hover,.header-scrolled .nav-dropdown-trigger:hover{color:var(--color-secondary)!important}.admin-layout{width:100%;min-height:100vh;display:flex}.sidebar{background-color:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:260px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.sidebar .logo{margin-bottom:2rem;padding:0 1rem}.sidebar-menu{flex-direction:column;gap:.5rem;display:flex}.sidebar-item{border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:var(--font-weight-bold);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.sidebar-item:hover,.sidebar-item.active{background-color:var(--color-primary-light);color:var(--color-surface)}.sidebar-item.active{background-color:var(--color-primary)}.admin-content{background-color:var(--color-background);flex-direction:column;flex:1;height:100vh;padding:1.5rem;display:flex;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.mobile-menu-toggle{color:#000;cursor:pointer;z-index:101;background:0 0;border:none;padding:.5rem;display:none}.user-nav-group{align-items:center;gap:1rem;display:flex}.user-greeting{color:#fff;font-size:.9rem;font-weight:700}.logout-btn{cursor:pointer;color:#ffffffd9;background:0 0;border:none;align-items:center;gap:.5rem;transition:color .2s;display:flex}.logout-btn:hover{color:#fff}.logout-text{display:none}@media (width<=768px){.mobile-menu-toggle{display:block}.nav-links{-webkit-backdrop-filter:blur(20px);visibility:hidden;opacity:0;pointer-events:none;z-index:99;width:100%;height:0;box-shadow:none;background-color:#1e1e1efa;border-top:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:1.5rem;padding-top:0;transition:height .35s cubic-bezier(.16,1,.3,1),opacity .25s,visibility .35s;position:fixed;top:95px;left:0;overflow-y:auto}.nav-links.mobile-open{visibility:visible;opacity:1;pointer-events:auto;border-top:1px solid #ffffff14;height:calc(100vh - 95px);padding-top:3rem;box-shadow:0 10px 30px #0006}.nav-links a{color:#ffffffd9!important}.nav-links a:hover,.nav-links a.active{color:#fff!important}.nav-dropdown-trigger{color:#ffffffd9!important}.user-greeting{color:#fffffff2!important}.user-nav-group{border-top:1px solid #ffffff1a;flex-direction:column;width:100%;padding:2rem}.logout-text{font-weight:700;display:inline}.logout-btn{color:#fff;border-radius:var(--radius-full);background-color:#ffffff1a;justify-content:center;width:100%;padding:.8rem 2rem}.admin-layout{flex-direction:column}.sidebar{border-bottom:1px solid var(--color-border);width:100%;height:auto;padding:1rem;position:relative}}.admin-mobile-header{display:none}@media (width<=768px){.admin-mobile-header{z-index:100;color:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0000001a}.mobile-menu-toggle-btn{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex}.mobile-menu-toggle-btn:hover{opacity:.8}.mobile-header-title{align-items:center;display:flex}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:998;background:#0006;animation:.25s ease-out fade-in;position:fixed;inset:0}.admin-layout{flex-direction:column!important;height:100vh!important;overflow:hidden!important}.sidebar{transform:translate(-100%);box-shadow:5px 0 25px #00000040;z-index:999!important;border-right:1px solid #ffffff1a!important;width:280px!important;height:100vh!important;padding:1.5rem 1rem!important;transition:transform .3s cubic-bezier(.16,1,.3,1)!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important}.sidebar.mobile-open{transform:translate(0)!important}.admin-content{flex:1!important;height:calc(100vh - 60px)!important;padding:1rem!important;overflow-y:auto!important}.admin-content header,.admin-content .admin-page-header,.admin-content>div>div:first-of-type{flex-direction:column!important;align-items:stretch!important;gap:1rem!important;margin-bottom:1.5rem!important;display:flex!important}.admin-content header>div,.admin-content .admin-page-header>div,.admin-content .admin-header-actions,.admin-content>div>div:first-of-type>div:last-of-type{flex-direction:column!important;align-items:stretch!important;gap:.5rem!important;width:100%!important;display:flex!important}.admin-content header button,.admin-content .admin-page-header button,.admin-content .admin-header-actions button,.admin-content>div>div:first-of-type button,.admin-content>div>div:first-of-type input,.admin-content header .btn,.admin-content .admin-page-header .btn,.admin-content .admin-header-actions .btn,.admin-content .admin-header-actions input,.admin-content .admin-header-actions select{text-align:center!important;box-sizing:border-box!important;justify-content:center!important;width:100%!important}.admin-content .card{border-radius:var(--radius-md)!important;padding:1rem!important}.admin-content .card>div{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.admin-content table{table-layout:auto!important;min-width:850px!important}.admin-content table th,.admin-content table td{font-size:.9rem;padding:.8rem .6rem!important}.fc{max-height:100%!important;font-size:.85rem!important}.fc .fc-toolbar{flex-direction:column!important;align-items:center!important;gap:.5rem!important;display:flex!important}.fc .fc-toolbar-title{text-align:center!important;margin:.2rem 0!important;font-size:1.15rem!important;font-weight:700!important}.fc .fc-button{border-radius:6px!important;padding:.4rem .7rem!important;font-size:.85rem!important}.fc-col-header-cell-cushion{padding:4px 2px!important;font-size:.8rem!important}}.btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.04em;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.94rem;font-weight:600;display:inline-flex}.btn-primary{background-color:var(--color-primary,#1e1e1e);color:#fff;border:1px solid #1e1e1e;box-shadow:0 4px 14px #0000001a}.btn-primary:hover{background-color:#2d2d2d;border-color:#2d2d2d;transform:translateY(-2px);box-shadow:0 6px 20px #00000029}.btn-secondary{color:#1e1e1e;background-color:#fff;border:1.5px solid #1e1e1e}.btn-secondary:hover{color:#fff;background-color:#1e1e1e;transform:translateY(-2px);box-shadow:0 4px 14px #00000014}.btn-outline{color:#1e1e1e;background-color:#0000;border:1px solid #d0d0c8}.btn-outline:hover{color:#1e1e1e;background-color:#f6f5f2;border-color:#1e1e1e;transform:translateY(-1px)}.card{background-color:var(--color-surface,#fff);border-radius:var(--radius-lg,24px);box-shadow:var(--shadow-sm);border:1px solid var(--color-border,#eaeae6);transition:box-shadow var(--transition-normal), transform var(--transition-normal);padding:2.2rem}.card:hover{box-shadow:var(--shadow-md)}.badge{border-radius:var(--radius-full);letter-spacing:.03em;color:#1a1a1a;background-color:#f4f4f0;border:1px solid #e5e5df;align-items:center;gap:.35rem;padding:.32rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge-art,.badge-sport,.badge-music{color:#1a1a1a;background-color:#f4f4f0;border:1px solid #e5e5df}:root{--font-family-serif:"Georgia", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-main);background-color:var(--color-background);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-break:strict;line-height:1.65;position:relative}a{color:inherit;text-decoration:none}ul{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);color:var(--color-text-main);text-wrap:balance;margin-bottom:.5rem;line-height:1.35}p{text-wrap:pretty;overflow-wrap:break-word;word-break:break-word}button{font-family:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floatUp{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes leafFloat{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.3}90%{opacity:.3}to{opacity:0;transform:translate(100vw,100vh)rotate(360deg)}}@keyframes kenBurns{0%{transform:scale(1)}to{transform:scale(1.15)}}@keyframes godRays{0%{opacity:.3;transform:translate(-10%)skew(-25deg)}50%{opacity:.6;transform:translate(5%)skew(-25deg)}to{opacity:.3;transform:translate(-10%)skew(-25deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-float{animation:3s ease-in-out infinite floatUp}.hero-bg-zoom{transform-origin:50%;animation:40s ease-out forwards kenBurns}.god-rays{pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000 0%,#ffffff1a 20%,#fff3 25%,#ffffff1a 30%,#0000 50%,#ffffff1a 70%,#fff3 75%,#ffffff1a 80%,#0000 100%);width:200%;height:100%;animation:12s ease-in-out infinite godRays;position:absolute;top:0;left:0}.leaf-animate-container{pointer-events:none;z-index:0;width:120vw;height:120vh;position:fixed;top:-10vh;left:-10vw;overflow:hidden}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.about-concept-btn{color:#faf9f6!important;letter-spacing:.08em!important;cursor:pointer!important;background-color:#1e1e1e!important;border:1.5px solid #1e1e1e!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;padding:.85rem 2.6rem!important;font-family:Outfit,Montserrat,sans-serif!important;font-size:.95rem!important;font-weight:600!important;text-decoration:none!important;transition:all .35s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important;box-shadow:0 4px 15px #1e1e1e2e!important}.about-concept-btn:hover{color:#fff!important;background-color:#333!important;border-color:#333!important;transform:translateY(-3px)scale(1.03)!important;box-shadow:0 10px 25px #1e1e1e47!important}.course-grid-4col{grid-template-columns:repeat(4,1fr);gap:1.8rem;width:100%;margin-top:1rem;display:grid}@media (width<=1024px){.course-grid-4col{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.course-grid-4col{grid-template-columns:1fr}}.course-card-premium{cursor:pointer;z-index:1;border-radius:18px;width:100%;padding-top:133.33%;display:block;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000000f}.course-card-bg{z-index:1;background-position:50%;background-size:cover;transition:transform .7s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.course-card-premium:hover .course-card-bg{transform:scale(1.1)}.course-card-overlay{z-index:2;text-align:center;box-sizing:border-box;background-color:#00000059;flex-direction:column;justify-content:center;align-items:center;padding:2.2rem;transition:background-color .4s;display:flex;position:absolute;inset:0}.course-card-premium:hover .course-card-overlay{background-color:#0000008c}.course-card-title-en{opacity:.8;transform:translateY(12px);color:#fff!important;letter-spacing:2px!important;text-transform:uppercase!important;margin-bottom:.6rem!important;font-family:Montserrat,sans-serif!important;font-size:.85rem!important;font-weight:700!important;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .45s!important}.course-card-title-zh{transform:translateY(12px);color:#fff!important;margin:0 0 1.5rem!important;font-family:Noto Sans TC,sans-serif!important;font-size:1.45rem!important;font-weight:800!important;transition:transform .45s cubic-bezier(.16,1,.3,1)!important}.course-card-btn-more{opacity:0;transform:translateY(18px);-webkit-backdrop-filter:blur(8px)!important;color:#fff!important;letter-spacing:.08em!important;text-transform:uppercase!important;background-color:#ffffff26!important;border:1px solid #fff9!important;border-radius:9999px!important;padding:.65rem 2.2rem!important;font-size:.85rem!important;font-weight:500!important;transition:all .45s cubic-bezier(.16,1,.3,1)!important}.course-card-premium:hover .course-card-title-en{opacity:1;transform:translateY(0)}.course-card-premium:hover .course-card-title-zh{transform:translateY(0)}.course-card-premium:hover .course-card-btn-more{opacity:1;transform:translateY(0)}body.modal-open{overflow:hidden!important}.global-modal-overlay{-webkit-backdrop-filter:blur(6px)!important;z-index:3000!important;background-color:#000000a6!important;justify-content:center!important;align-items:center!important;padding:1rem!important;display:flex!important;position:fixed!important;inset:0!important;overflow-y:auto!important}.global-modal-content{-webkit-overflow-scrolling:touch!important;background-color:#fff!important;border-radius:24px!important;width:100%!important;max-height:90vh!important;margin:auto!important;overflow-y:auto!important;box-shadow:0 25px 50px -12px #00000040!important}@media (width<=640px){.global-modal-overlay{align-items:center!important;padding:.8rem!important}.global-modal-content{border-radius:20px!important;max-height:88vh!important;padding:1.4rem 1.1rem!important}}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
