/* Bootstrap owns component behavior; these are the family palette and spacing tokens. */
:root{--bs-primary:#067b79;--bs-primary-rgb:6,123,121;--bs-border-radius:.75rem;--bs-border-radius-lg:1rem;--bs-body-font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","Noto Sans CJK TC",sans-serif;--bs-link-color:#067b79;--bs-link-hover-color:#075f5d}
body{font-family:var(--bs-body-font-family);color:var(--ink);background:var(--paper)}
.fc .fc-day-other .fc-daygrid-day-top{opacity:1}.fc .fc-day-other .fc-daygrid-day-number{color:#64736c}.calendar-back{margin:0 0 16px}#day-panel{margin-top:30px}#day-panel>h2{font-size:19px;margin:0 0 16px;letter-spacing:.01em}
#day-panel article.detail{padding:0;border-radius:16px;border-left-width:4px;overflow:hidden}
#day-panel .card-body{padding:22px 24px}#day-panel .card-body>p{margin:10px 0;max-width:65ch}#day-panel .tag{align-self:flex-start}#day-panel .hint{font-size:12px}#day-panel h3{font-size:22px;margin:14px 0 10px;line-height:1.45}
.btn{--bs-btn-color:#067b79;--bs-btn-border-color:#9ec9c1;--bs-btn-hover-bg:#067b79;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#067b79;--bs-btn-active-bg:#075f5d;--bs-btn-active-color:#fff;--bs-btn-active-border-color:#075f5d;min-height:44px;padding:10px 15px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap}
.btn-primary{--bs-btn-bg:#067b79;--bs-btn-color:#fff;--bs-btn-border-color:#067b79}
#trip-extra{margin:20px 0 30px}#trip-extra .trip-tabs{background:#f0f4ef;border-radius:14px;padding:5px;gap:4px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px}
.trip-tabs .nav-link{width:100%;border-radius:10px;color:#375653;min-height:44px;padding:9px 6px;font-size:14px;font-weight:650;white-space:nowrap}
.trip-tabs .nav-link.active{background:#067b79;color:#fff}.trip-tabs .nav-link:focus-visible{outline:3px solid #c99527;outline-offset:2px}
#trip-extra .tab-pane>h2{font-size:18px;margin:16px 4px}#trip-extra .tab-pane>article.card{padding:0;margin:12px 0 18px;border:1px solid #dfe7e0;border-radius:16px;overflow:hidden}
#trip-extra .card-body{padding:24px}#trip-extra .card-body>small{display:block;font-size:12px;color:#5d736a;letter-spacing:.04em;margin-bottom:10px}#trip-extra .card-body>h3{font-size:22px;line-height:1.45;margin:8px 0 16px}#trip-extra .card-body>p{max-width:65ch;margin-bottom:14px}#trip-extra .card-body>.tag{margin-bottom:8px}
#trip-extra .itinerary-list{margin:8px 0 20px;--bs-list-group-border-color:#e8eeea;--bs-list-group-color:#234947}
#trip-extra .itinerary-list .list-group-item{padding:14px 0;background:transparent;display:flex;align-items:baseline;gap:12px;font-size:16px;line-height:1.7}
#trip-extra .itinerary-list .list-group-item:before{font-size:12px;font-weight:700;color:#067b79;min-width:18px}#trip-extra .itinerary-list .tag{font-size:11px;padding:3px 6px;margin-left:auto;white-space:nowrap}
.trip-accordion{margin-top:18px;--bs-accordion-border-color:#dfe7e0;--bs-accordion-active-bg:#edf5f1;--bs-accordion-active-color:#164b46;--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem #067b7930;--bs-accordion-btn-padding-x:16px;--bs-accordion-btn-padding-y:14px;--bs-accordion-body-padding-x:16px;--bs-accordion-body-padding-y:16px}
.trip-accordion .accordion-button{font-size:14px;font-weight:600;line-height:1.6;min-height:48px}.trip-accordion .accordion-body{font-size:14px;line-height:1.8}.trip-accordion p:last-child{margin-bottom:0}.accordion-body p{max-width:65ch}.accordion-body strong{font-size:15px}.accordion-item{overflow:hidden}
#trip-extra .quest .answer{margin-top:16px;padding:18px;line-height:1.8}#trip-extra .stamp{background:#f5f8f3;border-radius:12px;padding:14px;margin-top:18px}#trip-extra .stamp label{align-items:center;font-size:14px;line-height:1.7;min-height:44px}#trip-extra #badge{font-size:14px;line-height:1.7;margin-top:10px;color:#315f42}#trip-extra .hint{line-height:1.8;margin-top:14px}
.upcoming-item{line-height:1.65}.filters input{flex-shrink:0}.fc .fc-toolbar-title{margin:0}.fc .fc-list-event-title a{color:inherit}button:active{transform:translateY(1px)}.fc button:active{transform:none}
@media(min-width:768px){#trip-extra #food.active{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;align-items:start}#trip-extra #food>h2{grid-column:1/-1}#trip-extra #food>article:last-child{grid-column:1/-1}#trip-extra #food .card-body>h3{font-size:20px}}
@media(max-width:767px){#trip-extra .card-body,#day-panel .card-body{padding:20px}#trip-extra .card-body>h3,#day-panel h3{font-size:20px}.trip-tabs .nav-link{font-size:13px}#trip-extra .itinerary-list .list-group-item{font-size:15px;flex-wrap:wrap;gap:6px 10px}#trip-extra .itinerary-list .tag{margin-left:0}#trip-extra .trip-tabs{position:sticky;top:8px;z-index:2;box-shadow:0 2px 10px #173d3b10}#trip-extra #food.active{display:block}#day-panel .card-body>p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.collapse,.collapsing,.nav-link,.btn{transition:none!important}}
@media(prefers-color-scheme:dark){:root{--ink:#dce9e4;--paper:#172321;--line:#3a4b45;--bs-body-bg:#172321;--bs-body-color:#dce9e4;--bs-link-color:#8fd1bd;--bs-link-hover-color:#b3e4d4}body{color:var(--ink);background:var(--paper)}.card{background:#22312d;border-color:#3a4b45;color:#dce9e4}.muted,footer,.hint{color:#afc1b7}a{color:#8fd1bd}.upcoming-item{background:#2c4038;color:#e0eee6}.upcoming-item strong{color:#9adcc3}.tag{background:#31493d;color:#cee8d9}.school .tag{background:#2e4356}.status{color:#e4c78a}.fc{--fc-neutral-bg-color:#263630;--fc-border-color:#40534b;--fc-today-bg-color:#4c422b;--fc-page-bg-color:#22312d;--fc-list-event-hover-bg-color:#314b40}.fc .fc-day-selected{background:#314b40}.fc a{color:#dce9e4}#trip-extra .trip-tabs{background:#2d4038}.trip-tabs .nav-link{color:#d5e9dc}#trip-extra .tab-pane>article.card{border-color:#40534b}#trip-extra .card-body>small{color:#b2cbbd}#trip-extra .itinerary-list{--bs-list-group-color:#dce9e4;--bs-list-group-border-color:#40534b}#trip-extra .itinerary-list .list-group-item:before{color:#8fd1bd}.trip-accordion{--bs-accordion-bg:#263a31;--bs-accordion-color:#dce9e4;--bs-accordion-btn-bg:#263a31;--bs-accordion-btn-color:#dce9e4;--bs-accordion-active-bg:#355444;--bs-accordion-active-color:#eef7f1;--bs-accordion-border-color:#40534b}#trip-extra .stamp,#trip-extra .answer{background:#304b3e}#trip-extra #badge{color:#c4e4ca}.btn-outline-primary{color:#a2dfc8;background:#2d493d;border-color:#6b9a86}.accordion-button:after{filter:brightness(1.6)}}
