:root{color-scheme:light;--ink:#16343a;--muted:#526970;--page:#e8f1fb;--paper:#fff;--line:#d5e1e4;--teal:#006b61;--teal-dark:#00564e;--lime:#d8f46c;--nav:#102c32;--radius:18px;--shadow:0 6px 24px #12303907;font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--page);line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.18;letter-spacing:-.045em;font-weight:760}h2{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em}h3{font-size:1.06rem}p{overflow-wrap:anywhere}button:disabled{cursor:wait;opacity:.6}fieldset:disabled{opacity:.75}input,select,textarea{width:100%;border:1px solid #b9cdd2;border-radius:10px;background:#fff;padding:.72rem .9rem;color:var(--ink);min-width:0}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;flex-shrink:0;accent-color:var(--teal)}input[type=range]{padding:0;border:0;accent-color:var(--teal);height:2rem}input[type=search]{background:#f8fafb}textarea{resize:vertical;min-height:5.5rem}select{padding-right:1.8rem}label{font-size:.9rem;font-weight:650}summary{cursor:pointer;font-weight:650;list-style-position:outside;margin-left:1rem}details[open]>summary{margin-bottom:1rem}:focus-visible{outline:3px solid #1689c1;outline-offset:4px}[hidden]{display:none!important}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skipLink{position:fixed;top:-6rem;left:1rem;z-index:50;background:var(--lime);color:var(--ink);padding:1rem;border-radius:8px}.skipLink:focus{top:1rem}.icon{width:1.25rem;height:1.25rem;flex-shrink:0}.smallText{font-size:.875rem;color:var(--muted);font-weight:400;display:block}.muted{color:var(--muted)}.eyebrow{display:block;color:var(--teal);font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750;margin-bottom:.55rem}.row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.stack{display:flex;flex-direction:column;gap:1rem}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.72rem 1.1rem;border-radius:10px;font-size:.9rem;font-weight:650;line-height:1.4;transition:background .15s,transform .15s;text-align:center;border:1px solid transparent}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--teal);color:white}.btn--primary:hover{background:var(--teal-dark)}.btn--lime{background:var(--lime);color:var(--nav)}.btn--lime:hover{background:#e7faac}.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn--ghost:hover{background:#e9f0f2}.is-disabled{opacity:.45;pointer-events:none}.textLink,.textButton,.backLink{color:var(--teal);font-size:.9rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.textButton{background:none;border:0;padding:.2rem;white-space:nowrap}.backLink{display:inline-block;margin-bottom:1.2rem}.btn:disabled:hover{transform:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:var(--nav);color:#cbdcdf;padding:2rem 1.15rem;display:flex;flex-direction:column;z-index:20;overflow-y:auto}.brand{display:flex;align-items:center;gap:.75rem;color:white;margin:.1rem .6rem 3rem}.brand img{width:40px;height:40px;object-fit:contain;border-radius:10px}.brand strong{font-size:1.4rem;letter-spacing:-.04em;line-height:1.2;display:block}.brand span{font-size:.75rem;letter-spacing:.14em;color:#a9c8c9}.navCaption{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin:0 .85rem .75rem;color:#8db0b5}.navLinks{display:flex;flex-direction:column;gap:.35rem}.navLinks a{display:flex;align-items:center;gap:.8rem;padding:.85rem;border-radius:10px;font-size:.94rem;font-weight:550}.navLinks a:hover{background:#254147;color:white}.navLinks .is-active{background:var(--lime);color:var(--nav);font-weight:700}.navLinks .is-active:hover{background:#e5f89a;color:var(--nav)}.sidebarBottom{margin-top:auto;padding-top:2rem}.sidebarBottom>p{font-size:.9rem;margin:.5rem .3rem 1rem}.sidebarBottom>.btn{width:100%}.identity{display:flex;align-items:center;gap:.75rem;min-width:0}.identity>div{min-width:0}.identity strong{overflow-wrap:anywhere;line-height:1.35}.avatar{width:40px;height:40px;object-fit:cover;border-radius:50%;background:#dde9ea;flex-shrink:0}.sidebarIdentity{padding:.8rem .35rem;border-top:1px solid #355259;color:white;font-size:.9rem}.logoutForm{padding-left:3.55rem}.logoutForm button{border:0;background:none;color:#aec7cb;font-size:.875rem;padding:.3rem 0}.sidebarProgress{padding:1rem .35rem;color:#cfe3e5;font-size:.8rem}.sidebarProgress .row{align-items:start;gap:.6rem;font-size:.8rem}.sidebarProgress strong{font-weight:500;text-align:right}progress{width:100%;height:8px;border:none;border-radius:8px;overflow:hidden;background:#dce8e9;accent-color:var(--teal)}progress::-webkit-progress-bar{background:#dce8e9;border-radius:8px}progress::-webkit-progress-value{background:var(--teal);border-radius:8px}progress::-moz-progress-bar{background:var(--teal);border-radius:8px}.sidebarProgress progress::-webkit-progress-value,.welcomePanel progress::-webkit-progress-value{background:var(--lime)}.sidebarProgress progress::-moz-progress-bar,.welcomePanel progress::-moz-progress-bar{background:var(--lime)}.appFrame{margin-left:244px;min-width:0}.shell{max-width:1400px;margin:0 auto;padding:2.5rem 2.5rem 3rem;min-height:calc(100vh - 6rem)}.shell:focus{outline:none}.pageHeader{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.pageHeader p{color:var(--muted);margin-top:.6rem;max-width:650px}.pageHeader>.btn,.xpReward{flex-shrink:0}.siteFooter{margin:0 2.5rem;padding:1.4rem 0 2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}.panel{background:var(--paper);border:1px solid var(--line);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}.panel>h2{margin-bottom:.6rem}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.sectionHeader h2{margin:0}.sectionHeader .eyebrow{margin-bottom:.35rem}.sectionHeader>.textLink{white-space:nowrap}.cardGrid{display:grid;gap:1.2rem}.cardGrid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.cardGrid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.emptyState{padding:3rem 1.5rem;background:var(--paper);border:1px dashed #a8c1c7;border-radius:var(--radius);text-align:center;color:var(--muted)}.emptyState h3{color:var(--ink);margin-bottom:.5rem}.emptyState .icon{width:2rem;height:2rem;margin:0 auto 1rem;display:block;color:var(--teal)}.emptyState .btn{margin-top:1.2rem}.errorState{margin:4rem auto;max-width:700px}.errorState p{margin:1rem 0}
.welcomePanel{display:grid;grid-template-columns:1.5fr 1fr;background:var(--nav);color:white;border-radius:22px;overflow:hidden}.welcomePanel__copy{padding:2rem 2.2rem}.welcomePanel h2{font-size:clamp(1.7rem,2.7vw,2.4rem);letter-spacing:-.04em;margin-bottom:.8rem}.welcomePanel .eyebrow{color:var(--lime)}.welcomePanel__copy p{color:#c0d6d9;max-width:410px;margin-bottom:1.2rem}.welcomePanel__aside{margin:2rem 0;border-left:1px solid #496167;padding:.5rem 2rem;display:flex;flex-direction:column;justify-content:center;gap:.7rem}.welcomePanel__aside>.icon{width:2.2rem;height:2.2rem;color:var(--lime)}.welcomePanel__aside>strong{font-size:1.5rem}.welcomePanel__aside>span:not(.tierBadge){color:#c9dcdf}.welcomePanel__aside .smallText,.welcomePanel__aside .xpLabels{color:#c9dcdf}.welcomePanel__aside .tierBadge{align-self:flex-start}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.metric{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.3rem;min-width:0}.metric>span{color:var(--muted);font-size:.875rem}.metric>strong{font-size:2rem;line-height:1.3;font-weight:730;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.trainCard{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .2s}.trainCard:hover{box-shadow:0 8px 25px #12303915}.trainCard__image{position:relative;aspect-ratio:16/9;background:#dce8ea;overflow:hidden}.trainCard__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.trainCard:hover img{transform:scale(1.035)}.placeTag{display:inline-block;background:#fff;color:var(--ink);border-radius:8px;padding:.3rem .65rem;font-size:.875rem;font-weight:750}.trainCard__image .placeTag{position:absolute;top:.8rem;left:.8rem}.trainCard__body{padding:1.2rem}.trainCard__body .smallText{margin-top:.55rem}.scoreBadge{background:#e4f4ed;color:#0a6452;display:inline-block;border-radius:8px;padding:.32rem .65rem;font-size:.9rem;white-space:nowrap;font-variant-numeric:tabular-nums}.reviewCard{padding:1.2rem 1.4rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:0}.reviewCard__route{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem}.reviewCard__route>a{font-size:.94rem;font-weight:750}.reviewCard__route>span{font-size:.875rem;color:var(--muted)}.reviewNotes{font-size:.94rem;margin-top:.8rem;white-space:pre-wrap}.reviewDetails{margin-top:.7rem;font-size:.875rem;color:var(--muted)}.reviewDetails li{margin:.3rem 0}.filterBar{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);padding:1.2rem;border-radius:14px;margin-bottom:1.25rem}.field{display:flex;flex-direction:column;gap:.5rem;min-width:0}.filterBar>.field{flex:1;min-width:180px}.filterBar .checkControl{margin-bottom:.7rem}.checkControl{display:flex;align-items:center;gap:.65rem;font-size:.875rem;font-weight:500;line-height:1.5}.resultCount{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.875rem;margin:1.5rem 0 .5rem;flex-wrap:wrap}.busHero{display:grid;grid-template-columns:1.15fr 1fr;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden}.busHero__image{width:100%;height:100%;min-height:330px;max-height:430px;object-fit:cover}.busHero__body{padding:2rem;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:1rem}.busHero__body p{color:var(--muted);font-size:.9rem}.heroScore{display:flex;align-items:baseline;gap:.8rem}.heroScore strong{font-size:3rem;color:var(--teal);letter-spacing:-.06em}.heroScore span{font-size:.875rem;color:var(--muted)}.detailColumns{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr);gap:1.5rem}.detailColumns>aside{margin-top:2rem}.contributor{display:flex;align-items:center;gap:.7rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.875rem}.contributor>div{min-width:0}.contributor strong{overflow-wrap:anywhere}.contributor .avatar{width:34px;height:34px}
.tierBadge{display:inline-flex;align-items:center;font-size:.8rem;font-weight:750;padding:.3rem .7rem;border-radius:7px;background:#e9eff1;color:#465d64;white-space:nowrap}.tierBadge--teal{background:#d7f0e9;color:#145f4b}.tierBadge--blue{background:#e1eeff;color:#235a9f}.tierBadge--violet{background:#ece4ff;color:#694298}.tierBadge--amber{background:#fff0c6;color:#885b00}.tierBadge--orange{background:#ffe5d5;color:#92461b}.tierBadge--gold{background:#ffe8a0;color:#6b4700}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem}.podiumCard{padding:1.6rem;background:white;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;align-items:start;position:relative;overflow:hidden}.podiumCard--first{background:var(--nav);color:white;border-color:var(--nav)}.podiumCard--first .eyebrow{color:var(--lime)}.podiumCard--first .smallText,.podiumCard--first .podiumNumbers span{color:#c3d8dc}.podiumCard--first .podiumNumbers{border-color:#456269}.podiumCard__top{display:flex;align-items:start;justify-content:space-between;width:100%;gap:.6rem}.podiumPlace{font-size:2.1rem;color:#7c989f;letter-spacing:-.05em;line-height:1}.podiumCard--first .podiumPlace{color:var(--lime)}.podiumAvatar{width:66px;height:66px;object-fit:cover;border-radius:50%;margin:.5rem 0 1rem;background:#c8dbe0}.podiumCard h2{font-size:1.25rem;margin-bottom:.75rem;overflow-wrap:anywhere}.podiumNumbers{display:flex;gap:1.5rem;width:100%;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}.podiumNumbers strong{font-size:1.8rem;letter-spacing:-.04em}.podiumNumbers span{display:block;color:var(--muted);font-size:.875rem}.podiumCard>p{margin-top:.8rem}.myPosition{display:flex;align-items:center;gap:1rem;background:#dfefe9;border:1px solid #c3dfd2;padding:1.1rem 1.4rem;border-radius:14px;margin:1.5rem 0}.myPosition>div{flex:1}.myPosition>div>span:not(.tierBadge){display:block;font-size:.875rem;color:#355f54}.rankingPanel{padding:0;overflow:hidden}.rankingPanel>.sectionHeader{padding:1.5rem;margin:0}.searchForm{display:flex;gap:.5rem;max-width:340px}.tableScroll{overflow-x:auto;overscroll-behavior-x:contain}.rankingTable{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.rankingTable th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:650;background:#f6f9fa;padding:.9rem 1.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rankingTable td{padding:1rem 1.2rem;border-bottom:1px solid #e8eef0;font-size:.875rem}.rankingTable td:nth-child(2){white-space:normal;min-width:180px;max-width:320px}.rankingTable .is-me{background:#f0f8f4}.rankingTable .position{font-size:1.05rem;font-weight:750;color:var(--muted)}.rankingTable .reviewCount{font-size:1.3rem;font-weight:750;color:var(--teal)}.numeric{text-align:right}.levelLabel{display:block}.rankingPanel>.pagination{padding-bottom:1rem}.rulesPanel{background:#eaf0f2;border-radius:14px;margin-top:1.5rem;padding:1.3rem 1.5rem;font-size:.9rem}.rulesGrid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;margin-top:1rem}.rulesGrid p{color:var(--muted);margin:.5rem 0 1rem}.tierList .row{border-bottom:1px solid #cedde0;padding:.65rem 0;font-size:.875rem}.profileHero{background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden}.profileCover{height:170px;background:linear-gradient(115deg,#123c42,#0a756b)}.profileCover img{width:100%;height:100%;object-fit:cover}.profileIdentity{padding:0 1.8rem 1.5rem;display:flex;align-items:center;gap:1.2rem}.profileAvatar{width:100px;height:100px;object-fit:cover;border-radius:22px;background:#d7e8e9;border:5px solid white;margin-top:-1.8rem;position:relative}.profileIdentity>div{padding-top:1.3rem;flex:1;min-width:0}.profileIdentity h1{font-size:2rem;overflow-wrap:anywhere}.profileIdentity p{font-size:.875rem;color:var(--muted);margin-top:.4rem}.profileIdentity .eyebrow{margin-bottom:.3rem}.achievementGrid{display:grid;grid-template-columns:1fr 1fr 1.3fr;background:#f7faf9;border-top:1px solid var(--line)}.achievement{padding:1.3rem 1.8rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:.3rem;min-width:0}.achievement:last-child{border:0}.achievement>span:first-child{font-size:.875rem;color:var(--muted)}.achievement>strong{font-size:2.7rem;line-height:1.3;color:var(--teal);letter-spacing:-.04em}.achievement--tier .tierBadge{font-size:1.15rem;align-self:start;white-space:normal;padding:.4rem .8rem}.profileColumns{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,2fr);gap:1.5rem;margin-top:1.5rem}.profileColumns .metrics{margin-top:0}.profileColumns .metric{padding:1rem}.profileColumns .metric>strong{font-size:1.7rem}.xpLabels{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.2rem 0 .5rem;font-size:.875rem}.xpTrack{height:10px;margin-bottom:.4rem}.progressPanel h2{font-size:1.2rem}.streakTile{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding-top:1.2rem;margin:1.2rem 0 .7rem}.streakTile .icon{width:2rem;height:2rem;color:#b96116}.streakTile strong{font-size:1.1rem}.nextTier{font-size:.875rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.bannerSettings summary{font-size:.9rem}.bannerSettings .stack{margin-top:1rem}
.evaluationWorkspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.95fr);gap:1.5rem;align-items:start}.evaluationAside{position:sticky;top:1.5rem;display:flex;flex-direction:column;gap:1rem}.formFields{padding:0;margin:0;border:0;min-width:0;display:flex;flex-direction:column;gap:1.2rem}.stepHeading{display:flex;align-items:start;gap:.85rem;margin-bottom:1.5rem}.stepNumber{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:10px;font-size:.8rem;font-weight:750;background:#e7f2ef;color:var(--teal)}.stepHeading h2{font-size:1.2rem;margin-bottom:.25rem}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.criteriaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.criterion{min-width:0;border:0;border-top:1px solid var(--line);padding:1rem 0 0;margin:0}.criterion legend{padding:0 .4rem 0 0;font-weight:650;font-size:.9rem;max-width:100%}.choiceGrid{display:flex;flex-direction:column;gap:.45rem}.choicePill{display:flex;gap:.5rem;align-items:center;background:#f7fafb;border:1px solid #e1eaec;border-radius:8px;line-height:1.4;padding:.65rem .6rem;font-size:.875rem;font-weight:400}.choicePill:has(input:checked){border-color:var(--teal);background:#ebf6f1;color:#174d42}.choicePill input{margin:0}.criterionFooter{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem;gap:.6rem}.criterionFooter output{font-weight:700;color:var(--teal);font-size:.875rem}.criterionFooter .smallText{font-size:.8rem}.submitBar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem .2rem}.submitBar>.smallText{max-width:220px}.tripPreview{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.tripPreview__photo{position:relative;aspect-ratio:16/10;background:#dce7e9}.tripPreview__photo img{width:100%;height:100%;object-fit:cover}.tripPreview__photo .placeTag{position:absolute;bottom:.8rem;left:.8rem}.tripPreview__body{padding:1.4rem}.tripPreview__body>p:first-of-type{font-size:.94rem;margin-bottom:1rem}.liveScore{border-top:1px solid var(--line);padding-top:1rem;display:flex;align-items:end;gap:.5rem;margin-bottom:.6rem}.liveScore>div>span{display:block;font-size:.875rem;color:var(--muted)}.liveScore strong{display:block;font-size:3.2rem;font-weight:750;line-height:1.15;letter-spacing:-.06em;color:var(--teal);font-variant-numeric:tabular-nums}.liveScore>span{font-size:1.1rem;color:var(--muted);padding-bottom:.25rem}.previousTrips{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.previousTrips strong{font-size:.875rem}.xpReward{background:#dff0e9;border:1px solid #cce2d7;color:var(--teal);padding:.6rem .9rem;border-radius:10px;font-size:.875rem;font-weight:700}.savedTitle{display:flex;align-items:center;gap:.5rem;color:var(--teal);margin-bottom:.5rem}.savedTitle h2{font-size:1.2rem}.savedPanel>p{font-size:.875rem;color:var(--muted);margin-bottom:1rem}.savedPanel label{display:block;margin-bottom:.4rem}.savedPanel textarea{font-size:.875rem;margin-bottom:.75rem}.notice,.flash{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#e5eff8;border:1px solid #b9cfe6;border-radius:12px;color:#254a6f;font-size:.9rem;margin-bottom:1rem;overflow-wrap:anywhere}.notice--error,.flash--error{background:#fff0ed;border-color:#f2b9ab;color:#8a2e1b}.notice--success,.flash--success{background:#e5f4ec;border-color:#b4dbc4;color:#245840}.flash{margin:1rem 2.5rem 0}.confirmDialog{border:1px solid var(--line);border-radius:22px;padding:0;width:min(560px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);color:var(--ink);box-shadow:0 24px 100px #00182045;overflow-y:auto}.confirmDialog::backdrop{background:#071e29a8;backdrop-filter:blur(3px)}.dialogBody{padding:1.8rem}.dialogBody>p{font-size:.9rem;color:var(--muted);margin-top:.8rem}.dialogBody>h2{font-size:1.7rem}.confirmationSummary{margin:1.5rem 0;background:#f1f6f7;border-radius:12px;padding:0 1rem}.confirmationSummary>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.confirmationSummary>div:last-child{border:0;align-items:center}.confirmationSummary dt{color:var(--muted);font-size:.875rem}.confirmationSummary dd{margin:0;font-weight:650;overflow-wrap:anywhere}.confirmationSummary .confirmationScore{font-size:1.7rem;color:var(--teal)}.dialogBody>.checkControl{margin:1.4rem 0;align-items:start}.dialogBody .checkControl input{margin-top:.15rem}.dialogActions{display:flex;justify-content:end;gap:.8rem;margin-top:1.5rem}.dialogBody #confirmError{display:block;color:#8a2e1b}.dialogBody #confirmNotes{max-height:130px;overflow:auto;white-space:pre-wrap}
@media(min-width:1550px){.shell{padding-top:3rem}.evaluationWorkspace{grid-template-columns:minmax(0,2.1fr) minmax(300px,1fr)}.criteriaGrid{gap:1.5rem}}
@media(max-width:1200px){.sidebar{width:210px;padding-left:.8rem;padding-right:.8rem}.appFrame{margin-left:210px}.shell{padding:2rem 1.5rem}.cardGrid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.welcomePanel__copy{padding:1.8rem}.welcomePanel__aside{padding:0 1.5rem}.profileColumns{grid-template-columns:1fr}.profileColumns>aside{display:grid;grid-template-columns:1.3fr 1fr;align-items:start}.podiumCard{padding:1.2rem}.podiumNumbers{gap:1rem}.podiumNumbers strong{font-size:1.6rem}.criteriaGrid{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr}.rankingPanel>.sectionHeader{flex-wrap:wrap}.metric{padding:1rem}.siteFooter{margin:0 1.5rem}.achievement{padding:1.2rem}.detailColumns{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}}
@media(max-width:960px){.sidebar{position:relative;width:auto;inset:auto;overflow:visible;padding:1rem 1.3rem;display:grid;grid-template-columns:1fr auto;gap:.5rem}.brand{margin:0}.brand img{width:34px;height:34px}.brand strong{font-size:1.2rem}.brand span{font-size:.75rem}.navCaption,.sidebarProgress,.sidebarIdentity,.logoutForm,.sidebarBottom>p{display:none}.sidebarBottom{grid-column:2;grid-row:1;padding:0;margin:0;align-self:center}.sidebarBottom:has(.sidebarIdentity)::after{content:'Trensval';font-size:.75rem;color:#aac6c9}.navLinks{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:.35rem;margin-top:.5rem}.navLinks a{flex:1;justify-content:center;font-size:.8rem;padding:.65rem .4rem;gap:.4rem}.navLinks .icon{width:1.1rem;height:1.1rem}.appFrame{margin-left:0}.shell{min-height:65vh}.pageHeader{margin-bottom:1.5rem}.cardGrid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.profileColumns{grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr)}.profileColumns>aside{display:flex}.profileColumns .metrics{grid-template-columns:1fr 1fr}.profileColumns .metric:last-child{grid-column:1/-1}.achievement--tier .tierBadge{font-size:1rem}.busHero__image{min-height:300px}.rulesGrid{grid-template-columns:1fr 1fr}.tripPreview__body{padding:1.1rem}.evaluationWorkspace{gap:1rem}}
@media(max-width:700px){.shell{padding:1.6rem 1rem 2rem}.pageHeader{align-items:start;flex-direction:column;gap:1rem}.pageHeader h1{font-size:2rem}.pageHeader>.btn{align-self:start}.pageHeader p{font-size:.94rem}.navLinks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.navLinks:not(:has(a:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr))}.navLinks a{flex-direction:column;gap:.35rem;font-size:.75rem;line-height:1.2;text-align:center;min-height:59px}.sidebar{padding:.8rem .7rem}.brand{margin-left:.3rem}.sidebarBottom .btn{font-size:.8rem;min-height:38px;padding:.5rem .8rem}.sidebarBottom:has(.sidebarIdentity)::after{display:none}.welcomePanel{grid-template-columns:1fr}.welcomePanel__copy{padding:1.6rem}.welcomePanel__aside{margin:0 1.6rem 1.6rem;padding:1.2rem 0 0;border-left:0;border-top:1px solid #496167}.welcomePanel__aside:has(>.icon){display:none}.welcomePanel__aside .xpLabels{margin-top:.5rem}.metrics{gap:.6rem}.metric{padding:1rem .85rem}.metric>span{font-size:.8rem}.metric>strong{font-size:1.7rem}.cardGrid--three,.cardGrid--two{grid-template-columns:1fr}.trainCard{display:grid;grid-template-columns:1fr 1.15fr}.trainCard__image{height:100%;aspect-ratio:auto;min-height:140px}.trainCard__body{padding:1rem;display:flex;justify-content:center;flex-direction:column}.trainCard__body .row{flex-direction:column;align-items:start;gap:.5rem}.trainCard__image .placeTag{top:.5rem;left:.5rem}.sectionHeader{align-items:start}.sectionHeader h2{font-size:1.3rem}.sectionHeader .textLink{font-size:.8rem}.reviewCard{padding:1.1rem}.reviewCard .row{gap:.5rem}.reviewCard .identity{gap:.5rem}.reviewCard .identity strong{font-size:.9rem}.reviewCard .avatar{width:34px;height:34px}.reviewCard .scoreBadge{font-size:.8rem;padding:.3rem .4rem}.podium{grid-template-columns:1fr;gap:.8rem}.podiumCard{display:grid;grid-template-columns:64px minmax(0,1fr) auto;column-gap:1rem;align-items:center;padding:1.2rem}.podiumCard__top{grid-column:1/-1}.podiumAvatar{width:56px;height:56px;grid-column:1;grid-row:2/4;margin:.5rem 0}.podiumCard h2{grid-column:2/-1;margin:0;align-self:end;font-size:1.15rem}.podiumCard>.tierBadge{grid-column:2/-1;justify-self:start;margin-top:.4rem}.podiumNumbers{grid-column:1/-1;justify-content:space-between;gap:1.5rem;margin-top:1rem;padding-top:.65rem}.podiumNumbers>div{display:flex;align-items:baseline;gap:.5rem}.podiumCard>p{grid-column:1/-1;margin-top:.5rem}.podiumPlace{font-size:1.6rem}.myPosition{padding:1rem;flex-wrap:wrap}.myPosition>.textLink{margin-left:2.2rem}.rulesGrid{grid-template-columns:1fr;gap:1rem}.rankingPanel>.sectionHeader{padding:1rem}.searchForm{max-width:none;width:100%}.profileIdentity{padding:0 1.2rem 1.3rem;gap:1rem;flex-wrap:wrap}.profileIdentity>div{flex-basis:calc(100% - 120px)}.profileIdentity h1{font-size:1.5rem}.profileIdentity p{font-size:.8rem}.profileCover{height:140px}.profileAvatar{width:76px;height:76px;border-radius:18px}.achievementGrid{grid-template-columns:1fr 1fr}.achievement{padding:1rem}.achievement--tier{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--line)!important}.achievement>strong{font-size:2.2rem}.achievement>span:first-child{font-size:.8rem}.profileColumns,.detailColumns{grid-template-columns:1fr}.profileColumns .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.profileColumns .metric:last-child{grid-column:auto}.profileColumns .metric>span{font-size:.75rem}.profileColumns .metric>strong{font-size:1.4rem}.profileColumns>aside{display:flex}.detailColumns>aside{margin-top:0}.busHero{grid-template-columns:1fr}.busHero__image{min-height:0;aspect-ratio:16/10}.busHero__body{padding:1.5rem}.evaluationWorkspace{display:flex;flex-direction:column;gap:1.2rem}.evaluationWorkspace>form{width:100%}.evaluationAside{position:static;width:100%;order:-1}.tripPreview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.tripPreview__photo{aspect-ratio:auto;height:100%;min-height:200px}.tripPreview__photo .placeTag{bottom:.5rem;left:.5rem;font-size:.8rem;padding:.3rem .4rem}.tripPreview__body{padding:1rem}.tripPreview__body>.smallText,.previousTrips{display:none}.tripPreview__body>.eyebrow{font-size:.75rem}.tripPreview__body>p:first-of-type{font-size:.8rem;line-height:1.4;margin-bottom:.5rem}.liveScore{padding-top:.7rem}.liveScore strong{font-size:2.4rem}.liveScore>div>span{font-size:.75rem}.formGrid{grid-template-columns:1fr}.criteriaGrid{grid-template-columns:1fr}.panel{padding:1.2rem}.criteriaPanel{padding-bottom:1.5rem}.submitBar{flex-direction:column;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem}.submitBar>.smallText{max-width:none}.submitBar .btn{width:100%}.xpReward{font-size:.8rem}.notice{align-items:start;flex-wrap:wrap;font-size:.875rem}.confirmationSummary>div{grid-template-columns:70px minmax(0,1fr);gap:.6rem}.dialogBody{padding:1.3rem}.dialogBody>h2{font-size:1.4rem}.dialogActions{flex-direction:column-reverse}.dialogActions>.btn{width:100%}.siteFooter{margin:0 1rem;font-size:.75rem}.flash{margin:1rem}.filterBar{gap:.75rem}.filterBar .field{flex-basis:100%}.filterBar .checkControl{margin:0}.filterBar>.btn{margin-left:auto}.savedPanel{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:960px){.sidebarBottom:has(.sidebarIdentity){display:flex;align-items:center;gap:.8rem}.sidebarBottom:has(.sidebarIdentity)::after{content:none}.sidebarIdentity{display:flex;border:0;padding:0}.sidebarIdentity strong{display:none}.sidebarIdentity .avatar{width:34px;height:34px}.logoutForm{display:block;padding:0}.logoutForm button{font-size:.8rem;padding:.5rem}.sidebarProgress{display:none}}

@media(max-width:700px){.navLinks a{font-size:.875rem;padding:.65rem .25rem}}
/* Rank emblems and profile help dialogs. */
.tierBadge{gap:.4rem;line-height:1.45}
.tierBadge>.icon{width:1.1rem;height:1.1rem;flex-shrink:0}
.tierBadge__name{min-width:0}
.achievement--tier .tierBadge>.icon{width:1.5rem;height:1.5rem}
.achievementLabel{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:32px;color:var(--muted);font-size:.875rem}
.helpButton{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:1px solid #a5bed4;border-radius:50%;background:#edf4fd;color:#255c88;font-size:1rem;line-height:1;font-weight:750}
.helpButton:hover{background:#dcebf9;border-color:#588db7;color:#17466c}
.myPosition .tierBadge{display:inline-flex;margin-top:.45rem}
.progressHelpDialog{width:min(640px,calc(100vw - 2rem))}
.progressHelpDialog .dialogBody{padding:1.7rem}
.progressHelpDialog [data-help-heading]{outline:none}
.helpSnapshot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#edf4fd;border:1px solid #cfdfef;border-radius:12px;margin:1.2rem 0}
.helpSnapshot>p{font-size:.875rem;color:#365d7d;text-align:right}
.helpSnapshot--level{display:block}
.helpSnapshot--level .xpLabels{margin-top:0}
.rankGuideList{list-style:none;padding:0;margin:1.25rem 0}
.rankGuideRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem .9rem;border:1px solid var(--line);border-radius:12px;margin-bottom:.65rem;background:#fff}
.rankGuideRow.is-current{background:#f0f7ff;border-color:#71a6d1;box-shadow:inset 3px 0 0 #457fae}
.rankGuideIdentity{min-width:0}
.rankGuideIdentity .tierBadge{font-size:.875rem;white-space:normal;text-align:left}
.rankGuideIdentity .icon{width:1.25rem;height:1.25rem}
.rankGuideState{display:block;font-size:.75rem;font-weight:650;color:#255c88;margin:.3rem 0 0 .6rem}
.rankGuideRequirement{text-align:right}
.rankGuideRequirement strong{display:block;font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.35}
.rankGuideRequirement span{font-size:.8rem;color:var(--muted);display:block}
.progressHelpDialog .nextTier{margin-top:1rem}
.progressHelpDialog .dialogActions{margin-bottom:0}
.xpGuideList{margin:1rem 0}
.xpGuideItem{display:flex;align-items:start;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.xpGuideItem>.icon{color:var(--teal);margin-top:.15rem}
.xpGuideItem:last-child{border-bottom:0}
.xpGuideItem strong{font-size:1rem}
.xpGuideItem p{font-size:.875rem;color:var(--muted);margin-top:.3rem}
.dailyBonusList{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;list-style:none;margin:0 0 1rem;padding:0}
.dailyBonusList li{text-align:center;background:#f0f5fa;border:1px solid #d5e2ed;border-radius:9px;padding:.55rem .2rem}
.dailyBonusList span{display:block;font-size:.875rem;color:var(--muted)}
.dailyBonusList strong{display:block;font-size:.875rem;color:#225a84;margin-top:.2rem;white-space:nowrap}
.helpSectionTitle{margin-top:1.5rem}
.levelGuideTable{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.875rem;text-align:left}
.levelGuideTable caption{text-align:left;color:var(--muted);font-size:.875rem;margin-bottom:.6rem}
.levelGuideTable th,.levelGuideTable td{padding:.7rem .85rem;border-bottom:1px solid var(--line)}
.levelGuideTable thead{background:#edf4fd}
.levelGuideTable tr>*:last-child{text-align:right;font-variant-numeric:tabular-nums}
.levelGuideTable tbody th{font-weight:550}
.rulesPanel .tierList .row>span:last-child{text-align:right}
@media(max-width:700px){.achievement--tier{flex-direction:column;align-items:stretch;gap:.6rem}.achievement--tier .tierBadge{align-self:flex-start}.achievementLabel{font-size:.875rem}.progressHelpDialog .dialogBody{padding:1.25rem}.helpSnapshot{align-items:start;flex-direction:column;gap:.65rem}.helpSnapshot>p{text-align:left}.helpSnapshot--level{display:block}.helpSnapshot--level .xpLabels{margin-top:0}}
@media(max-width:480px){.rankGuideRow{gap:.65rem;padding:.8rem .65rem}.rankGuideIdentity .tierBadge{padding:.3rem .45rem}.rankGuideRequirement span{font-size:.75rem;max-width:6rem}.dailyBonusList{grid-template-columns:repeat(4,minmax(0,1fr))}.rulesPanel .tierList .row{align-items:start}.rulesPanel .tierList .tierBadge{white-space:normal;max-width:65%}}

/* Trensval identity: blue line, pale blue canvas, individual rail symbol. */
:root{--ink:#142a49;--muted:#53667f;--page:#edf3fc;--line:#d7e2f1;--teal:#245bd4;--teal-dark:#1946ab;--lime:#c0e8ff;--nav:#0c2349;--shadow:0 7px 25px #12396b08}
body{background:radial-gradient(ellipse at 95% 3%,#dceaff 0,transparent 45%),var(--page)}
.sidebar{background:linear-gradient(165deg,#0c2349,#101d35)}
.brand img{width:44px;height:44px;border-radius:12px;background:#2563eb;padding:3px}
.brand strong{font-size:1.5rem;font-weight:780;letter-spacing:-.055em}
.brand span{font-size:.6rem;letter-spacing:.18em;color:#bdcde3}
.navLinks a:hover{background:#244166}.navLinks .is-active:hover,.btn--lime:hover{background:#d6f0ff}
.sidebarIdentity{border-color:#395174}.logoutForm button{color:#b9cde8}
.siteFooter{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.siteFooter nav{display:flex;gap:1.4rem;flex-wrap:wrap}.siteFooter a{text-decoration:underline;text-underline-offset:3px}
.railHero{display:grid;grid-template-columns:1.05fr 1fr;border-radius:24px;overflow:hidden;background:var(--nav);color:white;min-height:320px;isolation:isolate}
.railHero__copy{padding:2.3rem;position:relative}
.railHero__copy h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.05em;max-width:430px;margin:1.4rem 0 1rem}
.railHero__copy>p{color:#ccd9ed;font-size:.95rem;max-width:410px}
.heroActions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.5rem}
.heroLink{font-size:.875rem;color:#d6e8ff;text-decoration:underline;text-underline-offset:5px}
.lineBadge{display:inline-flex;align-items:center;gap:.65rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;color:#d6e8ff}
.lineBadge--light{color:var(--teal);border:1px solid #b8ceee;padding:.7rem 1rem;border-radius:99px}
.lineDot{width:8px;height:8px;border-radius:50%;background:#86d5fc}
.railHero__photo{position:relative;margin:0;min-width:0;min-height:290px}
.railHero__photo img{width:100%;height:100%;object-fit:cover;object-position:35% center}
.railHero__photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c23493d,transparent 35%)}
.railHero__photo figcaption{position:absolute;z-index:1;bottom:12px;right:12px;background:#0d2039d9;color:#fff;font-size:.62rem;padding:.25rem .5rem;border-radius:4px}
.heroRoute{display:flex;align-items:center;gap:0;margin-top:1.8rem;color:#a9c2e6;font-size:.68rem;max-width:330px}
.heroRoute span{white-space:nowrap}.heroRoute span:first-child{padding-right:.6rem}.heroRoute span:last-child{padding-left:.6rem}
.heroRoute i{height:2px;flex:1;background:#456489;position:relative}.heroRoute i:after{content:'';position:absolute;width:7px;height:7px;border:2px solid #7596c1;border-radius:50%;top:-3px;left:40%;background:var(--nav)}
.quickGrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.3rem}
.quickCard{display:flex;align-items:center;gap:1rem;background:#fafdff;border:1px solid var(--line);border-radius:16px;padding:1.25rem}
.quickCard>.icon:first-child{width:42px;height:42px;padding:10px;border-radius:12px;background:#e8f0ff;color:var(--teal)}
.quickCard div{flex:1}.quickCard h2{font-size:1rem}.quickCard p{font-size:.8rem;color:var(--muted);margin-top:.3rem}.quickCard>.icon:last-child{color:var(--teal)}
.journeyBanner{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:center;gap:1.5rem;border:1px solid #bdd4f5;border-radius:16px;padding:1rem 1.4rem;background:#e2edff;margin-top:1.4rem}
.journeyBanner .xpLabels{margin:.2rem 0}.journeyBanner .smallText{font-size:.8rem}.journeyBanner .eyebrow{font-size:.65rem}
.profileCover{background:radial-gradient(circle at 75% -10%,#397bc4,transparent 58%),linear-gradient(125deg,#0c2349,#153657)}
.profileHero{border-radius:22px}.achievementGrid{background:#f5f8fe}.stepNumber,.xpReward{background:#e7efff;color:#245bd4;border-color:#c7d8f5}
.photoKind{font-size:.7rem;color:var(--muted);margin-top:.4rem;display:block}
.catalogNote{padding:1rem 1.1rem;border-left:3px solid #90b5e9;background:#e5effb;border-radius:0 10px 10px 0}
.catalogNote .textLink{margin-top:.5rem;display:inline-block;font-size:.8rem}
.trainCard__image img{object-position:center}.trainCard:hover{border-color:#90b5e9}
.trainHero{display:grid;grid-template-columns:1.2fr 1fr;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.trainHero figure{margin:0;display:flex;flex-direction:column;background:#dce8f9}
.trainHero figure img{width:100%;height:100%;min-height:280px;object-fit:cover}
.trainHero figcaption{background:#f1f6fe;padding:.65rem 1rem;font-size:.72rem;color:var(--muted)}
.trainHero figcaption a{display:inline;font-size:inherit;margin-left:.5rem}
.trainHero__copy{padding:2rem;display:flex;flex-direction:column;gap:.65rem;align-items:start}
.trainHeroScore{display:flex;gap:.4rem;align-items:baseline}.trainHeroScore strong{font-size:3.5rem;line-height:1.2;letter-spacing:-.06em;color:var(--teal)}.trainHeroScore span{color:var(--muted)}
.trainHero__copy>.btn{margin-top:.7rem}
.formationPanel{margin-top:1.5rem}.formationPanel>.sectionHeader{margin-top:0}
.formationGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.carCard{position:relative;display:flex;flex-direction:column;gap:.4rem;align-items:center;text-align:center;border:1px solid #bccfed;border-radius:14px 14px 8px 8px;padding:1rem .5rem;background:#f5f9ff}
.carCard+.carCard:before{content:'';height:4px;width:.8rem;position:absolute;left:-.8rem;top:50%;background:#bccfed}
.carCard>.icon{color:var(--teal);width:2rem;height:2rem}.carCard .smallText{font-size:.7rem}.carCard__score{font-size:.75rem;font-weight:600;color:var(--teal)}
.filterCaption{margin-bottom:1rem;font-weight:650;color:var(--teal)}
.routePicker{min-width:0}
.routeChoices{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:.5rem}
.stationChoice{text-align:left;padding:1rem;background:#f5f9ff;border:1px solid #c5d6f0;border-radius:14px;min-width:0;min-height:114px;color:var(--ink)}
.stationChoice:hover{background:#edf4ff}.stationChoice.is-target{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.stationChoice>strong{display:block;font-size:1rem;line-height:1.3;margin:.35rem 0;overflow-wrap:anywhere}
.stationChoice .smallText{font-size:.73rem}.stationChoice__label{display:flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;font-weight:750;color:var(--muted)}
.originDot,.destinationDot{width:9px;height:9px;border:2px solid #245bd4;border-radius:50%;display:inline-block}
.destinationDot{background:#245bd4}
.swapButton{width:36px;height:40px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--teal);font-size:1.3rem;padding:0}
.routeStatus{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin:1rem 0}
.routeStatus>p{font-size:.85rem;font-weight:550;color:var(--teal);max-width:88%}
.routeStatus>.textButton{font-size:.8rem}
.mapHeading{display:flex;align-items:start;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1rem 0 .5rem}
.mapHeading>strong{white-space:nowrap;font-size:.85rem}.mapHeading .smallText{font-size:.75rem;text-align:right}
.lineMapViewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#9bb9de #edf3fd;padding:0 .4rem .2rem}
.lineMap{display:flex;min-width:max-content;list-style:none;padding:0;margin:0}
.lineMap>li{position:relative;width:92px;padding-top:12px}
.lineMap>li:after{content:'';position:absolute;height:4px;top:32px;left:46px;width:92px;background:#c7d7ec;z-index:0}
.lineMap>li:last-child:after{display:none}.lineMap>li.is-segment:after{background:var(--teal)}
.stationNode{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;min-height:140px;width:100%;text-align:center;padding:12px 5px 5px;border:0;border-radius:8px;color:var(--muted);background:transparent}
.stationNode__dot{background:#fff;width:20px;height:20px;border:3px solid #a8bddb;border-radius:50%;margin-bottom:.75rem;transition:background .15s,border-color .15s}
.stationNode strong{font-size:.72rem;line-height:1.25}.stationNode>span:last-child{font-size:.6rem;line-height:1.2}
.is-on-route .stationNode__dot{border-color:var(--teal)}
.is-origin .stationNode__dot,.is-destination .stationNode__dot{background:var(--teal);box-shadow:0 0 0 5px #d9e7fc}
.is-origin .stationNode strong,.is-destination .stationNode strong{color:var(--teal)}
.stationNode:hover{background:#dce9fc77}
.mapFootnote{font-size:.7rem;margin-top:.6rem}
.stationPage__action{display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.stationDialog{width:min(520px,calc(100vw - 2rem))}
.closeButton{border:1px solid var(--line);background:white;color:var(--muted);width:38px;height:38px;border-radius:50%;font-size:1.5rem;line-height:1;padding:0;flex-shrink:0}
.stationDialog .row{align-items:start}.stationDialog h2{font-size:1.4rem}
#stationSearch{margin-top:1.3rem;background:#f1f6ff}
#stationSearchStatus{font-size:.75rem;margin:.6rem 0}
.stationResults{padding:0;margin:0;list-style:none;max-height:min(50dvh,460px);overflow:auto;overscroll-behavior:contain}
.stationResult{display:flex;align-items:center;gap:.9rem;background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:8px;padding:.85rem .5rem;width:100%;text-align:left;color:var(--ink)}
.stationResult:hover,.stationResult.is-selected{background:#edf4ff}.stationResult .smallText{font-size:.75rem}
.stationIndex{font-size:.7rem;color:#526c93;background:#edf3fc;border-radius:6px;padding:.2rem .3rem}
.stationResult__tag{font-size:.7rem;margin-left:auto;color:var(--teal);padding-right:.3rem}
.carSelector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:1rem}
.carOption{padding:.7rem .2rem;border:1px solid var(--line);border-radius:10px;background:#f5f9ff;color:var(--ink);min-width:0}
.carOption strong{display:block;font-size:.78rem}.carOption span{font-size:.65rem;color:var(--muted)}
.carOption.is-selected{background:#dceaff;border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.catalogHint{margin-top:.7rem;font-size:.73rem}
.criterionHint{font-size:.78rem;min-height:2.5rem;margin-bottom:.7rem;line-height:1.4}
.rangeEnds{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted)}
.savedProgressLevel{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0 .7rem}
.savedProgressLevel strong{font-size:2rem;color:var(--teal);letter-spacing:-.04em}.savedProgressLevel span{color:var(--muted)}
.savedTier{margin-top:1.2rem;border:1px solid #c8daf5;border-radius:12px;background:#eef5ff;padding:1rem}
.savedTier strong{color:var(--teal);font-size:1.2rem}
.aboutGrid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem}.aboutGrid .panel>p{margin:.75rem 0;color:var(--muted);font-size:.9rem}
.aboutGrid .panel>h2{margin-top:1rem}.aboutGrid .panel>h2:first-child{margin-top:0}
.sourceList{padding-left:1.2rem;font-size:.875rem}.sourceList li{margin:.8rem 0}.sourceList a{color:var(--teal);text-decoration:underline}
#savedLevelProgress{height:12px}
@media(min-width:1201px){.criteriaGrid{gap:1.5rem}.formGrid{grid-template-columns:1.1fr 1fr}}
@media(max-width:1200px){.railHero__copy{padding:1.8rem}.railHero__copy h2{font-size:2.1rem}.quickCard{padding:1rem}.quickCard>.icon:last-child{display:none}.formationGrid{gap:.6rem}.journeyBanner{grid-template-columns:1fr 1.4fr}.journeyBanner>a{grid-column:1/-1}.evaluationWorkspace{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:960px){.brand img{width:40px;height:40px}.brand span{font-size:.55rem}.navLinks{gap:.2rem}.navLinks a{font-size:.8rem}.aboutGrid{grid-template-columns:1fr}.railHero__copy h2{font-size:2.1rem}.trainHero__copy{padding:1.5rem}}
@media(max-width:700px){.navLinks{display:flex}.navLinks{display:flex;overflow-x:auto}.navLinks a{flex:1;min-width:45px;font-size:.65rem;padding:.5rem .2rem}.railHero{grid-template-columns:1fr}.railHero__copy{padding:1.5rem}.railHero__copy h2{font-size:2.4rem;max-width:300px}.railHero__photo{min-height:0;height:200px}.railHero__photo img{object-position:center 44%}.heroRoute{margin-top:1.3rem}.quickGrid{grid-template-columns:1fr}.quickCard{padding:1.1rem}.journeyBanner{grid-template-columns:1fr;gap:.8rem}.journeyBanner>a{grid-column:auto}.trainHero{grid-template-columns:1fr}.trainHero figure img{min-height:0;max-height:280px}.trainHero__copy{padding:1.5rem}.formationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.carCard:nth-child(3):before{display:none}.routeChoices{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:.3rem}.swapButton{width:30px;height:34px}.stationChoice{padding:.7rem;min-height:112px}.stationChoice>strong{font-size:.88rem}.stationChoice .smallText{font-size:.65rem}.stationChoice__label{font-size:.6rem}.routeStatus>p{font-size:.78rem}.evaluationWorkspace{display:flex}.evaluationAside{order:0}.tripPreview{display:block}.tripPreview__photo{min-height:0;aspect-ratio:16/9}.tripPreview__body>.smallText,.previousTrips{display:block}.tripPreview__body>p:first-of-type{font-size:.9rem}.evaluationAside{position:static}.metrics .metric>strong{font-size:1.9rem}.siteFooter nav{gap:.8rem}.carOption strong{font-size:.7rem}.carOption span{font-size:.6rem}}

.photoCredit{font-size:.63rem;color:var(--muted);display:block;margin-top:.2rem}.demoBadge{font-size:.7rem;color:#335e95;background:#deebfc;border:1px solid #bdd3f0;border-radius:99px;padding:.3rem .65rem;display:table;margin-bottom:1rem}

.skipLink:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}

img[src="/public/logo.png"]{background:#2563eb}
