@font-face{font-family:Bebas Neue;src:url(fonts/bebas-neue.woff2) format('woff2');font-display:swap}@font-face{font-family:Manrope;src:url(fonts/manrope.ttf) format('truetype');font-weight:200 800;font-display:swap}
:root{--paper:#f7f1e1;--ink:#141210;--muted:#625e55;--line:#d8cdb8;--lime:#ebddb3;--dark:#141210;font-family:Manrope,sans-serif}
body{background:var(--paper)}h1,h2,.wordmark{font-family:'Bebas Neue',sans-serif;font-weight:400;letter-spacing:.01em}h1{font-size:clamp(64px,7.5vw,114px);line-height:.87;margin:16px 0 0}h1 span{color:#0072ce}h3,.event-open strong,.empty b,.field-corner span,.week-strip button b{font-family:Manrope,sans-serif}.intro{padding-top:32px;padding-bottom:28px}.intro p{max-width:310px;font-size:14px}.wordmark{font-size:42px}.wordmark span{font-family:Manrope,sans-serif;letter-spacing:1.4px}.mast{height:85px}.maker{display:flex;align-items:center;gap:12px}.maker img{width:140px;height:auto}.maker>span{font-size:9px;max-width:55px;line-height:1.5}.maker b{display:none}.workspace{border-radius:0;background:#fffcf5}.browser,.browser-tabs,.filters select{background:#fffcf5}.render-frame{background:#171714}.field-heading button[aria-pressed=true]{background:#ebddb3;border-color:#ebddb3;color:#141210}.field-heading,.field-foot,.week-strip{border-color:#3d392f}.mini-bars i{background:#8f805e}.week-strip button[aria-pressed=true]{background:#443b29;color:#f7f1e1}.week-strip button[aria-pressed=true] b{color:#f7f1e1}.week-strip button[aria-pressed=true] .mini-bars i{background:#cca43b}.scrubber input{accent-color:#cca43b}.assemble-button{background:#f0e6c6;border-color:#d8cdb8}.assemble-button:hover{background:#ebddb3}.save.saved{background:#ebddb3;border-color:#b9975b}.event-open .tagline{color:#705822}.event-open strong{font-weight:650}.modal-title,.plan-heading h2,#notes-modal h2{font-size:42px;letter-spacing:0;line-height:1.04}.draft-stops h3{font-family:Manrope;font-size:17px}.field-bottom button{background:#252219;color:#ebddb3;border-color:#706447}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#0072ce}.intro-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.intro-action p{margin:0}.primary-action{background:#0072ce;color:white;border:0;border-radius:0;font-weight:650;font-size:13px;padding:15px 21px}.primary-action:hover{background:#005ca7;color:white}.primary-action span{padding-left:25px}.pixel-ribbon{display:flex;align-items:flex-end;gap:3px;height:25px;margin-bottom:10px}.pixel-ribbon i{display:block;background:#b9975b;width:7px;height:8px}.pixel-ribbon i:nth-child(3n){height:19px;background:#0072ce}.pixel-ribbon i:nth-child(4n){height:25px;background:#cca43b}.pixel-ribbon i:nth-child(5n){height:13px;background:#141210}
.route-studio{margin:0 4% 28px;padding:30px;background:#ebddb3;border:1px solid #b9975b;scroll-margin-top:15px}.route-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.route-intro h2{font-size:56px;line-height:1;margin:8px 0 12px}.route-intro p{font-size:13px;line-height:1.7;max-width:560px;margin:0 0 20px}.route-intro>button{border-color:#a38c60}.route-form{display:grid;grid-template-columns:1.3fr 1fr 1.4fr .65fr .65fr .8fr .6fr;gap:10px;align-items:end}.route-form label{font-size:10px;font-weight:650;display:flex;flex-direction:column;gap:7px}.route-form select{width:100%;min-width:0;border:1px solid #b9a779;border-radius:0;background:#fffaf0;color:#141210;padding:12px 7px;font-size:12px}.route-submit{margin-top:18px;background:#141210;color:#f7f1e1;border-radius:0;padding:12px 20px;font-size:13px}.route-submit:hover{color:#141210}.route-summary{font-size:12px;line-height:1.6;margin:20px 0}.route-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.route-card{background:#fffaf0;padding:23px;display:flex;flex-direction:column;min-width:0;border-top:4px solid #0072ce}.route-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;color:#625e55}.route-card h3{font-family:'Bebas Neue';font-size:40px;line-height:1;margin:20px 0 4px;font-weight:400}.route-time{font-size:11px;margin:5px 0 22px}.route-card ol{list-style:none;counter-reset:stop;padding:0;margin:0;flex:1}.route-card li{position:relative;padding:0 0 25px 25px;border-left:1px solid #d8cdb8;counter-increment:stop}.route-card li:before{content:counter(stop);position:absolute;left:-10px;top:0;width:19px;height:19px;background:#ebddb3;font-size:10px;display:grid;place-items:center}.route-card li:last-child{border-color:transparent}.route-clock{font-size:10px;color:#625e55;display:block;margin-bottom:8px}.route-card li button{border:0;padding:0;border-radius:0;text-align:left;font-weight:700;font-size:14px;line-height:1.5}.route-card li p{font-size:10px;color:#625e55;line-height:1.6;margin:8px 0}.route-card li small{font-size:9px;color:#705822}.route-proof{border-top:1px solid #d8cdb8;font-size:10px;line-height:1.9;padding:12px 0}.route-save{border-radius:0;background:#141210;color:#f7f1e1;font-size:12px;display:flex;justify-content:space-between}.route-save:hover{background:#0072ce;color:white}.route-note{font-size:10px;line-height:1.7;max-width:870px;margin:20px 0 0}.shared-preview{margin:0 4% 20px;padding:15px;background:#ebddb3;font-size:13px;display:flex;align-items:center;gap:20px}#share-feedback{font-size:11px;line-height:1.7}#share-link{width:100%;font-size:11px;padding:10px}
@media(max-width:1050px){.route-form{grid-template-columns:repeat(4,minmax(0,1fr))}.route-studio{margin-left:2%;margin-right:2%;padding:22px}.route-card{padding:16px}.route-card h3{font-size:32px}}
@media(max-width:760px){h1{font-size:70px}.intro{display:block;padding:25px 20px}.intro-action{margin-top:22px;gap:16px}.intro-action p{display:block;font-size:12px}.intro-action p br{display:none}.pixel-ribbon{display:none}.wordmark{font-size:35px}.maker{display:none}.route-studio{margin:0 12px 20px;padding:18px}.route-intro h2{font-size:42px}.route-intro p{font-size:12px}.route-form{grid-template-columns:repeat(2,minmax(0,1fr))}.route-results{grid-template-columns:1fr}.route-card{padding:23px}.route-card h3{font-size:40px}.route-form select{min-height:44px}.route-intro>button{padding:7px}.route-note{font-size:11px}.shared-preview{flex-direction:column;align-items:flex-start}.modal-title{font-size:35px}}
@media print{.route-studio,.shared-preview{display:none!important}}

/* Cartographer tool surface: field first, controls over the field. */
@media screen {
.cartographer-tool{--ink:#e5e9e5;--muted:#a4afad;--line:#3a4548;--paper:#162126;background:#0d171e;color:var(--ink);height:100dvh;overflow:hidden}
.cartographer-tool .mast{position:absolute;inset:0 0 auto;height:64px;padding:0 20px;gap:24px;background:#101a21;border-bottom:1px solid #344148;z-index:10;flex-wrap:nowrap}
.cartographer-tool .wordmark{font-size:26px;letter-spacing:.025em;white-space:nowrap}.cartographer-tool .wordmark span{font-size:8px;margin-top:4px;color:#a4afad}
.cartographer-tool .mast nav{display:flex;gap:4px}.cartographer-tool .mast nav a{padding:9px 12px;text-decoration:none;font-size:12px;border:1px solid transparent;border-radius:5px;white-space:nowrap}.cartographer-tool .mast nav a[aria-current]{background:#e9d9a7;color:#171e22}.cartographer-tool .tool-actions{display:flex;gap:8px;margin-left:auto}.cartographer-tool .mast button{color:#e5e9e5;border-color:#485456;font-size:12px}.cartographer-tool button:hover{background:#34434a;color:white;border-color:#859797}
.cartographer-tool .workspace{position:absolute;inset:64px 0 0;display:block;margin:0;border:0;min-height:0;overflow:hidden;background:#0d171e}
.cartographer-tool .explorer{position:absolute;inset:0;display:block;background:transparent}.cartographer-tool .render-frame{position:absolute;inset:0;min-height:0;height:auto;background:#101b23}.cartographer-tool .field-heading{position:absolute;left:18px;top:16px;height:42px;z-index:4;padding:6px 10px;gap:20px;border:1px solid #465258;background:#142027e8;border-radius:7px;backdrop-filter:blur(12px)}
.cartographer-tool .field-heading button{min-height:28px}.cartographer-tool .field-corner{display:none}.cartographer-tool .field-zoom{left:18px;right:auto;top:72px;z-index:3}.cartographer-tool .field-zoom button{width:36px;height:36px;background:#142027e8}
.cartographer-tool .browser{position:absolute;z-index:5;right:18px;top:16px;bottom:18px;width:340px;max-height:none;padding:0 16px 18px;background:#142027ee;border:1px solid #465258;border-radius:8px;backdrop-filter:blur(16px);box-shadow:0 10px 30px #0004;color:#e5e9e5;overscroll-behavior:contain}
.cartographer-tool .browser-tabs{height:48px;gap:22px;margin-bottom:12px;background:#142027;top:0}.cartographer-tool .browser-tabs button{color:#acb7b8}.cartographer-tool .browser-tabs button[aria-pressed=true]{color:#f3e2b0;border-color:#f3e2b0}.cartographer-tool .searchbox input{color:#e5e9e5}.cartographer-tool input::placeholder{color:#a4afad}.cartographer-tool .filters select{background:#1b2a32;color:#e5e9e5;border-color:#465258}.cartographer-tool .quick{margin:12px 0}.cartographer-tool .quick button{padding:5px 8px;color:#bac4c3}.cartographer-tool .quick button[aria-pressed=true]{background:#e9d9a7;color:#17212a}.cartographer-tool .event-row{padding:13px 0}.cartographer-tool .event-open strong{font-size:14px}.cartographer-tool .event-open .tagline{color:#d7c68f}.cartographer-tool .save{color:#e9d9a7}.cartographer-tool .save.saved{color:#20251e}.cartographer-tool .result-bar{margin-top:12px}.cartographer-tool .plan-heading h2{font:28px 'Bebas Neue';margin:16px 0}.cartographer-tool .conflict{color:#f0c5a6;background:#492f26}.cartographer-tool .gap{color:#c7d2b4;background:#28352a}
.cartographer-tool .week-strip{position:absolute;z-index:4;left:18px;right:376px;bottom:66px;padding:8px!important;gap:4px;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #465258;background:#142027eb;border-radius:8px;backdrop-filter:blur(12px)}
.cartographer-tool .day-check{background:transparent;color:#b8c4c6;border-color:transparent;padding:7px 5px;grid-template-columns:1fr auto;gap:2px}.cartographer-tool .day-check:has(input:checked){background:#e9d9a7;color:#17212a;border-color:#e9d9a7}.cartographer-tool .day-check b{font-size:18px;margin:2px 0}.cartographer-tool .day-check input{width:12px;height:12px;margin:0;accent-color:#2c596e}.cartographer-tool .day-check small{font-size:9px}
.cartographer-tool .scrubber{position:absolute;z-index:4;left:18px;right:376px;bottom:24px;padding:7px 10px;gap:10px;background:#142027eb;border:1px solid #465258;border-radius:6px}.cartographer-tool .scrubber span{min-width:76px}.cartographer-tool .field-foot{position:absolute;bottom:0;left:18px;right:376px;height:24px;padding:3px 0;border:0;font-size:8px}.cartographer-tool .field-bottom{left:70px;right:376px;top:72px;bottom:auto;height:36px;justify-content:flex-start}.cartographer-tool .field-bottom span{font-size:10px;max-width:none}.cartographer-tool .field-bottom button{margin-left:auto;background:#142027eb}.cartographer-tool[data-panel=closed] .week-strip,.cartographer-tool[data-panel=closed] .scrubber,.cartographer-tool[data-panel=closed] .field-foot{right:18px}.cartographer-tool[data-panel=closed] .field-bottom{right:18px}
.cartographer-tool dialog{background:#17262f;color:#e5e9e5;border-color:#52636a}.cartographer-tool .route-studio{position:fixed;inset:0;margin:auto;padding:24px;width:calc(100% - 40px);max-width:1100px;max-height:88dvh;overflow:auto}.cartographer-tool .route-intro h2{font-size:36px;margin:0 0 20px}.cartographer-tool .route-form{grid-template-columns:repeat(5,minmax(0,1fr))}.cartographer-tool .route-form select{background:#233640;color:#e5e9e5;border-color:#52636a}.cartographer-tool .route-card{background:#22323b;border-color:#d3b666}.cartographer-tool .route-card h3{font-size:30px}.cartographer-tool .route-top,.cartographer-tool .route-time,.cartographer-tool .route-card li p,.cartographer-tool .route-card li small,.cartographer-tool .route-proof{color:#b8c4c6}.cartographer-tool .event-meta,.cartographer-tool .source-note{color:#b8c4c6}.cartographer-tool .detail-tags span{background:#2c414b}.cartographer-tool .detail-actions button{color:#17212a}.cartographer-tool .shared-preview{position:fixed;left:20%;top:70px;z-index:15;color:#17212a;padding:10px;font-size:12px}
}
@media screen and (max-width:1050px){.cartographer-tool .browser{width:300px}.cartographer-tool .week-strip,.cartographer-tool .scrubber,.cartographer-tool .field-foot,.cartographer-tool .field-bottom{right:336px}.cartographer-tool .field-bottom span{display:none}.cartographer-tool .mast{gap:12px;padding:0 14px}}
@media screen and (max-width:760px){.cartographer-tool .mast{height:100px;padding:10px 12px;align-content:center;gap:10px;flex-wrap:wrap}.cartographer-tool .wordmark{font-size:23px;flex:1}.cartographer-tool .wordmark span{font-size:7px}.cartographer-tool .mast nav{order:3;width:100%}.cartographer-tool .mast nav a{padding:6px 12px;font-size:11px}.cartographer-tool .tool-actions{gap:5px}.cartographer-tool .mast button{font-size:10px;padding:7px 9px;margin:0}.cartographer-tool .workspace{top:100px}.cartographer-tool .field-heading{left:10px;top:10px;right:10px;justify-content:space-between;gap:8px}.cartographer-tool .field-heading>span{font-size:10px}.cartographer-tool .field-zoom{left:10px;top:62px}.cartographer-tool .field-bottom{top:62px;left:56px;right:10px;height:36px}.cartographer-tool .week-strip,.cartographer-tool[data-panel=closed] .week-strip{left:10px;right:10px;bottom:62px;padding:5px!important;gap:1px}.cartographer-tool .day-check{padding:5px 2px}.cartographer-tool .day-check input{position:absolute;opacity:0;width:1px;height:1px}.cartographer-tool .day-check:focus-within{outline:2px solid #62b9e3;outline-offset:1px}.cartographer-tool .day-check span{font-size:8px}.cartographer-tool .day-check b{font-size:16px}.cartographer-tool .day-check small{font-size:8px;white-space:nowrap}.cartographer-tool .scrubber,.cartographer-tool[data-panel=closed] .scrubber{left:10px;right:10px;bottom:23px;padding:5px 7px}.cartographer-tool .field-foot,.cartographer-tool[data-panel=closed] .field-foot{left:10px;right:10px}.cartographer-tool .browser{left:10px;right:10px;top:62px;bottom:159px;width:auto;padding:0 12px 14px;background:#142027f7}.cartographer-tool .browser-tabs{position:sticky}.cartographer-tool .route-studio{width:calc(100% - 20px);padding:18px}.cartographer-tool .route-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cartographer-tool .route-results{grid-template-columns:1fr}.cartographer-tool .shared-preview{left:10px;right:10px;top:105px;margin:0}}
@media print{.cartographer-tool .mast,.cartographer-tool .explorer,.cartographer-tool .route-studio{display:none!important}}

@media screen{.cartographer-tool .route-clock{color:#b8c4c6}.cartographer-tool .route-card li:before{color:#17212a}.cartographer-tool .route-days label{flex-direction:row!important}.cartographer-tool .route-day-field{margin:0 0 10px}}

@media screen{.cartographer-tool .result-bar{flex-wrap:wrap}.cartographer-tool .result-bar .access-filter{flex-basis:100%;order:2;gap:5px;margin-top:4px}}
