.fm{--bg:#f4f3ef;--bg2:#edebe5;--card:#fff;--ink:#1b1b1b;--ink2:#5a5a5a;--ink3:#8a8a8a;--line:#e2e0da;--coral:#f2603c;--coral-soft:#fde9e2;--coral-ink:#b8431f;--det:#d98e00;--det-soft:#fbf0d6;--det-ink:#8a5a00;--prob:#6e4be8;--prob-soft:#ece6fb;--prob-ink:#5332c9;--hum:#1e9b57;--hum-soft:#e1f4e8;--hum-ink:#167a44;--lock:#a8a49b;--ring:#f2603c47;--sans:var(--font-sans),"Inter",-apple-system,"Segoe UI",system-ui,sans-serif;--mono:var(--font-mono),"JetBrains Mono","SFMono-Regular",Menlo,monospace;--e-out:cubic-bezier(.16,1,.3,1);--e-in:cubic-bezier(.55,0,1,.45);--e-io:cubic-bezier(.65,0,.35,1);--float:0 1px 2px #0000000f,0 6px 20px #00000014;--pw:392px;--sab:env(safe-area-inset-bottom,0px);--d-micro:.12s;--d-small:.2s;--d-med:.28s;z-index:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-size:16px;line-height:1.4;position:fixed;inset:0;overflow:hidden}.fm [hidden]{display:none!important}.fm *{box-sizing:border-box}.fm button{font:inherit;color:inherit}.fm a{color:inherit}.fm svg{display:inline}.fm :focus-visible{outline:2px solid var(--coral);outline-offset:2px}.fm .vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.fm #stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.fm #stage.dragging{cursor:grabbing}.fm #map{width:100%;height:100%;display:block;position:absolute;inset:0}.fm #ov{pointer-events:none;position:absolute;inset:0}.fm .coast{fill:var(--soft);stroke:var(--c);stroke-opacity:.55;stroke-width:1.3px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .2s}.fm .coast:hover{fill-opacity:.8}.fm .contour{fill:none;stroke:var(--c);stroke-opacity:.2;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:none}.fm .region{fill:var(--c);fill-opacity:.07;stroke:var(--c);stroke-opacity:.5;stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;cursor:pointer;opacity:0;transition:opacity .3s var(--e-out),fill-opacity .2s}.fm .lv2 .region,.fm .lv3 .region{opacity:1}.fm .region:hover{fill-opacity:.14}.fm .route-case{fill:none;stroke:#fff;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9}.fm .route-rest{fill:none;stroke:#a9a59c;stroke-width:2.5px;stroke-dasharray:1 7;stroke-linecap:round;vector-effect:non-scaling-stroke}.fm .route-done{fill:none;stroke:var(--coral);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.fm .frame{fill:none;stroke:var(--coral);stroke-width:1.5px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;opacity:.8}.fm .iocard{fill:#fff;stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer}.fm .iocard.out{stroke:var(--coral)}.fm .ioshadow{fill:#0000000a}.fm .cover{cursor:pointer}.fm .fog circle{fill:#fff}.fm .fog g{animation:9s ease-in-out infinite alternate fm-drift}.fm .fog g:nth-child(2){animation-duration:13s;animation-delay:-4s}.fm .fog{transition:opacity 1.2s var(--e-out)}.fm .fog.lift{opacity:0}.fm .star-glow{fill:url(#fm-starglow)}.fm .ov{opacity:0;visibility:hidden;transition:opacity .22s var(--e-out),visibility 0s linear .22s;will-change:transform;position:absolute;top:0;left:0}.fm .ov.on{opacity:1;visibility:visible;transition:opacity .28s var(--e-out),visibility 0s}.fm .halo{text-shadow:0 0 2px var(--bg),0 0 4px var(--bg),0 0 8px var(--bg),0 0 12px var(--bg)}.fm .lc{pointer-events:auto;cursor:pointer;text-align:center;background:0 0;border:0;border-radius:12px;padding:6px 10px}.fm .lc .n{font-size:clamp(15px,calc(var(--k,.4)*84px),40px);letter-spacing:-.03em;color:var(--ci);font-weight:500;line-height:1;display:block}.fm .lc .s{font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ci);opacity:.85;margin-top:6px;display:block}.fm .lc .q{font:12px var(--mono);color:var(--ink2);margin-top:4px;display:block}.fm .tiny .lc .s,.fm .tiny .lc .q{display:none}.fm .lc .n,.fm .lr{transition:transform var(--d-micro) var(--e-out)}.fm .lc:hover .n{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.fm .lc:active .n{transform:scale(.98)}.fm .lr{pointer-events:auto;cursor:pointer;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ci);white-space:nowrap;background:0 0;border:0;padding:4px 6px}.fm .lr:hover{text-underline-offset:3px;text-decoration:underline}.fm .lr small{font:500 9.5px var(--mono);letter-spacing:.12em;opacity:.75;margin-top:3px;display:block}.fm .lr:active{opacity:.7}.fm .bl{pointer-events:auto;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:0;padding:4px 8px}.fm .bl .k{font:700 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);display:block}.fm .bl .n{font:500 clamp(12px,calc(var(--k,.4)*34px),17px)/1.2 var(--sans);letter-spacing:-.01em;color:var(--ink);margin-top:2px;display:block}.fm .bl .m{font:11px var(--mono);color:var(--ink2);margin-top:3px;display:block}.fm .bl:hover .n{text-underline-offset:3px;text-decoration:underline}.fm .tiny .bl .m{display:none}.fm .bridge-edge{fill:none;stroke:#1b1b1b;stroke-opacity:.55;stroke-width:34px;stroke-linecap:butt}.fm .bridge-deck{fill:none;stroke-width:28px;stroke-linecap:butt;cursor:pointer}.fm .bridge-plank{fill:none;stroke:#1b1b1b;stroke-opacity:.22;stroke-width:28px;stroke-dasharray:2 9;pointer-events:none}.fm .bridge-post{fill:#fff;stroke:#1b1b1b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.fm .lf{font:600 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--coral);white-space:nowrap;padding:0 0 6px 2px}.fm .io{pointer-events:auto;cursor:pointer;text-align:center;background:0 0;border:0;width:max-content;max-width:40vw;padding:0}.fm .io .t{font-size:clamp(13px,calc(var(--k,.4)*64px),40px);white-space:nowrap;letter-spacing:-.02em;font-weight:500;line-height:1.1;display:block}.fm .io .d{font:12px/1.45 var(--mono);color:var(--ink2);max-width:24ch;margin-top:8px;margin-left:auto;margin-right:auto;display:block}.fm .io .d b{color:var(--coral-ink);font-weight:700}.fm .io .k{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:8px;display:block}.fm .io.narrow .d,.fm .io.tight .t{display:none}.fm .io.tight .k{margin:0}.fm .io .t,.fm .io .k,.fm .endpt .g{transition:transform var(--d-micro) var(--e-out)}.fm .io:active .t,.fm .io:active .k{transform:scale(.98)}.fm .endpt:active .g{transform:scale(.94)}.fm .cl{pointer-events:auto;text-align:center;width:max-content}.fm .cl .t{font-size:clamp(30px,calc(var(--k,.4)*190px),72px);letter-spacing:-.035em;font-weight:500;line-height:1;display:block}.fm .cl .d{font:clamp(11px,1.2vw,14px)/1.5 var(--mono);color:var(--ink2);max-width:36ch;margin:12px auto 18px;display:block}.fm .cl.narrow .d{display:none}.fm .cl.narrow .t{margin-bottom:10px}.fm .endpt{pointer-events:auto;cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid}.fm .endpt .g{border:2px solid var(--ink);width:34px;height:34px;box-shadow:var(--float);background:#fff;border-radius:50%;place-items:center;font-size:16px;display:grid}.fm .endpt.star .g{background:var(--ink);color:#ffd27a;border-color:var(--ink)}.fm .endpt .l{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.fm .endpt .m{font:12px var(--sans);color:var(--ink2);text-align:center;max-width:22ch;line-height:1.35}.fm .pin{pointer-events:auto;cursor:pointer;--ds:.46;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;display:grid}.fm .pin:before{content:"";border-radius:50%;position:absolute;inset:-5px}.fm .pin:focus-visible{outline-offset:-2px}.fm .pin .dot{border:2px solid var(--c);width:26px;height:26px;transform:scale(var(--ds));transition:transform var(--d-small) var(--e-out),background var(--d-small);background:#fff;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 1px 3px #00000040}.fm .lv2 .pin,.fm .lv3 .pin{--ds:1}.fm .pin .num{font:700 10px var(--mono);color:var(--ci);opacity:0;transition:opacity var(--d-small)}.fm .lv2 .pin .num,.fm .lv3 .pin .num{opacity:1}.fm .pin:hover .dot,.fm .pin:focus-visible .dot{transform:scale(calc(var(--ds)*1.15))}.fm .pin:active .dot{transform:scale(calc(var(--ds)*1.02))}.fm .pin.st-held .dot{background:var(--c)}.fm .pin.st-held .num{color:#fff}.fm .pin.st-next .dot{background:var(--coral);border-color:#fff;animation:2s ease-in-out infinite fm-breathe}.fm .pin.st-next .num{color:#fff}.fm .pin.sel .dot{box-shadow:0 0 0 5px var(--soft),0 0 0 6px var(--c)}.fm .pin.has-note .dot:after{content:"";background:var(--ink);border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px}.fm .pin .flag{pointer-events:none;width:14px;height:18px;transition:bottom .22s var(--e-out);position:absolute;bottom:calc(50% + 6px);left:50%}.fm .lv2 .pin .flag,.fm .lv3 .pin .flag{bottom:calc(50% + 12px)}.fm .pin .flag path.pole{stroke:var(--ink);stroke-width:1.4px}.fm .pin .flag path.cloth{fill:#fff;stroke:var(--ink);stroke-width:1.2px}.fm .pin.cleared .flag path.cloth{fill:var(--coral);stroke:var(--coral)}.fm .pin .pl{white-space:nowrap;text-align:left;opacity:0;pointer-events:none;transition:opacity .2s var(--e-out);position:absolute;top:50%;left:calc(50% + 20px);transform:translateY(-50%)}.fm .lv3 .pin .pl,.fm .pin:hover .pl,.fm .pin:focus-visible .pl,.fm .pin.sel .pl,.fm .pin.near .pl{opacity:1}.fm .pl b{font:500 13.5px/1.25 var(--sans);color:var(--ink);display:block}.fm .pl i{font:normal 10px var(--mono);color:var(--ink2);text-transform:uppercase;letter-spacing:.07em;margin-top:2px;display:block}.fm .pl i.hot{color:var(--coral);font-weight:600}.fm .me{pointer-events:auto;cursor:pointer;background:0 0;border:0;justify-items:center;padding:0;display:grid}.fm .me .p{background:var(--coral);border:3px solid #fff;border-radius:50%;width:18px;height:18px;animation:2s ease-in-out infinite fm-breathe;box-shadow:0 1px 4px #0000004d}.fm .me .l{font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--coral);white-space:nowrap;border-radius:999px;padding:3px 7px;position:absolute;bottom:calc(100% + 5px)}.fm .tc{justify-items:center;display:grid}.fm .tc .p{border:2.5px solid var(--ink);background:#ffffffb3;border-radius:50%;width:22px;height:22px}.fm .tc .l{font:600 11px var(--mono);color:#fff;background:var(--ink);white-space:nowrap;border-radius:6px;padding:4px 8px;position:absolute;bottom:calc(100% + 6px)}.fm .float{box-shadow:var(--float);background:#fff;border-radius:14px}.fm .top{z-index:20;width:min(var(--pw),calc(100vw - 32px));flex-direction:column;gap:10px;display:flex;position:absolute;top:16px;left:16px}.fm .search{border-radius:999px;align-items:center;gap:8px;height:50px;padding:0 6px 0 14px;display:flex;position:relative}.fm .search .brand{font:700 14px var(--mono);color:var(--coral);white-space:nowrap;text-decoration:none}.fm .search .brand span{color:var(--ink)}.fm .search .sep{background:var(--line);width:1px;height:22px}.fm .search input{min-width:0;font:15px var(--sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1;height:100%}.fm .search input::placeholder{color:var(--ink3)}.fm .search input::-webkit-search-cancel-button{display:none}.fm .ib{cursor:pointer;width:38px;height:38px;color:var(--ink2);transition:background var(--d-micro),color var(--d-micro),transform var(--d-micro) var(--e-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.fm .ib:before{content:"";border-radius:50%;position:absolute;inset:-3px}.fm .ib:hover{background:var(--bg);color:var(--ink)}.fm .ib:active{transform:scale(.94)}.fm .ib svg{width:20px;height:20px}.fm .results{z-index:5;transform-origin:50% 0;border-radius:16px;max-height:min(420px,60vh);padding:6px;display:none;position:absolute;top:56px;left:0;right:0;overflow:auto}.fm .results.open{animation:fm-pop var(--d-small) var(--e-out);display:block}.fm .res{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:28px 1fr;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.fm .res[aria-selected=true],.fm .res:hover{background:var(--bg)}.fm .res:active{background:var(--bg2)}.fm .res .ic{background:var(--soft);width:28px;height:28px;color:var(--ci);font:700 10px var(--mono);border-radius:50%;place-items:center;display:grid}.fm .res b{font:500 14px var(--sans);display:block}.fm .res i{font:normal 11px var(--mono);color:var(--ink3);margin-top:1px;display:block}.fm .res mark{background:var(--coral-soft);color:inherit;border-radius:3px}.fm .noresult{font:13px var(--mono);color:var(--ink3);padding:14px}.fm .chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:8px;margin:-2px -2px 0;padding:2px 2px 6px;display:flex;overflow-x:auto}.fm .chips.more{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}.fm .chips::-webkit-scrollbar{display:none}.fm .chip{scroll-snap-align:start;height:34px;box-shadow:var(--float);font:500 13px var(--sans);cursor:pointer;white-space:nowrap;color:var(--ink);background:#fff;border:0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;text-decoration:none;transition:background .12s,transform .12s;display:inline-flex}.fm .chip:hover{background:var(--bg2)}.fm .chip:active{transform:scale(.97)}.fm .chip:focus-visible{outline-offset:1px}.fm .chip .d{background:var(--coral);border-radius:50%;width:8px;height:8px}.fm .chip.hot{background:var(--ink);color:#fff}.fm .chip.hot:hover{background:#333}.fm .crumbs{z-index:15;height:36px;font:500 12px var(--mono);white-space:nowrap;border-radius:999px;align-items:center;padding:0 6px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}.fm .crumbs button{cursor:pointer;color:var(--ink2);background:0 0;border:0;border-radius:999px;padding:6px 10px}.fm .crumbs button:hover{background:var(--bg);color:var(--ink)}.fm .crumbs button:active{background:var(--bg2)}.fm .crumbs button:last-child{color:var(--ink);font-weight:700}.fm .crumbs .sp{color:var(--ink3)}.fm .crumbs .io-seq{align-items:center;gap:2px;display:flex}.fm .status{z-index:15;align-items:center;gap:8px;display:flex;position:absolute;top:16px;right:16px}.fm .status .chip{height:36px}.fm .status .flags{gap:2px;display:inline-flex}.fm .status .flags i{background:var(--line);border-radius:1px;width:7px;height:10px;display:inline-block}.fm .status .flags i.on{background:var(--coral)}.fm .ctrls{z-index:15;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:112px;right:16px}.fm .zoombox{border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.fm .zoombox button{cursor:pointer;width:42px;height:42px;font:500 20px var(--sans);color:var(--ink2);background:#fff;border:0;place-items:center;display:grid}.fm .zoombox button:hover{background:var(--bg);color:var(--ink)}.fm .zoombox button:active{background:var(--bg2)}.fm .zoombox button+button{border-top:1px solid var(--line)}.fm .roundb{width:42px;height:42px;box-shadow:var(--float);cursor:pointer;color:var(--ink2);transition:color var(--d-micro),transform var(--d-micro) var(--e-out);background:#fff;border:0;border-radius:12px;place-items:center;display:grid}.fm .roundb:hover{color:var(--coral)}.fm .roundb:active{transform:scale(.95)}.fm .roundb[aria-expanded=true]{color:var(--ink);background:var(--bg2)}.fm .roundb svg{width:20px;height:20px}.fm .layers{z-index:15;position:absolute;bottom:112px;left:16px}.fm .layers .lb{height:48px;box-shadow:var(--float);cursor:pointer;transition:transform var(--d-micro) var(--e-out),background var(--d-micro);background:#fff;border:0;border-radius:14px;align-items:center;gap:10px;padding:0 14px 0 6px;display:flex}.fm .layers .lb:hover{background:#fbfaf7}.fm .layers .lb:active{transform:scale(.98)}.fm .layers .lb .sw{background:linear-gradient(135deg,var(--det-soft) 0 33%,var(--prob-soft) 33% 66%,var(--hum-soft) 66%);border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.fm .layers .lb .sw svg{width:18px;height:18px;color:var(--ink)}.fm .layers .lb b{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:left;display:block}.fm .layers .lb span{font:500 13px var(--sans);text-align:left;display:block}.fm .lpop{transform-origin:12% 100%;border-radius:16px;width:272px;padding:14px;display:none;position:absolute;bottom:58px;left:0}.fm .lpop.open{animation:fm-pop var(--d-small) var(--e-out);display:block}.fm .lpop h3{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:0 0 4px}.fm .lpop p{color:var(--ink2);margin:0 0 10px;font-size:12.5px;line-height:1.45}.fm .lpop .lnk{font:600 12px var(--sans);color:var(--coral);text-underline-offset:3px;margin-top:10px;display:inline-block}.fm .lopts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fm .lopt{border:1.5px solid var(--line);text-align:left;cursor:pointer;transition:border-color var(--d-micro),background var(--d-micro),transform var(--d-micro) var(--e-out);background:#fff;border-radius:12px;padding:10px}.fm .lopt:hover{border-color:var(--ink3)}.fm .lopt:active{transform:scale(.98)}.fm .lopt b{font:600 13px var(--sans);display:block}.fm .lopt i{font:normal 11px var(--mono);color:var(--ink3);margin-top:2px;display:block}.fm .lopt[aria-checked=true]{border-color:var(--coral);background:var(--coral-soft)}.fm .lopt[aria-disabled=true]{opacity:.55;cursor:default}.fm .lopt[aria-disabled=true]:hover{border-color:var(--line)}.fm .scrub{z-index:15;border-radius:16px;width:min(760px,100vw - 32px);padding:12px 18px 10px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.fm .scrub .srow{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.fm .scrub .srow b{color:var(--ink)}.fm .scrub .srow #scrubLbl{text-overflow:ellipsis;overflow:hidden}.fm .track{height:28px;position:relative}.fm .bands{border-radius:3px;height:6px;display:flex;position:absolute;top:11px;left:0;right:0;overflow:hidden}.fm .bands i{height:100%;transition:width .5s var(--e-out);display:block}.fm .ticks{height:12px;position:absolute;top:20px;left:0;right:0}.fm .ticks span{font:500 9.5px var(--mono);color:var(--ink3);position:absolute;transform:translate(-50%)}.fm .ticks span.now{color:var(--coral);font-weight:700}.fm .todaymark{background:var(--coral);width:2px;height:16px;transition:left .5s var(--e-out);border-radius:1px;position:absolute;top:6px;transform:translate(-50%)}.fm .scrub input{appearance:none;cursor:pointer;background:0 0;width:calc(100% + 16px);height:28px;margin:0;position:absolute;top:0;left:-8px;right:-8px}.fm .scrub input::-webkit-slider-runnable-track{background:0 0;height:28px}.fm .scrub input::-moz-range-track{background:0 0;height:28px}.fm .scrub input::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--ink);width:18px;height:18px;transition:transform var(--d-micro) var(--e-out);background:#fff;border-radius:50%;margin-top:5px;box-shadow:0 1px 4px #00000040}.fm .scrub input:active::-webkit-slider-thumb{transform:scale(1.15)}.fm .scrub input::-moz-range-thumb{border:2.5px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px}.fm .scrub input:focus-visible{outline:none}.fm .scrub input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--ring)}.fm .panel{z-index:18;width:min(var(--pw),calc(100vw - 32px));opacity:0;visibility:hidden;transition:opacity .2s var(--e-in),transform .2s var(--e-in),visibility 0s linear .2s;border-radius:18px;flex-direction:column;display:flex;position:absolute;top:120px;bottom:112px;left:16px;overflow:hidden;transform:translate(-12px)}.fm .panel.open{opacity:1;visibility:visible;transition:opacity .28s var(--e-out),transform .28s var(--e-out),visibility 0s;transform:none}.fm .panel .band{background:var(--c,var(--coral));flex:none;height:6px}.fm .panel .phd{flex:none;justify-content:space-between;align-items:center;padding:10px 10px 0 18px;display:flex}.fm .panel .phd .k{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ci,var(--coral))}.fm .panel .pb{overscroll-behavior:contain;flex:1;padding:4px 18px 18px;overflow:auto}.fm .panel .pb.swap{animation:fm-up .22s var(--e-out)}.fm .panel h2{letter-spacing:-.02em;text-wrap:balance;margin:4px 0 10px;font-size:24px;font-weight:500;line-height:1.15}.fm .panel h2:focus{outline:none}.fm .panel h3{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:18px 0 8px}.fm .panel p{color:var(--ink2);margin:0 0 10px;font-size:14px;line-height:1.55}.fm .panel p b{color:var(--ink)}.fm .pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.fm .pill{font:500 11px var(--mono);border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.fm .pill.hot{background:var(--coral);color:#fff;border-color:var(--coral)}.fm .pill.ok{background:var(--hum-soft);color:var(--hum-ink);border-color:#0000}.fm .pill.terr{background:var(--soft);color:var(--ci);border-color:#0000}.fm button.pill.terr{cursor:pointer;transition:transform var(--d-micro) var(--e-out),filter var(--d-micro)}.fm button.pill.terr:hover{filter:brightness(.96)}.fm button.pill.terr:active{transform:scale(.97)}.fm .can{background:var(--bg);border-radius:12px;margin:0 0 4px;padding:12px 14px}.fm .can b{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px;display:block}.fm .can span{color:var(--ink);font-size:14.5px;line-height:1.5}.fm .can ol{color:var(--ink);margin:2px 0 0;padding:0 0 0 20px;font-size:14px;line-height:1.5;list-style:decimal}.fm .can ol li{margin:0 0 6px;padding-left:2px}.fm .can ol li:last-child{margin:0}.fm .can ol li::marker{font:600 11px var(--mono);color:var(--ink3)}.fm .can.guide{margin-top:10px}.fm .can.guide span{font-size:13.5px}.fm .ag{grid-template-columns:auto 1fr;gap:7px 14px;margin:0 0 6px;font-size:13.5px;line-height:1.4;display:grid}.fm .ag dt{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);white-space:nowrap;padding-top:3px}.fm .ag dd{color:var(--ink);margin:0}.fm .ag dd i{color:var(--ink3);font-style:normal}.fm .tools{flex-wrap:wrap;gap:6px;display:flex}.fm .tool{font:500 12px var(--mono);background:var(--bg);color:var(--ink);border-radius:8px;padding:5px 10px}.fm .cp{background:var(--soft);border-radius:12px;margin-top:12px;padding:14px;font-size:13.5px;line-height:1.5}.fm .cp .h{font:700 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ci);align-items:center;gap:8px;margin-bottom:6px;display:flex}.fm .cp .h svg{width:12px;height:15px}.fm .cp .h svg path.pole{stroke:var(--ink);stroke-width:1.4px;fill:none}.fm .cp .h svg path.cloth{fill:var(--coral);stroke:var(--coral);stroke-width:1.2px}.fm .chk{font:600 12.5px var(--mono);cursor:pointer;border-top:1px solid #00000014;align-items:center;gap:10px;margin-top:12px;padding-top:12px;display:flex}.fm .chk.solo{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:16px;padding:12px 14px}.fm .chk input{appearance:none;border:1.5px solid var(--c,var(--ink3));cursor:pointer;background:#fff 50%/13px no-repeat;border-radius:6px;flex:none;width:20px;height:20px;margin:0;transition:background-color .12s,transform .12s}.fm .chk input:checked{background-color:var(--coral);border-color:var(--coral);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.fm .chk input:active{transform:scale(.92)}.fm .chk:hover input:not(:disabled){border-color:var(--coral)}.fm .chk.off{color:var(--ink3);cursor:default}.fm .chk.off input{opacity:.4;cursor:not-allowed}.fm .note textarea,.fm .field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:72px;font:14px/1.5 var(--sans);color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px;transition:border-color .12s}.fm .note textarea:focus,.fm .field textarea:focus{border-color:var(--coral);outline:0}.fm .saved{font:11px var(--mono);color:var(--ink3);height:14px;margin-top:4px;transition:opacity .3s}.fm .nav2{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.fm .nav2 button{border:1px solid var(--line);text-align:left;cursor:pointer;min-height:56px;transition:border-color var(--d-micro),background var(--d-micro),transform var(--d-micro) var(--e-out);background:#fff;border-radius:12px;padding:10px 12px}.fm .nav2 button:hover:not(:disabled){border-color:var(--ink);background:var(--bg)}.fm .nav2 button:active:not(:disabled){transform:scale(.98)}.fm .nav2 button:disabled{opacity:.4;cursor:default}.fm .nav2 button.nx{text-align:right}.fm .nav2 b{font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);display:block}.fm .nav2 span{margin-top:2px;font-size:13px;line-height:1.3;display:block}.fm .rows{flex-direction:column;gap:2px;display:flex}.fm .row{text-align:left;cursor:pointer;width:100%;transition:background var(--d-micro);background:0 0;border:0;border-radius:10px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px;display:grid}.fm .row:hover{background:var(--bg)}.fm .row:active{background:var(--bg2)}.fm .row .rd{width:24px;height:24px;font:700 9.5px var(--mono);border:2px solid var(--c);color:var(--ci);background:#fff;border-radius:50%;place-items:center;display:grid}.fm .row.st-held .rd{background:var(--c);color:#fff}.fm .row.st-next .rd{background:var(--coral);border-color:var(--coral);color:#fff}.fm .row b{font:500 13.5px/1.3 var(--sans);display:block}.fm .row i{font:normal 10.5px var(--mono);color:var(--ink3);margin-top:1px;display:block}.fm .row .rt{font:500 10.5px var(--mono);color:var(--ink3);white-space:nowrap}.fm .row .rt.hot{color:var(--coral);font-weight:700}.fm .grp{font:700 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ci);align-items:center;gap:8px;margin:16px 0 4px;display:flex}.fm .grp:after{content:"";background:var(--soft);flex:1;height:1px}.fm .fromto{grid-template-columns:18px 1fr;align-items:center;gap:4px 10px;margin:6px 0 14px;display:grid}.fm .fromto .a{border:2.5px solid var(--ink);border-radius:50%;justify-self:center;width:12px;height:12px}.fm .fromto .b{color:#ffd27a;background:var(--ink);border-radius:50%;place-items:center;width:18px;height:18px;font-size:13px;display:grid}.fm .fromto .v{background:repeating-linear-gradient(var(--ink3) 0 2px,transparent 2px 5px);justify-self:center;width:2px;height:14px}.fm .fromto span{font-size:14px}.fm .stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px;display:grid}.fm .stats div{background:var(--bg);border-radius:10px;padding:10px}.fm .stats b{font:500 20px var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block}.fm .stats i{font:normal 10px var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}.fm .law{background:var(--ink);color:#fff;border-radius:12px;margin-top:14px;padding:12px 14px;font-size:13.5px;line-height:1.5}.fm .law b{font:700 10.5px var(--mono);letter-spacing:.12em;color:#ffd27a;margin-bottom:4px;display:block}.fm .elts{gap:6px;display:grid}.fm .elts label{background:var(--bg);cursor:pointer;border-radius:10px;grid-template-columns:20px 1fr;align-items:start;gap:10px;padding:8px 10px;font-size:13px;line-height:1.4;display:grid}.fm .elts label b{font-size:13.5px;display:block}.fm .elts input{appearance:none;border:1.5px solid var(--ink3);cursor:pointer;background:#fff 50%/12px no-repeat;border-radius:5px;width:18px;height:18px;margin:1px 0 0}.fm .elts input:checked{background-color:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.fm .btn{background:var(--ink);color:#fff;height:42px;font:600 14px var(--sans);cursor:pointer;transition:transform var(--d-micro) var(--e-out),background var(--d-micro);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.fm .btn:hover{background:#333}.fm .btn:active{transform:scale(.97)}.fm .btn.coral{background:var(--coral)}.fm .btn.coral:hover{background:#e0512e}.fm .btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:#fff}.fm .btn.ghost:hover{background:var(--bg)}.fm .acts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fm .lnk{font:600 13px var(--sans);color:var(--coral-ink);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.fm .lnk:hover{color:var(--coral)}.fm .hub{background:var(--coral);color:#fff;border-radius:12px;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.fm .hub:hover{transform:translateY(-1px);box-shadow:0 6px 18px #f2603c4d}.fm .hub span{flex-direction:column;flex:1;gap:2px;display:flex}.fm .hub b{font:600 14px/1.3 var(--sans)}.fm .hub i{font:normal 12px/1.4 var(--sans);opacity:.9}.fm .hub em{font-size:18px;font-style:normal}.fm .hubs{flex-wrap:wrap;gap:6px;margin:-6px 0 14px;display:flex}.fm .hubs a{font:500 12px var(--sans);border:1px solid var(--line);color:inherit;border-radius:8px;padding:4px 10px;text-decoration:none}.fm .hubs a:hover{border-color:var(--coral);color:var(--coral)}.fm .ready{gap:6px;margin:4px 0 10px;display:grid}.fm .ready div{background:var(--bg);border-radius:10px;grid-template-columns:1fr 64px auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.fm .ready b{font:500 13px/1.3 var(--sans);color:var(--ink)}.fm .ready s{background:var(--line);border-radius:3px;height:6px;text-decoration:none;display:block;overflow:hidden}.fm .ready s i{height:100%;width:var(--w);background:var(--c);border-radius:3px;display:block}.fm .ready em{font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);white-space:nowrap;font-style:normal}.fm .big{align-items:baseline;gap:10px;margin:2px 0 10px;display:flex}.fm .big b{font:500 40px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.fm .big span{font:12px/1.4 var(--mono);color:var(--ink2)}.fm .gate{z-index:19;opacity:0;visibility:hidden;width:min(560px,100vw - 32px);transition:opacity .2s var(--e-in),transform .2s var(--e-in),visibility 0s linear .2s;border-radius:18px;padding:18px 20px 20px;position:absolute;bottom:112px;left:50%;transform:translate(-50%,8px)}.fm .gate.on{opacity:1;visibility:visible;transition:opacity .3s var(--e-out),transform .3s var(--e-out),visibility 0s;transform:translate(-50%)}.fm .gate .k{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin:0 0 6px}.fm .gate h2{letter-spacing:-.025em;margin:0 0 6px;font-size:clamp(20px,2.6vw,26px);font-weight:500;line-height:1.15}.fm .gate p{font:12.5px/1.55 var(--mono);color:var(--ink2);margin:0 0 14px}.fm .gopts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fm .gopt{border:1.5px solid var(--line);text-align:left;cursor:pointer;color:var(--ink);transition:border-color var(--d-micro),background var(--d-micro),transform var(--d-micro) var(--e-out);background:#fff;border-radius:14px;padding:14px;text-decoration:none;display:block}.fm .gopt:hover{border-color:var(--ink);background:#fbfaf7}.fm .gopt:active{transform:scale(.98)}.fm .gopt.pri{border-color:var(--coral)}.fm .gopt b{font:600 15px var(--sans);display:block}.fm .gopt i{font:normal 11.5px/1.4 var(--mono);color:var(--ink3);margin-top:4px;display:block}.fm .intro{z-index:16;opacity:0;visibility:hidden;width:min(620px,100vw - 32px);transition:opacity .25s var(--e-in),transform .25s var(--e-in),visibility 0s linear .25s;border-radius:18px;padding:20px 22px;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}.fm .intro.on{opacity:1;visibility:visible;transition:opacity .35s var(--e-out),transform .35s var(--e-out),visibility 0s;transform:translate(-50%,-4px)}.fm .intro .k{font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin:0 0 6px}.fm .intro .xin{position:absolute;top:8px;right:8px}.fm .intro h1{letter-spacing:-.03em;margin:0 0 8px;padding-right:32px;font-size:clamp(22px,3vw,30px);font-weight:500;line-height:1.1}.fm .intro p{font:13.5px/1.55 var(--mono);color:var(--ink2);margin:0 0 14px}.fm .intro p b{color:var(--ink)}.fm .toast{z-index:30;background:var(--ink);color:#fff;font:500 12.5px var(--mono);opacity:0;visibility:hidden;transition:opacity var(--d-small) var(--e-in),transform var(--d-small) var(--e-in),visibility 0s linear var(--d-small);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 16px;position:absolute;top:76px;left:50%;overflow:hidden;transform:translate(-50%,-6px)}.fm .toast.on{opacity:1;visibility:visible;transition:opacity var(--d-med) var(--e-out),transform var(--d-med) var(--e-out);transform:translate(-50%)}.fm .help{z-index:19;transform-origin:100% 100%;border-radius:16px;width:280px;padding:16px;display:none;position:absolute;bottom:112px;right:68px}.fm .help.open{animation:fm-pop var(--d-small) var(--e-out);display:block}.fm .help h3{font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:0 0 10px}.fm .help dl{grid-template-columns:auto 1fr;gap:8px 12px;margin:0;font-size:13px;display:grid}.fm .help dt{font:600 11px var(--mono)}.fm .help kbd{text-align:center;border:1px solid var(--line);background:var(--bg);min-width:22px;font:600 11px var(--mono);border-bottom-width:2px;border-radius:6px;padding:2px 6px;display:inline-block}.fm .help dd{color:var(--ink2);margin:0}.fm .help .foot{border-top:1px solid var(--line);color:var(--ink2);margin:12px 0 0;padding-top:10px;font-size:12.5px}.fm .pin .prog{width:38px;height:38px;transform:scale(var(--ds));transition:transform var(--d-small) var(--e-out);pointer-events:none;z-index:3;margin:-19px 0 0 -19px;position:absolute;top:50%;left:50%}@media (max-width:760px){.fm .crumbs,.fm .status .wk{display:none}.fm .status{top:auto;bottom:calc(112px + var(--sab));left:16px;right:auto}.fm .layers{bottom:calc(160px + var(--sab))}.fm .top{width:calc(100vw - 32px)}.fm .panel{width:100%;height:62vh;max-height:calc(100% - 118px);padding-bottom:var(--sab);border-radius:20px 20px 0 0;inset:auto 0 0;transform:translateY(24px)}.fm .panel.open{transform:none}.fm .panel.drag{transition:none}.fm .panel:before{content:"";background:var(--line);z-index:1;border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:10px;left:50%}.fm .panel .band{height:0}.fm .panel .phd{touch-action:none;cursor:grab;padding-top:18px}.fm .panel .phd:before{content:"";height:56px;position:absolute;top:0;left:0;right:0}.fm .scrub{bottom:calc(16px + var(--sab));transition:opacity var(--d-small) var(--e-in),visibility 0s linear var(--d-small);padding:10px 14px 8px}.fm .scrub.off{opacity:0;visibility:hidden}.fm .ticks span.odd{display:none}.fm .help{right:16px;bottom:calc(170px + var(--sab))}.fm .ctrls{bottom:calc(108px + var(--sab))}.fm .intro{bottom:calc(112px + var(--sab));padding:16px 16px 14px}.fm .gate{bottom:calc(112px + var(--sab));padding:16px}.fm .gate p{margin-bottom:12px;font-size:12px}.fm .io.tight{visibility:hidden}.fm .intro p{margin-bottom:10px;font-size:12px}.fm .intro .btn{height:38px;padding:0 14px;font-size:13px}.fm .toast{top:124px}.fm .pin{--ds:.5}}@media (hover:none){.fm .pin .pl{transition:none}}@media (prefers-reduced-motion:reduce){.fm .pin.st-next .dot,.fm .me .p,.fm .fog g{animation:none}.fm .ov,.fm .ov.on,.fm .panel,.fm .panel.open,.fm .intro,.fm .intro.on,.fm .gate,.fm .gate.on,.fm .scrub,.fm .toast,.fm .toast.on,.fm .fog{transition-duration:.01ms}.fm .results.open,.fm .lpop.open,.fm .help.open,.fm .panel .pb.swap{animation:none}.fm .pin .dot,.fm .chip,.fm .btn,.fm .ib,.fm .roundb,.fm .lopt,.fm .gopt,.fm .nav2 button,.fm .lc .n,.fm .lr,.fm .io .t,.fm .io .k,.fm .endpt .g,.fm .pin .prog,.fm .bands i,.fm .todaymark{transition:none}}html.fm-lock,html.fm-lock body{overscroll-behavior:none;height:100%;overflow:hidden}@keyframes fm-breathe{0%,to{box-shadow:0 0 0 0 var(--ring)}50%{box-shadow:0 0 0 8px var(--ring)}}@keyframes fm-drift{0%{transform:translate(-14px)}to{transform:translate(14px)}}@keyframes fm-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fm-pop{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:none}}
