@font-face{font-family:Roboto;src:url('assets/Roboto.ttf') format('truetype');font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f6f5f0;color:#202020;font:17px/1.6 Roboto,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1762c4;outline-offset:4px}.skip{position:fixed;top:-100px;background:#fff;padding:15px;z-index:20}.skip:focus{top:0}header{background:#202020;color:#fff}.header-inner{max-width:1160px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:26px}.logo img{width:116px;height:51px;object-fit:contain}.logo span{font-size:13px;letter-spacing:3px;border-left:1px solid #777;padding-left:24px}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 20px;border:1px solid #c7c8bf;border-radius:12px;background:#fff;color:#202020;font-weight:650;text-decoration:none}.btn:hover{border-color:#202020;background:#f8f3df}.primary{background:#fdc20b;border-color:#fdc20b;color:#111}.dark{background:#202020;color:#fff;border-color:#676767}.dark:hover{background:#333;color:#fff}.quiet{background:transparent;border-color:transparent}.full{width:100%}main{max-width:1160px;margin:auto;padding:32px 28px 150px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:750;color:#625000}.hero{position:relative;overflow:hidden;padding:32px 38px;background:#fff1b5;border:1px solid #eedb93;border-radius:22px;margin-bottom:26px}.hero:after{content:'↗';position:absolute;right:20px;top:-52px;font-size:200px;color:#e2ac0433;pointer-events:none}.hero>*{position:relative;z-index:1}h1{font-size:42px;letter-spacing:-1.3px;line-height:1.15;max-width:640px;margin:12px 0 16px}h2{font-size:24px;line-height:1.3;letter-spacing:-.4px;margin:0 0 14px}h3{margin:0 0 8px}p{margin:0 0 16px}.subtle{color:#5c6058}.tag{display:inline-block;padding:4px 10px;font-size:13px;border-radius:6px;background:#edece6;font-weight:600}.notice{padding:15px 20px;background:#fff8de;border:1px solid #e2c86a;border-radius:12px;margin:20px 0;font-size:15px}.grid{display:grid;grid-template-columns:1.4fr .9fr;gap:24px}.panel{background:#fff;border:1px solid #dddcd5;border-radius:18px;padding:26px}.field{display:block;margin-bottom:18px}.field>span{display:block;font-size:15px;font-weight:650;margin-bottom:7px}input[type=search],select{width:100%;min-height:54px;padding:12px;border:1px solid #9d9f94;border-radius:9px;background:#fff;color:#202020}input[type=checkbox]{width:23px;height:23px;accent-color:#8a6200;flex-shrink:0}.check{display:flex;gap:12px;align-items:center;margin:16px 0}.filters{display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.destinations{display:grid;gap:10px}.destination{border:1px solid #dedfd7;border-radius:12px;display:flex;align-items:center;overflow:hidden;background:#fff}.destination>.choose{flex:1;text-align:left;display:flex;gap:15px;align-items:center;background:transparent;border:0;padding:17px;min-height:88px;color:inherit}.destination .symbol{width:42px;height:42px;border-radius:12px;background:#fff3be;display:grid;place-items:center;font-size:24px}.destination strong,.destination small{display:block}.destination small{font-size:14px;color:#5b6056;margin-top:3px}.favorite{font-size:25px;min-width:54px;min-height:54px;margin-right:8px;border:0;background:transparent;color:#795500}.destination:hover{border-color:#9c7d14}.place-name{font-size:24px;font-weight:750;margin:10px 0}.aside-label{font-size:12px;text-transform:uppercase;letter-spacing:1.7px;color:#676a61}.building-card{margin-bottom:22px}.building-card .btn{margin-top:12px}.building-option{display:block;text-align:left;width:100%;margin:12px 0}.building-option small{display:block;font-weight:400}.empty{padding:28px;text-align:center;color:#585c52}.route-card{max-width:820px;margin:auto}.route-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}.direction{font-size:74px;line-height:1;display:block;color:#725200;margin:20px 0}.instruction{font-size:34px;line-height:1.35;letter-spacing:-.7px}.route-card .panel{padding:32px}.route-card .actions{display:flex;gap:12px;flex-wrap:wrap}.map{margin:22px 0;max-height:400px;overflow:hidden;border:1px solid #dedfd7;border-radius:12px}.map svg{display:block;width:100%;max-height:400px;background:#f4f4ef}.dock{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #d5d5cb;padding:16px max(20px,calc((100vw - 760px)/2));display:flex;gap:12px;z-index:10;box-shadow:0 -4px 15px #00000008}.dock .btn{flex:1;min-height:62px}.step-list{padding-left:24px}.step-list li{margin:18px 0}.simple .secondary-detail{display:none}.large{font-size:21px}.large .btn,.large .field>span,.large .destination small{font-size:19px}.large h1{font-size:46px}.large .instruction{font-size:40px}.contrast{background:#fff;color:#000}.contrast .subtle,.contrast .aside-label,.contrast .destination small{color:#222}.contrast .panel,.contrast .destination,.contrast .btn{border-width:2px;border-color:#111}.contrast .hero{background:#ffe16b;border-color:#111}.contrast .tag{background:#202020;color:#fff}dialog{max-width:620px;width:calc(100% - 32px);max-height:90vh;overflow:auto;border:0;border-radius:18px;padding:28px;color:#202020;background:#fff}dialog::backdrop{background:#1119}.dialog-head{display:flex;justify-content:space-between;gap:16px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.error{color:#a22d22}#message{position:fixed;bottom:98px;left:50%;transform:translateX(-50%);z-index:30;background:#222;color:#fff;border-radius:12px;padding:14px 20px;max-width:90vw;box-shadow:0 5px 20px #0003}#message:empty{display:none}summary{cursor:pointer;font-weight:650;padding:12px 0}footer{font-size:13px;color:#62655e;margin-top:30px}.profile-summary{font-size:14px;line-height:1.8}.pending{font-weight:600}a{color:#174d87}.busy{opacity:.6;pointer-events:none}
@media(max-width:700px){.header-inner{padding:14px 16px;align-items:flex-start}.logo{gap:10px}.logo img{width:87px;height:44px}.logo span{font-size:10px;padding-left:10px;letter-spacing:1px}.header-actions{gap:4px;justify-content:flex-end}.header-actions .btn{font-size:13px;padding:8px 10px;min-height:44px}.grid{grid-template-columns:1fr}.grid aside{order:-1}.building-card{margin:0;padding:16px 20px}.building-card .place-name{font-size:20px;display:inline}.building-card .btn{min-height:44px;padding:8px 12px}.building-card .secondary-detail,.grid aside>.panel:not(.building-card){display:none}main{padding:22px 16px 130px}.hero{padding:24px;margin-bottom:18px}h1{font-size:32px}.hero:after{font-size:140px;top:-25px;right:0}.panel{padding:20px}.instruction{font-size:27px}.route-card .panel{padding:24px}.direction{font-size:64px}.dock{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.dock .btn{padding:12px;min-height:58px}.filters{gap:10px}.large h1{font-size:36px}.large .instruction{font-size:33px}.preset-grid{grid-template-columns:1fr}dialog{padding:22px}.destination>.choose{padding:14px}.destination .symbol{display:none}.header-actions .btn{white-space:normal}.large .header-inner{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.current-building{font-weight:700}.building-card .aside-label{display:block}@media(max-width:700px){.grid aside{order:0}.hero{padding:18px 22px}.hero .eyebrow,.hero>p:not(.current-building){display:none}.hero h1{margin-top:0;font-size:30px}.hero .current-building{margin:0}.large .hero h1{font-size:34px}.result-head{flex-wrap:wrap}.filters{grid-template-columns:1fr}.large .dock{gap:6px}.large .dock .btn{font-size:18px;padding:10px 6px}}

.discovery-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.online-card{border:1px solid #aaa;border-radius:14px;padding:20px;margin:16px 0}.online-card .btn{margin-top:8px}.online-card p{margin-bottom:8px}#online-results,#nearby-results{margin-top:18px}@media(max-width:700px){.discovery-actions .btn{width:100%}}
