:root{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--color-brand-primary:#60a5fa;--color-brand-secondary:#93c5fd;--color-brand-light:#3b82f626;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003;--particle-color:148, 163, 184;--particle-line-color:71, 85, 105}[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--color-brand-primary:#1e3a8a;--color-brand-secondary:#3b82f6;--color-brand-light:#eff6ff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000006;--particle-color:148, 163, 184;--particle-line-color:203, 213, 225}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;overflow-x:hidden}html{background-color:var(--bg-primary);transition:background-color .3s}#particle-canvas{z-index:0;pointer-events:none;background-color:#0000;width:100%;height:100%;position:absolute;top:0;left:0}body{color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0000;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none;transition:color .2s}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}ul{list-style:none}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.highlight{color:var(--color-brand-secondary)}.glass-card{-webkit-backdrop-filter:blur(10px);border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-sm);background-color:#ffffffd9;border-radius:12px;padding:2.5rem;transition:box-shadow .3s,transform .3s}.glass-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}[data-theme=dark] .glass-card{background-color:#1e293bb3;border-color:#94a3b826}.btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.8rem 1.8rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-brand-primary);color:#fff;border:1px solid var(--color-brand-primary)}.btn-primary:hover{background-color:var(--color-brand-secondary);border-color:var(--color-brand-secondary);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-brand-light);color:var(--color-brand-primary);border:1px solid #0000}.btn-secondary:hover{background-color:#dbeafe}.btn-outline{color:var(--color-brand-secondary);border:2px solid var(--color-brand-secondary);background:0 0}.btn-outline:hover{background:var(--color-brand-light);color:var(--color-brand-primary);border-color:var(--color-brand-primary)}.navbar{z-index:1000;-webkit-backdrop-filter:blur(8px);background-color:#fffffff2;border-bottom:1px solid #0000;width:100%;padding:1.5rem 0;transition:all .3s;position:fixed;top:0;left:0}[data-theme=dark] .navbar{background-color:#0f172af2}.navbar.scrolled{border-bottom:1px solid var(--bg-tertiary);box-shadow:var(--shadow-sm);padding:1rem 0}.nav-container{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:0 2rem;display:flex}.logo{flex-direction:column;display:flex}.logo-text{letter-spacing:-.5px;color:var(--text-primary);font-size:1.4rem;font-weight:800}.nav-logo{object-fit:contain;width:auto;height:40px;display:none}@media (width<=768px){.logo-text,.logo-subtext{display:none}.nav-logo{display:block}}.logo-subtext{color:var(--text-secondary);letter-spacing:.5px;font-size:.75rem;font-weight:500}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-links a{color:var(--text-secondary);font-size:.95rem;font-weight:500}.nav-links a:hover{color:var(--color-brand-primary)}.hamburger{cursor:pointer;color:var(--text-primary);font-size:1.8rem;transition:color .3s;display:none}.hamburger:hover{color:var(--color-brand-primary)}.theme-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:.5rem;font-size:1.4rem;transition:color .2s,transform .2s;display:flex}.theme-toggle:hover{color:var(--color-brand-primary);transform:rotate(15deg)}[data-theme=dark] .ph-moon,[data-theme=light] .ph-sun,:root:not([data-theme=dark]) .ph-sun{display:none}.hero{background-color:var(--bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:1;max-width:800px;padding:0 2rem;position:relative}.hero-title{letter-spacing:-.05em;background:linear-gradient(to right, var(--text-primary), var(--color-brand-primary));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:clamp(3rem,5vw,4.5rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:clamp(1.1rem,2vw,1.25rem);font-weight:400}.hero-cta{justify-content:center;gap:1rem;display:flex}section{padding:8rem 0}@media (width<=768px){section{padding:4rem 0}.section-title{margin-bottom:2.5rem}}.section-title{text-align:center;letter-spacing:-.5px;margin-bottom:4rem;font-size:2.2rem;font-weight:700}.section-title .highlight{letter-spacing:2px;text-transform:uppercase;margin-top:.5rem;font-size:1rem;font-weight:500;display:block}.about-section{background-color:#0000}.about-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:4rem;display:grid}.about-text{align-items:center;height:100%;display:flex}.about-text p{color:var(--text-secondary);margin:0;font-size:1.1rem}.about-stats{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.stat-card{text-align:center;flex-direction:column;justify-content:center;height:100%;display:flex}.stat-number{color:var(--color-brand-primary);margin-bottom:.5rem;font-size:3rem;font-weight:800;line-height:1;display:block}.stat-label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.org-section{background-color:#0000}.org-tree{flex-direction:column;align-items:center;margin-top:2rem;display:flex}.org-level{flex-wrap:wrap;justify-content:center;width:100%;display:flex;position:relative}.top-level{z-index:2;margin-bottom:3rem}.top-level-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.side-connector{background:var(--color-brand-primary);opacity:.5;width:3rem;height:2px;position:absolute;top:50%;left:100%}.org-node-wrapper{z-index:1;position:relative}.side-node-wrapper{width:150px;height:max-content;margin:auto 0;position:absolute;top:0;bottom:0;left:calc(100% + 3rem)}.side-node{width:100%;padding:1.2rem .5rem}.top-level:after{content:"";background:var(--color-brand-primary);opacity:.5;width:2px;height:3rem;position:absolute;bottom:-3rem;left:50%;transform:translate(-50%)}.bottom-level{flex-wrap:nowrap;gap:1rem;width:100%;padding-top:2rem;position:relative}.bottom-level .org-node-wrapper{flex:1 1 0;min-width:0}.bottom-level .org-node{height:100%;padding:1.2rem .5rem}.bottom-level .org-node-wrapper:before{content:"";background:var(--color-brand-primary);opacity:.5;width:2px;height:2rem;position:absolute;top:-2rem;left:50%;transform:translate(-50%)}.bottom-level .org-node-wrapper:not(:last-child):after{content:"";background:var(--color-brand-primary);opacity:.5;width:calc(100% + 1rem);height:2px;position:absolute;top:-2rem;left:50%}.org-node{z-index:2;white-space:nowrap;background:var(--bg-primary);border:1px solid #1e3a8a26;flex-direction:column;align-items:center;min-width:140px;padding:1.5rem 2rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;box-shadow:0 4px 15px #1e3a8a0f}[data-theme=dark] .org-node{background:var(--bg-tertiary);border:1px solid #ffffff1a;box-shadow:0 4px 15px #0000004d}.org-node:hover{box-shadow:var(--shadow-lg);border-color:var(--color-brand-secondary);transform:translateY(-5px)}.node-title{color:var(--color-brand-secondary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.node-name{color:var(--text-primary);font-size:1rem}@media (width<=1024px){.org-tree{align-items:stretch;position:relative}.org-tree:before{display:none!important}.top-level{flex-direction:column;align-items:stretch;gap:0;margin-bottom:0;padding-bottom:1rem;position:relative}.top-level:before{content:"";z-index:1;background:#1e3a8a80;width:2px;position:absolute;top:5rem;bottom:0;left:1.5rem;display:block!important}.bottom-level{flex-direction:column;align-items:stretch;gap:0;margin-bottom:0;padding-top:0}.top-level-wrapper{flex-direction:column;align-items:stretch;gap:0}.top-level-wrapper>.org-node-wrapper{padding-bottom:1rem}.top-level:after,.bottom-level:before,.side-connector{display:none!important}.side-node-wrapper{width:auto;height:auto;margin:0;position:relative;top:auto;bottom:auto;left:auto;transform:none}.side-node-wrapper,.bottom-level .org-node-wrapper{flex:auto;margin-left:1.5rem;padding-bottom:1rem;padding-left:1.5rem;position:relative}.bottom-level .org-node-wrapper:before{content:"";z-index:1;background:#1e3a8a80;width:2px;position:absolute;top:0;bottom:0;left:0;transform:none;opacity:1!important;height:auto!important;display:block!important}.bottom-level .org-node-wrapper:last-child{padding-bottom:0}.bottom-level .org-node-wrapper:last-child:before{bottom:50%}.side-node-wrapper:after,.bottom-level .org-node-wrapper:after,.bottom-level .org-node-wrapper:not(:last-child):after{content:"";background:var(--color-brand-primary);opacity:.5;z-index:1;width:1.5rem;height:2px;position:absolute;top:calc(50% - .5rem);left:0}.bottom-level .org-node-wrapper:last-child:after{top:50%}.org-tree .org-node{white-space:normal;align-items:flex-start;width:100%;min-width:0;padding:1.5rem}.org-node:hover{box-shadow:var(--shadow-lg);border-color:var(--color-brand-secondary);transform:translate(5px)}}.members-section{background-color:var(--bg-secondary)}.department{margin-bottom:4rem;scroll-margin-top:100px}.department:last-child{margin-bottom:0}.department-title{color:var(--text-primary);text-align:center;margin-bottom:2.5rem;font-size:1.5rem;font-weight:700;position:relative}.department-title:after{content:"";background:var(--color-brand-primary);border-radius:2px;width:60px;height:4px;margin:.8rem auto 0;display:block}.members-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;display:grid}.member-card{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;padding:3rem 2rem;transition:all .3s;display:flex;background-color:var(--bg-primary)!important}.clickable-card{cursor:pointer}.clickable-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-brand-secondary);transform:translateY(-8px)}.member-icon{background-color:var(--color-brand-light);width:80px;height:80px;color:var(--color-brand-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:2.5rem;display:flex;overflow:hidden}.member-icon img{object-fit:cover;width:100%;height:100%}.member-name{color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem;font-weight:700}.member-title{color:var(--color-brand-primary);background-color:var(--color-brand-light);border-radius:20px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;line-height:1.2;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:2000;opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background:var(--bg-primary);border-radius:12px;width:90%;max-width:450px;max-height:90vh;padding:3rem;transition:transform .3s;position:relative;overflow-y:auto;transform:translateY(20px)}.modal-overlay.active .modal-card{transform:translateY(0)}.modal-close{cursor:pointer;color:var(--text-tertiary);z-index:10;background:0 0;border:none;font-size:1.8rem;transition:all .2s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--color-brand-primary)}.event-modal-card .modal-close{color:#fff;-webkit-backdrop-filter:blur(4px);background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.event-modal-card .modal-close:hover{color:#fff;background:#000c}.modal-header{text-align:left;align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.modal-header .member-icon{width:70px;height:70px;margin-bottom:0;font-size:2.2rem}.modal-header-info{flex-direction:column;align-items:flex-start;display:flex}.modal-body{color:var(--text-secondary);text-align:left;font-size:1rem;line-height:1.7}.event-modal-card{max-width:800px}.event-modal-grid{grid-template-columns:1.5fr 1fr;grid-template-areas:"image image""left right";gap:3rem;display:grid}.event-modal-grid.no-links{grid-template-columns:1fr;grid-template-areas:"image""left";align-items:start;gap:3rem}.event-modal-image-container{border-radius:12px 12px 0 0;grid-area:image;width:calc(100% + 6rem);max-height:350px;margin:-3rem -3rem 3rem;overflow:hidden}.event-modal-image-container img{object-fit:cover;width:100%;height:100%;display:block}.event-modal-left{grid-area:left}.event-modal-left h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.event-modal-left p{color:var(--text-secondary);line-height:1.6}.event-modal-right{border-left:1px solid var(--bg-tertiary);grid-area:right;padding-left:2rem}.event-modal-right h4{color:var(--color-brand-secondary);margin-bottom:1rem;font-size:1.1rem}.past-events-list{padding:0;list-style:none}.past-events-list li{margin-bottom:.8rem}.past-events-list a{color:var(--text-secondary);align-items:center;gap:.5rem;text-decoration:none;transition:color .3s;display:inline-flex}.past-events-list a:hover{color:var(--color-brand-primary)}@media (width<=768px){.event-modal-grid,.event-modal-grid.no-links{grid-template-columns:1fr;grid-template-areas:"image""left""right";gap:2rem}.event-modal-right{border-left:none;border-top:1px solid var(--bg-tertiary);padding-top:2rem;padding-left:0}}.btn-sm{padding:.4rem 1.2rem;font-size:.85rem}.events-section{background-color:var(--bg-secondary)}.events-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2.5rem;display:grid}.event-card{-webkit-backdrop-filter:blur(10px);border:1px solid var(--bg-tertiary);background-color:#ffffffd9;border-radius:12px;flex-direction:column;padding:0;display:flex;overflow:hidden}.event-image{background-color:var(--bg-tertiary);justify-content:center;align-items:center;width:100%;height:200px;display:flex;overflow:hidden}.event-image img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1)}.event-card:hover .event-image img{transform:scale(1.05)}.placeholder-image{background-color:var(--color-brand-light);height:200px;color:var(--color-brand-primary);justify-content:center;align-items:center;font-size:1.2rem;font-weight:500;display:flex}.event-info{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.event-info h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.event-info p{color:var(--text-secondary);flex-grow:1;margin-bottom:2rem;font-size:.95rem}.event-info .btn-outline{align-self:flex-start}[data-theme=dark] .event-card{background-color:#1e293bb3;border:1px solid #ffffff1a}.contact-section{text-align:center;background-color:#0000}.contact-icons-container{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:1rem;display:flex}.icon-link{background-color:var(--bg-secondary);width:80px;height:80px;color:var(--color-brand-primary);border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:2.5rem;transition:all .3s;display:flex}.icon-link:hover{background-color:var(--color-brand-primary);color:#fff;box-shadow:var(--shadow-md);transform:translateY(-5px)}.finance-section{background-color:var(--bg-secondary);padding-bottom:5rem}.finance-tabs-wrapper{z-index:2;max-width:1000px;margin:0 auto -1px;padding:0;position:relative}.finance-card{z-index:1;max-width:1000px;margin:0 auto;padding:3rem;position:relative;border-top-left-radius:0!important}.finance-tabs{border-bottom:none;flex-wrap:wrap;gap:0;margin-bottom:0;padding-left:0;display:flex}.finance-tab{color:var(--primary-color);cursor:pointer;background:0 0;border:1px solid #0000;border-top-left-radius:6px;border-top-right-radius:6px;margin-bottom:-1px;padding:.5rem 1rem;font-size:1rem;font-weight:500;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;display:block}.finance-tab:hover{border-color:var(--bg-tertiary) var(--bg-tertiary) var(--glass-border);color:var(--text-primary)}.finance-tab.active{color:var(--text-primary);background-color:var(--bg-secondary);box-shadow:none;z-index:3;border-color:var(--bg-tertiary) var(--bg-tertiary) var(--bg-secondary)!important}.finance-tab:first-child{border-top-left-radius:12px}.finance-header{border-bottom:1px solid var(--bg-tertiary);justify-content:space-between;align-items:flex-end;margin-bottom:2rem;padding-bottom:1rem;display:flex}.finance-title{color:var(--text-primary);margin-bottom:0;font-size:1.5rem}.last-updated{color:var(--text-tertiary);font-size:.9rem}.table-responsive{margin-bottom:2rem;overflow-x:auto}.finance-table{border-collapse:collapse;text-align:left;width:100%}.finance-table th,.finance-table td{border-bottom:1px solid var(--bg-tertiary);padding:1rem}.finance-table th{color:var(--text-secondary);background-color:#0000001a;font-weight:600}[data-theme=light] .finance-table th{background-color:#00000008}.amount-col{text-align:right;font-family:Inter,sans-serif;font-weight:500}.income{color:#10b981}.expense{color:#ef4444}.balance{color:var(--text-primary)}.highlight-amount{color:var(--color-brand-primary);font-size:1.2rem;font-weight:700}.total-row td{border-top:2px solid var(--text-tertiary);background-color:#0000000d;border-bottom:none}.month-divider td{color:var(--text-primary);border-top:2px solid var(--color-brand-primary);background-color:#ffffff0d;padding:.8rem 1rem;font-size:1.05rem;font-weight:700}[data-theme=light] .month-divider td{background-color:#0000000a}.finance-footer{text-align:center;border-top:1px dashed var(--bg-tertiary);flex-direction:column;align-items:center;padding-top:2rem;display:flex}.finance-note{color:var(--text-tertiary);margin-bottom:1rem;font-size:.9rem}.download-btn{align-items:center;gap:.5rem;display:inline-flex}@media (width<=768px){.finance-header{flex-direction:column;align-items:flex-start;gap:.5rem}.finance-card{padding:1.5rem}}.footer{text-align:center;color:#f8fafc;border-top:1px solid var(--bg-tertiary);background-color:#0f172a;padding:4rem 0}.footer-note{color:#94a3b8;margin-top:1rem;font-size:.85rem}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(20px)}.reveal.active{opacity:1;transform:translateY(0)}@media (width<=768px){.hamburger{display:block}.nav-container{flex-direction:row;gap:0}.nav-links{-webkit-backdrop-filter:blur(8px);width:100%;box-shadow:var(--shadow-md);border-top:1px solid var(--bg-tertiary);background-color:#fffffffa;flex-direction:column;gap:1.5rem;padding:2rem;display:none;position:absolute;top:100%;left:0}[data-theme=dark] .nav-links{background-color:#0f172afa}.nav-links.active{display:flex}.nav-links li{text-align:center;width:100%}.nav-links a{padding:.5rem 0;font-size:1.1rem;display:block}.hero-title{font-size:2.5rem}.hero-cta{flex-direction:column}.about-grid,.contact-wrapper{grid-template-columns:1fr}.contact-info,.social-links{padding:2rem}.contact-icons-container{flex-wrap:nowrap;justify-content:center;gap:.8rem;display:flex}.icon-link{width:50px;height:50px;font-size:1.8rem}}#egg-btn{color:#fff;cursor:pointer;background-color:#ff4757;border:none;border-radius:5px;padding:10px 20px;display:none}.github-link-tooltip{position:relative}.github-link-tooltip:after{content:"meow~~";background:var(--color-brand-primary);color:#fff;opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;z-index:100;border-radius:8px;margin-bottom:6px;padding:6px 12px;font-size:.9rem;font-weight:700;transition:opacity .3s,visibility .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #3b82f666}.github-link-tooltip:before{content:"";border-style:solid;border-width:6px 6px 0;border-color:var(--color-brand-primary) transparent transparent transparent;opacity:0;visibility:hidden;pointer-events:none;z-index:100;transition:opacity .3s,visibility .3s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.github-link-tooltip:hover:after,.github-link-tooltip:hover:before{opacity:1;visibility:visible;transition-delay:3s}.github-link-tooltip:not(:hover):after,.github-link-tooltip:not(:hover):before{transition-delay:0s}
