:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f6f8;--surface:#fff;--surface2:#f1ecf2;--surface2-hover:#eae3eb;--border:#e7e0e8;--border-strong:#d5cad6;--text:#281828;--text2:#6e5a70;--text3:#a08ca2;--accent:#881f8c;--accent-hover:#6e1672;--accent-soft:#881f8c1a;--accent-softer:#881f8c0e;--on-accent:#fff;--amber:#8f6a1b;--amber-soft:#b08a3121;--red:#a4453c;--red-soft:#a4453c17;--shadow-card:0 1px 2px #26122b0a, 0 12px 32px -14px #26122b1f;--shadow-thumb:0 1px 2px #26122b1f;--shadow-pop:0 4px 10px -2px #26122b14, 0 12px 28px -8px #26122b33}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141314;--surface:#1d1b1d;--surface2:#241c25;--surface2-hover:#2d232e;--border:#312533;--border-strong:#443446;--text:#f0eaf0;--text2:#a49ba4;--text3:#736c73;--accent:#cb7dd4;--accent-hover:#da96e0;--accent-soft:#cb7dd41f;--accent-softer:#cb7dd412;--on-accent:#2c0b30;--amber:#d4ab52;--amber-soft:#d4ab5221;--red:#e0897f;--red-soft:#e0897f1a;--shadow-card:0 1px 2px #00000040, 0 14px 36px -16px #00000073;--shadow-thumb:0 1px 2px #00000059;--shadow-pop:0 6px 14px -2px #00000059, 0 16px 36px -10px #0000008c}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{flex-direction:column;min-height:100vh;display:flex}.container{width:100%;max-width:960px;margin:0 auto;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}.topbar{justify-content:space-between;align-items:center;gap:16px;padding-top:clamp(14px,3vw,26px);padding-bottom:clamp(14px,3vw,26px);display:flex}.wordmark{letter-spacing:-.02em;align-items:baseline;font-size:20px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.wm-dot{color:var(--accent)}.wm-domain{letter-spacing:0;color:var(--text3);font-size:13px;font-weight:500}.top-controls{align-items:center;gap:10px;display:flex}.icon-btn{width:34px;height:34px;color:var(--text2);background:var(--surface2);border-radius:9px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:inline-flex}.icon-btn:hover{background:var(--surface2-hover);color:var(--text)}.icon-btn:active{transform:scale(.94)}.icon-btn-sm{background:0 0;border-radius:7px;width:26px;height:26px}.icon-btn-sm:hover{background:var(--surface2)}.main-grid{flex:1;grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(14px,3vw,24px);padding-bottom:24px;display:grid}@media (min-width:880px){.main-grid{grid-template-columns:minmax(0,27rem) minmax(0,1fr);gap:28px}.result-col{position:sticky;top:24px}}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:18px}.form-card{flex-direction:column;gap:clamp(16px,2.6vw,22px);padding:clamp(18px,4vw,28px);display:flex}.field{flex-direction:column;gap:7px;display:flex;position:relative}.field-head{justify-content:space-between;align-items:baseline;gap:10px;min-height:18px;display:flex}.field-head label,.field-head .label{color:var(--text2);letter-spacing:.01em;font-size:13px;font-weight:600}.link-btn{color:var(--accent);border-radius:6px;align-items:center;gap:5px;font-size:12.5px;font-weight:600;transition:color .15s;display:inline-flex}.link-btn:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.text-input{background:var(--surface2);border:1.5px solid #0000;border-radius:11px;width:100%;height:46px;padding:0 14px;font-size:16px;transition:border-color .15s,background .15s,box-shadow .15s}.text-input::placeholder{color:var(--text3)}.text-input:hover{background:var(--surface2-hover)}.text-input:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft);outline:none}.is-invalid .text-input,.text-input.is-invalid{border-color:var(--red)}.field-error{color:var(--red);margin:0;font-size:12.5px}.chip{background:var(--surface2);border:1.5px solid #0000;border-radius:11px;align-self:flex-start;align-items:center;gap:9px;height:46px;padding:0 8px 0 14px;font-size:16px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.chip:hover{background:var(--surface2-hover);border-color:var(--border-strong)}.chip .glyph{color:var(--accent);--glyph-hole:var(--surface2)}.chip:hover .glyph{--glyph-hole:var(--surface2-hover)}.chip-edit{color:var(--text2);background:var(--surface);box-shadow:var(--shadow-thumb);border-radius:9px;align-items:center;gap:5px;padding:6px 11px;font-size:12.5px;font-weight:600;transition:color .15s;display:inline-flex}.chip-edit .glyph{color:currentColor}.chip:hover .chip-edit{color:var(--accent)}.place-wrap{position:relative}.dropdown{z-index:30;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);border-radius:13px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.dd-row{border-radius:9px;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 12px;display:flex}.dd-item{cursor:pointer;transition:background .12s}.dd-item.is-active{background:var(--accent-soft)}.dd-item.is-active .dd-name{color:var(--accent)}.dd-name{font-size:15px;font-weight:650}.dd-region{color:var(--text3);text-align:right;flex-shrink:0;font-size:13px}.dd-meta{color:var(--text3);justify-content:flex-start;align-items:center;gap:9px;font-size:14px}.seg{background:var(--surface2);isolation:isolate;border-radius:11px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid;position:relative}.seg-thumb{z-index:0;width:calc((100% - 6px) / var(--seg-count));background:var(--surface);height:calc(100% - 6px);box-shadow:var(--shadow-thumb);transform:translateX(calc(var(--seg-idx) * 100%));border-radius:8px;transition:transform .22s cubic-bezier(.3,.9,.3,1);position:absolute;top:3px;left:3px}.seg-opt{z-index:1;height:40px;color:var(--text2);white-space:nowrap;border-radius:8px;padding:0 16px;font-size:14.5px;font-weight:600;transition:color .15s;position:relative}.seg-opt:hover{color:var(--text)}.seg-opt.is-active{color:var(--accent)}.seg-small{border-radius:9px}.seg-small .seg-opt{height:28px;padding:0 11px;font-size:12.5px}.seg-small .seg-thumb{border-radius:6px}.stepper{grid-template-columns:46px 104px 46px;align-items:stretch;gap:6px;width:fit-content;display:grid}.step-btn{background:var(--surface2);font-variant-numeric:tabular-nums;width:46px;height:46px;color:var(--text2);border-radius:11px;font-size:13px;font-weight:650;transition:background .15s,color .15s,transform .1s}.step-btn:hover{background:var(--surface2-hover);color:var(--accent)}.step-btn:active{transform:scale(.96)}.step-value{text-align:center;font-variant-numeric:tabular-nums;background:var(--surface2);border:1.5px solid #0000;border-radius:11px;width:100%;height:46px;font-size:18px;font-weight:700;transition:border-color .15s,background .15s,box-shadow .15s}.step-value:focus{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-soft);outline:none}.fuel-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.price-block{align-items:center;gap:8px;min-height:30px;display:inline-flex}.price{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16.5px;font-weight:700}.badge{letter-spacing:.02em;color:var(--accent);background:var(--accent-soft);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.caption{color:var(--text3);font-size:12.5px}.caption.is-amber{color:var(--amber)}.caption.is-red{color:var(--red)}.override-edit{align-items:center;gap:7px;display:inline-flex}.price-input{text-align:right;font-variant-numeric:tabular-nums;border-radius:9px;width:96px;height:38px;font-weight:650}.override-edit .unit{color:var(--text2);white-space:nowrap;font-size:13.5px;font-weight:600}.skel-price{background:var(--surface2);border-radius:6px;width:86px;height:18px;display:inline-block}.result-card{padding:clamp(20px,4vw,30px)}.placeholder-card{border:1.5px dashed var(--border-strong);text-align:center;color:var(--text3);border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:clamp(28px,6vw,48px) 24px;display:flex}.placeholder-card .glyph{color:var(--border-strong);--glyph-hole:var(--bg)}.placeholder-title{color:var(--text2);margin:0;font-size:15px;font-weight:600}.placeholder-hint{margin:0;font-size:13px}.route-line{color:var(--text2);flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;font-weight:650;display:flex}.route-arrow{color:var(--text3)}.trip-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--text3);border:1px solid var(--border);border-radius:999px;padding:2.5px 9px;font-size:11px;font-weight:700}.hero-label{color:var(--text2);margin:18px 0 2px;font-size:13px;font-weight:600}.hero-cost{letter-spacing:-.025em;color:var(--accent);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(46px,9vw,62px);font-weight:800;line-height:1.05}.stats{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:14px 12px;margin-top:24px;display:grid}.stat{align-items:center;gap:10px;min-width:0;display:flex}.stat-glyph{background:var(--accent-softer);width:30px;height:30px;color:var(--accent);--glyph-hole:var(--surface);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15.5px;font-weight:700}.stat-label{color:var(--text3);font-size:12px}.formula{border-top:1px solid var(--border);color:var(--text3);font-variant-numeric:tabular-nums;margin:22px 0 0;padding-top:16px;font-size:13px}.skeleton{flex-direction:column;gap:18px;display:flex}.skel{background:var(--surface2);border-radius:8px;display:block}.skel-route{width:55%;height:15px}.skel-hero{border-radius:12px;width:70%;height:52px}.skel-stats{width:100%;height:30px}.skel-formula{width:80%;height:12px}.error-card{background:var(--red-soft);border-color:#0000;align-items:flex-start;gap:14px;padding:clamp(18px,4vw,26px);display:flex}.error-card .glyph{color:var(--red);--glyph-hole:var(--surface);flex-shrink:0;margin-top:2px}.error-title{margin:0 0 3px;font-size:15.5px;font-weight:700}.error-text{color:var(--text2);margin:0;font-size:13.5px}.error-card .link-btn{margin-top:9px}.footer{color:var(--text3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:14px;padding-bottom:clamp(18px,4vw,28px);font-size:12px;display:flex}.attribution{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:inline-flex}.copyright{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.attribution a{color:var(--text2);border-bottom:1px solid var(--border-strong);text-decoration:none;transition:color .15s,border-color .15s}.attribution a:hover{color:var(--accent);border-color:var(--accent)}.mapy-mark{border:1px solid var(--border);background:repeating-linear-gradient(45deg, transparent 0 5px, var(--surface2) 5px 7px);letter-spacing:.03em;height:22px;color:var(--text3);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;display:inline-flex}.spinner{border:2px solid var(--text3);border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;display:inline-block}@media (prefers-reduced-motion:no-preference){.spinner{animation:.7s linear infinite gas-spin}.dropdown{animation:.16s cubic-bezier(.2,.8,.3,1) both gas-pop}.result-enter>*{animation:.45s cubic-bezier(.2,.7,.2,1) both gas-rise}.result-enter>:nth-child(2){animation-delay:50ms}.result-enter>:nth-child(3){animation-delay:90ms}.result-enter>:nth-child(4){animation-delay:.14s}.result-enter>:nth-child(5){animation-delay:.2s}.skel{animation:1.3s ease-in-out infinite gas-pulse}.error-card{animation:.35s cubic-bezier(.2,.7,.2,1) both gas-rise}}@keyframes gas-spin{to{transform:rotate(360deg)}}@keyframes gas-pop{0%{opacity:0;transform:translateY(-5px)scale(.99)}to{opacity:1;transform:none}}@keyframes gas-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes gas-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
