@font-face{font-family:'PP Neue Machina';src:url(/wp-content/uploads/fonts/PPNeueMachina-PlainLightItalic.woff) format('woff'),url(/wp-content/uploads/fonts/PPNeueMachina-PlainLightItalic.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'PP Neue Montreal Mono';src:url(/wp-content/uploads/fonts/PPNeueMontrealMono-Regular.woff) format('woff'),url(/wp-content/uploads/fonts/PPNeueMontrealMono-Regular.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}.qh-calc{all:initial;font-family:'PP Neue Montreal Mono',monospace;font-weight:400;display:block;background:var(--qh-bg);color:var(--qh-text);line-height:1.5;box-sizing:border-box;--qh-bg:#f5f4f0;--qh-bg2:#ffffff;--qh-bg3:#f1efe9;--qh-bg4:#e0ded7;--qh-accent:#ed4044;--qh-accent2:#ed292b;--qh-text:#1a1a1a;--qh-text2:#555555;--qh-text3:#888888;--qh-border:#d0cfc8;--qh-border2:#b8b6ae;--qh-red:#ed292b;--qh-green:#555555;--qh-blue:#555555;--qh-cs:#ed4044;--qh-cb:#555555;--qh-cl:#a3a199}.qh-calc *,.qh-calc *::before,.qh-calc *::after{box-sizing:inherit}.qh-calc .main{max-width:1140px;margin:0 auto;padding:1.5rem;display:grid;grid-template-columns:320px 1fr;gap:1.5rem;align-items:start}@media(max-width:860px){.qh-calc .main{grid-template-columns:1fr;padding:1rem}}.qh-calc .panel{background:var(--qh-bg2);border:1px solid var(--qh-border);overflow:hidden}.qh-calc .ph{padding:.8rem 1.1rem;border-bottom:1px solid var(--qh-border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.qh-calc .ph .tag{font-family:'PP Neue Montreal Mono',monospace;font-size:.6rem;font-weight:400;letter-spacing:2px;color:var(--qh-accent);border:1px solid var(--qh-accent);padding:2px 7px;flex-shrink:0}.qh-calc .ph h2{font-family:'PP Neue Montreal Mono',monospace;font-size:.8rem;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text2);margin:0;min-width:0;overflow-wrap:break-word}.qh-calc .pb{padding:1.1rem}.qh-calc .field{margin-bottom:1.05rem;min-width:0}.qh-calc .field label{display:block;font-size:.62rem;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text2);margin-bottom:.32rem}.qh-calc .frow{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}@media(max-width:400px){.qh-calc .frow{grid-template-columns:1fr}}.qh-calc input[type=number],.qh-calc input[type=date],.qh-calc input[type=time],.qh-calc select{width:100%;max-width:100%;background:var(--qh-bg3);border:1px solid var(--qh-border2);color:var(--qh-text);font-family:'PP Neue Montreal Mono',monospace;font-size:1rem;font-weight:400;padding:.52rem .72rem;outline:none;transition:border-color 0.15s;-webkit-appearance:none;appearance:none}.qh-calc input[type=number]:focus,.qh-calc input[type=date]:focus,.qh-calc input[type=time]:focus,.qh-calc select:focus{border-color:var(--qh-accent);background:var(--qh-bg2);box-shadow:none}.qh-calc select option{background:var(--qh-bg2);color:var(--qh-text)}.qh-calc .fhint{font-size:.6rem;color:var(--qh-text3);margin-top:.25rem;line-height:1.4}.qh-calc .sc{display:flex;background:var(--qh-bg3);border:1px solid var(--qh-border2);overflow:hidden}.qh-calc .sc button{flex:1 1 0%;min-width:0;background:transparent!important;border:none!important;border-right:1px solid var(--qh-border2)!important;border-radius:0!important;box-shadow:none!important;color:var(--qh-text2)!important;font-family:'PP Neue Montreal Mono',monospace!important;font-size:0.66rem!important;font-weight:400!important;letter-spacing:0!important;text-transform:uppercase;padding:.5rem 0.15rem!important;cursor:pointer;transition:background 0.13s,color 0.13s;white-space:normal;overflow:visible;line-height:1.2;word-break:keep-all}@media(max-width:380px){.qh-calc .sc button{font-size:0.58rem!important}}.qh-calc .sc button:last-child{border-right:none!important}.qh-calc .sc button.active{background:var(--qh-accent)!important;color:#ffffff!important}.qh-calc .sc button:hover:not(.active){color:var(--qh-text)!important;background:var(--qh-bg4)!important}.qh-calc .btn-calc{width:100%;max-width:100%;background:var(--qh-accent)!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#ffffff!important;font-family:'PP Neue Montreal Mono',monospace;font-size:.85rem;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;padding:.88rem .5rem;cursor:pointer;transition:opacity 0.15s;margin-top:.45rem;display:flex;align-items:center;justify-content:center;gap:8px;white-space:normal;line-height:1.3}.qh-calc .btn-calc:hover{opacity:.85}.qh-calc .btn-calc:active{opacity:1}.qh-calc .btn-calc:disabled{opacity:.4;cursor:not-allowed}.qh-calc .sbar{display:flex;align-items:center;gap:7px;padding:.48rem 1.1rem;font-size:.68rem;color:var(--qh-text3);border-top:1px solid var(--qh-border)}.qh-calc .sdot{width:5px;height:5px;border-radius:50%;background:var(--qh-text3);flex-shrink:0}.qh-calc .sdot.ok{background:var(--qh-text2)}.qh-calc .sdot.run{background:var(--qh-accent);animation:qh-bl 1s infinite}@keyframes qh-bl{0%,100%{opacity:1}50%{opacity:.2}}.qh-calc .rcol{display:flex;flex-direction:column;gap:1.3rem;min-width:0}.qh-calc .cwrap{background:var(--qh-bg2);border:1px solid var(--qh-border);padding:1.1rem}@media(max-width:480px){.qh-calc .cwrap{padding:.75rem}}.qh-calc .clbl{font-family:'PP Neue Montreal Mono',monospace;font-size:.62rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--qh-text2);margin-bottom:.7rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.qh-calc .cleg{display:flex;gap:1rem;flex-wrap:wrap}.qh-calc .cli{display:flex;align-items:center;gap:4px;font-size:.6rem;color:var(--qh-text3)}.qh-calc .clidot{width:8px;height:4px}.qh-calc .cbox{position:relative}.qh-calc #cv{width:100%;height:155px;display:block;cursor:crosshair}.qh-calc #ctip{position:absolute;background:var(--qh-bg2);border:1px solid var(--qh-border2);color:var(--qh-text);font-family:'PP Neue Montreal Mono',monospace;font-size:.78rem;padding:4px 10px;pointer-events:none;display:none;white-space:nowrap;z-index:10}.qh-calc .sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}@media(max-width:640px){.qh-calc .sgrid{grid-template-columns:repeat(2,1fr)}}.qh-calc .sc2{background:var(--qh-bg2);border:1px solid var(--qh-border);padding:.85rem .5rem;text-align:center;min-width:0;overflow:hidden}.qh-calc .sc2.hi{border-color:var(--qh-accent);background:var(--qh-bg2)}.qh-calc .sc2v{font-family:'PP Neue Machina',sans-serif;font-size:clamp(1.2rem, 3.5vw, 1.9rem);font-weight:400;line-height:1;margin-bottom:.12rem;white-space:nowrap}.qh-calc .sc2u{font-size:.82rem;font-weight:400;color:var(--qh-text2)}.qh-calc .sc2l{font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text3);margin-top:.22rem}.qh-calc .stbl{background:var(--qh-bg2);border:1px solid var(--qh-border);overflow:hidden}.qh-calc .stbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.qh-calc .stblhd{display:grid;grid-template-columns:2.1fr 0.85fr 0.82fr 0.65fr 0.68fr 0.52fr 0.62fr;min-width:640px;padding:.52rem 1.1rem;border-bottom:1px solid var(--qh-border);gap:.35rem}.qh-calc .stblhd span{font-size:.57rem;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text3)}.qh-calc .stblrow{display:grid;grid-template-columns:2.1fr 0.85fr 0.82fr 0.65fr 0.68fr 0.52fr 0.62fr;min-width:640px;padding:.82rem 1.1rem;border-bottom:1px solid var(--qh-border);gap:.35rem;align-items:center;transition:background 0.12s}.qh-calc .stblrow:last-child{border-bottom:none}.qh-calc .stblrow:hover{background:var(--qh-bg3)}.qh-calc .stblrow.qh-row--special{background:rgb(237 41 43 / .05);border-left:2px solid var(--qh-accent2)}.qh-calc .ri{display:flex;align-items:center;gap:7px;min-width:0}.qh-calc .rbar{width:4px;flex-shrink:0;align-self:stretch;min-height:30px}.qh-calc .rname{font-family:'PP Neue Montreal Mono',monospace;font-size:.85rem;font-weight:400;line-height:1.2}.qh-calc .rsub{font-size:.6rem;color:var(--qh-text3);margin-top:1px;font-family:'PP Neue Montreal Mono',monospace}.qh-calc .rsub span{margin-right:5px}.qh-calc .rbadge{font-size:.55rem;background:rgb(237 41 43 / .08);color:var(--qh-accent2);border:1px solid var(--qh-accent2);padding:1px 5px;font-family:'PP Neue Montreal Mono',monospace;font-weight:400;letter-spacing:1px;text-transform:uppercase;margin-left:4px;vertical-align:middle}.qh-calc .cell{font-family:'PP Neue Montreal Mono',monospace;font-size:.9rem;font-weight:400}.qh-calc .cell.t{color:var(--qh-accent)}.qh-calc .cell.w{color:var(--qh-text)}.qh-calc .cell.s{color:var(--qh-text2)}.qh-calc .cell.sm{font-size:.8rem}.qh-calc .ifz1{color:var(--qh-cl)}.qh-calc .ifz2{color:#777}.qh-calc .ifz3{color:var(--qh-text)}.qh-calc .ifz4{color:var(--qh-accent2)}.qh-calc .ifz5{color:var(--qh-accent)}.qh-calc .wstrip{display:flex;flex-wrap:wrap;gap:.55rem;padding:.6rem 1.1rem;background:var(--qh-bg3);border-top:1px solid var(--qh-border);align-items:center}.qh-calc .wlbl{font-size:.57rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text3);margin-right:3px}.qh-calc .wi{display:flex;align-items:center;gap:4px;font-size:.73rem;color:var(--qh-text2);background:var(--qh-bg2);border:1px solid var(--qh-border);padding:3px 8px}.qh-calc .wv{font-weight:400;color:var(--qh-text);font-family:'PP Neue Montreal Mono',monospace}.qh-calc .pacgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:1.1rem;border-top:1px solid var(--qh-border)}@media(max-width:640px){.qh-calc .pacgrid{grid-template-columns:1fr}}.qh-calc .pcard{background:var(--qh-bg2);border:1px solid var(--qh-border);padding:.75rem;min-width:0}.qh-calc .pcard.warn{border-color:var(--qh-accent2);background:rgb(237 41 43 / .04)}.qh-calc .pcard.full-width{grid-column:1 / -1}.qh-calc .pclbl{font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text3);margin-bottom:.28rem}.qh-calc .pcval{font-family:'PP Neue Machina',sans-serif;font-size:1.25rem;font-weight:400;color:var(--qh-accent);line-height:1;overflow-wrap:break-word}.qh-calc .pcu{font-size:.78rem;color:var(--qh-text2);font-weight:400}.qh-calc .pcsub{font-size:.62rem;color:var(--qh-text3);margin-top:4px;line-height:1.4}.qh-calc .empty{padding:2.8rem 2rem;text-align:center;color:var(--qh-text3)}.qh-calc .eico{font-size:2.4rem;margin-bottom:.7rem;opacity:.5;filter:grayscale(1)}.qh-calc .empty p{font-family:'PP Neue Montreal Mono',monospace;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;margin:0}.qh-calc .btn-download{background:var(--qh-accent)!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;padding:8px 14px;font-family:'PP Neue Montreal Mono',monospace;font-size:.66rem;font-weight:400;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;transition:opacity 0.15s;max-width:100%;white-space:normal;text-align:left;line-height:1.3}.qh-calc .btn-download svg{flex-shrink:0}.qh-calc .btn-download:hover{opacity:.85}.qh-calc .ph--actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.qh-calc .ph--actions>div{display:flex;align-items:center;gap:8px;min-width:0}.qh-calc .gated-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(26 26 26 / .55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem}.qh-calc .gated-card{background:var(--qh-bg2);border:1px solid var(--qh-border);width:100%;max-width:480px;padding:2.2rem;text-align:center;position:relative;overflow:hidden;animation:qhFadeUp 0.3s ease-out}@media(max-width:480px){.qh-calc .gated-card{padding:1.4rem}}@keyframes qhFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.qh-calc .gated-badge{display:inline-block;background:#fff0;color:var(--qh-accent);border:1px solid var(--qh-accent);font-family:'PP Neue Montreal Mono',monospace;font-size:.65rem;font-weight:400;letter-spacing:2px;padding:3px 10px;text-transform:uppercase;margin-bottom:1rem}.qh-calc .gated-header h2{font-family:'PP Neue Machina',sans-serif;font-size:1.8rem;font-weight:400;line-height:1.15;text-transform:uppercase;color:var(--qh-text);margin:0 0 .8rem 0}.qh-calc .gated-header p{font-size:.825rem;color:var(--qh-text2);line-height:1.5;margin:0 0 1.6rem 0}.qh-calc .gated-form{display:flex;flex-direction:column;gap:.75rem}.qh-calc .gated-form input[type="email"]{width:100%;padding:.85rem 1.1rem;border:1px solid var(--qh-border2);background:var(--qh-bg3);color:var(--qh-text);font-family:'PP Neue Montreal Mono',monospace;font-size:.9rem;transition:border-color 0.2s ease;outline:none;text-align:center}.qh-calc .gated-form input[type="email"]:focus{border-color:var(--qh-accent);background:var(--qh-bg2)}.qh-calc .gated-form button{width:100%;padding:.85rem .5rem;background:var(--qh-accent);color:#fff;border:none;font-family:'PP Neue Montreal Mono',monospace;font-size:.85rem;font-weight:400;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:opacity 0.2s ease;white-space:normal;line-height:1.3}.qh-calc .gated-form button:hover{opacity:.85}.qh-calc .gated-form button:active{opacity:1}.qh-calc .gated-form button:disabled{opacity:.5;cursor:not-allowed}.qh-calc .gated-error{margin-top:.85rem;font-size:.75rem;color:var(--qh-accent2);background:rgb(237 41 43 / .06);border:1px solid var(--qh-accent2);padding:8px 12px;line-height:1.4}.qh-calc .gated-footer{margin-top:1.4rem;font-size:.68rem;color:var(--qh-text3);line-height:1.4}.qh-calc .hero{position:relative;padding:2rem 2rem 0;text-align:center;border-bottom:1px solid var(--qh-border);overflow:hidden}.qh-calc .hero-title{font-family:'PP Neue Machina',sans-serif;font-size:clamp(2rem, 7vw, 5rem);font-weight:400;line-height:.95;letter-spacing:-1px;text-transform:uppercase;margin:0 0 .8rem;overflow-wrap:break-word}.qh-calc .hero-title em{color:var(--qh-accent);font-style:inherit}.qh-calc .hero-by{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem;position:relative;z-index:2}.qh-calc .hero-by span{font-family:'PP Neue Montreal Mono',monospace;font-size:1rem;font-weight:400;color:var(--qh-text2);text-transform:uppercase;letter-spacing:3px}.qh-calc .hero-by img{max-height:clamp(28px, 7vw, 48px);width:auto;display:inline-block;object-fit:contain;mix-blend-mode:multiply}.qh-calc .hero-sub{font-family:'PP Neue Montreal Mono',monospace;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--qh-text3);margin-top:0}.qh-calc .hstats{display:flex;justify-content:center;gap:2rem;margin-top:1.4rem;flex-wrap:wrap;padding-bottom:1.6rem}@media(max-width:480px){.qh-calc .hstats{gap:1.1rem}}.qh-calc .hs .v{font-family:'PP Neue Machina',sans-serif;font-size:1.5rem;font-weight:400;color:var(--qh-accent);display:block;line-height:1}.qh-calc .hs .l{font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--qh-text3);margin-top:2px;display:block}.qh-calc footer{text-align:center;padding:1.4rem;color:var(--qh-text3);font-size:.65rem;letter-spacing:1px;border-top:1px solid var(--qh-border);margin-top:1rem}.qh-calc .route-box{background:var(--qh-bg3);border:1px solid var(--qh-border2);padding:.65rem .72rem;display:flex;flex-direction:column;gap:.55rem}.qh-calc .route-current{display:flex;flex-direction:column;gap:2px;min-width:0}.qh-calc .route-name{font-family:'PP Neue Machina',sans-serif;font-size:1rem;color:var(--qh-text);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qh-calc .route-meta{font-size:.6rem;color:var(--qh-text3);letter-spacing:.5px}.qh-calc .route-actions{display:flex;gap:6px;flex-wrap:wrap}.qh-calc .btn-gpx{background:var(--qh-accent)!important;border:1px solid var(--qh-accent)!important;border-radius:0!important;box-shadow:none!important;color:#ffffff!important;font-family:'PP Neue Montreal Mono',monospace!important;font-size:0.62rem!important;font-weight:400!important;letter-spacing:0.5px!important;text-transform:uppercase;padding:6px 12px!important;cursor:pointer;transition:opacity 0.15s;display:inline-flex;align-items:center;white-space:normal;line-height:1.3;max-width:100%}.qh-calc .btn-gpx:hover{opacity:.85}.qh-calc .btn-gpx--ghost{background:transparent!important;color:var(--qh-text2)!important;border:1px solid var(--qh-border2)!important}.qh-calc .btn-gpx--ghost:hover{color:var(--qh-accent)!important;border-color:var(--qh-accent)!important;opacity:1}