/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#080b0a;--foreground:#f4f7f3;--muted:#9ca69f;--line:#ffffff1f;--lime:#c8ff3d;--mint:#79f2c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-geist-sans), "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;margin:0}a{color:inherit;text-decoration:none}.race-page{background-color:#080b0a;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:46px 46px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100svh;position:relative;overflow:hidden}.ambient{filter:blur(120px);opacity:.14;pointer-events:none;border-radius:999px;width:32rem;height:32rem;position:absolute}.ambient-one{background:var(--lime);top:-10rem;right:-13rem}.ambient-two{opacity:.09;background:#3d85ff;top:38rem;left:-16rem}.site-shell{z-index:1;width:min(100% - 36px,860px);margin:0 auto;padding:32px 0 54px;position:relative}.site-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:54px;display:flex}.wordmark{letter-spacing:.16em;align-items:center;gap:11px;font-size:.84rem;font-weight:760;line-height:1.1;display:inline-flex}.wordmark-mark{width:39px;height:39px;color:var(--lime);letter-spacing:.06em;background:#c8ff3d14;border:1px solid #c8ff3d73;border-radius:12px;place-items:center;font-size:.76rem;display:grid}.wordmark small{color:#7f8a83;letter-spacing:.22em;margin-top:5px;font-size:.56rem;font-weight:560;display:block}.live-status{color:#aab3ad;align-items:center;gap:8px;font-size:.72rem;font-weight:580;display:inline-flex}.live-status>span{background:var(--lime);border-radius:999px;width:7px;height:7px;box-shadow:0 0 14px #c8ff3de6}.hero-card{background:radial-gradient(circle at 88% 8%,#c8ff3d24,#0000 34%),linear-gradient(140deg,#ffffff13,#ffffff06);border:1px solid #c8ff3d33;border-radius:32px;padding:clamp(25px,5vw,46px);position:relative;overflow:hidden;box-shadow:0 30px 90px #00000059}.hero-card:after{content:"";border:1px solid #c8ff3d24;border-radius:999px;width:16rem;height:16rem;position:absolute;bottom:-7rem;right:-4rem;box-shadow:0 0 0 35px #c8ff3d06,0 0 0 70px #c8ff3d05}.hero-kicker,.section-heading,.race-row-meta{align-items:center;display:flex}.hero-kicker{z-index:1;color:var(--lime);letter-spacing:.18em;justify-content:space-between;gap:16px;font-size:.69rem;font-weight:720;position:relative}.race-type{border:1px solid var(--line);color:#dbe1dd;letter-spacing:.08em;background:#ffffff0a;border-radius:999px;padding:8px 12px}.hero-main{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:44px;padding:clamp(40px,8vw,76px) 0 clamp(34px,6vw,56px);display:grid;position:relative}.hero-date{color:#aab3ad;letter-spacing:.06em;margin:0 0 15px;font-size:.82rem;font-weight:580}.hero-copy h1{letter-spacing:-.065em;text-wrap:balance;max-width:620px;margin:0;font-size:clamp(2.35rem,7vw,4.9rem);font-weight:720;line-height:.98}.hero-description{color:#b2bbb5;max-width:570px;margin:24px 0 0;font-size:clamp(.9rem,2vw,1rem);line-height:1.75}.hero-countdown{text-align:right;min-width:118px;padding-bottom:4px}.hero-countdown strong{color:var(--lime);font-family:var(--font-geist-mono), monospace;letter-spacing:-.09em;font-size:clamp(4.8rem,12vw,7.8rem);font-weight:480;line-height:.74;display:block}.hero-countdown span{color:#7e8881;letter-spacing:.22em;white-space:nowrap;margin-top:17px;font-size:.61rem;font-weight:650;display:block}.hero-today{background:var(--lime);color:#10130e;white-space:nowrap;border-radius:999px;padding:12px 16px;font-size:.84rem;font-weight:800;display:inline-flex}.hero-details{z-index:1;border:1px solid var(--line);background:var(--line);border-radius:19px;grid-template-columns:.7fr 1.2fr 1.6fr;gap:1px;display:grid;position:relative;overflow:hidden}.hero-details>div{background:#070b09b8;min-width:0;padding:17px 19px}.hero-details span{color:#78827b;letter-spacing:.16em;margin-bottom:8px;font-size:.57rem;font-weight:670;display:block}.hero-details strong{color:#edf1ee;text-overflow:ellipsis;font-size:.81rem;font-weight:570;line-height:1.45;display:block;overflow:hidden}.schedule{margin-top:80px}.section-heading{justify-content:space-between;gap:22px;margin-bottom:26px}.section-heading p{color:var(--lime);letter-spacing:.18em;margin:0 0 7px;font-size:.6rem;font-weight:700}.section-heading h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:650}.section-heading>span{color:#7d8780;font-size:.75rem}.race-list{gap:10px;display:grid}.race-row{--race-accent:var(--lime);background:#ffffff09;border:1px solid #ffffff17;border-radius:22px;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:24px;min-height:118px;padding:20px 22px;transition:border-color .18s,background .18s,transform .18s;display:grid}.race-row:hover{border-color:var(--race-accent);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.race-row:hover{border-color:color-mix(in srgb, var(--race-accent) 32%, transparent)}}.race-row:hover{background:#ffffff0e}.type-tri{--race-accent:#72d7ff}.type-bike{--race-accent:#ffbd69}.type-swim{--race-accent:#6be9d1}.race-row time{border-right:1px solid var(--line);padding-right:22px;display:block}.race-row time strong,.race-row time span{display:block}.race-row time strong{color:var(--race-accent);font-family:var(--font-geist-mono), monospace;letter-spacing:-.04em;font-size:1.17rem;font-weight:540}.race-row time span{color:#778078;margin-top:6px;font-size:.66rem}.race-row-copy{min-width:0}.race-row-meta{gap:8px;margin-bottom:7px}.race-row-meta span{color:var(--race-accent);letter-spacing:.08em;font-size:.59rem;font-weight:700}.race-row-meta span+span:before{content:"·";color:#566058;margin-right:8px}.race-row h3{letter-spacing:-.02em;text-overflow:ellipsis;margin:0;font-size:clamp(.98rem,2.6vw,1.17rem);font-weight:610;line-height:1.35;overflow:hidden}.race-row p{color:#7f8982;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font-size:.72rem;line-height:1.45;overflow:hidden}.countdown-pill{border:1px solid var(--line);color:#89928c;white-space:nowrap;border-radius:999px;justify-content:center;align-items:baseline;gap:4px;min-width:70px;padding:9px 11px;font-size:.63rem;display:inline-flex}.countdown-pill strong{color:#f1f4f2;font-family:var(--font-geist-mono), monospace;font-size:.83rem;font-weight:550}.countdown-pill.today{border-color:var(--race-accent);color:var(--race-accent)}.empty-card{border:1px solid var(--line);text-align:center;background:#ffffff09;border-radius:32px;place-content:center;min-height:430px;padding:40px;display:grid}.empty-card p{color:var(--lime);letter-spacing:.2em;margin:0 0 18px;font-size:.65rem;font-weight:750}.empty-card h1{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,7vw,4rem)}.empty-card span{color:var(--muted);margin-top:17px;font-size:.88rem}footer{border-top:1px solid var(--line);color:#69726c;letter-spacing:.13em;justify-content:space-between;gap:20px;margin-top:60px;padding-top:22px;font-size:.59rem;font-weight:600;display:flex}@media (width<=700px){.site-shell{width:min(100% - 28px,860px);padding-top:22px}.site-header{margin-bottom:34px}.live-status{font-size:0}.live-status>span{width:8px;height:8px}.hero-card{border-radius:26px}.hero-main{grid-template-columns:1fr;gap:38px;padding-top:42px}.hero-copy h1{font-size:clamp(2.5rem,12vw,4.1rem);line-height:1}.hero-countdown{text-align:left}.hero-countdown strong{font-size:clamp(5.5rem,26vw,7.4rem)}.hero-details{grid-template-columns:.72fr 1.28fr}.hero-details>div:last-child{grid-column:1/-1}.schedule{margin-top:62px}.race-row{grid-template-columns:67px minmax(0,1fr);gap:16px;min-height:110px;padding:17px 16px}.race-row time{padding-right:15px}.countdown-pill{grid-column:2;width:max-content;margin-top:-4px}}@media (width<=420px){.wordmark{font-size:.74rem}.wordmark-mark{width:36px;height:36px}.hero-card{padding:23px 20px}.race-type{padding:7px 10px}.hero-details>div{padding:15px 14px}.section-heading>span{text-align:right;max-width:80px}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.race-row{transition:none}}
