*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #1e293b;--accent: #f59e0b;--accent-light: #fff7ed;--bg: #f8fafc;--white: #ffffff;--line-green: #06c755;--muted: #64748b;--border: #e2e8f0;--shadow: rgba(30, 41, 59, .12)}html{scroll-behavior:smooth}body{font-family:Noto Sans TC,sans-serif;background:var(--bg);background-image:radial-gradient(#cbd5e1 .8px,transparent .8px);background-size:24px 24px;color:var(--navy);line-height:1.6}.navbar{position:sticky;top:0;z-index:1000;background:var(--navy);border-bottom:2px solid var(--navy);box-shadow:0 4px 24px #1e293b33}.page-wrap{max-width:1000px;margin:0 auto;padding:60px 24px 100px}.title-wrap{text-align:center;margin-bottom:48px}.title{font-size:clamp(1.8rem,5vw,2.5rem);font-weight:800;color:var(--navy);position:relative;display:inline-block}.title:after{content:"";position:absolute;bottom:-10px;left:15%;width:70%;height:6px;background:var(--accent);border-radius:10px;opacity:.6}.announce-card{background:var(--white);border:2px solid var(--navy);border-radius:24px;box-shadow:8px 8px 0 var(--navy);padding:32px;max-width:700px;margin:0 auto 60px;transition:transform .2s ease,box-shadow .2s ease}.announce-card:hover{transform:translate(-2px,-2px);box-shadow:12px 12px 0 var(--navy)}.announce-header{font-weight:800;font-size:1.25rem;color:var(--navy);margin-bottom:24px;padding-bottom:12px;border-bottom:2px dashed var(--border);display:flex;align-items:center;gap:8px;justify-content:center}.announce-item{display:flex;flex-direction:column;gap:8px;padding:20px 12px;border-bottom:1px solid var(--border);transition:all .2s ease;position:relative;left:0}@media(min-width:640px){.announce-item{flex-direction:row;align-items:flex-start;gap:16px}}.announce-item:hover{background:var(--accent-light);border-radius:12px;transform:translate(4px)}.announce-item:last-child{border-bottom:none}.announce-date{background:var(--navy);color:#fff;padding:4px 12px;border-radius:8px;font-size:.8rem;font-weight:700;white-space:nowrap;width:fit-content}.announce-content{line-height:1.8;color:var(--navy);font-weight:500}.fab-group{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:16px;z-index:2000}.fab{width:52px;height:52px;border-radius:50%;border:2px solid var(--navy);background:#fff;color:var(--navy);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:4px 4px 0 var(--navy);transition:all .2s;overflow:hidden}.fab:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--navy)}.fab-top{opacity:0;pointer-events:none;background:var(--white)}.fab-top.show{opacity:1;pointer-events:auto}.fab-line-img{width:28px;height:28px;pointer-events:none}.modal-overlay{display:none;position:fixed;inset:0;background:#0f172ab3;z-index:3000;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px}.modal-overlay.show{display:flex}.modal-box{background:#fff;border:3px solid var(--navy);border-radius:32px;box-shadow:12px 12px 0 var(--navy);padding:40px 24px;max-width:360px;width:100%;text-align:center;position:relative;animation:modalIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-box h2{font-size:1.3rem;font-weight:800;margin-bottom:12px}.modal-box p{font-size:.95rem;color:var(--muted);margin-bottom:20px}.modal-box img{width:180px;height:180px;border-radius:16px;border:2px solid var(--border);margin-bottom:24px}.modal-close{position:absolute;top:16px;right:16px;background:var(--bg);border:2px solid var(--navy);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700}.modal-line-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--line-green);color:#fff;border-radius:50px;font-weight:700;text-decoration:none;border:2px solid var(--navy);box-shadow:4px 4px 0 var(--navy);transition:all .1s}.modal-line-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--navy)}.footer{text-align:center;padding:48px 24px;font-size:.85rem;color:var(--muted)}
