:root{--fbh-canvas:#f5f6f8;--fbh-surface:#fff;--fbh-surface-sunken:#fafbfc;--fbh-ink:#131b24;--fbh-ink-soft:#4c5a66;--fbh-ink-faint:#6b7885;--fbh-line:#dde2e8;--fbh-line-strong:#c3ccd6;--fbh-brand:#14406b;--fbh-brand-strong:#0e2f50;--fbh-brand-soft:#eef3f8;--fbh-focus:#1b6fc4;--fbh-danger:#a4231c;--fbh-danger-line:#e3b5b2;--fbh-danger-soft:#fdf3f2;--fbh-notice:#6b4d10;--fbh-notice-line:#e6d3a6;--fbh-notice-soft:#fdf8ec;--fbh-radius-sm:6px;--fbh-radius:10px;--fbh-radius-lg:14px;--fbh-space-1:4px;--fbh-space-2:8px;--fbh-space-3:12px;--fbh-space-4:16px;--fbh-space-5:24px;--fbh-space-6:32px;--fbh-space-7:48px;--fbh-shadow-sm:0 1px 2px #131b240f;--fbh-shadow:0 1px 3px #131b2414, 0 6px 20px #131b240d;--fbh-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--fbh-measure:44rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--fbh-sans);color:var(--fbh-ink);-webkit-text-size-adjust:100%;font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--fbh-canvas);color:var(--fbh-ink);min-height:100svh}h1,h2,h3{color:var(--fbh-ink);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}p{margin:0}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--fbh-focus);outline-offset:2px;border-radius:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--fbh-surface);color:var(--fbh-brand);padding:var(--fbh-space-3) var(--fbh-space-4);border-radius:0 0 var(--fbh-radius) 0;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}#root{min-height:100svh}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-header{background:var(--fbh-surface);border-bottom:1px solid var(--fbh-line)}.app-header__inner,.app-footer__inner,.app-main{width:100%;max-width:60rem;padding-inline:var(--fbh-space-5);margin:0 auto}.app-header__inner{justify-content:space-between;align-items:center;gap:var(--fbh-space-4);padding-block:var(--fbh-space-3);flex-wrap:wrap;min-height:60px;display:flex}.app-brand{letter-spacing:.01em;color:var(--fbh-brand);font-size:1.0625rem;font-weight:650;text-decoration:none}.app-brand:hover{color:var(--fbh-brand-strong)}.app-main{padding-block:var(--fbh-space-6) var(--fbh-space-7);flex:1}.app-main:focus{outline:none}.app-footer{border-top:1px solid var(--fbh-line);background:var(--fbh-surface)}.app-footer__inner{padding-block:var(--fbh-space-4);color:var(--fbh-ink-faint);font-size:.8125rem}.lang-switch{align-items:center;gap:var(--fbh-space-2);display:flex}.lang-switch__label{text-transform:uppercase;letter-spacing:.06em;color:var(--fbh-ink-faint);font-size:.75rem}.lang-switch__options{border:1px solid var(--fbh-line);background:var(--fbh-surface-sunken);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch__option{appearance:none;font:inherit;color:var(--fbh-ink-soft);cursor:pointer;background:0 0;border:0;min-height:34px;padding:7px 14px;font-size:.8125rem}.lang-switch__option[aria-pressed=true]{background:var(--fbh-brand);color:#fff;font-weight:600}.lang-switch__option:hover:not([aria-pressed=true]){color:var(--fbh-ink);background:var(--fbh-brand-soft)}.page{max-width:var(--fbh-measure)}.page__head{margin-bottom:var(--fbh-space-6)}.page__title{margin-bottom:var(--fbh-space-3);font-size:clamp(1.75rem,1.35rem + 1.6vw,2.25rem)}.page__intro{color:var(--fbh-ink-soft);max-width:38rem}.text-link{color:var(--fbh-brand);font-weight:500}.card{background:var(--fbh-surface);border:1px solid var(--fbh-line);border-radius:var(--fbh-radius-lg);box-shadow:var(--fbh-shadow-sm);padding:var(--fbh-space-5);margin-bottom:var(--fbh-space-5)}.card__head{margin-bottom:var(--fbh-space-4);padding-bottom:var(--fbh-space-3);border-bottom:1px solid var(--fbh-line)}.card__title{font-size:1.125rem}.card__description,.card__lead{color:var(--fbh-ink-soft);font-size:.9375rem}.card__lead{margin-bottom:var(--fbh-space-4)}.card__lead:focus{outline:none}.form{margin:0}.field-grid{gap:var(--fbh-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.field-grid__item--narrow{grid-column:span 1}.field-grid__item--full{grid-column:1/-1}.field-grid__item--start{grid-column-start:1}@media (width<=640px){.field-grid{grid-template-columns:minmax(0,1fr)}}.field{gap:var(--fbh-space-2);flex-direction:column;min-width:0;display:flex}.field__head{justify-content:space-between;align-items:baseline;gap:var(--fbh-space-2);display:flex}.field__label{color:var(--fbh-ink);min-width:0;font-size:.875rem;font-weight:600}.field__flag{text-transform:uppercase;letter-spacing:.06em;color:var(--fbh-ink-faint);white-space:nowrap;font-size:.6875rem;font-weight:500}.field__help{color:var(--fbh-ink-faint);font-size:.8125rem}.field__error{color:var(--fbh-danger);font-size:.8125rem;font-weight:500}.control{width:100%;min-width:0;font:inherit;color:var(--fbh-ink);background:var(--fbh-surface);border:1px solid var(--fbh-line-strong);border-radius:var(--fbh-radius);min-height:46px;padding:10px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.control:hover{border-color:var(--fbh-ink-faint)}.control:focus-visible{border-color:var(--fbh-focus);outline:none;box-shadow:0 0 0 3px #1b6fc438}.control::placeholder{color:#9aa5b1}.control--select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fbh-ink-soft) 50%), linear-gradient(135deg, var(--fbh-ink-soft) 50%, transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.control--textarea{resize:vertical;min-height:110px;line-height:1.5}.control--date{appearance:none}.field--invalid .control{border-color:var(--fbh-danger)}.field--invalid .control:focus-visible{box-shadow:0 0 0 3px #a4231c2e}.btn{appearance:none;font:inherit;border-radius:var(--fbh-radius);cursor:pointer;justify-content:center;align-items:center;gap:var(--fbh-space-2);text-align:center;border:1px solid #0000;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn--sm{min-height:38px;padding:6px 12px;font-size:.8125rem}.btn--md{min-height:46px;padding:10px 18px;font-size:.9375rem}.btn--lg{min-height:50px;padding:12px 24px;font-size:1rem}.btn--full{width:100%}.btn--primary{background:var(--fbh-brand);color:#fff}.btn--primary:hover:not(:disabled){background:var(--fbh-brand-strong)}.btn--secondary{background:var(--fbh-surface);color:var(--fbh-brand);border-color:var(--fbh-line-strong)}.btn--secondary:hover:not(:disabled){background:var(--fbh-brand-soft);border-color:var(--fbh-brand)}.btn--quiet{color:var(--fbh-danger);background:0 0;border-color:#0000;font-weight:500}.btn--quiet:hover:not(:disabled){background:var(--fbh-danger-soft)}.btn:disabled{opacity:.55;cursor:not-allowed}.actions{gap:var(--fbh-space-3);margin-top:var(--fbh-space-5);display:flex}.actions--split{flex-wrap:wrap;justify-content:space-between}@media (width<=560px){.actions{flex-direction:column-reverse}.actions .btn{width:100%}}.trips{gap:var(--fbh-space-4);flex-direction:column;display:flex}.trip{border:1px solid var(--fbh-line);border-radius:var(--fbh-radius);background:var(--fbh-surface-sunken);padding:var(--fbh-space-4);min-width:0;margin:0}.trip__head{justify-content:space-between;align-items:center;gap:var(--fbh-space-3);margin-bottom:var(--fbh-space-3);display:flex}.trip__legend{color:var(--fbh-ink);font-size:.9375rem;font-weight:650}.trip__remove{margin-left:auto}.trips__footer{margin-top:var(--fbh-space-4);gap:var(--fbh-space-2);flex-direction:column;align-items:flex-start;display:flex}.trips__limit{color:var(--fbh-notice);font-size:.8125rem}.alert{border:1px solid var(--fbh-line);border-radius:var(--fbh-radius-sm);padding:var(--fbh-space-4);margin-block:var(--fbh-space-4);border-left-width:4px;font-size:.9375rem}.alert__title{margin-bottom:var(--fbh-space-1);font-weight:650}.alert--notice{background:var(--fbh-notice-soft);border-color:var(--fbh-notice-line);border-left-color:var(--fbh-notice);color:var(--fbh-notice)}.alert--danger{background:var(--fbh-danger-soft);border-color:var(--fbh-danger-line);border-left-color:var(--fbh-danger);color:var(--fbh-danger)}.alert--info{background:var(--fbh-brand-soft);border-left-color:var(--fbh-brand);color:var(--fbh-brand-strong)}.error-summary{background:var(--fbh-danger-soft);border:1px solid var(--fbh-danger-line);border-left:4px solid var(--fbh-danger);border-radius:var(--fbh-radius-sm);padding:var(--fbh-space-4);margin-bottom:var(--fbh-space-5)}.error-summary__title{color:var(--fbh-danger);margin-bottom:var(--fbh-space-2);font-size:1rem}.error-summary__list{margin:0;padding-left:1.15rem;font-size:.9375rem}.error-summary__list li+li{margin-top:var(--fbh-space-1)}.error-summary__list a{color:var(--fbh-danger);font-weight:500}.summary{gap:var(--fbh-space-3);flex-direction:column;display:flex}.summary__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--fbh-ink-faint);margin-top:var(--fbh-space-3);font-size:.75rem}.summary__list{gap:var(--fbh-space-1);margin:0;display:grid}.summary__row{gap:var(--fbh-space-3);border-bottom:1px solid var(--fbh-line);grid-template-columns:minmax(9rem,34%) minmax(0,1fr);padding-block:6px;display:grid}.summary__term{color:var(--fbh-ink-faint);font-size:.875rem}.summary__value{overflow-wrap:anywhere;margin:0;font-weight:550}@media (width<=520px){.summary__row{grid-template-columns:minmax(0,1fr);gap:2px}}.summary__trips{gap:var(--fbh-space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.summary__trip{border:1px solid var(--fbh-line);border-radius:var(--fbh-radius);background:var(--fbh-surface-sunken);padding:var(--fbh-space-3) var(--fbh-space-4)}.summary__trip-title{margin-bottom:var(--fbh-space-2);font-weight:650}.summary__trip .summary__row:last-child{border-bottom:0}.summary__notes{white-space:pre-wrap;overflow-wrap:anywhere}.summary__notes--empty{color:var(--fbh-ink-faint)}.reference{background:var(--fbh-brand-soft);border-radius:var(--fbh-radius);padding:var(--fbh-space-3) var(--fbh-space-4);margin-bottom:var(--fbh-space-4)}.reference__value{letter-spacing:.04em;font-weight:700}.honeypot{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}
