:root{--ink:#302724;--muted:#75665f;--primary:#F85E3C;--primary-dark:#ac321b;--line:#eadfd9;--paper:#fcf8f5;--white:#fff;--accent:#F85E3C}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ac321b;outline-offset:4px}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;line-height:1.3;font-size:19px;letter-spacing:.025em}.brand:hover{text-decoration:none}.brand strong{font-weight:800}.brand small{display:block;font-size:8px;letter-spacing:.19em;margin-top:5px}.brand-logo{display:block;width:64px;height:auto;flex-shrink:0;object-fit:contain}nav{display:flex;gap:30px;font-size:13px}nav a{color:var(--muted);padding-block:12px}nav a.current{color:var(--primary-dark);font-weight:700}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:35px;padding:65px 0 58px}.eyebrow{display:block;font-size:10px;font-weight:750;letter-spacing:.16em;color:var(--muted);margin-bottom:15px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4vw,49px);line-height:1.15;letter-spacing:-.045em;font-weight:750;margin-bottom:23px}h1 span{color:var(--accent)}.hero p{font-size:18px;margin-bottom:9px}.hero .hero-note{font-size:14px;color:var(--muted);max-width:380px}.hero-tags{display:flex;gap:10px;margin-top:24px}.hero-tags span{font-size:10px;letter-spacing:.04em;border:1px solid #eadfd9;border-radius:30px;padding:5px 12px}.route-art{position:relative;background:#fff0e9;border-radius:100px 18px 100px 18px;height:305px;overflow:hidden}.route-art svg{width:100%;height:100%}.contour{stroke:#f3d1c4;stroke-width:1.2}.trail-shadow{stroke:#fff;stroke-width:12}.trail{stroke:#F85E3C;stroke-width:3;stroke-dasharray:6 5}.art-label{position:absolute;font-size:10px;background:#fff;padding:5px 10px;border-radius:5px;box-shadow:0 3px 12px #3027240a}.start{bottom:43px;left:12%}.finish{top:23px;right:22%}.art-distance{position:absolute;bottom:27px;right:25px;font-size:19px;letter-spacing:.1em}.art-distance b{font-size:26px;color:var(--accent)}.library{padding:32px 0 50px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px;gap:20px}.section-heading .eyebrow{margin-bottom:7px}h2{font-size:27px;letter-spacing:-.035em;line-height:1.2;margin-bottom:0}.section-heading p{font-size:12px;color:var(--muted);margin:0}.filters{display:flex;gap:35px;background:#fff;padding:25px 28px;border:1px solid var(--line);border-radius:14px;flex-wrap:wrap}.filters fieldset{border:0;padding:0;margin:0;min-width:0}.filters legend{font-size:11px;font-weight:650;margin-bottom:10px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;width:1px;height:1px}.chip span{display:block;padding:7px 15px;border-radius:7px;font-size:12px;background:#faf3ef;color:#75665f;border:1px solid transparent}.chip input:checked+span{background:var(--primary);color:var(--ink)}.chip input:focus-visible+span{outline:3px solid #ac321b;outline-offset:3px}.chip:hover span{border-color:#c98571}.results-meta{display:flex;justify-content:space-between;gap:12px;padding:23px 1px 19px;font-size:12px;color:var(--muted)}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.route-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;box-shadow:0 3px 6px #30272403;transition:box-shadow .2s,transform .2s}.route-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #3027240a}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.badge{display:inline-block;white-space:nowrap;font-size:10px;letter-spacing:.055em;font-weight:750;background:#fff0e9;border:1px solid #f3d1c4;color:#ac321b;padding:4px 9px;border-radius:5px}.category-300{background:#ffebe2;color:#993d23;border-color:#f0cabb}.category-400{background:#fff1e3;color:#85502a;border-color:#efd5bc}.category-600{background:#f9e8e5;color:#914331;border-color:#eccbc2}.category-1000{background:#f4dfd8;color:#783827;border-color:#e5bdb0}.card-arrow{color:#bd8a79}.route-card h3{font-size:20px;line-height:1.35;letter-spacing:-.025em;margin-bottom:9px;overflow-wrap:anywhere}.location{color:var(--muted);font-size:12px;margin-bottom:27px}.location span{margin-right:5px}.route-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:auto;margin-bottom:24px}.route-stats>div+div{border-left:1px solid var(--line);padding-left:20px}.route-stats strong{display:block;font-size:23px;letter-spacing:-.04em;line-height:1.3}.route-stats strong small{font-size:12px;font-weight:500;letter-spacing:0}.route-stats span{font-size:10px;color:var(--muted)}.card-actions{display:flex;gap:8px;padding-top:18px;border-top:1px solid #f2e8e2}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--primary);background:var(--primary);color:var(--ink);padding:11px 18px;border-radius:7px;font-size:12px;font-weight:650;cursor:pointer;line-height:1.5;text-align:center}.button:hover{background:#e95030;text-decoration:none}.button.secondary{background:#fff;color:var(--primary-dark);border-color:var(--line)}.button.secondary:hover{background:#fff0e9}.card-actions .button{flex:1;padding:10px 8px;font-size:11px;gap:10px}.empty{text-align:center;background:#fff;border:1px dashed #e5cfc4;border-radius:14px;padding:50px 25px}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff0e9;color:var(--primary-dark);font-size:27px;margin:0 auto 16px}.empty h3{font-size:21px;margin-bottom:8px}.empty h2{margin-bottom:15px}.empty p{color:var(--muted);font-size:14px}.site-footer{display:flex;justify-content:space-between;gap:20px;padding-block:25px 30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);margin-top:30px}.site-footer strong{color:var(--ink)}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:45px 0 28px}.admin-heading h1,.form-heading h1{font-size:35px;margin-bottom:12px}.admin-heading p,.form-heading p{color:var(--muted);margin-bottom:0}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-size:11px;background:#faf0e9;color:var(--muted)}td,th{padding:18px 22px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}.row-actions{display:flex;gap:15px}.danger-text{color:#a23c30}.notice{padding:18px 23px;border:1px solid;border-radius:9px;margin-bottom:24px;font-size:14px}.notice.success{background:#edf6eb;border-color:#b6d2ad}.notice.error{background:#fff1eb;border-color:#e3b9a8;color:#893b26}.notice ul{margin-bottom:0}.form-heading{max-width:800px;margin:32px auto}.back-link{display:block;font-size:12px;margin-bottom:28px}.route-form{max-width:800px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px}.form-section+.form-section{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.form-section h2{font-size:20px;margin-bottom:10px}.form-section>p{font-size:12px;color:var(--muted);margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}.form-grid label{font-size:12px;font-weight:650}.form-grid .full{grid-column:1/-1}input:not([type=radio]):not([type=hidden]),select{display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #d9c9bf;border-radius:7px;font-size:14px;color:var(--ink);margin-top:7px}input::placeholder{color:#82716a}.form-grid small{display:block;color:var(--muted);font-weight:400;margin-top:7px;font-size:11px}.optional{color:var(--muted);font-size:10px;font-weight:400;margin-left:5px}.upload-box{background:#fdf7f3;padding:20px;border:1px dashed #d9c9bf;border-radius:8px}input[type=file]::file-selector-button{background:#fff0e9;border:0;padding:8px;border-radius:4px;margin-right:12px;color:var(--primary-dark)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.confirm-panel{max-width:660px;margin:65px auto;padding:35px;border:1px solid var(--line);border-radius:14px;background:#fff}.confirm-panel h1{font-size:32px}.danger{color:#fff;background:#993e31;border-color:#993e31}.danger:hover{background:#792d22}@media(min-width:1200px){.filters fieldset+fieldset{border-left:1px solid var(--line);padding-left:35px}}@media(max-width:950px){.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:20px}.route-art{height:270px}.hero h1{font-size:36px}.section-heading>p{display:none}.filters{gap:22px}}@media(max-width:620px){.container{width:calc(100% - 32px)}.header-inner{min-height:85px;gap:12px;flex-wrap:wrap;padding-block:15px}.brand{font-size:16px}.brand-logo{width:48px;height:auto}.brand small{font-size:7px}nav{gap:18px;font-size:11px;width:100%;justify-content:flex-end}nav a{padding:0}.hero{grid-template-columns:1fr;padding:38px 0 35px;gap:25px}.hero h1{font-size:38px}.hero p{font-size:16px}.hero .hero-note{font-size:13px}.route-art{height:180px;border-radius:60px 14px}.route-art svg{width:100%;height:230px;margin-top:-20px}.art-label.finish{top:13px;right:20%}.art-label.start{bottom:20px}.art-distance{bottom:15px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filters{padding:20px;gap:20px}.chip span{padding:8px 12px}.section-heading h2{font-size:25px}.route-card{padding:12px}.card-top{margin-bottom:14px}.route-card h3{font-size:16px}.location{font-size:11px;margin-bottom:18px}.route-stats{grid-template-columns:1fr;gap:10px;margin-bottom:16px}.route-stats>div+div{border-left:0;padding-left:0}.route-stats strong{font-size:20px}.card-actions{flex-direction:column;padding-top:12px;gap:7px}.card-actions .button{width:100%;font-size:11px;padding:9px 4px}.site-footer{flex-direction:column;gap:6px}.admin-heading{align-items:flex-start;flex-direction:column;padding-top:30px}.admin-heading h1{font-size:31px}.form-grid{grid-template-columns:1fr}.route-form{padding:22px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.confirm-panel{padding:24px;margin:35px auto}.empty{padding:35px 20px}td,th{padding:14px}.row-actions{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
