:root{--navy:#182f4b;--navy-light:#243c59;--gold:#c79e41;--warm-white:#fdfcf8;--warm-cream:#f8f5ee;--muted-foreground:#586475;--border:#e1ded7;--font-heading:"Montserrat", "Noto Sans TC", sans-serif;--font-body:"Noto Sans TC", sans-serif}*,:before,:after{box-sizing:border-box}body{background:var(--warm-white);color:var(--muted-foreground);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.85}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--navy);line-height:1.35}.container{width:100%;max-width:820px;margin:0 auto;padding:0 1rem}@media (width>=640px){.container{padding:0 1.5rem}}.hero{background:linear-gradient(135deg, var(--navy), var(--navy-light), var(--navy));color:#fff;padding:3.5rem 0 3rem}.hero h1{color:#fff;margin:0 0 1.25rem;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:700}.hero p{color:#ffffffd9;margin:0 0 1rem}.hero .hero-tag{color:var(--gold);background:#c79e411f;border:1px solid #c79e4166;border-radius:999px;margin-bottom:1.25rem;padding:.2rem .9rem;font-size:.9rem;font-weight:700;display:inline-block}.section{padding:3rem 0}.section-cream{background:var(--warm-cream)}.section p{margin:0 0 1rem}.section h2{margin:0 0 1rem;font-size:1.5rem;font-weight:700;line-height:1.25}@media (width>=640px){.section h2{font-size:1.875rem}}@media (width>=768px){.section h2{font-size:2.25rem}}@media (width>=1024px){.section h2{font-size:3rem}}.h2-accent{color:#d74745}.cta .h2-accent{color:var(--gold)}.note-box{border:1px solid var(--border);border-left:4px solid var(--gold);background:#fff;border-radius:.75rem;margin:1.25rem 0;padding:1rem 1.25rem}.note-box p{margin:0!important}.filter-panel{border:1px solid var(--border);background:#fff;border-radius:.75rem;gap:1.1rem;margin:1.5rem 0 0;padding:1.25rem;display:grid}.filter-group{border:0;min-width:0;margin:0;padding:0}.filter-legend{font-family:var(--font-heading);color:var(--navy);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0;font-size:.95rem;font-weight:700;display:flex}.legend-hint{font-family:var(--font-body);color:var(--muted-foreground);background:#182f4b0f;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:400}.chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chip{cursor:pointer;align-items:center;display:inline-flex}.chip input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chip span{border:1px solid var(--border);background:var(--warm-white);color:var(--navy);border-radius:999px;padding:.35rem .9rem;font-size:.9rem;font-weight:700;line-height:1.5;transition:all .2s;display:inline-block}.chip:hover span{border-color:var(--gold);color:var(--gold)}.chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.chip-toggle input:checked+span{background:var(--gold);border-color:var(--gold);color:#fff}.filter-reset{color:var(--muted-foreground);font-family:var(--font-body);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:.35rem .2rem;font-size:.85rem;text-decoration:underline}.filter-reset:hover{color:var(--navy)}.source-note{margin-top:1.25rem}.result-count{font-family:var(--font-heading);color:var(--navy);font-size:1rem;font-weight:700;margin:1.5rem 0 .75rem!important}.school-cards{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.school-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.school-card{border:1px solid var(--border);border-left:4px solid var(--gold);background:#fff;border-radius:.75rem;padding:1rem 1.15rem}.directory-card{flex-direction:column;display:flex}.directory-card[hidden]{display:none}.card-names{margin-bottom:.6rem}.name-zh{overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:700;line-height:1.45}.name-en{font-family:var(--font-heading);color:var(--muted-foreground);overflow-wrap:anywhere;font-size:.85rem;font-weight:600;line-height:1.5;margin:.15rem 0 0!important}.name-en-only{color:var(--navy);font-size:1.05rem;font-weight:700;margin-top:0!important}.school-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.school-tag{color:var(--navy);background:#182f4b0f;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:700;line-height:1.7}.card-desc-zh{font-size:.9rem;line-height:1.75;margin:0 0 .6rem!important}.card-desc-en{color:var(--muted-foreground);border-top:1px dashed var(--border);overflow-wrap:anywhere;padding-top:.6rem;font-size:.8rem;line-height:1.7;margin:0 0 .75rem!important}.campus-block{border-top:1px dashed var(--border);margin-bottom:.6rem;padding-top:.6rem}.campus-title{font-family:var(--font-heading);color:var(--navy);font-size:.8rem;font-weight:700;margin:0 0 .35rem!important}.campus-list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.campus-item{overflow-wrap:anywhere;padding-left:.85rem;font-size:.8rem;line-height:1.55;position:relative}.campus-item:before{content:"";background:var(--gold);border-radius:999px;width:.35rem;height:.35rem;position:absolute;top:.62em;left:0}.campus-name{color:var(--navy);font-weight:700;display:block}.campus-where{color:var(--muted-foreground);display:block}.card-note{color:#7a5f1e;background:#c79e411f;border-radius:.5rem;padding:.5rem .7rem;font-size:.8rem;line-height:1.7;margin:0 0 .6rem!important}.card-flags{flex-wrap:wrap;gap:.4rem;margin-top:auto;display:flex}.flag-partner,.flag-trial{color:#7a5f1e;background:#c79e412e}.flag-detail{border:1px solid var(--navy);color:var(--navy);background:0 0;text-decoration:none;transition:all .2s}.flag-detail:hover{border-color:var(--gold);color:var(--gold)}.empty-state{border:1px dashed var(--border);text-align:center;color:var(--muted-foreground);background:#fff;border-radius:.75rem;padding:1.5rem 1.25rem;margin:0!important}.reading-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.reading-list a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px;font-weight:700}.reading-list a:hover{color:var(--gold)}.cta{background:linear-gradient(135deg, var(--navy), var(--navy-light), var(--navy));color:#fff;border-radius:1rem;padding:2rem 1.5rem}@media (width>=640px){.cta{border-radius:1.5rem;padding:3rem}}.cta h2{color:#fff}.cta p{color:#fffc}.cta-buttons{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}@media (width>=640px){.cta-buttons{flex-direction:row;gap:1rem}}.btn{color:#fff;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}@media (width>=640px){.btn{padding:1rem 2rem;font-size:1.125rem}}.btn:hover{transform:translateY(-.25rem)}.btn-line{background:oklch(62.7% .194 149.214)}.btn-line:hover{background:oklch(72.3% .219 149.579);box-shadow:0 20px 25px -5px oklch(62.7% .194 149.214/.3),0 8px 10px -6px oklch(62.7% .194 149.214/.3)}.btn-ghost{backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff40}.btn-ghost:hover{background:#ffffff40}.section-cta{padding-top:1rem}.disclaimer{padding:1.5rem 0 2.5rem}.disclaimer p{color:var(--muted-foreground);margin:0;font-size:.8rem}
