body{font-family:Microsoft JhengHei,微軟正黑體,sans-serif}.cf-hero{background:#fcd060;border-bottom:3px solid #fdb827;padding:16px 0}.cf-hero a{color:#3a2800;font-weight:700;text-decoration:none}.cf-card{background:#fff;border:1px solid #e8d8b0;border-radius:8px;height:100%;transition:box-shadow .15s;overflow:hidden}.cf-card:hover{box-shadow:0 4px 14px #c88c002e}.cf-card-img{aspect-ratio:16/9;object-fit:cover;background:#f3f3f3;width:100%}.cf-card-body{padding:12px 14px}.cf-card-cat{color:#c9920a;background:#fff4d6;border-radius:4px;margin-bottom:6px;padding:2px 8px;font-size:12px;display:inline-block}.cf-card-title{color:#222;margin-bottom:6px;font-weight:700;text-decoration:none;display:block}.cf-card-title:hover{color:#c9920a}.cf-card-meta{color:#666;font-size:13px}.cf-detail-title{margin-bottom:4px;font-size:24px;font-weight:800}.cf-detail-meta dt{color:#888;font-weight:600}.cf-agenda-item{background:#fff8ec;border-left:3px solid #fdb827;margin-bottom:8px;padding:8px 12px}.cf-reg-btn{color:#3a2800;background:#fdb827;border:none;font-weight:700}.cf-reg-btn:hover{color:#fff;background:#c9920a}.cf-detail{--cf-primary:#fdb827;--cf-primary-dk:#c9920a;--cf-primary-lt:#fff4d6;--cf-on-primary:#3a2800;--cf-accent:#d64a00;--cf-section-bg:#fff8ec;--cf-border:#e8d8b0;--cf-card-bg:#fff;--cf-text:#2d1f00;--cf-muted:#7a5c20;color:var(--cf-text);background:#fff}.cf-container{max-width:64rem;margin:0 auto;padding:0 1.5rem}.cf-container-narrow{text-align:center;max-width:42rem;margin:0 auto;padding:0 1rem}.cf-detail-nav{z-index:40;background:var(--cf-section-bg);border-bottom:3px solid var(--cf-primary);position:sticky;top:0;box-shadow:0 2px 10px #c88c001f}.cf-detail-nav .cf-nav-inner{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;max-width:64rem;margin:0 auto;padding:.6rem 1.5rem;display:flex}.cf-detail-nav a.nav-link-scroll{color:#3a2800;border-radius:5px;padding:.5rem .85rem;font-size:.95rem;font-weight:600;text-decoration:none}.cf-detail-nav a.nav-link-scroll:hover{background:var(--cf-primary-lt);color:var(--cf-primary-dk)}.cf-detail-nav .btn-nav-signup{background:var(--cf-primary);border-radius:5px;margin-left:auto;padding:.55rem 1.2rem;font-size:.95rem;font-weight:700;text-decoration:none;color:var(--cf-on-primary)!important}.cf-detail-nav .btn-nav-signup:hover{background:var(--cf-primary-dk)}.cf-detail-nav .status-badge{color:var(--cf-accent);margin-left:auto;padding:.4rem .5rem;font-size:.95rem;font-weight:700}#floating-signup{z-index:999;background:var(--cf-primary);color:var(--cf-on-primary);border-radius:50px;align-items:center;gap:.4rem;padding:.65rem 1.3rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex;position:fixed;bottom:1.5rem;right:1.2rem;box-shadow:0 4px 16px #c88c0073}#floating-signup:hover{color:var(--cf-on-primary);transform:translateY(-3px)}#sec-hero img{width:100%;height:auto;display:block}.cf-section-title{color:var(--cf-text);letter-spacing:.04em;text-align:center;margin:0 0 1.2rem;padding-bottom:.4rem;font-size:1.5rem;font-weight:800}.cf-section-title:after{content:"";background:var(--cf-primary);border-radius:2px;width:50px;height:4px;margin:.35rem auto 0;display:block}#sec-intro,#sec-speakers,#sec-traffic,#sec-howto{background:var(--cf-section-bg);padding:3.5rem 0}#sec-agenda,#sec-partners,#sec-register{background:#fff;padding:3.5rem 0}.intro-content{color:var(--cf-text);font-size:1.1rem;line-height:2}.agenda-wrap table{border-collapse:collapse;width:100%;font-size:1rem}.agenda-wrap table th,.agenda-wrap table td{border:1px solid var(--cf-border);vertical-align:top;padding:.75rem 1rem}.agenda-wrap table th{background:var(--cf-primary);color:var(--cf-on-primary);font-weight:700}.agenda-wrap table tr:nth-child(2n) td{background:#fffbf0}.agenda-wrap .agenda-row{border-bottom:1px solid var(--cf-border);align-items:flex-start;gap:1.2rem;padding:.9rem 0;font-size:1rem;display:flex}.agenda-wrap .agenda-time{min-width:120px;color:var(--cf-primary-dk);flex-shrink:0;font-size:.95rem;font-weight:700}.agenda-wrap .agenda-topic{flex:1;font-size:1.05rem}.agenda-wrap .agenda-speaker{min-width:200px;color:var(--cf-muted);flex-shrink:0;font-size:.95rem}.agenda-wrap .agenda-break{background:#fffbe8;border-radius:6px;padding-left:.5rem}@media (max-width:640px){.agenda-wrap .agenda-header{display:none}.agenda-wrap .agenda-row{flex-direction:column;gap:.35rem;padding:.9rem .2rem}.agenda-wrap .agenda-time,.agenda-wrap .agenda-speaker{min-width:unset;width:100%}}.speakers-grid{flex-wrap:wrap;justify-content:center;gap:1.4rem;display:flex}.speaker-col{box-sizing:border-box;flex:0 0 calc(33.333% - 1.4rem);max-width:calc(33.333% - 1.4rem)}@media (max-width:991px){.speaker-col{flex:0 0 calc(50% - 1.4rem);max-width:calc(50% - 1.4rem)}}@media (max-width:575px){.speaker-col{flex:0 0 100%;max-width:100%}}.speaker-card{background:var(--cf-card-bg);border:1px solid var(--cf-border);text-align:center;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 2px 10px #c88c001a}.speaker-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.speaker-card .card-body{flex:1;padding:1.2rem 1rem}.speaker-card .speaker-name{margin:0 0 .3rem;font-size:1.2rem;font-weight:900}.speaker-card .speaker-org,.speaker-card .speaker-title{color:var(--cf-muted);text-align:left;margin:0 0 .2rem;font-size:.92rem;font-weight:600}.speaker-card .speaker-bio{color:#5a4020;text-align:left;font-size:.88rem;line-height:1.7}.partner-row{border-bottom:1px solid var(--cf-border);align-items:center;gap:1.4rem;padding:1.2rem 0;display:flex}.partner-row:last-child{border-bottom:none}.partner-label{min-width:100px;color:var(--cf-on-primary);text-align:center;background:var(--cf-primary);border-radius:6px;flex-shrink:0;padding:.45rem .65rem;font-size:.95rem;font-weight:700}.partner-names{flex-wrap:wrap;gap:.6rem;display:flex}.partner-chip{background:var(--cf-primary-lt);color:var(--cf-primary-dk);border-radius:999px;padding:.3rem .9rem;font-size:.9rem;font-weight:600}@media (max-width:767px){.partner-row{text-align:center;flex-direction:column;align-items:center}}.traffic-info{color:var(--cf-text);margin-top:.75rem;font-size:1.05rem;line-height:1.9}.traffic-info strong{color:var(--cf-primary-dk)}.map-wrap{border-radius:12px;overflow:hidden;box-shadow:0 2px 14px #0000001a}.map-wrap iframe{height:420px;display:block;border:none!important;width:100%!important}.btn-register{background:var(--cf-primary);color:var(--cf-on-primary);cursor:pointer;border:none;border-radius:8px;padding:.95rem 3.2rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 4px 14px #c88c0066}.btn-register:hover{background:var(--cf-primary-dk);color:var(--cf-on-primary)}.status-full,.status-closed{color:var(--cf-accent);font-size:1.1rem;font-weight:700}.howto-list p{color:var(--cf-text);margin-bottom:.5rem;font-size:1rem;line-height:1.85}.cf-detail-footer{color:#ffffffbf;text-align:center;background:#2a1800;padding:2rem 1.5rem;font-size:.9rem;line-height:1.8}.cf-detail-footer a{color:#ffdc64b3;text-decoration:none}.cf-detail-footer a:hover{color:var(--cf-primary)}.cf-account-panel-dark .ct-login-form label{color:#ffffff8c}.cf-account-panel-dark .ct-login-form input[type=text],.cf-account-panel-dark .ct-login-form input[type=password]{color:#fff;background:#0d0d1f;border:1px solid #ffffff26}.cf-account-panel-dark .ct-login-form input[type=text]::placeholder,.cf-account-panel-dark .ct-login-form input[type=password]::placeholder{color:#ffffff4d}.cf-account-panel-dark .ct-login-form input:focus{border-color:#fdb827}.cf-account-panel-dark .ct-login-btn{color:#3a2800;background:#fdb827}.cf-account-panel-dark .ct-login-btn:hover{background:#c9920a}.cf-account-panel-dark .ct-login-links a{color:#7ab4ff}.cf-account-panel-dark .ct-auth-error{color:#ff9d9d}.cf-account-panel-dark .ct-auth-message{color:#ffffffd9}.cf-account-panel-dark .ct-user-info .greeting{color:#fff}.cf-account-panel-dark .ct-user-info .greeting span{color:#fdb827}.cf-account-panel-dark .ct-user-actions a{color:#ffffffd9;border-color:#fff3}.cf-account-panel-dark .ct-user-actions a:hover{background:#ffffff14}.cf-account-panel-dark .ct-user-actions .logout-link{color:#ff9d9d;border-color:#ff9d9d}.cf-swiper .swiper-slide{height:auto}.cf-swiper .swiper{padding-bottom:34px}.cf-swiper .swiper-button-next,.cf-swiper .swiper-button-prev{color:#fdb827}.cf-swiper .swiper-button-next:after,.cf-swiper .swiper-button-prev:after{font-size:20px}.cf-swiper .swiper-pagination-bullet-active{background:#fdb827}
