.fa3 {--fa-primary: #0369a1;--fa-primary-light: #e0f2fe;--fa-primary-dark: #075985;--fa-sky: #38bdf8;--fa-sky-l: #e0f2fe;--fa-sky-t: #0369a1;--fa-sky-d: #0284c7;--fa-lime: #84cc16;--fa-lime-l: #ecfccb;--fa-lime-t: #3f6212;--fa-lime-d: #65a30d;--fa-pink: #ec4899;--fa-pink-l: #fce7f3;--fa-pink-t: #be185d;--fa-yel-d: #ca8a04;--fa-grey-l: #e2e8f0;--spring: #ec4899;--summer: #38bdf8;--autumn: #f59e0b;--winter: #94a3b8;--tc: #38bdf8;--tt: #0369a1;--tl: #e0f2fe;--text: #1c1e21;--text2: #475569;--muted: #64748b;--border: #e2e8f0;--bg: #f8fafc;--r-lg: 16px;--sh: 0 1px 2px rgba(15, 23, 42, 0.06), 0 6px 18px rgba(15, 23, 42, 0.07);--sh-lg: 0 2px 4px rgba(15, 23, 42, 0.06), 0 14px 34px rgba(15, 23, 42, 0.12);--num: "SF Pro Rounded", "Avenir Next", "Helvetica Neue", "Hiragino Sans", sans-serif;--pad: 12px;--ease-out: cubic-bezier(0.22, 1, 0.36, 1);max-width: 1120px;margin: 0 auto;padding: 0 0 72px;background: var(--bg);color: var(--text);font-size: 14px;line-height: 1.55;overflow-wrap: anywhere}
.fa3 *,
.fa3 *::before,
.fa3 *::after {box-sizing: border-box}
.fa3 [hidden] {display: none !important}
.fa3 svg {display: block;max-width: 100%}
.fa3 .num {font-family: var(--num);font-variant-numeric: tabular-nums;letter-spacing: -0.02em}
.fa3 .unit {margin-left: 2px;font-size: max(11px, 0.5em);font-weight: 600;letter-spacing: 0;opacity: 0.8}
.fa3-vh {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}
.fa3-hero {position: relative;overflow: hidden;padding: 22px 16px 46px;border-bottom: 1px solid #bae6fd;border-radius: 0 0 22px 22px;background:
radial-gradient(120% 80% at 88% -10%, rgba(253, 186, 116, 0.42), transparent 60%),
linear-gradient(180deg, #e0f2fe 0%, #f0f9ff 40%, #fffbeb 76%, #fce7f3 100%);box-shadow: var(--sh-lg)}
.fa3-hero > *:not(.fa3-hwave) {position: relative;z-index: 1}
.fa3-hero-t {margin: 0 0 10px;font-size: 22px;font-weight: 800;letter-spacing: -0.01em;color: var(--text)}
.fa3-hero > .fa3-hero-head {z-index: 3}
.fa3-hero:has(.fa3-share-menu:not([hidden])) {overflow: visible}
.fa3-hero-head {display: flex;align-items: flex-start;gap: 10px}
.fa3-hero-head .fa3-hero-t {flex: 1 1 auto;min-width: 0}
.fa3-share {position: relative;flex: none;margin: -6px -4px 0 0}
.fa3-share-ic {width: 20px;height: 20px;flex: none;fill: none;stroke: currentColor;stroke-width: 1.75;stroke-linecap: round;stroke-linejoin: round}
.fa3-share-ic.is-fill {fill: currentColor;stroke: none}
.fa3-share-btn {width: 44px;height: 44px;display: grid;place-items: center;padding: 0;border: 1px solid #bae6fd;border-radius: 12px;background: rgba(255, 255, 255, 0.9);color: var(--text);cursor: pointer;transition: background-color 0.15s, border-color 0.15s}
.fa3-share-btn:hover,
.fa3-share-btn[aria-expanded="true"] {border-color: var(--fa-primary);background: var(--fa-primary-light)}
.fa3-share-menu {position: absolute;top: calc(100% + 6px);right: 0;z-index: 6;width: min(280px, calc(100vw - 32px));box-sizing: border-box;padding: 6px;border: 1px solid #bae6fd;border-radius: 14px;background: #fff;box-shadow: var(--sh-lg)}
.fa3-share-item {display: flex;align-items: center;gap: 10px;width: 100%;min-height: 44px;box-sizing: border-box;padding: 0 10px;border: 0;border-radius: 10px;background: none;color: var(--text);font: inherit;font-size: 14px;font-weight: 700;text-align: left;text-decoration: none;cursor: pointer}
.fa3-share-menu[hidden],
.fa3-share-item[hidden] {display: none !important}
.fa3-share-item:hover {background: var(--fa-primary-light)}
.fa3-share-item .ic-b {display: none}
.fa3-share-item.is-done {background: var(--fa-lime-l);color: var(--fa-lime-t)}
.fa3-share-item.is-done .ic-a {display: none}
.fa3-share-item.is-done .ic-b {display: block}
.fa3-share-hint {margin: 2px 4px 4px;padding-top: 6px;border-top: 1px solid var(--border);font-size: 12px;font-weight: 500;line-height: 1.5;color: var(--muted)}
.fa3-share-toast {position: absolute;top: 8px;right: calc(100% + 8px);z-index: 7;padding: 6px 12px;border-radius: 999px;background: #1c1e21;color: #fff;font-size: 12px;font-weight: 700;line-height: 1.4;white-space: nowrap;opacity: 0;transform: translateY(-4px);pointer-events: none;transition: opacity 0.15s, transform 0.15s}
.fa3-share-toast.is-on {opacity: 1;transform: none}
.fa3-hero-key {max-width: 62ch;margin: 0 0 12px;font-size: 14px;font-weight: 700;line-height: 1.6;text-wrap: pretty}
.fa3-hero-key b {color: var(--fa-pink-t)}
.fa3-kpis {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px}
.fa3-kpi {min-width: 0;padding: 9px 12px;border: 1px solid #bae6fd;border-radius: 12px;background: rgba(255, 255, 255, 0.82)}
.fa3-kpi .l {font-size: 11px;color: var(--text2)}
.fa3-kpi .v {font-size: 26px;font-weight: 800;line-height: 1.1;color: var(--text)}
.fa3-kpi.pk {border-color: #f9a8d4;background: rgba(255, 255, 255, 0.9)}
.fa3-kpi.pk .v {color: var(--fa-pink-t)}
.fa3-kpi .delta {display: inline-flex;align-items: center;margin-top: 4px;padding: 1px 6px;border-radius: 999px;background: #fff;font-size: 11px;font-weight: 700;color: var(--text2)}
.fa3-hwave {position: absolute;right: 0;bottom: 0;left: 0;z-index: 0;height: 30px;overflow: hidden;pointer-events: none}
.fa3-hwave svg {position: absolute;bottom: 0;left: 0;width: 200%;max-width: none;height: 100%}
.fa3-hwave .w1 {fill: rgba(56, 189, 248, 0.3)}
.fa3-hwave .w2 {fill: rgba(2, 132, 199, 0.18)}
.fa3-hwave .l1 {animation: fa3-wave 16s linear infinite}
.fa3-hwave .l2 {animation: fa3-wave 10s linear infinite reverse}
@keyframes fa3-wave {to {transform: translateX(-50%)}}
.fa3-fm-bar {display: flex;align-items: center;gap: 8px;padding: 12px var(--pad) 0}
.fa3-fbtn {display: inline-flex;flex: none;align-items: center;gap: 6px;min-height: 44px;padding: 0 14px;border: 1px solid var(--fa-primary);border-radius: 999px;background: #fff;color: var(--fa-primary-dark);font: inherit;font-size: 13px;font-weight: 700;cursor: pointer}
.fa3-fbtn b {display: grid;place-items: center;min-width: 18px;height: 18px;padding: 0 5px;border-radius: 999px;background: var(--fa-primary);color: #fff;font-size: 11px}
.fa3-applied {display: flex;flex: 1;gap: 6px;min-width: 0;overflow-x: auto;scrollbar-width: none}
.fa3-applied::-webkit-scrollbar {display: none}
.fa3-ap {display: inline-flex;flex: none;align-items: center;min-height: 36px;padding: 0 10px;border-radius: 999px;background: var(--fa-primary-light);color: var(--fa-primary-dark);font-size: 12px;font-weight: 600}
.fa3-fc {display: inline-flex;flex: none;align-items: center;min-height: 44px;padding: 0 14px;border: 1px solid var(--border);border-radius: 999px;background: #fff;color: var(--text2);font-size: 13px;font-weight: 600;text-decoration: none;transition: background 0.2s, color 0.2s}
.fa3-fc:hover {background: var(--bg);color: var(--text2)}
.fa3-fc[aria-current="true"] {border-color: var(--fa-primary);background: var(--fa-primary);color: #fff}
.fa3-fsug {position: relative;display: flex;flex: 1 1 180px;align-items: center;min-width: 160px;max-width: 260px;margin: 0}
.fa3-fsug > svg {position: absolute;left: 12px;color: var(--muted);pointer-events: none}
.fa3-fsq {width: 100%;max-width: 100%;min-height: 44px;padding: 0 14px 0 34px;border: 1px dashed #94a3b8;border-radius: 999px;background: #fff;color: var(--text);font: inherit;font-size: 16px;font-weight: 600}
.fa3-fsq::placeholder {color: var(--muted)}
.fa3-fsq:focus {border-style: solid;border-color: var(--fa-primary);outline: none;box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.18)}
.fa3-fsl {position: absolute;top: calc(100% + 6px);right: 0;left: 0;z-index: 30;max-height: 240px;margin: 0;padding: 6px;overflow-y: auto;border: 1px solid var(--border);border-radius: 14px;background: #fff;box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16);list-style: none}
.fa3-fsl li {display: flex;align-items: center;justify-content: space-between;gap: 8px;min-height: 44px;padding: 0 12px;border-radius: 10px;color: var(--text);font-size: 14px;font-weight: 700;cursor: pointer}
.fa3-fsl li small {font-size: 12px;font-weight: 600;color: var(--text2)}
.fa3-fsl li[aria-selected="true"],
.fa3-fsl li[role="option"]:hover {background: var(--fa-pink-l)}
.fa3-fsl li.none {min-height: 40px;color: var(--text2);font-size: 13px;font-weight: 500;cursor: default}
.fa3-fr > b {font-size: 12px;color: var(--text2)}
.fa3-fo {display: flex;gap: 6px;padding: 5px 2px}
.fa3-grab,
.fa3-sheet-h {display: none}
@media (max-width: 640px) {.fa3-sheet-bd {position: fixed;inset: 0;z-index: 1100;background: rgba(15, 23, 42, 0.45);opacity: 0;visibility: hidden;transition: opacity 0.25s}
.fa3-sheet-bd.is-open {opacity: 1;visibility: visible}
.fa3-filter {position: fixed;right: 0;bottom: 0;left: 0;z-index: 1110;display: flex;flex-direction: column;max-height: 86vh;padding: 0 16px calc(16px + env(safe-area-inset-bottom));overflow-y: auto;overscroll-behavior: contain;border-radius: 20px 20px 0 0;background: #fff;box-shadow: 0 -10px 40px rgba(15, 23, 42, 0.25);transform: translateY(105%);visibility: hidden;transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.32s}
.fa3-filter.is-open {transform: none;visibility: visible}
.fa3-grab {display: block;flex: none;width: 40px;height: 4px;margin: 8px auto 0;border-radius: 2px;background: var(--border)}
.fa3-sheet-h {display: flex;align-items: center;justify-content: space-between;padding: 6px 0 0}
.fa3-sheet-h h2 {margin: 0;font-size: 17px}
.fa3-x {display: grid;place-items: center;width: 44px;height: 44px;border: 0;border-radius: 50%;background: none;color: var(--text2);cursor: pointer}
.fa3-fr {margin-top: 14px}
.fa3-fr > b {display: block;margin-bottom: 4px;font-size: 13px}
.fa3-fo {flex-wrap: wrap;gap: 8px}
.fa3-fsug {max-width: none}}
@media (min-width: 641px) {.fa3-fm-bar,
.fa3-sheet-bd {display: none}
.fa3-filter {margin: 16px var(--pad) 0;padding: 6px 14px;border: 1px solid rgba(226, 232, 240, 0.7);border-radius: var(--r-lg);background: #fff;box-shadow: var(--sh)}
.fa3-filter:focus-within {position: relative;z-index: 41}
.fa3-fr {display: grid;grid-template-columns: 48px minmax(0, 1fr);align-items: center;gap: 8px;padding: 2px 0}
.fa3-fr + .fa3-fr {border-top: 1px solid var(--border)}
.fa3-fo {overflow-x: auto;scrollbar-width: none}
.fa3-fo::-webkit-scrollbar {display: none}
.fa3-fo.fish {flex-wrap: wrap;overflow: visible}
.fa3-fsq {font-size: 13px}}
.fa3-tabsbar {position: sticky;top: 0;z-index: 40;margin-top: 14px;border-bottom: 1px solid var(--border);background: rgba(248, 250, 252, 0.94);backdrop-filter: blur(10px)}
.fa3-tabs {display: flex;gap: 6px;width: max-content;max-width: 100%;margin: 0 auto;padding: 6px var(--pad);overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: none}
.fa3-tabs::-webkit-scrollbar {display: none}
.fa3-tab {display: inline-flex;flex: none;align-items: center;gap: 5px;min-height: 44px;padding: 0 16px;border: 1px solid var(--border);border-radius: 999px;background: #fff;color: var(--text2);font: inherit;font-size: 13px;font-weight: 700;cursor: pointer;scroll-snap-align: center;transition: background 0.2s, color 0.2s}
.fa3-tab:focus-visible {outline-offset: -3px}
.fa3-tab svg {flex: none;opacity: 0.7}
.fa3-tab svg.fa3-tic {width: 16px;height: 16px;color: var(--tt);opacity: 1}
.fa3-tic .d {fill: var(--tc);stroke: none;opacity: 0.22}
.fa3-tab[data-t="overview"],
.fa3-tab[data-t="weather"] { --tc: #38bdf8; --tt: #0369a1; }
.fa3-tab[data-t="trips"],
.fa3-tab[data-t="tackle"] { --tc: #84cc16; --tt: #3f6212; }
.fa3-tab[data-t="spots"] { --tc: #14b8a6; --tt: #0f766e; }
.fa3-tab[data-t="fish"],
.fa3-tab[data-t="records"] { --tc: #ec4899; --tt: #be185d; }
.fa3-tab[aria-selected="true"] {border-color: var(--border);background: #fff;color: var(--tt);box-shadow: inset 0 -3px 0 var(--tc)}
.fa3-tab[data-t="overview"][aria-selected="true"] {background: linear-gradient(90deg, #38bdf8 0 33%, #84cc16 33% 66%, #ec4899 66%) bottom / 100% 3px no-repeat #fff;box-shadow: none}
@media (min-width: 960px) {.fa3-tabsbar {background: rgba(248, 250, 252, 0.9)}
.fa3-tabs {margin: 8px auto;padding: 4px;border-radius: 999px;background: #e9eef5}
.fa3-tab {padding: 0 22px;border: 0;background: transparent}
.fa3-tab:hover {background: rgba(255, 255, 255, 0.6)}
.fa3-tab[aria-selected="true"] {background: #fff}}
#fa3-p-overview,
#fa3-p-weather { --tc: #38bdf8; --tt: #0369a1; --tl: #e0f2fe; }
#fa3-p-trips,
#fa3-p-tackle { --tc: #84cc16; --tt: #3f6212; --tl: #ecfccb; }
#fa3-p-spots { --tc: #14b8a6; --tt: #0f766e; --tl: #ccfbf1; }
#fa3-p-fish,
#fa3-p-records { --tc: #ec4899; --tt: #be185d; --tl: #fce7f3; }
.fa3-grid {display: grid;grid-template-columns: minmax(0, 1fr);gap: 12px;margin-top: 16px;padding: 0 var(--pad)}
.fa3-grid > * {grid-column: 1 / -1;min-width: 0}
.fa3-cd {display: flex;flex-direction: column;gap: 12px;min-width: 0;padding: 16px;border: 1px solid rgba(226, 232, 240, 0.7);border-radius: var(--r-lg);background: #fff;box-shadow: var(--sh)}
.fa3-cd:not(.plain) {border-top: 3px solid var(--tc);background: linear-gradient(180deg, var(--tl) 0, #fff 54px)}
.fa3-cd.plain {padding: 0;border: 0;background: none;box-shadow: none}
.fa3-cd-h {display: flex;flex-wrap: wrap;align-items: center;gap: 4px 8px;min-width: 0}
.fa3-cd-h h3 {min-width: 0;margin: 0;font-size: 16px;font-weight: 800;line-height: 1.35;letter-spacing: -0.01em}
.fa3-cd-h h3::before {content: "";display: inline-block;width: 14px;height: 14px;margin-right: 6px;vertical-align: -2px;background: var(--tc);-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.2 6.8L21 11l-6.8 2.2L12 20l-2.2-6.8L3 11l6.8-2.2z'/%3E%3C/svg%3E") center / contain no-repeat;mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.2 6.8L21 11l-6.8 2.2L12 20l-2.2-6.8L3 11l6.8-2.2z'/%3E%3C/svg%3E") center / contain no-repeat}
.fa3-cd-h .fa3-sub {margin-left: auto;font-size: 11px;text-align: right;color: var(--muted)}
.fa3-pv {display: inline-flex;flex: none;align-items: center;gap: 4px;padding: 2px 8px 2px 6px;border: 1px solid #dbe3ee;border-radius: 999px;background: #eef2f7;color: #475569;font-size: 11px;font-weight: 700;line-height: 1.4;white-space: nowrap}
.fa3-sumline {margin: 0;padding: 10px 12px;border-left: 4px solid var(--tc);border-radius: 0 12px 12px 0;background: var(--tl);font-size: 14px;font-weight: 600;line-height: 1.6}
.fa3-ins {display: flex;flex-direction: column;gap: 6px;padding: 10px 12px;border-left: 3px solid var(--tc);border-radius: 12px;background: #fff}
.fa3-ins-t {display: flex;align-items: flex-start;gap: 8px}
.fa3-ins-t svg {flex: none;margin-top: 3px;color: var(--tt)}
.fa3-ins p {margin: 0;font-size: 13.5px;font-weight: 700;line-height: 1.5;text-wrap: balance}
.fa3-ev {display: flex;flex-wrap: wrap;align-items: center;gap: 8px;padding-left: 24px;font-size: 11px;color: var(--text2)}
.fa3-ev .nn {font-weight: 700;color: var(--text)}
.fa3-dots {display: inline-flex;gap: 3px}
.fa3-dots i {width: 8px;height: 8px;border-radius: 50%;background: #cbd5e1}
.fa3-dots.lv1 i.f { background: var(--fa-yel-d); }
.fa3-dots.lv2 i.f { background: var(--fa-sky-d); }
.fa3-dots.lv3 i.f { background: var(--fa-lime-d); }
.fa3-fig {min-width: 0}
.fa3-ft {display: flex;flex-direction: column;gap: 6px;margin-top: auto;padding-top: 8px;border-top: 1px dashed var(--border);font-size: 11px;line-height: 1.5;color: var(--muted)}
.fa3-ft-note,
.fa3-soon {margin: 0}
.fa3-soon {font-size: 13px;color: var(--text2)}
.fa3 .spring { --ac: var(--spring); --sc: var(--spring); --sct: #be185d; }
.fa3 .summer { --ac: var(--summer); --sc: var(--summer); --sct: #0369a1; }
.fa3 .autumn { --ac: var(--autumn); --sc: var(--autumn); --sct: #92400e; }
.fa3 .winter { --ac: var(--winter); --sc: var(--winter); --sct: #334155; }
.fa3-cal-row {display: contents}
.fa3-cal {display: none;grid-template-columns: 36px repeat(12, minmax(0, 1fr));align-items: center;gap: 3px}
.fa3-cal .rl {font-size: 11px;line-height: 1.2;color: var(--text2)}
.fa3-cal .m {font-size: 12px;font-weight: 800;text-align: center;color: color-mix(in srgb, var(--ac) 55%, #000)}
.fa3-cal .m small {display: block;min-height: 14px;font-size: 11px;font-weight: 500;color: var(--muted)}
.fa3-cal .cell {display: grid;place-items: center;min-width: 0;height: 34px;border-radius: 6px;background: color-mix(in srgb, var(--fa-lime) var(--a, 0%), #fff);font-size: 11px;font-weight: 700;color: var(--text)}
.fa3-cal .cell.z,
.fa3-cal .cell.out {background: #eef2f7;font-weight: 500;color: #475569}
.fa3-calm-g {display: grid;grid-template-columns: repeat(6, minmax(0, 1fr));gap: 4px}
.fa3-calm-g + .fa3-calm-g {margin-top: 12px}
.fa3-mc {display: flex;flex-direction: column;align-items: center;gap: 1px;min-width: 0;min-height: 56px;padding: 4px 2px;border-radius: 8px;background: #f1f5f9}
.fa3-mc b {font-size: 12px;font-weight: 800;color: color-mix(in srgb, var(--ac) 55%, #000)}
.fa3-mc .v {display: flex;flex-direction: column;align-items: center;width: 100%;border-radius: 4px;background: color-mix(in srgb, var(--fa-lime) var(--a, 0%), #fff);font-size: 12px;font-weight: 800;line-height: 1.35}
.fa3-mc .v u {font-size: 11px;font-weight: 500;text-decoration: none;color: var(--text2)}
.fa3-mc .v.z {background: none;font-weight: 500;color: #475569}
.fa3-cb-g h4 {margin: 14px 0 6px;font-size: 12px;font-weight: 800}
.fa3-sea {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 8px}
.fa3-sea > div {min-width: 0;padding: 10px 8px;border: 1px solid color-mix(in srgb, var(--sc) 35%, #fff);border-radius: 14px;background: color-mix(in srgb, var(--sc) 12%, #fff);text-align: center}
.fa3-sea .k {font-size: 12px;font-weight: 800;color: var(--sct)}
.fa3-sea .k small {display: block;font-size: 11px;white-space: nowrap}
.fa3-sea .v {font-size: 26px;font-weight: 800;line-height: 1.15}
.fa3-sea .v small {font-size: 12px;font-weight: 600}
.fa3-sea .c {font-size: 11px;color: var(--text2)}
.fa3-sea .bar {height: 6px;margin-top: 6px;overflow: hidden;border-radius: 3px;background: #fff}
.fa3-sea .bar i {display: block;height: 100%;background: var(--sc)}
.fa3-seasons {display: flex;flex-wrap: wrap;gap: 4px 10px;font-size: 11px;color: var(--text2)}
.fa3-seasons i {display: inline-block;width: 8px;height: 8px;margin-right: 4px;border-radius: 50%}
.fa3-seasons i.spring { background: var(--spring); }
.fa3-seasons i.summer { background: var(--summer); }
.fa3-seasons i.autumn { background: var(--autumn); }
.fa3-seasons i.winter { background: var(--winter); }
.fa3-seasons i.catch {border-radius: 2px;background: var(--fa-lime)}
.fa3-pnote {display: flex;align-items: flex-start;gap: 10px;padding: 10px 12px;border: 1px solid #dbe3ee;border-radius: 12px;background: #eef2f7;color: #475569}
.fa3-pnote svg {flex: none;margin-top: 1px}
.fa3-pnote p {margin: 0;font-size: 12.5px;line-height: 1.6}
.fa3-pnote b {color: var(--text)}
.fa3-lock {display: flex;flex-direction: column;align-items: center;gap: 4px;padding: 22px 12px;border: 1px dashed #cbd5e1;border-radius: 12px;background: #f8fafc;text-align: center;color: var(--muted)}
.fa3-lock b {font-size: 14px;color: var(--text2)}
.fa3-lock span {font-size: 12px}
.fa3-lgd {display: flex;flex-wrap: wrap;gap: 4px 14px;margin-top: 8px;font-size: 11px;color: var(--text2)}
.fa3-lgd span {display: inline-flex;align-items: center;gap: 5px}
.fa3-lgd i {display: inline-block;flex: none}
.fa3-lgd i.ln { width: 16px; height: 3px; border-radius: 2px; background: var(--fa-lime-d); }
.fa3-lgd i.dash { width: 16px; border-top: 2px dashed #94a3b8; }
.fa3-lgd i.tick { width: 3px; height: 10px; border-radius: 1px; background: var(--fa-pink); }
.fa3-lgd i.c { width: 10px; height: 10px; border-radius: 3px; }
.fa3-lgd i.c.hit { background: var(--fa-lime); }
.fa3-lgd i.c.all { background: #cbd5e1; }
.fa3-lgd i.c.bz { background: #94a3b8; }
.fa3-lgd i.mz { width: 14px; height: 10px; border-radius: 2px; background: #fde68a; }
.fa3-lgd i.tide { width: 16px; height: 2px; background: var(--fa-sky); }
.fa3-trend {display: grid;grid-template-columns: 34px minmax(0, 1fr);grid-template-rows: 170px auto}
.fa3-trend-y {position: relative;font-size: 10px;color: var(--muted)}
.fa3-trend-y span {position: absolute;right: 6px;transform: translateY(-50%)}
.fa3-trend-plot {position: relative;min-width: 0}
.fa3-trend-plot svg {display: block;width: 100%;height: 100%;overflow: visible}
.fa3-trend-plot .grid { stroke: var(--border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.fa3-trend-plot .area { fill: color-mix(in srgb, var(--fa-lime) 18%, transparent); }
.fa3-trend-plot .avg { stroke: #94a3b8; stroke-width: 1.5; stroke-dasharray: 5 4; vector-effect: non-scaling-stroke; }
.fa3-trend-plot .line { fill: none; stroke: var(--fa-lime-d); stroke-width: 2.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.fa3-trend-plot .hit { stroke: var(--fa-pink); stroke-width: 2; vector-effect: non-scaling-stroke; }
.fa3-trend-last {position: absolute;width: 10px;height: 10px;border: 2px solid #fff;border-radius: 50%;background: var(--fa-lime-d);box-shadow: 0 0 0 1px var(--fa-lime-d);transform: translate(-50%, -50%)}
.fa3-trend-last b {position: absolute;right: 8px;bottom: 10px;padding: 1px 6px;border-radius: 6px;background: var(--fa-lime-t);color: #fff;font-size: 11px;white-space: nowrap}
.fa3-trend-x {display: flex;grid-column: 2;justify-content: space-between;padding-top: 4px;font-size: 10px;color: var(--muted)}
.fa3-wk {display: grid;grid-template-columns: repeat(7, minmax(0, 1fr));gap: 4px}
.fa3-wk > div {display: flex;flex-direction: column;align-items: center;gap: 3px;padding: 4px 0;border-radius: 8px}
.fa3-wk > div.we {background: var(--fa-sky-l)}
.fa3-wk .col {display: flex;align-items: flex-end;justify-content: center;width: 100%;height: 96px}
.fa3-wk .all {display: flex;align-items: flex-end;width: 60%;max-width: 22px;min-height: 3px;border-radius: 4px 4px 0 0;background: #cbd5e1;overflow: hidden}
.fa3-wk .hit {display: block;width: 100%;background: var(--fa-lime)}
.fa3-wk .dn {font-size: 12px;font-weight: 800}
.fa3-wk .nn {font-size: 10px;line-height: 1.3;text-align: center;color: var(--muted)}
.fa3-wk .nn b {color: var(--fa-lime-t)}
.fa3-fig:has(> .fa3-rows) {display: flex;flex: 1;flex-direction: column;justify-content: center}
.fa3-rows {display: flex;flex-direction: column;gap: 14px}
.fa3-row {display: grid;grid-template-columns: 7.5em minmax(0, 1fr) auto;align-items: center;gap: 10px;font-size: 13px}
.fa3-row .lb {font-weight: 700}
.fa3-row .trk {height: 14px;border-radius: 7px;background: var(--fa-grey-l);overflow: hidden}
.fa3-row .trk i {display: block;height: 100%;border-radius: 6px;background: var(--fa-lime)}
.fa3-row .vl {min-width: 5.5em;font-weight: 800;text-align: right}
.fa3-row .vl .unit {font-size: 11px;font-weight: 600;color: var(--muted)}
.fa3-row .vl small {margin-left: 6px;font-size: 11px;color: var(--fa-lime-t)}
.fa3-row.top .lb { color: var(--fa-lime-t); }
.fa3-row.ref { opacity: 0.55; }
.fa3-clock {display: block;width: 100%;max-width: 300px;margin: 0 auto}
.fa3-clock .face { fill: #f8fafc; stroke: var(--border); }
.fa3-clock .hole { fill: #fff; stroke: var(--border); }
.fa3-clock .all { fill: #cbd5e1; }
.fa3-clock .hit { fill: var(--fa-lime); }
.fa3-clock text {font-size: 11px;text-anchor: middle;fill: var(--muted)}
.fa3-clock text.major {font-weight: 700;fill: var(--text2)}
.fa3-clock text.c1 {font-size: 13px;font-weight: 800;fill: var(--text)}
.fa3-clock text.c2 {font-size: 10px;fill: var(--fa-lime-t)}
.fa3-runs {display: flex;flex-direction: column;gap: 6px;margin: 0;padding: 0;list-style: none}
.fa3-runs li {display: grid;grid-template-columns: 7em minmax(0, 1fr) 3.5em;align-items: center;gap: 10px;font-size: 12px}
.fa3-runs .rl {font-weight: 700;line-height: 1.3}
.fa3-runs .rl small {display: block;font-size: 10px;font-weight: 500;color: var(--muted)}
.fa3-runs .rt {display: flex;align-items: center;gap: 4px;min-width: 0}
.fa3-runs .rb {display: block;min-width: 2px;height: 10px;border-radius: 5px;background: #cbd5e1}
.fa3-runs .rf {display: inline-flex;flex: none;color: var(--fa-lime-d)}
.fa3-runs li.cur .rb {border: 2px dashed #94a3b8;background: none}
.fa3-runs .rv {text-align: right}
.fa3-logs {display: grid;grid-template-columns: minmax(0, 1fr);gap: 10px}
.fa3-lg {display: flex;flex-direction: column;gap: 6px;padding: 10px 12px;border: 1px solid var(--border);border-radius: 12px;background: #fff}
.fa3-lg .info {display: flex;align-items: flex-start;justify-content: space-between;gap: 8px}
.fa3-lg .nm {min-width: 0;font-size: 13px;font-weight: 700;line-height: 1.4}
.fa3-lg .nm small {display: block;font-size: 11px;font-weight: 500;color: var(--muted)}
.fa3-lg .res {flex: none;padding: 1px 8px;border-radius: 999px;background: #f1f5f9;color: var(--text2);font-size: 12px;font-weight: 800}
.fa3-lg .res.ok {background: var(--fa-lime-l);color: var(--fa-lime-t)}
.fa3-day {position: relative}
.fa3-day .track {position: relative;height: 28px;border-radius: 6px;background: #f1f5f9;overflow: hidden}
.fa3-day .mz {position: absolute;top: 0;bottom: 0;background: color-mix(in srgb, #fde68a 75%, transparent)}
.fa3-day svg {position: absolute;inset: 0;width: 100%;height: 100%}
.fa3-day svg path {fill: none;stroke: var(--fa-sky);stroke-width: 1.5;vector-effect: non-scaling-stroke}
.fa3-day .seg {position: absolute;top: 10px;height: 8px;border-radius: 4px;background: #94a3b8}
.fa3-day .seg.ok { background: var(--fa-lime-d); }
.fa3-day .seg.unk { opacity: 0.5; }
.fa3-day .ax {display: flex;justify-content: space-between;padding-top: 2px;font-size: 10px;color: var(--muted)}
.fa3-meters {display: flex;flex-direction: column;gap: 10px}
.fa3-meter .top {display: flex;justify-content: space-between;gap: 8px;font-size: 12.5px}
.fa3-meter .trk {height: 8px;margin-top: 4px;border-radius: 4px;background: var(--fa-grey-l);overflow: hidden}
.fa3-meter .trk i {display: block;height: 100%;background: var(--fa-yel-d)}
@media (min-width: 641px) {.fa3-hero {padding: 28px 28px 46px;border-radius: 0 0 28px 28px}
.fa3-hero-t {font-size: 28px}
.fa3-kpis {grid-template-columns: repeat(4, minmax(0, 1fr));gap: 10px}
.fa3-kpi .v {font-size: 30px}
.fa3-grid {grid-template-columns: repeat(2, minmax(0, 1fr));gap: 16px}
.fa3-grid > .s7,
.fa3-grid > .s8,
.fa3-grid > .s12 {grid-column: 1 / -1}
.fa3-cal {display: grid}
.fa3-calm {display: none}}
@media (min-width: 960px) {.fa3-grid {grid-template-columns: repeat(12, minmax(0, 1fr))}
.fa3-grid > .s4 { grid-column: span 4; }
.fa3-grid > .s5 { grid-column: span 5; }
.fa3-grid > .s6 { grid-column: span 6; }
.fa3-grid > .s7 { grid-column: span 7; }
.fa3-grid > .s8 { grid-column: span 8; }
.fa3-logs {grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 640px) {.fa3-cd {gap: 8px;padding: 12px}
.fa3-grid {gap: 10px}
.fa3-sea {grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 479px) {.fa3-hero {padding: 12px 14px 30px}
.fa3-hero-t {margin: 0 0 6px;font-size: 19px}
.fa3-hero-key {margin: 0 0 8px;font-size: 12.5px;line-height: 1.5}
.fa3-kpis {gap: 6px}
.fa3-kpi {padding: 6px 10px}
.fa3-kpi .v {font-size: 22px}}
.fa3.is-anim .fa3-cd:not(.plain):not(.is-in) {opacity: 0;transform: translateY(12px)}
.fa3.is-anim .fa3-cd {transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out)}
.fa3.is-anim .fa3-cd.is-in {transform: none}
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-sea .bar i {transform: scaleX(0)}
.fa3.is-anim .fa3-sea .bar i {transform-origin: left;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-hero:not(.is-go) .fa3-kpi {opacity: 0;transform: translateY(8px)}
.fa3.is-anim .fa3-hero .fa3-kpi {transition:
opacity 0.5s var(--ease-out) calc(var(--ki, 0) * 80ms),
transform 0.5s var(--ease-out) calc(var(--ki, 0) * 80ms)}
@media (prefers-reduced-motion: reduce) {.fa3-hwave .l1,
.fa3-hwave .l2 {animation: none}
.fa3-filter,
.fa3-sheet-bd,
.fa3.is-anim .fa3-cd,
.fa3.is-anim .fa3-sea .bar i,
.fa3.is-anim .fa3-hero .fa3-kpi {transition: none}}
.fa3-kind {flex: none;padding: 2px 8px;border-radius: 999px;font-size: 11px;font-weight: 700;white-space: nowrap}
.fa3-kind.rate { background: var(--fa-grey-l); color: var(--text2); }
.fa3-kind.cnt { background: var(--tl); color: var(--tt); }
.fa3-cb-grid {display: grid;grid-template-columns: minmax(0, 1fr);gap: 14px 24px}
.fa3-cb-grid > * { min-width: 0; }
.fa3-cb-grid .fa3-cb-g h4 { margin-top: 0; }
.fa3-cb {margin: 0;padding: 0;list-style: none}
.fa3-cb li {display: grid;grid-template-columns: minmax(64px, 96px) minmax(0, 1fr) 54px;align-items: center;gap: 8px;min-height: 30px}
.fa3-cb .lb {min-width: 0;font-size: 12px;color: var(--text2)}
.fa3-cb .tr {position: relative;height: 12px;border-radius: 6px;background: #f1f5f9}
.fa3-cb .tr i {position: absolute;inset: 0 auto 0 0;border-radius: 6px;background: color-mix(in srgb, var(--fa-sky-d) 45%, #fff)}
.fa3-cb li.top .tr i { background: var(--fa-sky-d); }
.fa3-cb li.top .vv { color: var(--fa-sky-t); }
.fa3-cb .vv {font-size: 14px;font-weight: 800;text-align: right;white-space: nowrap}
.fa3-cb .vv small {margin-left: 1px;font-size: 11px;font-weight: 500;color: var(--text2)}
.fa3-dg {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 6px}
.fa3-dg > div {min-width: 0;padding: 8px 10px;border: 1px solid #bae6fd;border-radius: 12px;background: linear-gradient(160deg, #fff, var(--fa-sky-l))}
.fa3-dg .k { font-size: 11px; color: var(--text2); }
.fa3-dg .v {font-size: clamp(17px, 5vw, 20px);font-weight: 800;line-height: 1.2;color: var(--fa-sky-t);white-space: nowrap}
.fa3-dg .c { font-size: 12px; font-weight: 600; color: var(--text); }
.fa3-cmp-g h4 {display: flex;align-items: center;gap: 6px;margin: 14px 0 8px;font-size: 12px;font-weight: 800}
.fa3-cmp-g h4::after {content: "";flex: 1;height: 1px;background: var(--border)}
.fa3-rose {display: block;width: 100%;max-width: 300px;height: auto;margin: 0 auto}
.fa3-rose .ring { fill: none; stroke: var(--border); stroke-dasharray: 3 3; }
.fa3-rose .petal { stroke: #fff; stroke-width: 1.5; }
.fa3-rose .petal.top { stroke: var(--fa-lime-t); stroke-width: 2; }
.fa3-rose text {font-size: 12px;text-anchor: middle;dominant-baseline: middle}
.fa3-rose text.dir { font-weight: 700; fill: var(--text2); }
.fa3-rose text.cnt { font-size: 10px; font-weight: 700; fill: #1e293b; }
.fa3-rose text.c1 { font-size: 13px; font-weight: 800; fill: var(--text); }
.fa3-lgd i.ramp {width: 48px;height: 10px;border-radius: 5px;background: linear-gradient(90deg, #ecfccb, #4d7c0f)}
.fa3-lgd i.hitdot { width: 3px; border-radius: 1px; background: var(--fa-pink); }
.fa3-lgd i.mzband { width: 14px; height: 10px; border-radius: 2px; background: rgba(250, 204, 21, 0.28); }
.fa3-lgd i.mzall { width: 10px; height: 10px; border-radius: 2px; background: #bae6fd; }
.fa3-lgd i.mzhit { width: 10px; height: 10px; border-radius: 2px; background: var(--fa-sky-t); }
.fa3-tidecycle {display: block;width: 100%;max-width: 440px;height: auto;margin: 0 auto}
.fa3-tidecycle .band { opacity: 0.55; stroke: #fff; stroke-width: 2; }
.fa3-tidecycle .band.top { opacity: 0.85; }
.fa3-tidecycle .area { fill: rgba(56, 189, 248, 0.18); }
.fa3-tidecycle .line { fill: none; stroke: var(--fa-sky-d); stroke-width: 2.5; }
.fa3-tidecycle .hit { stroke: var(--fa-pink); stroke-width: 1.5; stroke-opacity: 0.45; }
.fa3-tidecycle text {font-size: 11px;text-anchor: middle;fill: var(--text2)}
.fa3-tidecycle text.ph { font-weight: 700; }
.fa3-tidecycle text.rt { font-size: 12px; font-weight: 800; fill: var(--text); }
.fa3-tidecycle text.ev { text-anchor: start; fill: var(--fa-sky-t); font-weight: 700; }
.fa3-tidecycle text.ev.mid { text-anchor: middle; }
.fa3-moons {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 8px 4px}
.fa3-moon {min-width: 0;padding: 8px 2px;border-radius: 12px;text-align: center}
.fa3-moon svg { display: block; margin: 0 auto 4px; }
.fa3-moon .nm { font-size: 11px; color: var(--text2); }
.fa3-moon .r { font-size: 17px; font-weight: 800; line-height: 1.2; }
.fa3-moon .n { font-size: 11px; color: var(--muted); }
.fa3-moon.top { background: var(--fa-pink-l); }
.fa3-moon.top .r { color: var(--fa-pink-t); }
.fa3-moon.ref .r { color: var(--muted); }
.fa3-pair {display: grid;grid-template-columns: minmax(0, 1fr);gap: 12px 24px;margin-top: 16px}
.fa3-mz h4 { margin: 0 0 6px; font-size: 12px; font-weight: 800; }
.fa3-mz-bars {display: grid;grid-template-columns: repeat(6, minmax(0, 1fr));gap: 4px}
.fa3-mz-bars > div { min-width: 0; }
.fa3-mz-bars .col {display: flex;flex-direction: column;justify-content: flex-end;height: 80px;padding: 0 3px;border-radius: 6px 6px 0 0}
.fa3-mz-bars .col.in { background: rgba(250, 204, 21, 0.28); }
.fa3-mz-bars .all {display: flex;flex-direction: column;justify-content: flex-end;overflow: hidden;border-radius: 4px 4px 0 0;background: #bae6fd}
.fa3-mz-bars .all i { display: block; background: var(--fa-sky-t); }
.fa3-mz-bars .x {display: block;padding-top: 3px;font-size: 11px;text-align: center;color: var(--muted)}
@media (min-width: 641px) {.fa3-cb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fa3-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fa3-dg { grid-template-columns: repeat(3, minmax(0, 1fr)); }}
@media (min-width: 960px) {.fa3-cb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }}
.fa3-adv-grid {display: grid;grid-template-columns: minmax(0, 1fr);gap: 12px;margin-top: 10px}
.fa3-adv {--ac: var(--fa-primary);position: relative;display: flex;flex-direction: column;min-width: 0;padding: 12px 14px 12px 18px;overflow: hidden;border: 1px solid var(--border);border-radius: 14px;background: #fff}
.fa3-adv.lime { --ac: var(--fa-lime-t); }
.fa3-adv.pink { --ac: var(--fa-pink-t); }
.fa3-adv::before {content: "";position: absolute;top: 0;bottom: 0;left: 0;width: 6px;background: var(--ac)}
.fa3-adv-top {display: flex;align-items: center;gap: 10px}
.fa3-adv-ic {display: grid;flex: none;place-items: center;width: 38px;height: 38px;border-radius: 50%;background: var(--ac);color: #fff}
.fa3-adv-no {color: var(--ac);font-size: 11px;font-weight: 700;letter-spacing: 0.06em}
.fa3-adv h4 {margin: 0;font-size: 15px;font-weight: 800;line-height: 1.35}
.fa3-adv p {margin: 6px 0 10px;color: var(--text2);font-size: 13px}
.fa3-adv p b { color: var(--text); }
.fa3-adv-foot {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px;margin-top: auto}
.fa3-adv-basis {padding: 2px 8px;border-radius: 999px;background: color-mix(in srgb, var(--ac) 12%, #fff);color: var(--ac);font-size: 11px;font-weight: 700}
.fa3-adv-conf {display: inline-flex;align-items: center;gap: 6px;color: var(--text2);font-size: 11px}
@media (min-width: 769px) {.fa3-adv-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }}
.fa3-rcp {display: flex;flex-direction: column;margin: 0;padding: 0;list-style: none}
.fa3-rcp li {display: grid;grid-template-columns: 32px minmax(0, 1fr);align-items: center;gap: 0 10px;padding: 9px 0;border-top: 1px solid var(--border)}
.fa3-rcp li:first-child { border-top: 0; }
.fa3-rcp .ri {display: grid;place-items: center;width: 32px;height: 32px;border-radius: 10px;background: #f1f5f9;color: var(--muted)}
.fa3-rcp li.hi .ri {background: var(--fa-lime-l);color: var(--fa-lime-t)}
.fa3-rcp .rl {display: flex;align-items: baseline;gap: 6px;min-width: 0}
.fa3-rcp .rk {flex: none;color: var(--muted);font-size: 11px}
.fa3-rcp .rv {min-width: 0;font-size: 14px;font-weight: 800;overflow-wrap: anywhere}
.fa3-rcp .fil {flex: 1 1 12px;align-self: flex-end;min-width: 8px;margin-bottom: 5px;border-bottom: 2px dotted #cbd5e1}
.fa3-rcp .rn {font-size: 12px;font-weight: 700;white-space: nowrap}
.fa3-rcp .trk {position: relative;height: 6px;margin: 8px 0 4px;border-radius: 3px;background: var(--border)}
.fa3-rcp .trk i {display: block;height: 100%;border-radius: 3px;background: #94a3b8}
.fa3-rcp li.hi .trk i { background: var(--fa-lime-d); }
.fa3-rcp .trk u {position: absolute;top: -6px;width: 0;height: 0;margin-left: -5px;border-top: 6px solid var(--text);border-right: 5px solid transparent;border-left: 5px solid transparent}
.fa3-rcp .rb {display: flex;flex-wrap: wrap;align-items: center;gap: 6px;color: var(--muted);font-size: 11px}
.fa3-rcp .rb em {padding: 1px 6px;border-radius: 999px;background: var(--fa-lime-l);color: var(--fa-lime-t);font-style: normal;font-weight: 700}
.fa3-cvc p {margin: 0 0 6px;color: var(--muted);font-size: 11px}
.fa3-cvc ul {display: flex;flex-wrap: wrap;gap: 6px;margin: 0 0 12px;padding: 0;list-style: none}
.fa3-cvc li {display: inline-flex;align-items: center;gap: 4px;max-width: 100%;padding: 3px 8px;border: 1px solid var(--border);border-radius: 999px;color: var(--text2);font-size: 12px}
.fa3-cvc li .k { color: var(--muted); font-size: 11px; }
.fa3-cvx {display: flex;align-items: stretch;gap: 6px}
.fa3-cvx .col {display: flex;flex: 1;flex-direction: column;align-items: center;min-width: 0}
.fa3-cvx .bar {display: flex;align-items: flex-end;width: 100%;height: 110px;border-bottom: 1px solid #cbd5e1}
.fa3-cvx .all {display: flex;align-items: flex-end;width: 100%;overflow: hidden;border-radius: 5px 5px 0 0;background: #94a3b8}
.fa3-cvx .all i {display: block;width: 100%;background: var(--fa-lime)}
.fa3-cvx .nm {margin-top: 4px;font-size: 13px}
.fa3-cvx .rt {color: var(--muted);font-size: 11px;white-space: nowrap}
.fa3-cvx-ax {margin: 6px 0;color: var(--muted);font-size: 11px;text-align: center}
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-rcp .trk i,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-cvx .all {transform: scale(0)}
.fa3.is-anim .fa3-rcp .trk i {transform-origin: left;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-cvx .all {transform-origin: bottom;transition: transform 0.7s var(--ease-out) 0.15s}
@media (prefers-reduced-motion: reduce) {.fa3.is-anim .fa3-rcp .trk i,
.fa3.is-anim .fa3-cvx .all {transition: none}}
.fa3-cb li.miss .lb { color: var(--muted); }
.fa3-cb li.miss .tr i { background: #cbd5e1; }
.fa3-map-ctl,
.fa3-sort {display: flex;flex-wrap: wrap;align-items: center;gap: 6px;margin-bottom: 10px}
.fa3-sort .l {margin-right: 2px;font-size: 12px;color: var(--muted)}
.fa3-map-ctl .fa3-fc,
.fa3-sort .fa3-fc {min-height: 36px;padding: 0 12px;font-size: 12.5px;cursor: pointer}
.fa3-map-ctl .fa3-fc[aria-pressed="true"],
.fa3-sort .fa3-fc[aria-pressed="true"] {border-color: var(--fa-primary);background: var(--fa-primary);color: #fff}
.fa3-map {position: relative;border-radius: 12px;background: #f0f7fc;overflow: hidden}
.fa3-map-svg {display: block;width: 100%;height: auto;max-height: 460px;aspect-ratio: 600 / 650;margin: 0 auto}
.fa3-map-land path {fill: #dfe6ee;stroke: #fff;stroke-width: 0.6;vector-effect: non-scaling-stroke}
.fa3-map-dot {stroke: #fff;stroke-width: 2;vector-effect: non-scaling-stroke;fill-opacity: 0.92;cursor: pointer}
.fa3-map-dot:focus-visible,
.fa3-map-dot.is-on {outline: none;stroke: var(--fa-primary);stroke-width: 3}
.fa3-spcard {position: absolute;right: 10px;bottom: 10px;width: min(240px, calc(100% - 20px));padding: 12px 14px;border: 1px solid var(--border);border-radius: 12px;background: #fff;box-shadow: 0 6px 18px rgb(15 23 42 / 0.12);font-size: 12px}
.fa3-spcard[hidden] { display: none !important; }
.fa3-spcard h4 {margin: 0 24px 2px 0;font-size: 14px}
.fa3-spcard-sub { color: var(--muted); }
.fa3-spcard-big {margin: 4px 0;font-size: 26px;font-weight: 800;color: var(--fa-lime-t)}
.fa3-spcard-big small { font-size: 13px; }
.fa3-spcard dl {display: grid;grid-template-columns: auto minmax(0, 1fr);gap: 2px 10px;margin: 0}
.fa3-spcard dt { color: var(--muted); }
.fa3-spcard dd { margin: 0; font-weight: 700; }
.fa3-spcard-x {position: absolute;top: 4px;right: 4px;display: grid;place-items: center;width: 32px;height: 32px;border: 0;border-radius: 50%;background: transparent;color: var(--muted);cursor: pointer}
.fa3-map-legend {display: flex;flex-wrap: wrap;align-items: center;gap: 4px 6px;margin-top: 8px;font-size: 11px;color: var(--muted)}
.fa3-map-legend i {width: 12px;height: 12px;margin-left: 6px;border-radius: 50%}
.fa3-sps {display: flex;flex-direction: column;margin: 0;padding: 0;list-style: none;counter-reset: fa3-sp}
.fa3-sp {display: grid;grid-template-columns: 26px minmax(0, 1fr) auto;gap: 4px 10px;align-items: center;padding: 12px 0;border-top: 1px solid var(--border);counter-increment: fa3-sp}
.fa3-sp::before {content: counter(fa3-sp);grid-row: 1;font-size: 15px;font-weight: 800;color: var(--muted);text-align: center}
.fa3-sps:not(.is-open) .fa3-sp:nth-child(n + 11) { display: none; }
.fa3-sp .nm {min-width: 0;font-size: 14px;font-weight: 700;overflow-wrap: anywhere}
.fa3-sp .nm small {display: block;font-size: 11px;font-weight: 500;color: var(--muted)}
.fa3-sp .rt {font-size: 20px;font-weight: 800;color: var(--fa-lime-t)}
.fa3-sp .rt small { font-size: 12px; }
.fa3-sp .trk {position: relative;grid-column: 2 / -1;height: 10px;border-radius: 5px;background: var(--fa-grey-l)}
.fa3-sp .trk i {position: absolute;inset: 0 auto 0 0;border-radius: 5px;background: var(--fa-lime)}
.fa3-sp .trk .avg {position: absolute;top: -3px;bottom: -3px;width: 2px;margin-left: -1px;background: var(--text2)}
.fa3-sp .dt {display: flex;flex-wrap: wrap;grid-column: 2 / -1;gap: 2px 14px;margin: 2px 0 0;font-size: 12px}
.fa3-sp .dt div { display: flex; gap: 4px; min-width: 0; }
.fa3-sp .dt dt { color: var(--muted); }
.fa3-sp .dt dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.fa3-sp .dt em {font-style: normal;font-size: 11px;color: var(--fa-yel-d)}
.fa3-spmore {width: 100%;min-height: 44px;margin-top: 4px;border: 1px dashed var(--border);border-radius: 12px;background: #fff;color: var(--fa-primary);font-size: 13px;font-weight: 700;cursor: pointer}
.fa3-rep {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px}
.fa3-rep > div {padding: 10px 12px;border-radius: 12px;background: #f8fafc}
.fa3-rep > .hi { background: var(--fa-lime-l); }
.fa3-rep .k { font-size: 12px; color: var(--muted); }
.fa3-rep .v { font-size: 26px; font-weight: 800; }
.fa3-rep .v small { font-size: 13px; }
.fa3-rep .c { font-size: 12px; color: var(--text2); }
.fa3-steps {display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: 10px;align-items: end;height: 150px;margin-top: 14px}
.fa3-steps > div {display: flex;flex-direction: column;justify-content: flex-end;align-items: center;height: 100%;gap: 2px;text-align: center}
.fa3-steps i {display: block;width: 70%;max-height: calc(100% - 52px);min-height: 4px;border-radius: 6px 6px 0 0;background: var(--fa-lime);order: 2}
.fa3-steps b { order: 1; font-size: 13px; }
.fa3-steps span { order: 3; font-size: 11px; line-height: 1.3; color: var(--muted); }
.fa3-steps .ref { opacity: 0.55; }
.fa3-top5 {display: flex;flex-direction: column;gap: 8px;max-width: 640px;margin: 0;padding: 0;list-style: none}
.fa3-top5 li {display: grid;grid-template-columns: 22px minmax(0, 1fr) auto auto;align-items: center;gap: 8px;min-height: 40px}
.fa3-top5 .no { font-weight: 800; color: var(--muted); text-align: center; }
.fa3-top5 .fn {min-width: 0;font-size: 13.5px;font-weight: 700}
.fa3-top5 .tr {display: block;position: relative;height: 8px;margin-top: 4px;border-radius: 4px;background: #f1f5f9}
.fa3-top5 .tr i {position: absolute;inset: 0 auto 0 0;border-radius: 4px;background: color-mix(in srgb, var(--fa-sky-d) 45%, #fff)}
.fa3-top5 .cnt { font-size: 14px; font-weight: 800; white-space: nowrap; }
.fa3-top5 .cnt small { font-size: 11px; font-weight: 500; color: var(--text2); }
.fa3-top5 .bdg {padding: 2px 8px;border-radius: 999px;background: var(--fa-grey-l);color: var(--text2);font-size: 11px;font-weight: 700;white-space: nowrap}
.fa3-top5 li.got .bdg { background: var(--fa-lime-l); color: var(--fa-lime-t); }
.fa3-fsw,
.fa3-fsp {display: contents}
.fa3-fsp[hidden] {display: none !important}
.fa3-fsw .fa3-cd {grid-column: 1 / -1;min-width: 0}
@media (min-width: 960px) {.fa3-fsw .fa3-cd.s5 { grid-column: span 5; }
.fa3-fsw .fa3-cd.s7 { grid-column: span 7; }}
.fa3-kind.ref { background: var(--fa-grey-l); color: var(--text2); }
.fa3-fpick-q {display: flex;align-items: center;gap: 8px;max-width: 100%;min-height: 44px;box-sizing: border-box;margin-bottom: 10px;padding: 0 12px;border: 1px solid var(--border);border-radius: 12px;background: #fff;color: var(--text2)}
.fa3-fpick-q input {flex: 1;width: 100%;min-width: 0;max-width: 100%;box-sizing: border-box;border: 0;outline: 0;background: transparent;color: var(--text);font-size: 16px}
.fa3-fpick-q:focus-within { border-color: var(--fa-primary); }
.fa3-fpick-l {display: flex;flex-wrap: wrap;gap: 8px;margin: 0;padding: 0;list-style: none}
.fa3-fpick-l li[hidden],
.fa3-fpick-l.is-fold:not(.is-q) li.more:not(:has([aria-pressed="true"])) { display: none; }
.fa3-fpick-l .fa3-fc {gap: 6px;cursor: pointer}
.fa3-fpick-l .fa3-fc small {color: var(--text2);font-size: 11.5px;font-weight: 600}
.fa3-fpick-l .fa3-fc[aria-pressed="true"] {border-color: var(--fa-primary);background: var(--fa-primary);color: #fff}
.fa3-fpick-l .fa3-fc[aria-pressed="true"] small { color: rgb(255 255 255 / 85%); }
.fa3-fpick .fa3-spmore { margin-top: 10px; }
.fa3-fpick .fa3-spmore[hidden],
.fa3-fpick-none[hidden],
.fa3-fsp-lazy[hidden] { display: none !important; }
.fa3-fpick-none {margin: 10px 0 0;color: var(--text2);font-size: 13px}
.fa3-fsp-lazy { display: contents; }
.fa3-fsp-msg {grid-column: 1 / -1;margin: 0;padding: 24px 0;color: var(--text2);font-size: 13px;text-align: center}
.fa3-fhero {display: flex;align-items: center;gap: 12px}
.fa3-fhero img {flex: none;width: 112px;height: 72px;object-fit: contain}
.fa3-fst {display: grid;flex: 1;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px;margin: 0}
.fa3-fst div {padding: 8px 10px;border-radius: 12px;background: var(--tl)}
.fa3-fst dt { font-size: 11px; color: var(--text2); }
.fa3-fst dd { margin: 0; font-size: 22px; font-weight: 800; color: var(--tt); }
.fa3-fst dd.sm { font-size: 13px; }
.fa3-fst dd small { margin-left: 1px; font-size: 11px; font-weight: 500; color: var(--text2); }
.fa3-flg {display: flex;flex-wrap: wrap;gap: 4px 12px;margin: 8px 0 0;padding: 0;list-style: none;font-size: 11px;color: var(--text2)}
.fa3-flg li { display: inline-flex; align-items: center; gap: 4px; }
.fa3-flg i { width: 10px; height: 10px; border-radius: 3px; background: #cbd5e1; }
.fa3-flg i.u { background: var(--tc); }
.fa3-flg i.c { background: var(--tl); }
.fa3-flg i.now { box-sizing: border-box; border: 2px solid var(--tt); background: #fff; }
.fa3-flg i.dot { border-radius: 50%; background: var(--tt); }
.fa3-flg i.band { box-sizing: border-box; border: 1px solid var(--fa-lime-d); background: var(--fa-lime-l); }
.fa3-ringw {display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 8px 20px}
.fa3-ringw .fa3-ring {flex: 0 1 220px;width: 100%;max-width: 220px;height: auto}
.fa3-ring path { fill: #eef2f7; }
.fa3-ring path.c { fill: var(--tl); }
.fa3-ring path.u { fill: var(--tc); }
.fa3-ring path.now { fill: none; stroke: var(--tt); stroke-width: 2; }
.fa3-ring text { font-size: 8px; fill: var(--muted); text-anchor: middle; dominant-baseline: middle; }
.fa3-ring text.now { font-weight: 800; fill: var(--tt); }
.fa3-ring text.cv { font-size: 13px; font-weight: 800; fill: var(--text); }
.fa3-ringw .fa3-flg { flex-direction: column; margin: 0; }
.fa3-stkg + .fa3-stkg { margin-top: 14px; }
.fa3-stkg h4 { margin: 0 0 6px; font-size: 12px; color: var(--text2); }
.fa3-stk {display: flex;height: 16px;overflow: hidden;border-radius: 8px;background: #f1f5f9}
.fa3-stk i + i { border-left: 2px solid #fff; }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .k0 { background: var(--tt); }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .k1 { background: var(--tc); }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .k2 { background: #f9a8d4; }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .k3 { background: #fbcfe8; }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .k4 { background: #e2e8f0; }
.fa3-fpl { margin-top: 8px; padding-top: 10px; border-top: 1px dashed var(--border); }
.fa3-fpl h4 { display: flex; align-items: center; gap: 4px; }
.fa3-fpl h4 svg { width: 14px; height: 14px; }
.fa3-fpl h4 small { margin-left: auto; font-size: 11px; font-weight: 500; color: var(--muted); }
.fa3-fpl ol { margin: 0; padding: 0; list-style: none; counter-reset: fpl; }
.fa3-fpl li {display: flex;justify-content: space-between;gap: 8px;padding: 6px 0;font-size: 13px;counter-increment: fpl}
.fa3-fpl li span { min-width: 0; overflow-wrap: anywhere; }
.fa3-fpl li span::before { content: counter(fpl) ". "; color: var(--muted); }
.fa3-fpl li b { flex: none; }
.fa3-fpl li b small { font-size: 11px; font-weight: 500; color: var(--text2); }
.fa3-rul { padding: 26px 24px 0; }
.fa3-rul .trk {position: relative;height: 28px;border-bottom: 2px solid #cbd5e1}
.fa3-rul .band {position: absolute;bottom: 0;height: 14px;border-radius: 4px 4px 0 0;background: var(--fa-lime-l);box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fa-lime-d) 50%, #fff)}
.fa3-rul .trk i {position: absolute;bottom: 4px;width: 8px;height: 8px;margin-left: -4px;border-radius: 50%;background: color-mix(in srgb, var(--tt) 70%, transparent)}
.fa3-rul .avg,
.fa3-rul .mx {position: absolute;bottom: 0;width: 0;height: 34px;border-left: 2px solid var(--tt)}
.fa3-rul .mx { height: 48px; border-left-style: dashed; }
.fa3-rul .avg b,
.fa3-rul .mx b {position: absolute;bottom: 100%;left: 0;transform: translateX(-50%);font-size: 11px;white-space: nowrap;color: var(--tt)}
.fa3-rul .ax {position: relative;height: 18px;font-size: 11px;color: var(--muted)}
.fa3-rul .ax span { position: absolute; top: 2px; transform: translateX(-50%); }
.fa3-srng { margin: 0; padding: 0; list-style: none; }
.fa3-srng li {display: grid;grid-template-columns: minmax(72px, 120px) minmax(0, 1fr) 64px;align-items: center;gap: 8px;min-height: 34px}
.fa3-srng.is-fold li.more { display: none; }
.fa3-srng .lb { display: flex; flex-direction: column; min-width: 0; font-size: 12px; color: var(--text2); }
.fa3-wchip {align-self: flex-start;padding: 0 6px;border-radius: 999px;background: var(--fa-grey-l);font-size: 10px}
.fa3-srng .tr { position: relative; height: 12px; border-radius: 6px; background: #f1f5f9; }
.fa3-srng .tr i { position: absolute; top: 0; bottom: 0; border-radius: 6px; background: var(--tc); }
.fa3-srng .tr u {position: absolute;top: -3px;bottom: -3px;width: 2px;margin-left: -1px;background: var(--tt)}
.fa3-srng .vv { font-size: 12px; font-weight: 800; text-align: right; white-space: nowrap; }
.fa3-hrs {display: grid;grid-template-columns: repeat(24, minmax(0, 1fr));align-items: end;gap: 2px;height: 120px;border-bottom: 1px solid #cbd5e1}
.fa3-hrs i { border-radius: 3px 3px 0 0; }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .morning { background: #f59e0b; }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .daytime { background: var(--fa-sky); }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .evening { background: var(--tc); }
.fa3-fsw :is(.fa3-stk, .fa3-hrs, .fa3-flg) .night { background: #475569; }
.fa3-hrs-ax {display: flex;justify-content: space-between;margin-top: 4px;font-size: 11px;color: var(--muted)}
.fa3-mx {display: grid;grid-template-columns: minmax(56px, 96px) repeat(var(--cols), minmax(0, 1fr));align-items: center;gap: 3px}
.fa3-mx .h {font-size: 11px;font-weight: 800;text-align: center;color: var(--text2)}
.fa3-mx .rl { min-width: 0; font-size: 11px; line-height: 1.2; color: var(--text2); overflow-wrap: anywhere; }
.fa3-mx .cell {display: grid;place-items: center;min-width: 0;height: 28px;border-radius: 5px;background: color-mix(in srgb, var(--tc) var(--a, 0%), #fff);font-size: 11px;font-weight: 700;color: var(--text)}
.fa3-mx .cell.z { background: #f1f5f9; }
.fa3-mx.wide .h { font-size: 10px; font-weight: 700; line-height: 1.2; }
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-stk,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-srng .tr i {transform: scaleX(0)}
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-hrs i {transform: scaleY(0)}
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-ring path.u,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-rul .trk i {opacity: 0}
.fa3.is-anim .fa3-stk,
.fa3.is-anim .fa3-srng .tr i {transform-origin: left;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-hrs i {transform-origin: bottom;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-ring path.u,
.fa3.is-anim .fa3-rul .trk i {transition: opacity 0.6s var(--ease-out) 0.15s}
@media (prefers-reduced-motion: reduce) {.fa3.is-anim .fa3-stk,
.fa3.is-anim .fa3-srng .tr i,
.fa3.is-anim .fa3-hrs i,
.fa3.is-anim .fa3-ring path.u,
.fa3.is-anim .fa3-rul .trk i {transition: none}}
.fa3-mth .lb { display: flex; flex-direction: column; }
.fa3-mth .lb small { font-size: 10px; color: var(--muted); }
.fa3-tk { margin: 0; padding: 0; list-style: none; }
.fa3-tk li {display: grid;grid-template-columns: auto minmax(0, 1fr) auto;align-items: center;gap: 4px 8px;padding: 8px 0;border-top: 1px solid var(--border)}
.fa3-tk li:first-child { border-top: 0; }
.fa3-tk .tp {padding: 1px 6px;border-radius: 999px;background: var(--tl);color: var(--tt);font-size: 10px;font-weight: 700}
.fa3-tk .nm { display: flex; flex-direction: column; min-width: 0; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.fa3-tk .nm small { font-size: 10px; font-weight: 500; color: var(--muted); }
.fa3-tk .vv { font-size: 14px; font-weight: 800; white-space: nowrap; }
.fa3-tk .vv small { margin-left: 1px; font-size: 11px; font-weight: 500; color: var(--text2); }
.fa3-tk .mt { display: flex; flex-wrap: wrap; grid-column: 2 / -1; gap: 4px; }
.fa3-tk-m,
.fa3-tk-c {padding: 0 6px;border-radius: 999px;font-size: 10px;line-height: 18px}
.fa3-tk-m { background: var(--fa-lime-l); color: var(--fa-lime-t); }
.fa3-tk-c { background: var(--fa-grey-l); color: var(--text2); }
.fa3-best {display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 8px;margin: 0;padding: 0;list-style: none}
.fa3-best li {display: flex;flex-direction: column;gap: 2px;min-width: 0;padding: 10px;border-radius: 12px;background: var(--bg)}
.fa3-best-k {align-self: flex-start;padding: 0 6px;border-radius: 999px;background: var(--tl);color: var(--tt);font-size: 10px;font-weight: 700}
.fa3-best li.z .fa3-best-k { background: var(--fa-grey-l); color: var(--muted); }
.fa3-best-t { font-size: 11px; color: var(--text2); }
.fa3-best b { font-size: 24px; font-weight: 800; line-height: 1.1; color: var(--text); }
.fa3-best li.z b { color: var(--muted); }
.fa3-best b small { margin-left: 2px; font-size: 12px; font-weight: 600; }
.fa3-best-s { min-width: 0; font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.fa3-big li { padding: 4px 0; }
.fa3-big-s { grid-column: 1 / -1; font-size: 11px; color: var(--muted); }
.fa3-axes li { grid-template-columns: minmax(88px, 120px) minmax(0, 1fr) 40px; padding: 4px 0; }
.fa3-axes .lb { display: flex; flex-direction: column; }
.fa3-axes .lb small { font-size: 10px; line-height: 1.3; color: var(--muted); }
.fa3-smax .tr i { background: var(--fa-lime-l); box-shadow: inset 0 0 0 1px var(--fa-lime-d); }
.fa3-smax .lb small { font-size: 10px; color: var(--muted); }
.fa3 .fa3-grw,
.fa3 .fa3-col {display: block;width: 100%;max-width: 480px;height: auto;margin: 0 auto;overflow: visible}
.fa3-grw .b { fill: color-mix(in srgb, var(--fa-sky-d) 35%, #fff); }
.fa3-grw .ln { fill: none; stroke: var(--fa-pink); stroke-width: 2; stroke-linejoin: round; }
.fa3-grw .pt { fill: #fff; stroke: var(--fa-pink); stroke-width: 2; }
.fa3-grw .ax,
.fa3-col .ax { fill: var(--muted); font-size: 10px; text-anchor: middle; }
.fa3-col .ax.s { text-anchor: start; }
.fa3-col .ax.e { text-anchor: end; }
.fa3-col .st { fill: none; stroke: var(--fa-sky-d); stroke-width: 2; stroke-linejoin: round; }
.fa3-col .pt { fill: #fff; stroke: var(--fa-sky-d); stroke-width: 2; }
.fa3-col .pt.multi { fill: var(--tt); stroke: var(--tt); }
.fa3-flg i.grw-b { background: color-mix(in srgb, var(--fa-sky-d) 35%, #fff); }
.fa3-flg i.grw-l { height: 3px; border-radius: 2px; background: var(--fa-pink); }
.fa3-flg i.col-p { box-sizing: border-box; border: 2px solid var(--fa-sky-d); border-radius: 50%; background: #fff; }
.fa3-flg i.col-m { border-radius: 50%; background: var(--tt); }
.fa3-tl { position: relative; margin: 0; padding: 0 0 0 16px; list-style: none; }
.fa3-tl::before {position: absolute;top: 6px;bottom: 6px;left: 4px;width: 2px;background: var(--border);content: ""}
.fa3-tl li {position: relative;display: grid;grid-template-columns: minmax(0, 1fr) auto;gap: 0 8px;padding: 6px 0}
.fa3-tl li::before {position: absolute;top: 12px;left: -16px;box-sizing: border-box;width: 10px;height: 10px;border: 2px solid var(--fa-sky-d);border-radius: 50%;background: #fff;content: ""}
.fa3-tl li:first-child::before { background: var(--fa-sky-d); }
.fa3-tl time { grid-column: 1 / -1; font-size: 11px; color: var(--muted); }
.fa3-tl b { min-width: 0; font-size: 14px; overflow-wrap: anywhere; }
.fa3-tl-n { font-size: 12px; font-weight: 800; color: var(--tt); white-space: nowrap; }
.fa3-ms { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.fa3-ms li { padding: 10px 12px; border-radius: 12px; background: var(--bg); }
.fa3-ms-h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fa3-ms-h > .num { margin-left: auto; font-size: 18px; font-weight: 800; }
.fa3-ms-h > .num small { margin-left: 1px; font-size: 11px; font-weight: 500; color: var(--text2); }
.fa3-ms-r { margin: 4px 0 0; font-size: 12px; color: var(--text2); }
.fa3-ms-p { display: grid; gap: 4px; margin-top: 6px; font-size: 11px; color: var(--text2); }
.fa3-ms-p .tr { position: relative; height: 8px; border-radius: 4px; background: var(--fa-grey-l); }
.fa3-ms-p .tr i { position: absolute; inset: 0 auto 0 0; border-radius: 4px; background: var(--fa-lime-d); }
@media (max-width: 600px) {.fa3-best b { font-size: 20px; }
.fa3-best li { padding: 8px; }}
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-grw .b { transform: scaleY(0); }
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-ms-p .tr i { transform: scaleX(0); }
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-grw .ln,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-grw .pt,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-col .st,
.fa3.is-anim .fa3-cd:not(.is-go) .fa3-col .pt {opacity: 0}
.fa3.is-anim .fa3-grw .b {transform-box: fill-box;transform-origin: bottom;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-ms-p .tr i {transform-origin: left;transition: transform 0.7s var(--ease-out) 0.15s}
.fa3.is-anim .fa3-grw .ln,
.fa3.is-anim .fa3-grw .pt,
.fa3.is-anim .fa3-col .st,
.fa3.is-anim .fa3-col .pt {transition: opacity 0.6s var(--ease-out) 0.3s}
@media (prefers-reduced-motion: reduce) {.fa3.is-anim .fa3-grw .b,
.fa3.is-anim .fa3-ms-p .tr i,
.fa3.is-anim .fa3-grw .ln,
.fa3.is-anim .fa3-grw .pt,
.fa3.is-anim .fa3-col .st,
.fa3.is-anim .fa3-col .pt {transition: none}}
.fa3 {--fa-bg-card: #ffffff;--fa-border: #e2e8f0;--fa-radius: 12px;--fa-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);--fa-text-muted: #94a3b8;--fa-transition-slow: 0.35s cubic-bezier(0.4, 0, 0.2, 1)}
.fa-card {background: var(--fa-bg-card);border-radius: var(--fa-radius);box-shadow: var(--fa-shadow);padding: 20px;border: 1px solid rgba(226, 232, 240, 0.7);transition: box-shadow var(--fa-transition-slow), transform var(--fa-transition-slow)}
.fa-card + .fa-card {margin-top: 12px}
.fa-tide-card-loading {display: flex;align-items: center;gap: 8px;padding: 20px 16px;color: var(--fa-text-muted);font-size: 12px}
.fa-tide-card-spinner {display: inline-block;width: 16px;height: 16px;border: 2px solid var(--fa-border);border-top-color: var(--fa-primary);border-radius: 50%;animation: fa-tide-spin 0.8s linear infinite;flex-shrink: 0}
.fa-cf-tabs {display: flex;gap: 8px;margin-bottom: 12px;max-width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;scrollbar-width: none}
.fa-cf-tabs::-webkit-scrollbar {display: none}
.fa-cf-tab {display: inline-flex;align-items: center;gap: 5px;flex-shrink: 0;padding: 7px 14px;border: 1px solid var(--color-border, #e2e8f0);border-radius: 999px;background: #fff;color: #475569;font-size: 12px;font-weight: 600;text-decoration: none;white-space: nowrap;transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease}
.fa-cf-tab svg {width: 13px;height: 13px}
.fa-cf-tab.is-active {border-color: #1877f2;background: linear-gradient(135deg, #1877f2, #06b6d4);color: #fff;box-shadow: 0 2px 8px rgba(24, 119, 242, 0.25)}
.fa-cf-card {min-width: 0}
.fa-cf-week {display: grid;grid-template-columns: repeat(7, 1fr);gap: 8px}
.fa-cf-day {position: relative;min-width: 0;padding: 10px 4px 12px;border: 1px solid var(--color-border, #e2e8f0);border-radius: 12px;background: #fff;text-align: center}
.fa-cf-day.is-best {border-color: #1877f2;background: linear-gradient(180deg, #eff6ff 0%, #fff 100%);box-shadow: 0 0 0 2px rgba(24, 119, 242, 0.15)}
.fa-cf-best-badge {position: absolute;top: -9px;left: 50%;transform: translateX(-50%);padding: 2px 8px;border-radius: 999px;background: #1877f2;color: #fff;font-size: 9px;font-weight: 700;letter-spacing: 0.05em;white-space: nowrap}
.fa-cf-dow {font-size: 11px;font-weight: 600;color: #64748b}
.fa-cf-dow.is-sat { color: #1877f2; }
.fa-cf-dow.is-sun { color: #ef4444; }
.fa-cf-date {font-size: 15px;font-weight: 700;color: #1e293b}
.fa-cf-wicon {width: 22px;height: 22px;margin: 6px auto 4px;color: #475569}
.fa-cf-day.is-best .fa-cf-wicon { color: #1877f2; }
.fa-cf-wicon svg {width: 100%;height: 100%;display: block}
.fa-cf-tide {font-size: 10px;color: #64748b}
.fa-cf-score {margin-top: 6px;font-size: 16px;font-weight: 800;color: #475569;line-height: 1.2}
.fa-cf-score.s-high { color: #1877f2; }
.fa-cf-score.s-mid { color: #06b6d4; }
.fa-cf-score small {display: block;font-size: 9px;font-weight: 600;color: #94a3b8}
.fa-cf-stars {display: flex;justify-content: center;gap: 1px;margin-top: 2px}
.fa-cf-stars svg {width: 10px;height: 10px;color: #cbd5e1}
.fa-cf-stars svg.on { color: #f59e0b; }
.fa-cf-best-detail {display: flex;flex-wrap: wrap;align-items: center;gap: 14px;margin-top: 16px;padding: 16px;border-radius: 12px;background: linear-gradient(135deg, #0f4c81 0%, #1877f2 60%, #06b6d4 100%);color: #fff}
.fa-cf-score-ring {position: relative;flex-shrink: 0;width: 72px;height: 72px}
.fa-cf-score-ring svg {width: 72px;height: 72px;display: block}
.fa-cf-ring-val {position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;font-size: 20px;font-weight: 800;line-height: 1}
.fa-cf-ring-val small {margin-top: 2px;font-size: 9px;font-weight: 600;opacity: 0.8}
.fa-cf-best-body {flex: 1;min-width: 200px}
.fa-cf-best-title {margin: 0 0 4px;font-size: 15px;font-weight: 700}
.fa-cf-best-sub {font-size: 12px;opacity: 0.9;overflow-wrap: anywhere}
.fa-cf-reason-chips {display: flex;flex-wrap: wrap;gap: 6px;margin-top: 8px}
.fa-cf-reason-chip {display: inline-flex;align-items: center;gap: 4px;padding: 3px 10px;border: 1px solid rgba(255, 255, 255, 0.25);border-radius: 999px;background: rgba(255, 255, 255, 0.16);font-size: 11px;font-weight: 600}
.fa-cf-reason-chip svg {width: 12px;height: 12px}
.fa-cf-patterns-title {margin: 18px 0 4px;font-size: 13px;font-weight: 700;color: #1e293b}
.fa-cf-pattern-row {display: flex;align-items: center;gap: 8px;min-width: 0;padding: 7px 0;border-bottom: 1px solid var(--color-border, #e2e8f0)}
.fa-cf-pattern-row:last-child { border-bottom: none; }
.fa-cf-pattern-icon {display: flex;align-items: center;justify-content: center;flex-shrink: 0;width: 26px;height: 26px;border-radius: 8px;background: #eff6ff;color: #1877f2}
.fa-cf-pattern-icon svg {width: 15px;height: 15px}
.fa-cf-pattern-label {flex: 0 0 3.6em;font-size: 12px;color: #64748b}
.fa-cf-pattern-value {flex: 1 1 0;min-width: 0;font-size: 14px;font-weight: 700;color: #1e293b;overflow-wrap: anywhere}
.fa-cf-pattern-main { white-space: nowrap; }
.fa-cf-pattern-value small {font-size: 11px;font-weight: 500;color: #64748b;white-space: nowrap}
.fa-cf-pattern-match {flex-shrink: 0;margin-left: auto;padding: 2px 8px;border-radius: 999px;background: #dcfce7;color: #15803d;font-size: 10.5px;font-weight: 700}
@media (min-width: 641px) {.fa-cf-patterns {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));column-gap: 32px}
.fa-cf-pattern-row:nth-last-child(2) { border-bottom: none; }}
.fa-cf-quota-note {display: flex;align-items: flex-start;gap: 8px;margin-top: 16px;padding: 10px 12px;border: 1px solid #bfdbfe;border-radius: 10px;background: #eff6ff;font-size: 12px;color: #1e293b}
.fa-cf-quota-note svg {flex-shrink: 0;width: 16px;height: 16px;margin-top: 1px;color: #1877f2}
.fa-cf-locked,
.fa-cf-empty {padding: 28px 20px;border: 1px solid var(--color-border, #e2e8f0);border-radius: 16px;background: #fff;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);text-align: center}
.fa-cf-locked-icon {width: 44px;height: 44px;margin: 0 auto 10px;color: #94a3b8}
.fa-cf-locked-icon svg {width: 100%;height: 100%}
.fa-cf-locked-title,
.fa-cf-empty-title {font-size: 15px;font-weight: 700;color: #1e293b}
.fa-cf-locked-sub,
.fa-cf-empty-sub {margin-top: 6px;font-size: 12px;color: #64748b}
.fa-cf-upgrade-btn {display: inline-flex;align-items: center;gap: 6px;margin-top: 14px;padding: 10px 20px;border-radius: 999px;background: linear-gradient(135deg, #1877f2, #06b6d4);color: #fff;font-size: 13px;font-weight: 700;text-decoration: none;box-shadow: 0 4px 12px rgba(24, 119, 242, 0.3)}
.fa-cf-upgrade-btn svg {width: 16px;height: 16px}
@media (max-width: 768px) {.fa-cf-week { gap: 4px; }
.fa-cf-day { padding: 8px 2px 10px; }
.fa-cf-score { font-size: 13px; }}
@media (max-width: 600px) {.fa-card { padding: 16px; }}
@media (max-width: 480px) {.fa-cf-tide { display: none; }
.fa-cf-stars { display: none; }
.fa-cf-date { font-size: 13px; }}
@keyframes fa-tide-spin {to { transform: rotate(360deg); }}