:root{--chart:#E7E9E3;--chart2:#DDE0D8;--ink:#12161A;--mag:#BE1D77;--blue:#2B5C8A;--faint:#9EA49C;--hair:#C3C8BF;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--sans:"IBM Plex Sans Condensed","Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:var(--chart)}body{font-family:var(--mono);font-size:14px;line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.app{max-width:640px;margin:0 auto;padding:0 18px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}a{color:var(--blue)}.gate{padding-top:24vh;text-align:left}.gate .lbl{font-size:10px;letter-spacing:.16em;color:var(--blue);margin-bottom:10px}.gate .lbl,.gate-h{text-transform:uppercase}.gate-h{font-family:var(--sans);font-weight:700;font-size:46px;letter-spacing:-.02em;margin:0 0 24px;line-height:.95}.pw{width:100%;padding:14px 0;background:none;border:0;border-bottom:1.5px solid var(--ink);font-family:var(--mono);font-size:17px;color:var(--ink);letter-spacing:.1em}.pw::placeholder{color:var(--faint);letter-spacing:.05em}.pw:focus{outline:0;border-color:var(--mag)}.btn{margin-top:22px;padding:13px 26px;background:var(--ink);color:var(--chart);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.btn:disabled{opacity:.35}.btn.ghost{background:none;color:var(--ink);border:1.5px solid var(--ink)}.btn.warn{background:var(--mag);color:var(--chart)}.err{color:var(--mag)}.err,.ok{font-size:12.5px;margin-top:16px}.ok{color:var(--blue)}.top{padding:22px 0 0;display:flex;align-items:flex-start;gap:12px}.top .lbl{font-size:10px;letter-spacing:.16em;color:var(--blue);margin-bottom:10px}.top .lbl,.top .out{text-transform:uppercase}.top .out{margin-left:auto;font-size:9.5px;letter-spacing:.12em;color:var(--faint)}.trips{display:flex;border-bottom:1.5px solid var(--ink);overflow-x:auto;scrollbar-width:none}.trips::-webkit-scrollbar{display:none}.trip{padding:12px 16px 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-right:1px solid var(--hair);position:relative;white-space:nowrap;flex:none}.trip:first-child{padding-left:0}.trip .n{color:var(--hair);margin-right:7px}.trip[data-on=true]{color:var(--ink);font-weight:600}.trip[data-on=true] .n{color:var(--mag)}.trip[data-on=true]:after{content:"";position:absolute;left:0;right:1px;bottom:-1.5px;height:3px;background:var(--mag)}.hero{padding:24px 0 20px;border-bottom:1px solid var(--hair)}.hero .cd{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mag);font-weight:600;margin-bottom:8px}.hero .big{font-family:var(--sans);font-weight:700;font-size:76px;line-height:.82;letter-spacing:-.03em;color:var(--mag);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero .why{font-size:12.5px;color:#4A524C;margin-top:12px;max-width:330px}.hero .why b{display:block;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}.facts{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--hair);margin:0}.fact{padding:14px 12px 14px 0;border-right:1px solid var(--hair)}.fact:nth-child(2n){border-right:0;padding-right:0}.fact:nth-child(n+3){border-top:1px solid var(--hair)}.fact dt{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}.fact dd{margin:0;font-size:13.5px;font-weight:500;word-break:break-all}.fact.w dd{color:var(--mag)}.mask{letter-spacing:.12em;color:var(--faint)}.reveal{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-left:8px;text-decoration:underline;text-underline-offset:3px}h2.sec{font-family:var(--sans);font-weight:700;font-size:17px;letter-spacing:.03em;text-transform:uppercase;margin:30px 0 0;padding-bottom:8px;border-bottom:1.5px solid var(--ink);display:flex;align-items:baseline;gap:10px}h2.sec small{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--faint);font-weight:400}.day{display:flex;align-items:baseline;gap:11px;margin:26px 0 2px;font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.09em;text-transform:uppercase}.day:after{content:"";flex:1 1;height:1px;background:var(--hair)}.day .dot{width:7px;height:7px;background:var(--blue);border-radius:50%;flex:none}.row{display:grid;grid-template-columns:62px 1fr}.row .t{padding:13px 12px 13px 0;text-align:right;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row .t.s{color:var(--faint);font-weight:400;font-size:11px}.row .b{border-left:1px solid var(--hair);padding:13px 0 13px 17px;position:relative}.row .b:before{content:"";position:absolute;left:-4.5px;top:19px;width:8px;height:8px;background:var(--chart);border:1.5px solid var(--ink);border-radius:50%}.row .b h3{font-family:var(--sans);font-weight:600;font-size:15.5px;margin:0 0 3px}.row .b p{margin:0;font-size:12.5px;color:#525A54}.row.k .b:before{background:var(--mag);border-color:var(--mag)}.row.k .b h3{color:var(--mag)}.gap{display:grid;grid-template-columns:62px 1fr}.gap .t{padding-right:12px;text-align:right;font-size:11px;font-weight:600}.gap .b,.gap .t{color:var(--mag);line-height:42px}.gap .b{border-left:1px dashed var(--mag);padding-left:17px;font-size:11.5px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flight{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:12px;gap:12px;background:var(--chart2);padding:15px 16px;margin:6px 0 3px;border-left:3px solid var(--ink)}.flight .p{font-size:9.5px;letter-spacing:.15em;color:var(--faint);text-transform:uppercase}.flight .h{font-family:var(--sans);font-weight:700;font-size:26px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:3px}.flight .to{text-align:right}.flight .m{text-align:center;min-width:70px}.flight .m .l{border-top:1px dashed var(--faint);position:relative;margin-bottom:6px}.flight .m .l:after{content:"\2708";position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--chart2);padding:0 5px;font-size:11px}.flight .m small,.fmeta{font-size:10px;color:var(--faint)}.fmeta{display:flex;gap:16px;flex-wrap:wrap;letter-spacing:.1em;text-transform:uppercase;padding-left:20px}.wgrid{grid-gap:1px;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:16px}.wd,.wgrid{display:grid}.wd{background:var(--chart);padding:13px 14px;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:14px;gap:14px}.wd .dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);min-width:56px}.wd .cond{font-size:12.5px}.wd .tmp{font-family:var(--sans);font-weight:700;font-size:19px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.wd .tmp span{color:var(--faint);font-weight:400;font-size:14px}.wd.na .cond,.wd.na .tmp{color:var(--faint);font-family:var(--mono);font-size:11.5px;font-weight:400}.wnote{font-size:11.5px;color:#525A54;margin-top:12px;padding-left:12px;border-left:2px solid var(--hair)}.wstatus{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin-top:10px}.advice{margin-top:18px;padding:14px 16px;background:var(--chart2);border-left:3px solid var(--mag)}.advice b{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mag);margin-bottom:6px}.advice p{margin:0;font-size:12.5px;line-height:1.55}.cat{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin:24px 0 6px;font-weight:600;align-items:center}.cat,.chkrow{display:flex;gap:10px}.chkrow{border-bottom:1px solid var(--hair)}.chk,.chkrow{align-items:flex-start}.chk{display:flex;gap:14px;padding:12px 0;flex:1 1;text-align:left;min-width:0}.chk .box{width:19px;height:19px;border:1.5px solid var(--ink);flex:none;margin-top:1px;position:relative;border-radius:2px}.chk[data-on=true] .box{background:var(--ink)}.chk[data-on=true] .box:after{content:"";position:absolute;left:5px;top:1px;width:6px;height:11px;border:solid var(--chart);border-width:0 2px 2px 0;transform:rotate(45deg)}.chk .txt{flex:1 1;min-width:0}.chk .txt b{font-family:var(--sans);font-weight:600;font-size:15px;display:block}.chk .txt small{font-size:11.5px;color:#5B635C;display:block;margin-top:2px}.chk[data-on=true] .txt b,.chk[data-on=true] .txt small{color:var(--faint);text-decoration:line-through;text-decoration-thickness:1px}.chk .q{font-size:11px;flex:none;margin-top:3px}.chk .q,.del{color:var(--faint)}.del{font-size:16px;padding:12px 0 12px 8px;line-height:1}.del:hover{color:var(--mag)}.prog{display:flex;align-items:center;gap:12px;margin-top:16px}.prog .bar{flex:1 1;height:3px;background:var(--hair);position:relative}.prog .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--mag);transition:width .25s ease}.prog .n{font-size:11px;letter-spacing:.1em;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.addrow{display:flex;gap:8px;margin-top:18px;align-items:center}.addrow input,.addrow select{flex:1 1;min-width:0;padding:11px 10px;background:var(--chart2);border:1px solid var(--hair);font-family:var(--mono);font-size:13px;color:var(--ink)}.addrow select{flex:0 0 118px}.addrow button{padding:11px 16px;background:var(--ink);color:var(--chart);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.field{margin-top:18px}.field label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:7px}.field textarea{width:100%;min-height:180px;padding:13px;background:var(--chart2);border:1px solid var(--hair);font-family:var(--mono);font-size:13px;line-height:1.55;color:var(--ink);resize:vertical}.field textarea.code{min-height:420px;font-size:12px;line-height:1.5}.field input{width:100%;padding:12px;background:var(--chart2);border:1px solid var(--hair);font-family:var(--mono);font-size:13px;color:var(--ink)}.hint{font-size:11.5px;color:var(--faint);margin-top:8px;line-height:1.55}.actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.empty{padding:60px 0;text-align:center}.empty .m{font-size:56px;color:var(--hair);line-height:1}.empty .m,.empty h3{font-family:var(--sans);font-weight:700}.empty h3{font-size:18px;text-transform:uppercase;margin:12px 0 8px}.empty p{font-size:12.5px;color:var(--faint);max-width:300px;margin:0 auto;line-height:1.6}nav.bar{position:fixed;left:0;right:0;bottom:0;background:var(--chart);border-top:1.5px solid var(--ink);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:20}nav.bar .in{max-width:640px;margin:0 auto;display:flex;width:100%}nav.bar button{flex:1 1;padding:13px 4px 14px;text-align:center;color:var(--faint)}nav.bar button .ic{font-family:var(--sans);font-weight:700;font-size:15px;display:block;margin-bottom:3px}nav.bar button .tx{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase}nav.bar button[data-on=true]{color:var(--mag)}.badge{display:inline-block;min-width:16px;padding:0 4px;background:var(--mag);color:var(--chart);border-radius:8px;font-size:10px;line-height:16px;font-weight:600;margin-left:4px;vertical-align:1px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.ed{border:1px solid var(--hair);background:var(--chart2);padding:11px 12px 14px;margin-top:11px}.ed .ed{background:var(--chart);margin-top:13px}.ed .hd{display:flex;align-items:center;gap:4px}.ed .hd .n{font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);flex:1 1}.ed .hd button{color:var(--hair);font-size:14px;line-height:1;padding:3px 6px}.ed .hd button:hover{color:var(--mag)}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 12px;gap:0 12px}.field.s{margin-top:11px}.field.s label{font-size:9.5px;letter-spacing:.13em;color:var(--faint);margin-bottom:5px}.field.s input,.field.s textarea{padding:9px 10px;font-size:12.5px;background:var(--chart);font-family:var(--mono)}.ed .ed .field.s input,.ed .ed .field.s textarea{background:var(--chart2)}.field textarea.mini{min-height:62px}.tog{display:inline-flex;align-items:center;gap:8px;margin:13px 16px 0 0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.tog .box{width:15px;height:15px;border:1.5px solid var(--hair);border-radius:2px;position:relative;flex:none}.tog[data-on=true]{color:var(--ink)}.tog[data-on=true] .box{background:var(--ink);border-color:var(--ink)}.tog[data-on=true] .box:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--chart);border-width:0 2px 2px 0;transform:rotate(45deg)}.add{margin-top:13px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--hair);padding-bottom:3px}.add:hover{border-color:var(--blue)}.danger{margin-top:36px;padding-top:18px;padding-bottom:44px;border-top:1px solid var(--hair)}.danger .lbl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mag);margin-bottom:8px}.danger p{font-size:11.5px;color:var(--faint);margin:10px 0 0;line-height:1.55;max-width:400px}.savebar{position:fixed;left:0;right:0;z-index:30;background:var(--mag);color:var(--chart);bottom:calc(58px + env(safe-area-inset-bottom));font-size:11.5px;padding:10px 18px;text-align:center}