/* Presentation only: original React controls, destinations and scene remain intact. */
.mechanic-stage-tabs > button:nth-child(2) { display:none!important; }
.mechanic-card-heading .mechanic-skill { color:#087d87;font-size:12px;font-weight:800; }
.mechanic-card:has(.professional-check) { display:grid;gap:14px;padding:18px;border:1px solid #cde4f4;border-radius:16px;background:#fff;box-shadow:0 8px 24px #16476a12;color:#163b62; }
.mechanic-card:has(.professional-check)>.mechanic-card-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-18px -18px 0;padding:17px 20px;border-bottom:1px solid #cbe3f3;border-left:5px solid #ff9b35;border-radius:15px 15px 0 0;background:#eaf6ff;color:#087c98; }
.mechanic-card:has(.professional-check)>.mechanic-card-heading>span { font-size:12px;font-weight:900;letter-spacing:.5px; }
.mechanic-card:has(.professional-check)>.mechanic-card-heading>em { max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;border:1px solid #b9dff4;border-radius:999px;background:#fff;color:#086b92;font-size:11px;font-style:normal;font-weight:800; }
.mechanic-card:has(.professional-check)>h3 { margin:0;color:#084b9b;font-size:25px;line-height:1.2; }
.mechanic-card:has(.professional-check)>dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'objective-label location-label next-label' 'objective location next';gap:7px 10px;margin:0;padding:13px;border:1px solid #d7e9f6;border-radius:11px;background:#f8fcff; }
.mechanic-card:has(.professional-check)>dl dt { color:#087e93;font-size:11px;font-weight:850; }
.mechanic-card:has(.professional-check)>dl dd { min-width:0;margin:0;color:#254b73;font-size:13px;line-height:1.45;overflow-wrap:anywhere; }
.mechanic-card:has(.professional-check)>dl dt:nth-of-type(1){grid-area:objective-label}.mechanic-card:has(.professional-check)>dl dd:nth-of-type(1){grid-area:objective}
.mechanic-card:has(.professional-check)>dl dt:nth-of-type(2){grid-area:location-label}.mechanic-card:has(.professional-check)>dl dd:nth-of-type(2){grid-area:location}
.mechanic-card:has(.professional-check)>dl dt:nth-of-type(3){grid-area:next-label}.mechanic-card:has(.professional-check)>dl dd:nth-of-type(3){grid-area:next}
.mechanic-card:has(.professional-check)>.professional-check { min-width:0;margin:0;padding:13px;border:1px solid #d4e6f3;border-radius:11px;background:#fff; }
.mechanic-card:has(.professional-check)>.professional-check legend { padding:0 7px;color:#075c81;font-size:13px;font-weight:850; }
.mechanic-card:has(.professional-check)>.professional-check>p { margin:0 0 9px;color:#42617e;font-size:13px;line-height:1.45; }
.mechanic-card:has(.professional-check)>fieldset:first-of-type { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.mechanic-card:has(.professional-check)>fieldset:first-of-type legend { grid-column:1/-1; }
.mechanic-card:has(.professional-check)>.professional-check label { display:flex;align-items:flex-start;gap:8px;min-width:0;margin:5px 0 0;padding:9px 10px;border:1px solid #e0ebf3;border-radius:8px;background:#f6f9fb;color:#254767;font-size:12px;line-height:1.4;overflow-wrap:anywhere;cursor:pointer; }
.mechanic-card:has(.professional-check)>.professional-check label:has(input:checked) { border-color:#29a9a7;background:#eaf8f6; }
.mechanic-card:has(.professional-check)>.professional-check input { flex:0 0 16px;width:16px;height:16px;margin:1px 0 0;accent-color:#098f98; }
.mechanic-card:has(.professional-check)>fieldset:nth-of-type(2)>label { align-items:center; }
.mechanic-card:has(.professional-check)>fieldset:nth-of-type(3) { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px; }
.mechanic-card:has(.professional-check)>fieldset:nth-of-type(3)>legend,.mechanic-card:has(.professional-check)>fieldset:nth-of-type(3)>p { grid-column:1/-1; }
.mechanic-card:has(.professional-check)>.professional-safety { display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px 14px;border:1px solid #ffe0a0;border-radius:10px;background:#fff4d8;color:#78500c;font-size:12px;line-height:1.45; }
.mechanic-card:has(.professional-check)>.professional-safety input { flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:#d28700; }
.mechanic-card:has(.professional-check)>.professional-safety b { display:block;margin-bottom:2px;color:#76500c; }
.mechanic-card:has(.professional-check)>label:not(.professional-safety) { display:grid;gap:7px;color:#174c78;font-size:13px;font-weight:800; }
.mechanic-card:has(.professional-check)>label:not(.professional-safety) textarea { width:100%;min-height:102px;resize:vertical;padding:11px 12px;border:1px solid #cbdfea;border-radius:9px;background:#fbfdff;color:#153c63;font:inherit;line-height:1.5; }
.mechanic-card:has(.professional-check)>label:not(.professional-safety) small { color:#617991;font-size:11px;font-weight:500; }
.mechanic-card:has(.professional-check)>.mechanic-actions { display:flex;justify-content:flex-end;gap:9px;margin:0;padding-top:11px;border-top:1px solid #e4edf4; }
.mechanic-card:has(.professional-check)>.mechanic-actions button { min-height:42px;padding:9px 14px;border:1px solid #b8d7eb;border-radius:9px;background:#fff;color:#155578;font-size:13px;font-weight:800;cursor:pointer; }
.mechanic-card:has(.professional-check)>.mechanic-actions button.primary { border-color:#078e96;background:#078e96;color:#fff; }
.mechanic-card:has(.professional-check)>.mechanic-actions button:focus-visible,.mechanic-card:has(.professional-check) label:has(input):focus-within { outline:3px solid #9ad5f4;outline-offset:2px; }
@media(max-width:700px){.mechanic-card:has(.professional-check){gap:11px;padding:13px}.mechanic-card:has(.professional-check)>.mechanic-card-heading{margin:-13px -13px 0;padding:13px 14px}.mechanic-card:has(.professional-check)>h3{font-size:21px}.mechanic-card:has(.professional-check)>dl{grid-template-columns:minmax(0,1fr);grid-template-areas:'objective-label' 'objective' 'location-label' 'location' 'next-label' 'next';gap:4px 8px;padding:11px}.mechanic-card:has(.professional-check)>fieldset:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanic-card:has(.professional-check)>fieldset:nth-of-type(3){grid-template-columns:1fr}.mechanic-card:has(.professional-check)>.mechanic-actions{flex-wrap:wrap}.mechanic-card:has(.professional-check)>.mechanic-actions button.primary{flex:1 1 100%}}
.mechanic-card:has(.professional-check) .mechanic-feedback { margin:0;padding:10px 12px;border:1px solid #f2d19f;border-radius:8px;background:#fff8e9;color:#76500c;font-size:12px;line-height:1.45; }
.mechanic-card:not(:has(.professional-check)) { position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(170px,.82fr);align-items:start;gap:12px 16px;padding:18px;border:1px solid #c8e5f5;border-left:5px solid #ff9b35;border-radius:18px;background:linear-gradient(135deg,#fff 72%,#f0f8ff);box-shadow:0 8px 26px #174c7012;color:#153d68; }
.mechanic-card:not(:has(.professional-check))>.mechanic-card-heading { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-18px -18px 0;padding:14px 18px;border-bottom:1px solid #d5e9f6;border-radius:0 15px 0 0;background:linear-gradient(90deg,#fff4d0,#eef8ff 58%);color:#087a93; }
.mechanic-card:not(:has(.professional-check))>.mechanic-card-heading>span { font-size:12px;font-weight:900; }
.mechanic-card:not(:has(.professional-check))>.mechanic-card-heading>em,.mechanic-card:not(:has(.professional-check))>.mechanic-card-heading>.mechanic-skill { flex:none;padding:6px 10px;border:1px solid #c9e2f4;border-radius:999px;background:#eaf5ff;color:#15599a;font-size:11px;font-style:normal;font-weight:800; }
.mechanic-card:not(:has(.professional-check))>h3 { grid-column:1;margin:0;color:#103d86;font-size:23px;line-height:1.24; }
.mechanic-card:not(:has(.professional-check))>.mechanic-observe { grid-column:1;margin:0;padding:11px 13px;border-left:4px solid #10a5b0;border-radius:0 8px 8px 0;background:#edf8fa;color:#174b70;font-size:13px;line-height:1.45; }
.mechanic-card:not(:has(.professional-check))>.mechanic-question-art { grid-column:2;grid-row:2 / span 3;align-self:stretch;width:100%;min-height:260px;max-height:440px;object-fit:cover;object-position:center;border:1px solid #c8e4f4;border-radius:14px;background:#eaf5fb;box-shadow:0 5px 18px #16476a18; }
.mechanic-card:not(:has(.professional-check))>.mechanic-options { grid-column:1;display:grid;gap:8px; }
.mechanic-card:not(:has(.professional-check))>.mechanic-options>button { display:block;width:100%;min-height:58px;padding:11px 13px;border:1px solid #c9e2f2;border-radius:10px;background:#fff;color:#17466f;text-align:left;font:500 13px/1.45 Arial,Helvetica,sans-serif;overflow-wrap:anywhere;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s; }
.mechanic-card:not(:has(.professional-check))>.mechanic-options>button:hover { border-color:#52b4dc;background:#f2f9ff; }
.mechanic-card:not(:has(.professional-check))>.mechanic-options>button[aria-pressed="true"] { border-color:#0da5a8;background:#e8f8f5;box-shadow:inset 0 0 0 1px #0da5a8; }
.mechanic-card:not(:has(.professional-check))>.mechanic-hint,.mechanic-card:not(:has(.professional-check))>.mechanic-feedback { grid-column:1/-1;margin:0;padding:11px 13px;border:1px solid #b9e8d5;border-radius:10px;background:#eaf8f1;color:#08745d;font-size:13px;line-height:1.5; }
.mechanic-card:not(:has(.professional-check))>.mechanic-feedback:not(.correct) { border-color:#f1d39e;background:#fff8e9;color:#76500c; }
.mechanic-card:not(:has(.professional-check))>.mechanic-actions { grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin:0;padding-top:12px;border-top:1px solid #dceaf2; }
.mechanic-card:not(:has(.professional-check))>.mechanic-actions button { min-height:44px;padding:10px 14px;border:1px solid #afd5ea;border-radius:10px;background:#fff;color:#155578;font-size:13px;font-weight:800;cursor:pointer; }
.mechanic-card:not(:has(.professional-check))>.mechanic-actions button.primary { border-color:#078e96;background:#078e96;color:#fff; }
.mechanic-card:not(:has(.professional-check)) button:focus-visible { outline:3px solid #87cdf1;outline-offset:2px; }
@media(max-width:700px){.mechanic-card:not(:has(.professional-check)){grid-template-columns:minmax(0,1fr);gap:10px;padding:13px}.mechanic-card:not(:has(.professional-check))>.mechanic-card-heading{margin:-13px -13px 0;padding:12px;flex-wrap:wrap}.mechanic-card:not(:has(.professional-check))>h3,.mechanic-card:not(:has(.professional-check))>.mechanic-observe,.mechanic-card:not(:has(.professional-check))>.mechanic-question-art,.mechanic-card:not(:has(.professional-check))>.mechanic-options{grid-column:1}.mechanic-card:not(:has(.professional-check))>.mechanic-question-art{grid-row:auto;min-height:150px;max-height:240px;aspect-ratio:1.55/1}.mechanic-card:not(:has(.professional-check))>h3{font-size:20px}.mechanic-card:not(:has(.professional-check))>.mechanic-options>button{min-height:52px}.mechanic-card:not(:has(.professional-check))>.mechanic-actions{justify-content:stretch}.mechanic-card:not(:has(.professional-check))>.mechanic-actions button{flex:1 1 42%}.mechanic-card:not(:has(.professional-check))>.mechanic-actions button.primary{flex:1 1 100%}}
.city-native-route-active aside.mechanic-pilot { box-sizing:border-box;display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #c9e8f4;border-radius:20px;background:#f7fbff;box-shadow:0 18px 52px #06365838;color:#153b66;scrollbar-width:thin;scrollbar-color:#98c8dc transparent; }
.city-native-route-active aside.mechanic-pilot>header { position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:126px;padding:20px 22px;overflow:hidden;border-radius:19px 19px 0 0;background:linear-gradient(105deg,#effaff 12%,#e9f7ff 54%,#dcefff); }
.city-native-route-active aside.mechanic-pilot>header::after { position:absolute;z-index:-1;top:0;right:0;bottom:0;width:48%;background-image:linear-gradient(90deg,#effaff 0%,#effaffc9 20%,#effaff00 72%),var(--mechanic-hero-image);background-position:center;background-size:cover;content:"";mask-image:linear-gradient(90deg,transparent 0%,#000 32%); }
.city-native-route-active aside.mechanic-pilot>header>div:first-child { min-width:0;max-width:calc(100% - 88px); }
.city-native-route-active aside.mechanic-pilot>header small { display:block;margin-bottom:6px;color:#07839a;font-size:10px;font-weight:900;letter-spacing:1px; }
.city-native-route-active aside.mechanic-pilot>header h2 { margin:0;color:#123f78;font-size:25px;line-height:1.16; }
.city-native-route-active aside.mechanic-pilot>header p { margin:6px 0 0;color:#486d92;font-size:13px;line-height:1.4; }
.city-native-route-active aside.mechanic-pilot>header>div:last-child { display:flex;flex:none;gap:7px; }
.city-native-route-active aside.mechanic-pilot>header button { display:grid;place-items:center;width:42px;height:42px;border:1px solid #b9d9ed;border-radius:11px;background:#ffffffed;color:#15517b;cursor:pointer; }
.city-native-route-active aside.mechanic-pilot>.professional-selector { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:12px;padding:14px 18px;border-bottom:1px solid #d8eaf4;background:#fff; }
.city-native-route-active aside.mechanic-pilot>.professional-selector label { display:grid;gap:6px;min-width:0;color:#087990;font-size:11px;font-weight:850; }
.city-native-route-active aside.mechanic-pilot>.professional-selector select { box-sizing:border-box;width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid #c5ddec;border-radius:10px;background:#fafdff;color:#16436d;font-size:12px;font-weight:700; }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context { display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.35fr);grid-template-rows:auto 1fr;gap:4px 16px;margin:0;padding:15px 18px;border-bottom:1px solid #d7e9f3;background:linear-gradient(105deg,#eef9fc,#f9fcff); }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context>strong { color:#07869a;font-size:15px; }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context>p { margin:0;color:#244e79;font-size:13px;line-height:1.45; }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context>span { grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d1e6fb;border-radius:11px;background:#eef6ff;color:#214c7b;font-size:12px;font-weight:700;line-height:1.4; }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context>span svg { flex:none;width:24px;height:24px;color:#1387cc; }
.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs { display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:12px 18px 7px;background:#fff; }
.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs>button:first-child { display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 13px;border:1px solid #bde5f3;border-radius:13px;background:linear-gradient(100deg,#e8f8f5,#f6fbff);color:#087e8b;text-align:left; }
.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs>button:first-child>b { display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#21b6c0,#1266d8);color:white;font-size:20px; }
.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs>button:first-child>span { display:grid;gap:2px;font-size:14px;font-weight:900; }
.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs>button:first-child small { color:#426f91;font-size:11px;font-weight:700; }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-meter { position:relative;height:10px;margin:0 18px 9px;overflow:hidden;border-radius:99px;background:repeating-linear-gradient(90deg,#e3eef2 0 calc(25% - 3px),#fff calc(25% - 3px) 25%); }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-meter>span { display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#05aaa7,#1589df); }
.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-meter>small { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 5px;background:#f4f9fb;color:#174c72;font-size:9px;font-weight:800;white-space:nowrap; }
.city-native-route-active aside.mechanic-pilot>.mechanic-route-toggle { display:flex;align-items:center;gap:9px;min-height:42px;margin:0 18px 10px;padding:8px 12px;border:1px solid #d5eaf3;border-radius:11px;background:#fff;color:#087e91;font-size:13px;font-weight:800;text-align:left;cursor:pointer; }
.city-native-route-active aside.mechanic-pilot>.mechanic-route { display:grid;gap:7px;margin:0 18px 12px;padding:0;list-style:none; }
.city-native-route-active aside.mechanic-pilot>.mechanic-route>li { padding:9px 11px;border:1px solid #d7e7f0;border-radius:9px;background:#fff;color:#486884;font-size:11px; }
.city-native-route-active aside.mechanic-pilot>main { min-width:0;margin:0;padding:0 18px 14px; }
.city-native-route-active aside.mechanic-pilot>footer { position:sticky;bottom:-1px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:auto -1px -1px;padding:10px 16px;border-top:1px solid #d8e8f0;border-radius:0 0 19px 19px;background:#f8fcfff2;backdrop-filter:blur(10px); }
.city-native-route-active aside.mechanic-pilot>footer>span { color:#426784;font-size:10px; }
.city-native-route-active aside.mechanic-pilot>footer button { flex:none;min-height:40px;padding:8px 12px;border:1px solid #bad8e8;border-radius:10px;background:#fff;color:#155578;font-size:11px;font-weight:800;cursor:pointer; }
@media(max-width:700px){.city-native-route-active aside.mechanic-pilot>header{min-height:112px;padding:15px 16px}.city-native-route-active aside.mechanic-pilot>header h2{font-size:21px}.city-native-route-active aside.mechanic-pilot>header p{font-size:12px}.city-native-route-active aside.mechanic-pilot>.professional-selector{gap:8px;padding:11px 13px}.city-native-route-active aside.mechanic-pilot>.professional-selector select{height:40px;font-size:11px}.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context{grid-template-columns:minmax(0,1fr);gap:5px;padding:12px 14px}.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-context>span{grid-column:1;grid-row:auto;padding:8px 10px}.city-native-route-active aside.mechanic-pilot>.mechanic-stage-tabs{padding:9px 13px 6px}.city-native-route-active aside.mechanic-pilot>.mechanic-pilot-meter{margin:0 13px 8px}.city-native-route-active aside.mechanic-pilot>.mechanic-route-toggle{margin:0 13px 8px}.city-native-route-active aside.mechanic-pilot>.mechanic-route{margin:0 13px 10px}.city-native-route-active aside.mechanic-pilot>main{padding:0 13px 10px}.city-native-route-active aside.mechanic-pilot>footer{padding:9px 12px}.city-native-route-active aside.mechanic-pilot>footer>span{font-size:9px}}
.city-native-route-active .city-quiz-empty-window.city-quiz-intro { width:min(520px,calc(100vw - 24px));height:min(92dvh,850px);background:#fff; }
.city-native-route-active .city-quiz-empty-window.city-quiz-intro>header { display:grid;grid-template-columns:52px minmax(0,1fr) 44px;gap:16px;padding:22px 24px;border:0;background:#fff; }
.city-native-route-active .city-quiz-empty-window.city-quiz-intro h2 { font-size:36px;color:#153c69; }
.city-quiz-intro-badge { position:relative;display:block;width:52px;height:52px;overflow:hidden;border-radius:50%; }
.city-quiz-intro-badge img { position:absolute;max-width:none;width:990%;left:-51%;top:-45%; }
.city-native-route-active .city-quiz-intro .city-quiz-intro-body { display:flex;flex-direction:column;gap:0;padding-bottom:20px;background:linear-gradient(160deg,#fff 82%,#d9efff); }
.city-quiz-intro-copy { flex:none;margin:0 26px 16px;padding:20px 24px;border-radius:24px;background:#e8f3ff;color:#234b77;font-size:19px;line-height:1.35; }
.city-quiz-intro-copy strong { color:#087cff; }
.city-quiz-intro-artwork { position:relative;flex:0 1 auto;min-height:180px;max-height:min(42dvh,360px);aspect-ratio:1.4/1;overflow:hidden;width:100%; }
.city-quiz-intro-artwork img { position:absolute;display:block;max-width:none;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 57%; }
.city-quiz-intro-launch { flex:none;display:flex;align-items:center;justify-content:center;gap:13px;align-self:center;max-width:calc(100% - 48px);min-height:66px;margin:18px 24px 0;padding:12px 20px;border:2px solid #5ac5ff;border-radius:22px;background:linear-gradient(#299aff,#0075ff);box-shadow:0 8px 24px #0b8dff40,inset 0 1px 3px #fff9;color:#fff;font:800 21px/1.15 Arial,sans-serif;cursor:pointer; }
.city-quiz-intro-launch img { width:36px;height:36px;object-fit:contain;mix-blend-mode:screen; }
.city-quiz-intro-launch>span:last-child { font-size:32px; }
.city-quiz-intro-launch:focus-visible { outline:3px solid #173e6a;outline-offset:4px; }
.city-quiz-intro-review { flex:none;align-self:center;min-height:42px;margin:12px 24px 0;padding:9px 16px;border:1px solid #efb65a;border-radius:10px;background:#ffe6b8;color:#70400b;font:700 15px/1.25 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 5px #9a5a1824; }
.city-quiz-intro-review:hover { border-color:#e89b27;background:#ffd58e;color:#633700; }
.city-quiz-intro-review:focus-visible { outline:3px solid #173e6a;outline-offset:3px; }
.city-quiz-intro-review:disabled { opacity:.65;cursor:wait; }
.city-quiz-review-status { margin:8px 24px 0;color:#a34016;font-size:13px;text-align:center; }
@media(max-width:700px) { .city-native-route-active .city-quiz-empty-window.city-quiz-intro { top:auto;bottom:12px;right:12px;transform:none;height:min(92dvh,850px); }.city-native-route-active .city-quiz-intro>header { padding:16px 20px;gap:12px; }.city-quiz-intro-copy { margin-inline:20px;font-size:17px;padding:18px; }.city-quiz-intro-artwork { min-height:150px;max-height:38dvh; }.city-quiz-intro-launch { font-size:18px;gap:10px;padding:12px; }.city-quiz-intro-launch img { width:30px;height:30px; } }
.city-native-route-active .city-quiz-route-entry { display:none!important; }
.city-native-route-active dialog.floor-station-dialog { box-sizing:border-box;display:flex;flex-direction:column;gap:16px;width:min(1240px,calc(100vw - 48px));height:min(94dvh,1120px);max-width:calc(100vw - 48px);max-height:calc(100dvh - 32px);margin:auto;padding:28px 34px 18px;border:1px solid #c8e9f1;border-radius:26px;background:linear-gradient(145deg,#f7fcfff7,#edf7fbf5);box-shadow:0 22px 72px #052d4b52,inset 0 0 0 2px #ffffffd9;color:#102b55;font:16px/1.5 Arial,Helvetica,sans-serif;overflow-y:auto;overscroll-behavior:contain;backdrop-filter:blur(12px); }
.city-native-route-active dialog.floor-station-dialog::backdrop { background:#07263f80;backdrop-filter:blur(5px); }
.city-native-route-active dialog.floor-station-dialog>header { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:20px;align-items:center;flex:none;padding:8px 0 4px;background:linear-gradient(100deg,#f7fcfff2 0%,#f7fcffdd 58%,#eef8fb88 100%); }
.city-native-route-active dialog.floor-station-dialog>header small { color:#087d87;font-size:14px;font-weight:900;letter-spacing:1.4px; }
.city-native-route-active dialog.floor-station-dialog>header h2 { max-width:900px;margin:8px 0 0;color:#102858;font-size:34px;font-weight:900;line-height:1.12; }
.city-native-route-active dialog.floor-station-dialog>header button { display:grid;place-items:center;width:72px;height:72px;border:1px solid #c9dfef;border-radius:18px;background:#fff;color:#16416b;font-size:38px;font-weight:500;box-shadow:0 5px 18px #1d527517; }
.city-native-route-active .floor-station-dialog .floor-route-progress { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:4px 0;padding:0;list-style:none; }
.city-native-route-active .floor-station-dialog .floor-route-progress li { display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:78px;padding:12px 16px;border:1px solid #d8e8f1;border-radius:18px;background:#ffffffd9;color:#536b8f;font-size:18px;font-weight:800;box-shadow:0 6px 18px #133e5c0c; }
.city-native-route-active .floor-station-dialog .floor-route-progress li span { display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e5eff5;color:#20476c;font-size:21px;font-weight:900; }
.city-native-route-active .floor-station-dialog .floor-route-progress li.is-current { border:2px solid #0795a0;background:#eafafa;color:#087782; }
.city-native-route-active .floor-station-dialog .floor-route-progress li.is-current span,.city-native-route-active .floor-station-dialog .floor-route-progress li.is-complete span { background:#0b8c98;color:#fff; }
.city-native-route-active .floor-station-dialog .floor-route-locked,.city-native-route-active .floor-station-dialog [aria-label="Actividad situada"],.city-native-route-active .floor-station-dialog .floor-curriculum-link,.city-native-route-active .floor-station-dialog .harbor-choices,.city-native-route-active .floor-station-dialog .harbor-note { margin:0 0 14px;padding:20px 24px;border:1px solid #d9edf4;border-radius:22px;background:#ffffffdc;box-shadow:0 8px 24px #1d52750d; }
.city-native-route-active .floor-station-dialog [aria-label="Actividad situada"] h3,.city-native-route-active .floor-station-dialog .floor-curriculum-link h3 { margin:0 0 10px;color:#087782;font-size:24px;font-weight:900; }
.city-native-route-active .floor-station-dialog [aria-label="Actividad situada"] p,.city-native-route-active .floor-station-dialog .floor-curriculum-link p { margin:8px 0;color:#304a70;font-size:17px;line-height:1.5; }
.city-native-route-active .floor-station-dialog .floor-curriculum-link { background:#eef8fb; }
.city-native-route-active .floor-station-dialog .floor-curriculum-link small { display:block;margin-bottom:8px;color:#087d87;font-size:13px;font-weight:900;letter-spacing:1px; }
.city-native-route-active .floor-station-dialog .floor-curriculum-link dl { display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:8px 18px;margin:12px 0; }
.city-native-route-active .floor-station-dialog .floor-curriculum-link dt { color:#087782;font-size:15px;font-weight:900; }
.city-native-route-active .floor-station-dialog .floor-curriculum-link dd { margin:0;color:#243f67;font-size:17px; }
.city-native-route-active .floor-station-dialog .harbor-choices { padding:22px 24px; }
.city-native-route-active .floor-station-dialog .harbor-choices legend { max-width:100%;padding:0 0 14px;color:#102858;font-size:24px;font-weight:900;line-height:1.3; }
.city-native-route-active .floor-station-dialog .harbor-choices label { display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:16px;min-height:78px;margin:0 0 12px;padding:14px 18px;border:1px solid #d7e9f3;border-radius:18px;background:linear-gradient(100deg,#fff,#f8fcff);color:#243f67;font-size:18px;line-height:1.4;box-shadow:0 4px 14px #1851710c;cursor:pointer; }
.city-native-route-active .floor-station-dialog .harbor-choices label:last-child { margin-bottom:0; }
.city-native-route-active .floor-station-dialog .harbor-choices label:has(input:checked) { border:2px solid #36bfc3;background:linear-gradient(100deg,#e7f9f7,#f6fcff);color:#123e68; }
.city-native-route-active .floor-station-dialog .harbor-choices input { appearance:none;display:grid;place-items:center;width:24px;height:24px;margin:0;border:2px solid #8b9da7;border-radius:50%;background:#fff; }
.city-native-route-active .floor-station-dialog .harbor-choices input:checked { border:2px solid #078d98; }
.city-native-route-active .floor-station-dialog .harbor-choices input:checked::after { width:12px;height:12px;border-radius:50%;background:#078d98;content:""; }
.city-native-route-active .floor-station-dialog .harbor-note { display:grid;gap:10px;color:#102858;font-size:20px;font-weight:900; }
.city-native-route-active .floor-station-dialog .harbor-note textarea { box-sizing:border-box;width:100%;min-height:120px;padding:16px 18px;border:1px solid #b9ddea;border-radius:16px;background:#fff;color:#18395f;font:17px/1.5 Arial,Helvetica,sans-serif;resize:vertical; }
.city-native-route-active .floor-station-dialog .harbor-note textarea::placeholder { color:#7b91aa; }
.city-native-route-active .floor-station-dialog .workshop-disclaimer { margin:8px 0;padding:13px 16px;border:1px solid #f1d28c;border-radius:14px;background:#fff5df;color:#4b5060;font-size:15px; }
.city-native-route-active .floor-station-dialog>footer { position:sticky;bottom:-18px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:8px -34px -18px;padding:14px 28px;border-top:1px solid #d9eaf1;background:#f8fcfff2;backdrop-filter:blur(12px); }
.city-native-route-active .floor-station-dialog>footer span { color:#536b8f;font-size:15px; }
.city-native-route-active .floor-station-dialog>footer button { min-height:58px;padding:12px 24px;border:1px solid #058c98;border-radius:16px;background:linear-gradient(120deg,#0b8995,#087782);color:#fff;font-size:18px;font-weight:900;box-shadow:0 8px 18px #07858d35; }
.city-native-route-active .floor-station-dialog [role="status"],.city-native-route-active .floor-station-dialog [role="alert"] { color:#087782;font-weight:800; }
.city-native-route-active aside.mechanic-pilot { position:fixed!important;top:50%!important;right:16px!important;bottom:auto!important;left:auto!important;z-index:35!important;width:min(720px,46vw)!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow:auto!important;transform:translateY(-50%)!important; }
.city-native-route-active aside.mechanic-pilot .mechanic-observe { border-left:4px solid #10a5b0;background:#edf8fa;padding:12px 14px; }
.city-native-route-active aside.mechanic-pilot .mechanic-feedback::before { content:'Fundamentación: ';font-weight:900;color:#087782; }
@media(max-width:600px) { .city-native-route-active .city-viewport .city-door-action[data-city-quiz-station="true"] { width:min(380px,calc(100% - 24px));min-height:78px;padding:10px 14px;gap:10px;border-width:3px;font-size:18px; }.city-native-route-active .city-viewport .city-door-action[data-city-quiz-station="true"] kbd { flex-basis:52px;width:52px;height:52px;border-width:3px;border-radius:14px;font-size:24px; } }
@media(max-width:700px) { .city-native-route-active dialog.floor-station-dialog { width:100vw;height:100dvh;max-width:none;max-height:none;padding:22px 16px calc(18px + env(safe-area-inset-bottom));border:0;border-radius:22px 22px 0 0; }.city-native-route-active dialog.floor-station-dialog>header { grid-template-columns:minmax(0,1fr) 58px;gap:12px; }.city-native-route-active dialog.floor-station-dialog>header small {font-size:12px;letter-spacing:1px;}.city-native-route-active dialog.floor-station-dialog>header h2 {font-size:28px;}.city-native-route-active dialog.floor-station-dialog>header button {width:58px;height:58px;border-radius:15px;font-size:32px;}.city-native-route-active .floor-station-dialog .floor-route-progress {gap:8px;}.city-native-route-active .floor-station-dialog .floor-route-progress li {grid-template-columns:1fr;justify-items:center;gap:5px;min-height:68px;padding:8px 4px;font-size:13px;text-align:center;}.city-native-route-active .floor-station-dialog .floor-route-progress li span {width:34px;height:34px;font-size:17px;}.city-native-route-active .floor-station-dialog .floor-route-locked,.city-native-route-active .floor-station-dialog [aria-label="Actividad situada"],.city-native-route-active .floor-station-dialog .floor-curriculum-link,.city-native-route-active .floor-station-dialog .harbor-choices,.city-native-route-active .floor-station-dialog .harbor-note {margin-bottom:11px;padding:15px 16px;border-radius:18px;}.city-native-route-active .floor-station-dialog .floor-curriculum-link dl {grid-template-columns:1fr;gap:3px;}.city-native-route-active .floor-station-dialog .floor-curriculum-link dd {margin-bottom:8px;font-size:15px;}.city-native-route-active .floor-station-dialog .harbor-choices legend {font-size:20px;}.city-native-route-active .floor-station-dialog .harbor-choices label {grid-template-columns:24px minmax(0,1fr);gap:12px;min-height:64px;padding:12px;font-size:16px;}.city-native-route-active .floor-station-dialog .harbor-note {font-size:17px;}.city-native-route-active .floor-station-dialog .harbor-note textarea {min-height:112px;padding:13px;font-size:16px;}.city-native-route-active .floor-station-dialog>footer {bottom:calc(-18px - env(safe-area-inset-bottom));margin-right:-16px;margin-left:-16px;margin-bottom:calc(-18px - env(safe-area-inset-bottom));padding:12px 16px calc(12px + env(safe-area-inset-bottom));}.city-native-route-active .floor-station-dialog>footer span {font-size:12px;}.city-native-route-active .floor-station-dialog>footer button {min-height:52px;padding:10px 16px;font-size:16px;} }
.city-quiz-route-entry { position:absolute;top:78px;left:16px;z-index:16;padding:12px 18px;border:2px solid #ffd83c;border-radius:8px;background:#fff7d8;color:#073d65;font:700 14px Arial,sans-serif;text-decoration:none;box-shadow:0 0 16px #ffd83c80; }
.city-quiz-route-entry:focus-visible { outline:3px solid #087ee7;outline-offset:3px; }
.city-page { padding-inline:0!important; }
.city-page .city-header { width:100%;max-width:none;margin-left:0;margin-right:0;border-radius:0!important; }
.city-page:has(.city-room-summary) .city-header { display:none!important; }
.city-page .city-walk-workspace { width:calc(100% - 60px);margin-inline:auto; }
@media(max-width:700px) { .city-page .city-walk-workspace { width:calc(100% - 32px); } }
.city-page .city-header { position:relative;isolation:isolate;overflow:hidden;min-height:270px;padding:30px 36px;margin-bottom:18px;border-radius:8px;background:#f3faff;align-items:center; }
.city-page .city-header::before { content:'';position:absolute;inset:0;z-index:-1;background-image:url('./assets/city-header-reference.webp');background-repeat:no-repeat;background-size:auto 145%;background-position:right top;mask-image:linear-gradient(to right,transparent 35%,#000 54%),linear-gradient(to bottom,#000 72%,transparent 95%);mask-composite:intersect; }
.city-page .city-header>div { width:49%;max-width:590px; }
.city-page .city-header .city-eyebrow { display:block;color:#0879c7;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:800;letter-spacing:0; }
.city-page .city-header .city-eyebrow::after { content:'';display:block;width:48px;height:5px;background:#81ddc6;border-radius:3px;margin-top:10px; }
.city-page .city-header h1 { font-family:Arial,Helvetica,sans-serif;font-size:44px;line-height:1.08;font-weight:800;letter-spacing:0;color:#076fbf;margin:15px 0;max-width:540px; }
.city-page .city-header p { font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#617d99;max-width:480px;margin:0; }
.city-page .city-header .city-back { position:absolute;right:26px;bottom:20px;min-height:48px;padding:12px 22px;background:#fff;border:1px solid #a4d0ff;border-radius:8px;box-shadow:0 4px 14px #1971c526;font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;color:#0963ac; }
.city-page .city-header .city-back::after { content:'›';margin-left:16px;font-size:22px;line-height:1; }
.city-page .city-header .city-back:focus-visible { outline:3px solid #087ee7;outline-offset:3px; }
@media(min-width:1001px) { .city-page .city-walk-workspace { height:calc(100dvh - 340px)!important;min-height:360px!important; }.city-page { overflow-y:auto; } }
@media(max-width:700px) { .city-page .city-header { min-height:370px;padding:22px 20px 160px; }.city-page .city-header>div { width:100%;max-width:none; }.city-page .city-header h1 { font-size:32px;max-width:420px; }.city-page .city-header p { font-size:14px; }.city-page .city-header .city-eyebrow { font-size:11px; }.city-page .city-header::before { inset:auto 0 0;height:155px;background-size:auto 145%;mask-image:linear-gradient(to right,transparent 0%,#000 24%); }.city-page .city-header .city-back { bottom:12px;right:12px;font-size:13px;padding:10px 14px;min-height:42px; } }
.city-page .city-walk-workspace { grid-template-columns:minmax(0,1fr) 540px;max-width:1840px;gap:18px; }
.city-page .city-walk-inspector { padding:20px;min-width:0;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#a8cdd8 transparent;background:#f8fcff;border:1px solid #c8e5fb;border-radius:24px;box-shadow:0 6px 25px #9cd8f039;display:flex;flex-direction:column;gap:14px; }
.city-walk-inspector *, .city-walk-inspector *::before, .city-walk-inspector *::after { box-sizing:border-box;letter-spacing:0; }
.city-walk-inspector { --panel-photo:url('./assets/panel-reference.webp');font-family:Arial,Helvetica,sans-serif; }
.city-walk-inspector .city-entry-header { position:static;background:transparent;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 146px;gap:14px;align-items:center;flex:none; }
.city-entry-header .city-inspector-top { border:0;padding:0;gap:12px;align-items:center; }
.city-entry-header .city-eyebrow { color:#0a4693;font-size:20px;font-weight:800;line-height:1.13;max-width:190px;position:relative;padding-bottom:9px; }
.city-entry-header .city-eyebrow::after { content:'';position:absolute;bottom:0;left:0;width:30px;height:4px;border-radius:3px;background:#09a69f; }
.city-entry-header .city-inspector-top strong { font-size:13px;color:#5d7b92;line-height:1.3;border-left:1px solid #bad8ee;padding-left:12px;max-width:94px; }
.city-entry-header .city-inspector-top strong::first-line { color:#009e96;font-size:26px;font-weight:800; }
.city-walk-inspector .city-entry-map { margin:0;min-height:52px;padding:10px;background:#007e91;border-radius:12px;font-size:15px;gap:8px;box-shadow:0 3px 0 #00677b; }
.city-entry-map::after { content:'›';font-size:28px;font-weight:400;margin-left:4px;line-height:1; }
.city-walk-inspector .city-entry-map svg { width:22px;height:22px;flex:none; }
.city-walk-inspector .city-clock { margin:0;min-height:72px;padding:14px 26% 12px 84px;position:relative;background:#e4f3fd;border-radius:18px;gap:4px;isolation:isolate;flex:none;overflow:hidden; }
.city-clock::before { content:'';position:absolute;left:10px;top:14px;width:64px;height:38px;background-image:var(--panel-photo);background-size:746.087% 2735.821%;background-position:7.402% 8.097%;border-radius:12px; }
.city-clock::after { content:'';position:absolute;right:0;inset-block:0;width:29%;background-image:var(--panel-photo);background-size:315.441% 1992.391%;background-position:93.174% 7.467%;z-index:-1; }
.city-walk-inspector .city-clock strong { font-size:16px;line-height:1.2;color:#063d83; }
.city-walk-inspector .city-clock small { font-size:12px;color:#5c7d96;line-height:1.4; }
.city-walk-inspector .city-mission-card { margin:0;padding:18px 42% 18px 18px;min-height:204px;gap:11px;position:relative;background:#edf9f4;border:1px solid #a3ded0;border-radius:20px;display:grid;align-content:center;flex:none; }
.city-mission-card::after { content:'';position:absolute;right:14px;top:18px;width:35%;aspect-ratio:310/242;background-image:var(--panel-photo);background-size:276.774% 757.438%;background-position:88.321% 16.907%;border-radius:12px;box-shadow:0 5px 12px #28687922; }
.city-walk-inspector .city-mission-card>strong { font-size:19px;line-height:1.25;font-weight:800;color:#095b78;align-items:flex-start; }
.city-mission-card>strong svg { flex:none;width:25px;height:25px;color:#00a397;margin-top:2px; }
.city-walk-inspector .city-mission-card>p { color:#5d7e91;font-size:14px;line-height:1.45; }
.city-walk-inspector .city-mission-card>button { background:#008397;border:0;color:white;padding:10px 12px;min-height:42px;font-size:14px;justify-content:center;border-radius:10px; }
.city-walk-inspector .city-mission-card>a { font-size:12px;line-height:1.4;color:#007184; }
.city-walk-inspector .city-mission-card>a[data-city-learning-experience] { display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid #9bd6cd;border-radius:10px;background:#f0fbf8;color:#087c70;font-weight:800;text-decoration:none; }
.city-walk-inspector .city-mission-card>a[data-city-learning-experience]:hover { background:#e2f7f1;border-color:#62c6b2; }
.city-walk-inspector .city-island-card { margin:0;padding:14px 10px 12px;background:#fffbef;border:1px solid #ffda94;border-radius:20px;gap:10px;flex:none;display:block; }
.city-walk-inspector .city-island-heading { position:relative;min-height:63px;padding:3px 33% 0 6px;display:block;list-style:none; }
.city-walk-inspector .city-island-heading::marker, .city-walk-inspector .city-specialty-section>summary::marker { content:''; }
.city-walk-inspector .city-island-heading::-webkit-details-marker,.city-walk-inspector .city-specialty-section>summary::-webkit-details-marker { display:none; }
.city-island-heading::after { content:'';position:absolute;right:2px;top:0;width:34%;aspect-ratio:342/134;background-image:var(--panel-photo);background-size:250.877% 1367.91%;background-position:89.922% 33.078%;border-radius:8px; }
.city-walk-inspector .city-island-heading>span { font-size:11px;color:#d17606;font-weight:800; }
.city-walk-inspector .city-island-heading>strong { font-size:24px;line-height:1.2;color:#073f83;font-weight:800;margin-top:4px; }
.city-walk-inspector .city-island-card>p { padding:0 5px;margin:0 0 14px;font-size:13px;color:#63829a; }
.city-walk-inspector .city-island-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.city-walk-inspector .city-island-grid button { display:grid;grid-template-columns:64px minmax(0,1fr) 14px;align-items:center;gap:8px;min-height:110px;padding:7px 8px 7px 6px;border:1px solid #dce4e9;border-radius:13px;background:#fff;box-shadow:0 2px 5px #153c5f07; }
.city-walk-inspector .city-island-grid button:first-child { grid-column:auto; }
.city-island-grid button::before { content:'';grid-column:1;grid-row:1;width:64px;height:72px;border-radius:9px;background-image:var(--panel-photo);background-size:auto 1636.607%;background-position:var(--photo-x) var(--photo-y); }
.city-walk-inspector .city-island-grid button>svg { display:none; }
.city-walk-inspector .city-island-grid button>span { grid-column:2;grid-row:1;gap:5px; }
.city-island-grid button::after { content:'›';grid-column:3;grid-row:1;display:grid;place-items:center;background:#e7f4ff;color:#0065a9;width:18px;height:27px;font-size:26px;line-height:1;border-radius:12px; }
.city-walk-inspector .city-island-grid button strong { font-size:12px;color:#063d83;font-weight:800;line-height:1.25;overflow-wrap:anywhere; }
.city-walk-inspector .city-island-grid button small { font-size:11.5px;line-height:1.35;color:#5d7b93; }
.city-island-grid button:nth-child(1) { --photo-x:8.356%;--photo-y:41.604%; }
.city-island-grid button:nth-child(2) { --photo-x:60.243%;--photo-y:41.604%; }
.city-island-grid button:nth-child(3) { --photo-x:8.356%;--photo-y:49.913%; }
.city-island-grid button:nth-child(4) { --photo-x:60.243%;--photo-y:49.913%; }
.city-island-grid button:nth-child(5) { --photo-x:8.356%;--photo-y:58.221%; }
.city-island-grid button:nth-child(6) { --photo-x:60.243%;--photo-y:58.221%; }
.city-island-grid button:nth-child(7) { --photo-x:8.356%;--photo-y:66.531%; }
.city-island-grid button:nth-child(8) { --photo-x:60.243%;--photo-y:66.531%; }
.city-walk-inspector .city-approach { border:1px solid #83d4e7;background:#f7fdff;color:#007a90;font-size:14px;padding:11px;min-height:42px;border-radius:10px; }
.city-walk-inspector .city-island-card>.city-approach { margin-top:10px; }
.city-walk-inspector .city-specialty-section { margin:0;padding:15px 12px 12px;background:#edf7ff;border:1px solid #bcdefd;border-radius:20px;flex:none; }
.city-walk-inspector .city-specialty-section>summary { display:block;list-style:none; }
.city-walk-inspector .city-specialty-section>summary .city-eyebrow { font-size:11px;color:#168de5;font-weight:800; }
.city-walk-inspector .city-specialty-section>summary>strong { font-size:23px;line-height:1.2;color:#073f83;font-weight:800;margin:5px 0 12px; }
.city-walk-inspector .city-district-select { margin:0 0 14px;font-size:12px;color:#567a95;display:grid;gap:5px; }
.city-walk-inspector .city-district-select select { font-size:14px;background:#f9fcff;border:1px solid #99caf2;min-height:42px;padding:9px 10px;border-radius:9px;font-weight:600; }
.city-walk-inspector .city-selected-accent { width:28px;height:4px;border-radius:3px;margin:6px 0 7px; }
.city-walk-inspector .city-specialty-section h2 { font-size:21px;line-height:1.2;font-weight:700;color:#073f83;margin:0 0 7px;letter-spacing:0; }
.city-walk-inspector .city-specialty-section>p { font-size:13px;color:#5c7c95; }
.city-walk-inspector .city-specialties { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0; }
.city-walk-inspector .city-specialties button { position:relative;display:block;padding:54px 8px 9px;min-height:120px;background:#fff;border:1px solid #d2e8f8;border-radius:9px;overflow:hidden; }
.city-specialties button::before { content:'';position:absolute;left:0;right:0;top:0;height:44px;background-image:var(--panel-photo);background-size:auto 3106.78%;background-position:var(--specialty-x,12.54%) 88.106%; }
.city-specialties button:nth-child(3n+2) { --specialty-x:50%; }
.city-specialties button:nth-child(3n) { --specialty-x:88.715%; }
.city-walk-inspector .city-specialties .city-specialty-copy { color:#073f83;font-size:12px;line-height:1.25;gap:4px; }
.city-walk-inspector .city-specialty-copy small { font-size:10.5px;line-height:1.3;color:#628097; }
.city-walk-inspector .city-specialties button>svg { position:absolute;right:6px;top:51px;width:13px;height:13px;color:#0b6999; }
.city-walk-inspector .city-specialties strong { padding-right:9px;overflow-wrap:anywhere; }
.city-walk-inspector .city-light-toggle { padding:0 4px;margin:0;align-items:center;gap:10px;font-size:12px;flex:none; }
.city-walk-inspector .city-light-toggle input { width:17px;height:17px;accent-color:#0a939b;flex:none; }
.city-walk-inspector .city-light-toggle small { font-size:11px; }
.city-walk-inspector .city-prototype-note { padding:10px 4px 0;margin:0;font-size:11px;line-height:1.5;flex:none; }
.city-walk-inspector button,.city-walk-inspector a,.city-walk-inspector summary,.city-walk-inspector select { transition:border-color .15s,box-shadow .15s,background-color .15s; }
.city-walk-inspector button:not(:disabled):hover { border-color:#21a5b1;box-shadow:0 0 0 2px #52c0c323; }
.city-walk-inspector .city-island-grid button[aria-pressed=true],.city-walk-inspector .city-specialties button[aria-pressed=true] { background:#e8f9f5;border-color:#17a497;box-shadow:0 0 0 2px #17a49722; }
.city-walk-inspector :is(button,a,select,input,summary):focus-visible { outline:3px solid #087ee7;outline-offset:3px; }
@media(min-width:1700px) { .city-page .city-walk-workspace { grid-template-columns:minmax(0,1fr) 620px; }.city-walk-inspector .city-island-grid button { grid-template-columns:74px minmax(0,1fr) 18px; }.city-island-grid button::before { width:74px;height:80px; }.city-walk-inspector .city-island-grid button strong { font-size:14px; }.city-walk-inspector .city-island-grid button small { font-size:13px; } }
@media(min-width:1001px) and (max-width:1300px) { .city-page .city-walk-workspace { grid-template-columns:minmax(0,1fr) 430px;gap:12px; }.city-page .city-walk-inspector { padding:14px; }.city-entry-header .city-eyebrow { font-size:17px; }.city-entry-header .city-inspector-top strong { display:none; }.city-walk-inspector .city-island-grid button { grid-template-columns:52px minmax(0,1fr) 12px;gap:6px; }.city-island-grid button::before { width:52px;height:66px; }.city-walk-inspector .city-island-grid button small { font-size:11px; }.city-walk-inspector .city-mission-card { padding-left:12px; }.city-walk-inspector .city-mission-card>strong { font-size:17px; } }
@media(max-width:1000px) { .city-page { height:100dvh;overflow-y:auto; }.city-page .city-walk-workspace { display:flex;flex-direction:column;height:auto;min-height:0; }.city-page .city-viewport { height:62svh;min-height:420px;flex:none; }.city-page .city-walk-inspector { width:100%;max-width:840px;min-height:0;overflow:visible;align-self:center;padding:20px; }.city-walk-inspector .city-entry-header { grid-template-columns:minmax(0,1fr) 146px; }.city-walk-inspector .city-island-grid button { grid-template-columns:74px minmax(0,1fr) 18px; }.city-island-grid button::before { width:74px;height:80px; } }
@media(max-width:520px) { .city-page .city-walk-inspector { padding:13px;gap:12px;border-radius:18px; }.city-walk-inspector .city-entry-header { grid-template-columns:minmax(0,1fr) 112px;gap:9px; }.city-entry-header .city-eyebrow { font-size:17px; }.city-entry-header .city-inspector-top strong { display:none; }.city-walk-inspector .city-entry-map { font-size:13px;min-height:45px;padding:8px; }.city-walk-inspector .city-clock { padding-left:70px;padding-right:22%; }.city-clock::before { width:54px;height:32px;top:18px;left:8px; }.city-walk-inspector .city-clock strong { font-size:14px; }.city-walk-inspector .city-clock small { font-size:10px; }.city-walk-inspector .city-clock::after { width:23%; }.city-walk-inspector .city-mission-card { min-height:190px;padding:13px 39% 13px 12px;gap:10px; }.city-mission-card::after { top:22px;right:9px;width:34%; }.city-walk-inspector .city-mission-card>strong { font-size:16px; }.city-mission-card>strong svg { width:19px;height:19px; }.city-walk-inspector .city-mission-card>p { font-size:12px; }.city-walk-inspector .city-mission-card>button { font-size:12px;gap:5px;padding:8px 6px; }.city-walk-inspector .city-mission-card>a { font-size:11px; }.city-walk-inspector .city-island-heading>strong { font-size:21px; }.city-walk-inspector .city-island-card { padding:12px 8px; }.city-walk-inspector .city-island-grid { gap:7px; }.city-walk-inspector .city-island-grid button { grid-template-columns:48px minmax(0,1fr);gap:6px;min-height:118px;padding:6px; }.city-island-grid button::before { width:48px;height:69px; }.city-island-grid button::after { display:none; }.city-walk-inspector .city-island-grid button strong { font-size:11px; }.city-walk-inspector .city-island-grid button small { font-size:10.5px; }.city-walk-inspector .city-specialties { grid-template-columns:1fr; }.city-walk-inspector .city-specialties button { padding:12px 27px 12px 105px;min-height:79px; }.city-specialties button::before { width:95px;height:70px;left:4px;top:4px;background-size:390% 3106.78%; }.city-walk-inspector .city-specialties button>svg { top:15px; }.city-walk-inspector .city-specialty-section>summary>strong { font-size:21px; } }
.city-walk-inspector :is(button,strong,span,summary,small,p,select,a) { letter-spacing:0; }
.city-map-overlay .city-guide-route { position:absolute;inset:0;z-index:5;width:100%;height:100%;overflow:visible;pointer-events:none; }
.city-map-overlay .city-guide-route-line { fill:none;stroke:#ffd52a;stroke-width:6;stroke-linecap:round;stroke-dasharray:12 9;filter:drop-shadow(0 0 4px #ffb000) drop-shadow(0 0 10px #ffcf24); }
.city-map-overlay .city-guide-route-status { position:absolute;z-index:7;top:14px;right:14px;max-width:min(360px,calc(100% - 28px));padding:10px 42px 10px 14px;border:1px solid #ffd52a;border-radius:12px;background:#102e3aeb;color:#fff;box-shadow:0 4px 18px #082a3b66;display:grid;gap:3px;font-family:Arial,Helvetica,sans-serif; }
.city-map-overlay .city-guide-route-status strong { color:#ffe35c;font-size:14px; }
.city-map-overlay .city-guide-route-status small { color:#fff;font-size:12px;line-height:1.35; }
.city-map-overlay .city-guide-route-status button { position:absolute;right:8px;top:8px;width:28px;height:28px;padding:0;border:1px solid #fff8;border-radius:50%;background:#fff2;color:#fff;font-size:20px;line-height:1; }
.city-walk-inspector .city-mission-card>button.city-guide-action { background:#ffbd24;color:#173d51;border:1px solid #efad12;box-shadow:0 2px 8px #d59b1c30; }
.city-walk-inspector .city-eyebrow { letter-spacing:0; }
.city-walk-inspector .city-entry-header .city-inspector-top strong { display:block;flex:none; }
.city-walk-inspector .city-entry-header .city-eyebrow { flex:1;min-width:0; }
.city-page .city-toolbar-actions { display:flex;flex:1;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px; }
.city-page .city-view-toolbar { align-items:flex-start; }
.city-page .city-view-toolbar button { max-width:none;min-height:34px;white-space:nowrap;font-size:11px;padding:8px 10px; }
.city-page .city-toolbar-actions button span { display:inline; }
@media(min-width:1001px) { .city-page .city-walk-workspace { min-height:0;height:calc(100dvh - 190px); }.city-page .city-viewport,.city-page .city-walk-stage { min-height:0;height:100%; } }
@media(max-width:1300px) { .city-walk-inspector .city-entry-header .city-inspector-top strong { max-width:72px;font-size:11px;padding-left:8px; }.city-walk-inspector .city-entry-header .city-inspector-top strong::first-line { font-size:23px; } }
@media(max-width:520px) { .city-walk-inspector .city-entry-header .city-inspector-top { gap:8px; }.city-walk-inspector .city-entry-header .city-eyebrow { font-size:15px; }.city-walk-inspector .city-entry-header .city-inspector-top strong { max-width:62px;font-size:9px;padding-left:6px; }.city-walk-inspector .city-entry-header .city-inspector-top strong::first-line { font-size:20px; }.city-specialties button::before { background-size:auto 3106.78%; } }
@media(max-width:520px) {
  .city-walk-inspector .city-entry-header .city-inspector-top strong { max-width:74px;flex-basis:74px; }
  .city-walk-inspector .city-entry-header .city-eyebrow { font-size:13.5px; }
  .city-walk-inspector .city-island-grid button { grid-template-columns:42px minmax(0,1fr); }
  .city-island-grid button::before { width:42px; }
  .city-walk-inspector .city-island-grid button strong { font-size:10.5px;font-weight:700;overflow-wrap:normal;word-break:normal; }
}
/* Learning section stays expanded and readable within the scrollable panel. */
.city-walk-inspector { container-type:inline-size; }
.city-walk-inspector .city-specialty-section>summary { position:relative;padding-left:34px; }
.city-walk-inspector .city-specialty-section>summary::before { content:'';position:absolute;left:0;top:2px;width:25px;height:25px;background-image:var(--panel-photo);background-size:auto 5960%;background-position:9.1% 77.2%; }
.city-walk-inspector .city-specialty-section>summary>strong { font-size:21px;display:block;margin-bottom:10px; }
.city-walk-inspector .city-district-select { padding:10px;background:#ffffffa8;border-radius:8px;margin-bottom:12px; }
.city-walk-inspector .city-specialties { grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch; }
.city-walk-inspector .city-specialties button { padding:70px 8px 12px;min-height:158px; }
.city-walk-inspector .city-specialties button::before { width:100%;height:60px;left:0;top:0;background-size:auto 3106.78%; }
.city-walk-inspector .city-specialties button>svg { top:68px;right:7px; }
.city-walk-inspector .city-specialty-copy strong { font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.3;overflow-wrap:normal;word-break:normal; }
.city-walk-inspector .city-specialty-copy small { font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.4; }
.city-walk-inspector .city-specialty-section>.city-approach { width:100%; }
.city-walk-inspector .city-light-toggle { display:flex;flex-wrap:wrap;gap:8px; }
.city-walk-inspector .city-prototype-note { border-top:0;padding-top:0; }
@container(min-width:500px) {
  .city-walk-inspector .city-specialty-section[open] { display:block; }
  .city-walk-inspector .city-specialty-section>summary { float:left;width:calc(100% - 202px); }
  .city-walk-inspector .city-specialty-section>.city-district-select { float:right;width:190px; }
  .city-walk-inspector .city-specialty-section>.city-selected-accent { clear:both; }
}
@container(max-width:380px) {
  .city-walk-inspector .city-specialties { grid-template-columns:1fr; }
  .city-walk-inspector .city-specialties button { padding:12px 28px 12px 116px;min-height:90px; }
  .city-walk-inspector .city-specialties button::before { width:103px;height:80px;left:4px;top:4px; }
  .city-walk-inspector .city-specialties button>svg { top:14px; }
}
@media(prefers-reduced-motion:reduce) { .city-walk-inspector * { transition:none!important; } }

/* Specialty cards keep contextual artwork without borrowing mechanical photos. */
.city-walk-inspector .city-specialty-section {
  padding:16px 12px 13px;
  background:linear-gradient(145deg,#f3f9ff,#e7f4ff 70%,#f8fcff);
  box-shadow:0 8px 20px #0b5da00d;
}
.city-walk-inspector .city-specialties { gap:10px;margin:14px 0; }
.city-walk-inspector .city-specialties button { min-height:154px;padding:71px 11px 13px;border-radius:12px;border-color:#cfe3f3;box-shadow:0 4px 10px #06467810; }
.city-walk-inspector .city-specialties button::before { height:60px;background-size:auto 3106.78%;background-position:var(--specialty-x,12.54%) 88.106%; }
.city-walk-inspector .city-specialties button>svg { top:66px;right:8px; }
.city-walk-inspector .city-specialty-copy strong { font-size:12.5px;line-height:1.35; }
.city-walk-inspector .city-specialty-copy small { font-size:11px;line-height:1.4; }
.city-walk-inspector .city-specialties button[aria-pressed=true] { box-shadow:0 0 0 2px #17a49724,0 7px 16px #06467816; }
.city-walk-inspector .city-specialties button::before { background-image:var(--specialty-art);border-bottom:1px solid #ffffffa8; }
.city-walk-inspector .city-specialties button::after { position:absolute;right:12px;top:10px;font-size:28px;line-height:1;filter:drop-shadow(0 2px 2px #17415c24); }
.city-walk-inspector .city-specialties button[data-city-art="office"] { --specialty-art:radial-gradient(ellipse at 78% 30%,#ffffffd9 0 13%,transparent 14%),linear-gradient(120deg,#e0edff,#b9d2f7); }
.city-walk-inspector .city-specialties button[data-city-art="office"]::after { content:'\1F4BC'; }
.city-walk-inspector .city-specialties button[data-city-art="agro"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffd9 0 12%,transparent 13%),linear-gradient(120deg,#e3f7d9,#a8db9c); }
.city-walk-inspector .city-specialties button[data-city-art="agro"]::after { content:'\1F331'; }
.city-walk-inspector .city-specialties button[data-city-art="food"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#fff0cb,#ffc96e); }
.city-walk-inspector .city-specialties button[data-city-art="food"]::after { content:'\1F37D'; }
.city-walk-inspector .city-specialties button[data-city-art="construction"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffd9 0 12%,transparent 13%),linear-gradient(120deg,#ffe5bf,#ffb568); }
.city-walk-inspector .city-specialties button[data-city-art="construction"]::after { content:'\1F6A7'; }
.city-walk-inspector .city-specialties button[data-city-art="electric"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#e8e5ff,#b8a9fa); }
.city-walk-inspector .city-specialties button[data-city-art="electric"]::after { content:'\26A1'; }
.city-walk-inspector .city-specialties button[data-city-art="design"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#f5e6ff,#d9b8ef); }
.city-walk-inspector .city-specialties button[data-city-art="design"]::after { content:'\1F3A8'; }
.city-walk-inspector .city-specialties button[data-city-art="mechanical"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#d9efff,#8fc8eb); }
.city-walk-inspector .city-specialties button[data-city-art="mechanical"]::after { content:'\2699'; }
.city-walk-inspector .city-specialties button[data-city-art="mining"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#f3e8d7,#c5aa84); }
.city-walk-inspector .city-specialties button[data-city-art="mining"]::after { content:'\26CF'; }
.city-walk-inspector .city-specialties button[data-city-art="care"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#e0f6f1,#9fded0); }
.city-walk-inspector .city-specialties button[data-city-art="care"]::after { content:'\2695'; }
.city-walk-inspector .city-specialties button[data-city-art="maritime"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#daf3fa,#8ccfe0); }
.city-walk-inspector .city-specialties button[data-city-art="maritime"]::after { content:'\2693'; }
.city-walk-inspector .city-specialties button[data-city-art="tourism"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#fff1d3,#f5be78); }
.city-walk-inspector .city-specialties button[data-city-art="tourism"]::after { content:'\1F9ED'; }
.city-walk-inspector .city-specialties button[data-city-art="craft"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#f5e6d6,#d9b58e); }
.city-walk-inspector .city-specialties button[data-city-art="craft"]::after { content:'\1FAB5'; }
.city-walk-inspector .city-specialties button[data-city-art="digital"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#dff5f4,#8ed8d2); }
.city-walk-inspector .city-specialties button[data-city-art="digital"]::after { content:'\1F4BB'; }
.city-walk-inspector .city-specialties button[data-city-art="general"] { --specialty-art:radial-gradient(ellipse at 72% 25%,#ffffffdb 0 12%,transparent 13%),linear-gradient(120deg,#e0efff,#a8d3ee); }
.city-walk-inspector .city-specialties button[data-city-art="general"]::after { content:'\2692'; }
@container(max-width:430px) {
  .city-walk-inspector .city-specialties { grid-template-columns:1fr; }
  .city-walk-inspector .city-specialties button { min-height:90px;padding:12px 34px 12px 116px; }
  .city-walk-inspector .city-specialties button::before { width:103px;height:80px;left:4px;top:4px; }
  .city-walk-inspector .city-specialties button::after { left:40px;right:auto;top:25px; }
  .city-walk-inspector .city-specialties button>svg { top:14px; }
}

/* Real specialty photographs retain the native navigation controls. */
.city-walk-inspector .city-specialties { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.city-walk-inspector .city-specialties button { min-height:224px;padding:134px 28px 14px 12px;border-radius:8px;background:#fff;transition:border-color .18s,box-shadow .18s; }
.city-walk-inspector .city-specialties button::before,.city-walk-inspector .city-specialties button::after { content:none!important; }
.city-specialty-photo { position:absolute;inset:0 0 auto;width:100%;height:120px;object-fit:cover;background:#e3edf2;border-bottom:3px solid #29a9b1;pointer-events:none; }
.city-walk-inspector .city-specialty-copy strong { font-size:14px;line-height:1.35;overflow-wrap:anywhere; }
.city-walk-inspector .city-specialty-copy small { font-size:11.5px;line-height:1.5;margin-top:6px; }
.city-walk-inspector .city-specialties button>svg { top:auto;bottom:14px;right:10px; }
.city-walk-inspector .city-specialties button:hover { border-color:#168ca2;box-shadow:0 5px 16px #06467824; }
.city-photo-credits { display:block;width:fit-content;margin:12px 0 0;font-size:11px;color:#4a657b;text-decoration:underline; }
@container(max-width:360px) {
  .city-walk-inspector .city-specialties { grid-template-columns:1fr; }
  .city-walk-inspector .city-specialties button { min-height:116px;padding:14px 24px 14px 104px; }
  .city-walk-inspector .city-specialty-copy strong { font-size:13px; }
  .city-specialty-photo { width:92px;height:100%;border-bottom:0;border-right:3px solid #29a9b1; }
}

/* Entered rooms use the full canvas; the three original actions become a luminous dock. */
.city-page .city-walk-workspace:has(.city-open-pilot) { grid-template-columns:minmax(0,1fr); }
.city-page:has(.city-open-pilot) .city-header { display:none!important; }
.city-page:has(.city-open-pilot) { overflow:hidden; }
.city-page .city-walk-workspace:has(.city-open-pilot) { width:100%;max-width:none;height:100dvh!important;min-height:100dvh!important;margin:0; }
.city-page .city-walk-workspace:has(.city-open-pilot)>.city-viewport { position:relative;height:100%;min-height:100dvh; }
.city-page .city-walk-workspace:has(.city-open-pilot)>.city-walk-inspector { position:absolute;inset:0;z-index:12;display:block!important;min-width:0;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none; }
.city-page .city-walk-workspace:has(.city-open-pilot)>.city-walk-inspector>:not(.city-specialty-section) { display:none!important; }
.city-page .city-walk-workspace:has(.city-open-pilot) .city-specialty-section { display:contents!important;margin:0;padding:0;border:0;background:none;box-shadow:none; }
.city-page .city-walk-workspace:has(.city-open-pilot) .city-specialty-section>:not(.city-room-summary) { display:none!important; }
.city-page .city-walk-workspace:has(.city-open-pilot)>.city-viewport { width:100%; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary { position:absolute;top:50%;right:22px;z-index:13;width:min(510px,39vw);min-width:350px;display:grid;gap:12px;padding:0;transform:translateY(-50%);background:transparent;border:0;box-shadow:none;pointer-events:auto; }
.city-page .city-walk-workspace:has(.city-open-pilot) .city-room-summary { display:none!important; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>:not(button):not(a) { display:none!important; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button,
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a { position:relative;display:flex;align-items:center;width:100%;min-height:76px;padding:12px 68px 12px 90px;border:2px solid;border-radius:23px;text-align:left;text-decoration:none;color:#0b4085;font:700 17px/1.25 Arial,Helvetica,sans-serif;overflow:hidden;transition:transform .18s,box-shadow .18s,filter .18s; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button::before,
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a::before { content:'';position:absolute;left:16px;top:50%;width:56px;height:56px;transform:translateY(-50%);border-radius:50%;background:#ffffff9c;box-shadow:0 2px 9px #153b5920; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button::after,
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a::after { content:'›';position:absolute;right:14px;top:50%;width:48px;height:48px;display:grid;place-items:center;transform:translateY(-50%);border:3px solid #ffffffb5;border-radius:50%;color:#fff;font:400 42px/1 Arial,Helvetica,sans-serif;text-shadow:0 1px 4px #1738504d; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button svg,
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a svg { position:absolute;left:31px;top:50%;z-index:1;width:26px;height:26px;transform:translateY(-50%); }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(1) { border-color:#ffb044;background:linear-gradient(100deg,#fff3e4,#ffe0c1);box-shadow:0 0 0 3px #ffb24a32,0 0 22px #ff9f35a1,inset 0 1px #fff; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(1) svg { color:#f17a14; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(2) { border-color:#62b9ff;background:linear-gradient(100deg,#eaf7ff,#d4edff);box-shadow:0 0 0 3px #4baaff30,0 0 22px #49a4f58a,inset 0 1px #fff; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(2) svg { color:#1683ed; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(3) { border-color:#62ddc2;background:linear-gradient(100deg,#e7fbf5,#cef7eb);box-shadow:0 0 0 3px #45d6b530,0 0 22px #36cda387,inset 0 1px #fff; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button:nth-of-type(3) svg { color:#08a986; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a { border-color:#b5cfff;background:linear-gradient(100deg,#f1f6ff,#dceaff);box-shadow:0 0 0 3px #528df222,0 0 18px #528df266,inset 0 1px #fff; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a svg { color:#367ee4; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>:is(button,a):hover { transform:translateY(-2px);filter:brightness(1.04); }
.city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>:is(button,a):focus-visible { outline:3px solid #fff;outline-offset:5px; }
.city-page .city-walk-workspace:has(.city-room-summary) .city-open-pilot,
.city-page .city-walk-workspace:has(.city-room-summary) .city-open-learning { display:none!important; }
.city-page .city-walk-workspace:has(.city-open-pilot) .city-open-workshop { display:none!important; }
.city-page .city-walk-workspace .city-open-pilot,
.city-page .city-walk-workspace .city-open-workshop,
.city-page .city-walk-workspace .city-open-learning {
  right:24px;
  width:min(250px,calc(100vw - 72px));
  min-height:52px;
  justify-content:flex-start;
  padding:12px 16px;
  border:1px solid #ffffffd9;
  border-radius:15px;
  color:#fff;
  font:700 14px/1.25 Arial,Helvetica,sans-serif;
  backdrop-filter:none;
  transition:transform .18s,box-shadow .18s,filter .18s;
}
.city-page .city-walk-workspace .city-open-pilot { bottom:210px;background:linear-gradient(115deg,#ff7a23,#ffad32);box-shadow:0 0 0 3px #ff992b32,0 0 24px #ff8b27a6,0 8px 22px #72380744,inset 0 1px #ffffffaa; }
.city-page .city-walk-workspace .city-open-workshop { bottom:148px;background:linear-gradient(115deg,#078e91,#16bca7);box-shadow:0 0 0 3px #16bca736,0 0 24px #16bca780,0 8px 22px #063c3c44,inset 0 1px #ffffffaa; }
.city-page .city-walk-workspace .city-open-learning { bottom:86px;background:linear-gradient(115deg,#126ac2,#278df2);box-shadow:0 0 0 3px #2387f13d,0 0 24px #2387f18a,0 8px 22px #062b6444,inset 0 1px #ffffffaa; }
.city-page .city-walk-workspace .city-open-pilot::before,
.city-page .city-walk-workspace .city-open-workshop::before { width:25px;height:25px;display:grid;place-items:center;flex:none;border:1px solid #ffffff80;border-radius:9px;background:#ffffff26;font-size:16px;line-height:1; }
.city-page .city-walk-workspace .city-open-pilot::before { content:'\2726'; }
.city-page .city-walk-workspace .city-open-workshop::before { content:'\2699'; }
.city-page .city-walk-workspace :is(.city-open-pilot,.city-open-workshop,.city-open-learning):hover { transform:translateY(-2px);filter:brightness(1.08); }
.city-page .city-walk-workspace :is(.city-open-pilot,.city-open-workshop,.city-open-learning):focus-visible { outline:3px solid #fff;outline-offset:4px; }
@media(max-width:1000px) {
  .city-page .city-walk-workspace:has(.city-open-pilot) { display:block; }
  .city-page .city-walk-workspace:has(.city-open-pilot)>.city-viewport { width:100%; }
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary { right:14px;width:min(440px,48vw);min-width:310px; }
}
@media(max-width:520px) {
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary { right:10px;width:min(310px,calc(100vw - 44px));min-width:0;gap:9px; }
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button,
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a { min-height:60px;padding:9px 54px 9px 67px;border-radius:18px;font-size:13px; }
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button::before,
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a::before { left:9px;width:44px;height:44px; }
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button::after,
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a::after { right:8px;width:36px;height:36px;font-size:32px; }
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>button svg,
  .city-page .city-walk-workspace:has(.city-room-summary) .city-room-summary>a svg { left:21px;width:20px;height:20px; }
  .city-page .city-walk-workspace .city-open-pilot,
  .city-page .city-walk-workspace .city-open-workshop,
  .city-page .city-walk-workspace .city-open-learning { right:12px;width:min(236px,calc(100vw - 52px));min-height:46px;padding:9px 12px;font-size:12px; }
  .city-page .city-walk-workspace .city-open-pilot { bottom:188px; }
  .city-page .city-walk-workspace .city-open-workshop { bottom:132px; }
  .city-page .city-walk-workspace .city-open-learning { bottom:76px; }
}
.city-quiz-guide { position:absolute;left:22px;top:158px;z-index:30;width:min(410px,calc(100% - 44px));padding:22px;border:2px solid #83bdf2;border-radius:22px 22px 22px 8px;background:#fffffff2;box-shadow:0 12px 42px #052b4e55,0 0 0 5px #e7f4ff9c;color:#173957;pointer-events:auto;font:16px/1.5 Arial,Helvetica,sans-serif; }
.city-quiz-guide-kicker { margin:0 0 5px;color:#087ad0;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase; }
.city-page .city-toolbar-actions button,.city-page .city-walk-hint { backdrop-filter:none;-webkit-backdrop-filter:none; }
.city-walk-inspector .city-island-card,.city-walk-inspector .city-specialty-section { content-visibility:auto;contain-intrinsic-size:auto 280px; }
.city-quiz-guide h2 { margin:0 0 9px;color:#09457f;font-size:26px;line-height:1.15; }
.city-quiz-guide>p:not(.city-quiz-guide-kicker) { margin:0 0 12px; }
.city-quiz-guide .city-quiz-guide-context { padding:9px 11px;border-radius:10px;background:#edf7ff;color:#315b7a;font-size:13px; }
.city-quiz-guide .city-quiz-guide-structure { margin:0 0 10px;padding:8px 10px;border-radius:10px;background:#fff4df;color:#89500a;font-size:13px;font-weight:800; }
.city-quiz-guide-skills { display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px;padding:0;list-style:none; }
.city-quiz-guide-skills li { padding:5px 10px;border:1px solid #9bd8c8;border-radius:999px;background:#eefbf6;color:#087a61;font-size:12px;font-weight:800; }
.city-quiz-guide-actions { display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.city-quiz-guide-actions :is(a,button) { min-height:42px;padding:10px 15px;border:1px solid #1687ed;border-radius:11px;background:#0879df;color:white;font:700 14px Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer; }
.city-quiz-guide-actions button { background:#fff;color:#0b579b; }
@media(max-width:700px) { .city-quiz-guide { left:12px;top:170px;width:min(380px,calc(100% - 24px));padding:17px;font-size:14px; }.city-quiz-guide h2 { font-size:22px; } }

/* Give the active quiz's first stage the illustrated, high-visibility treatment. */
.city-native-route-active .floor-station-dialog .floor-route-progress { grid-template-columns:repeat(6,minmax(0,1fr)); }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child { grid-column:1/-1;grid-template-columns:250px minmax(0,1fr) 112px;gap:18px;min-height:148px;padding:12px 18px;border:4px solid #13cde0;border-radius:999px;background:linear-gradient(105deg,#f4fbff 0%,#e5f5ff 58%,#f8fdff 100%);color:#102d62;font-size:clamp(40px,5vw,72px);font-weight:900;text-align:center;box-shadow:0 0 0 5px #dff8ff,0 10px 32px #1684e344,inset 0 0 24px #bceeff;overflow:hidden; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child span { width:228px;height:112px;border-radius:999px 24% 24% 999px;clip-path:polygon(0 0,76% 0,100% 50%,76% 100%,0 100%);background:linear-gradient(130deg,#1167ef 0%,#3153ed 55%,#8143ee 100%);color:#fff;font-size:86px;line-height:1;box-shadow:0 0 28px #5848f28c; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child::after { content:"";justify-self:center;width:72px;height:50px;border:6px solid #2470ec;border-radius:76% 22%;transform:rotate(45deg);background:radial-gradient(circle at 50% 50%,#4660ed 0 10px,#fff 11px 18px,transparent 19px);box-shadow:0 0 0 20px #e8f5ff,0 0 24px #42a9ff; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) { grid-column:span 3; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child.is-current { border-color:#13cde0;background:linear-gradient(105deg,#f4fbff 0%,#e5f5ff 58%,#f8fdff 100%);color:#102d62; }
@media(max-width:700px) {
  .city-native-route-active .floor-station-dialog .floor-route-progress { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:first-child { grid-template-columns:86px minmax(0,1fr) 48px;gap:8px;min-height:82px;padding:7px 9px;border-width:3px;font-size:clamp(26px,8vw,38px); }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:first-child span { width:78px;height:64px;font-size:47px; }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:first-child::after { width:31px;height:22px;border-width:3px;box-shadow:0 0 0 9px #e8f5ff,0 0 12px #42a9ff; }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) { grid-column:span 3; }
}

.city-native-route-active .city-quiz-marker-control-layer { position:absolute;inset:0;z-index:28;overflow:hidden;pointer-events:none; }
.city-native-route-active .city-quiz-marker-control { position:absolute;width:min(270px,18vw);height:min(330px,38vh);padding:0;transform:translate(-50%,-50%);border:0;border-radius:32px;background:transparent;color:transparent;cursor:pointer;pointer-events:auto; }
.city-native-route-active .city-quiz-marker-control:hover { background:#7deaff12;box-shadow:0 0 0 3px #4ce5ffbb,0 0 24px #29d8ffb0; }
.city-native-route-active .city-quiz-marker-control:focus-visible { outline:4px solid #19d9f4;outline-offset:2px;box-shadow:0 0 0 7px #fff,0 0 28px #19c9eb; }
.city-native-route-active .city-quiz-marker-control[hidden] { display:none; }
.city-native-route-active .city-quiz-empty-window { position:fixed;top:50%;right:18px;z-index:90;display:flex;flex-direction:column;width:min(520px,40vw);height:min(86dvh,800px);min-height:400px;transform:translateY(-50%);overflow:hidden;border:2px solid #8bdff2;border-radius:18px;background:#fff;box-shadow:0 12px 42px #062a4a55;color:#16365c;font:16px/1.4 Arial,Helvetica,sans-serif; }
.city-native-route-active .city-quiz-empty-window>header { display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:10px 14px 10px 20px;border-bottom:1px solid #d8eaf3;background:#f4fbff; }
.city-native-route-active .city-quiz-empty-window h2 { margin:0;font-size:20px;font-weight:900; }
.city-native-route-active .city-quiz-empty-window-close { display:grid;place-items:center;width:40px;height:40px;border:1px solid #c5e2ef;border-radius:10px;background:#fff;color:#174064;font-size:28px;cursor:pointer; }
.city-native-route-active .city-quiz-empty-window-body { flex:1;min-height:0;overflow:auto;background:#fff; }
.city-native-route-active .city-quiz-question { padding:18px 20px 22px; }
.city-native-route-active .city-quiz-question-level { display:inline-flex;margin:0 0 10px;padding:5px 10px;border-radius:999px;background:#e7f6ff;color:#075ecb;font-size:13px;font-weight:800; }
.city-native-route-active .city-quiz-question-ae { margin:0 0 14px;color:#087a83;font-size:13px;font-weight:800; }
.city-native-route-active .city-quiz-question h3 { margin:0 0 12px;color:#102653;font-size:18px;line-height:1.4; }
.city-native-route-active .city-quiz-question-criterion { display:block;margin:0 0 16px;color:#506a83;font-size:12px; }
.city-native-route-active .city-quiz-response-form { display:grid;gap:14px; }
.city-native-route-active .city-quiz-choices { display:grid;gap:8px;margin:0;padding:12px;border:1px solid #c9e4f1;border-radius:12px; }
.city-native-route-active .city-quiz-choices legend { padding:0 6px;color:#17385b;font-weight:800; }
.city-native-route-active .city-quiz-choices label { display:grid;grid-template-columns:20px 28px minmax(0,1fr);align-items:start;gap:9px;padding:10px;border:1px solid #d6e9f1;border-radius:9px;background:#f8fcff;color:#183952;cursor:pointer; }
.city-native-route-active .city-quiz-choices input { width:18px;height:18px;margin:1px 0 0;accent-color:#0875f5; }
.city-native-route-active .city-quiz-choice-letter { display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:#e4f2ff;color:#075dbd;font-size:13px; }
.city-native-route-active .city-quiz-argument-label { display:grid;gap:7px;color:#17385b;font-weight:800; }
.city-native-route-active .city-quiz-argument-label textarea { width:100%;min-height:110px;padding:11px;border:1px solid #bad8e8;border-radius:10px;background:#fff;color:#16365c;font:inherit;resize:vertical; }
.city-native-route-active .city-quiz-submit { justify-self:start;min-height:42px;padding:9px 16px;border:0;border-radius:9px;background:#0875f5;color:#fff;font:700 15px Arial,Helvetica,sans-serif;cursor:pointer; }
.city-native-route-active .city-quiz-submit:hover { background:#075fca; }
.city-native-route-active .city-quiz-save-status { min-height:20px;margin:0;color:#087a83;font-size:13px; }
.city-native-route-active .city-quiz-feedback { margin:0;padding:12px 14px;border:1px solid #d7e8ef;border-radius:10px;background:#f5faff;color:#24435d;font-weight:700; }
.city-native-route-active .city-quiz-feedback.is-incorrect { border-color:#f1c38b;background:#fff8ed;color:#814616; }
.city-native-route-active .city-quiz-feedback.is-correct { border-color:#9cdec5;background:#effbf5;color:#126642; }
.city-native-route-active .city-quiz-feedback>p { margin:0 0 10px;line-height:1.45; }
.city-native-route-active .city-quiz-feedback-title { display:block;margin:10px 0 6px;font-size:13px; }
.city-native-route-active .city-quiz-feedback-options { display:grid;gap:7px;margin:0;padding-left:22px;font-size:12px;font-weight:400;line-height:1.45; }
.city-native-route-active .city-quiz-feedback-options li { padding-left:3px; }
.city-native-route-active .city-quiz-feedback-options li>b { margin-right:4px; }
.city-native-route-active .city-quiz-submit:disabled { opacity:.62;cursor:wait; }
.city-native-route-active .city-quiz-unavailable { display:grid;gap:16px;align-content:start;padding:24px; }
.city-native-route-active .city-module-stage-panel { position:fixed;left:20px;bottom:24px;z-index:75;width:min(330px,calc(100vw - 32px));padding:15px;border:1px solid #8bdff2;border-radius:14px;background:#f8fdff;color:#17365d;box-shadow:0 8px 30px #03274355;font:14px/1.4 Arial,Helvetica,sans-serif; }
.city-native-route-active .city-module-stage-panel h2,.city-native-route-active .city-module-stage-panel h3 { margin:0 0 10px;font-size:17px; }
.city-native-route-active .city-module-stage-list { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:0;list-style:none; }
.city-native-route-active .city-module-stage-list li { display:grid;justify-items:center;gap:3px;padding:7px 2px;border:1px solid #c8dfec;border-radius:9px;background:#fff;color:#56718a;font-size:12px;font-weight:800; }
.city-native-route-active .city-module-stage-list li span { color:#7291a6;font-size:17px; }
.city-native-route-active .city-module-stage-list li.is-passed { border-color:#73d9af;background:#effbf5;color:#176e4c; }
.city-native-route-active .city-module-stage-list li.is-passed span { color:#0c9b62; }
.city-native-route-active .city-module-stage-award { margin:8px 0;padding:10px;border-radius:9px;background:#fff5cf;color:#72500a;font-weight:800; }
.city-native-route-active .city-module-stage-award[hidden],.city-native-route-active .city-module-stage-flag[hidden],.city-native-route-active .city-module-stage-portal[hidden] { display:none; }
.city-native-route-active .city-module-stage-flag { width:100%;min-height:42px;border:0;border-radius:9px;background:#ffd33d;color:#26344a;font-weight:900;cursor:pointer; }
.city-native-route-active .city-module-stage-flag:disabled { opacity:.6;cursor:wait; }
.city-native-route-active .city-module-stage-message { min-height:18px;margin:8px 0 0;color:#385b75;font-size:12px; }
.city-native-route-active .city-module-stage-portal { display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px; }
.city-native-route-active .city-module-stage-portal h3 { margin:8px 0; }
.city-native-route-active .city-module-stage-enter { min-height:38px;padding:7px 12px;border:0;border-radius:8px;background:#ffd33d;color:#26344a;font-weight:900;cursor:pointer; }
.city-native-route-active .city-module-stage-close { min-height:34px;padding:6px 10px;border:1px solid #c7ddea;border-radius:8px;background:#fff;color:#17365d;cursor:pointer; }
.city-native-route-active .city-module-stage-frame { grid-column:1/-1;width:min(720px,58vw);height:min(760px,76dvh);border:1px solid #b9d8e8;border-radius:10px;background:#fff; }
.city-native-route-active .city-module-stage-panel.is-open { left:auto;right:16px;bottom:16px;width:min(760px,62vw); }
.city-native-route-active .city-module-stage-panel.is-open .city-module-stage-award,.city-native-route-active .city-module-stage-panel.is-open .city-module-stage-list,.city-native-route-active .city-module-stage-panel.is-open>.city-module-stage-message { display:none; }
@media(max-width:700px) { .city-native-route-active .city-module-stage-panel { left:10px;bottom:10px;width:min(340px,calc(100vw - 20px));padding:11px; }.city-native-route-active .city-module-stage-panel.is-open { left:8px;right:8px;bottom:8px;width:auto; }.city-native-route-active .city-module-stage-frame { width:100%;height:70dvh; } }
@media(max-width:700px) { .city-native-route-active .city-quiz-marker-control { width:min(32vw,160px);height:min(12vh,74px); }.city-native-route-active .city-quiz-empty-window { top:auto;right:12px;bottom:12px;width:min(440px,calc(100vw - 24px));height:70dvh;min-height:360px;transform:none;border-radius:16px; } }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child { position:relative;aspect-ratio:1667/292;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child::before { position:absolute;inset:0;z-index:2;background:url("assets/quiz-observe-stage.png") center/100% 100% no-repeat;content:"";pointer-events:none; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:first-child::after { display:none; }
@media(max-width:700px) { .city-native-route-active .floor-station-dialog .floor-route-progress li:first-child { aspect-ratio:1667/292;min-height:0; } }
@media(min-width:1000px) {
  .city-native-route-active dialog.floor-station-dialog { position:fixed;top:50%;right:24px;bottom:auto;left:auto;width:min(868px,calc(70vw - 33.6px));max-width:calc(100vw - 48px);height:min(94dvh,1120px);max-height:calc(100dvh - 32px);margin:0;transform:translateY(-50%); }
  .city-native-route-active dialog.floor-station-dialog::backdrop { background:#07263f40;backdrop-filter:none; }
}

/* Carry the Quiz 1 visual language through every stage and specialty. */
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) { position:relative;grid-column:span 3;grid-template-columns:82px minmax(0,1fr) 42px;gap:14px;min-height:96px;padding:9px 16px 9px 9px;border:3px solid #83dfff;border-radius:34px;background:linear-gradient(105deg,#e5f4ff,#fbfeff 58%,#dcf5ff);color:#102d62;font-size:clamp(19px,2.2vw,28px);font-weight:900;text-align:center;box-shadow:0 0 0 3px #e8faff,0 7px 22px #1684e344,inset 0 0 20px #bceeff; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) span { width:72px;height:72px;border-radius:28px 12px 28px 12px;clip-path:polygon(0 0,76% 0,100% 50%,76% 100%,0 100%);background:linear-gradient(130deg,#1167ef,#3153ed 55%,#8143ee);color:#fff;font-size:42px;box-shadow:0 0 19px #5848f270; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child)::after { justify-self:center;width:30px;height:21px;border:3px solid #2470ec;border-radius:76% 22%;transform:rotate(45deg);background:radial-gradient(circle at 50% 50%,#4660ed 0 4px,#fff 5px 8px,transparent 9px);box-shadow:0 0 0 8px #e8f5ff,0 0 14px #42a9ff;content:""; }
.city-module-resources { position:absolute;left:18px;top:76px;pointer-events:auto;border:1px solid #b7d9e2;border-radius:6px;background:#fff;color:#17495c;padding:10px 14px;font:700 14px Arial;cursor:pointer;max-width:calc(100% - 36px); }
.city-module-resources:focus-visible { outline:3px solid #0875f5;outline-offset:3px; }
.city-native-route-active .city-quiz-empty-window[hidden] { display:none; }
.city-quiz-empty-window-body li { margin-bottom:10px;overflow-wrap:anywhere; }
@media(max-width:700px) {
  .city-module-resources { top:auto;bottom:174px;left:12px;max-width:180px;padding:8px;font-size:12px; }
  .city-native-route-active .city-view-toolbar { top:12px!important;left:12px!important;right:12px!important;width:auto!important;max-width:calc(100% - 24px)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px; }
  .city-native-route-active .city-toolbar-actions { display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important;max-width:100%;width:100%;overflow-x:auto;gap:6px; }
  .city-native-route-active .city-view-toolbar button { flex:0 0 auto;min-height:34px!important; }
}
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child).is-current { border-color:#13cde0;background:linear-gradient(105deg,#dff7ff,#fff 58%,#d8f8ff);color:#102d62; }
.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child).is-current span,.city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child).is-complete span { background:linear-gradient(130deg,#1167ef,#3153ed 55%,#8143ee);color:#fff; }
@media(max-width:700px) {
  .city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) { grid-template-columns:52px minmax(0,1fr) 24px;gap:7px;min-height:68px;padding:6px 8px 6px 6px;border-width:2px;border-radius:22px;font-size:14px; }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child) span { width:48px;height:48px;border-radius:18px 8px 18px 8px;font-size:28px; }
  .city-native-route-active .floor-station-dialog .floor-route-progress li:not(:first-child)::after { width:18px;height:13px;border-width:2px;box-shadow:0 0 0 5px #e8f5ff,0 0 9px #42a9ff; }
  .city-native-route-active aside.mechanic-pilot { top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;max-width:100vw!important;max-height:94dvh!important;border-radius:20px 20px 0 0;transform:none!important; }
}

/* City artwork remains visible; educational windows and launchers are inactive. */
.city-avatar-controls { position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:32;max-width:calc(100vw - 30px);padding:8px 12px;border:1px solid #b4dbea;border-radius:14px;background:#f5fcfff0;color:#104976;box-shadow:0 4px 16px #174d7233;font:14px Arial; }
.city-avatar-controls summary { cursor:pointer;font-weight:700; }
.city-stage2-active .city-avatar-controls { z-index:130;bottom:12px; }
.city-avatar-controls button,.city-avatar-controls select { max-width:100%;margin:8px 4px 0 0;padding:8px;border:1px solid #9fcbdc;border-radius:8px;background:white;color:#104976;font:13px Arial; }
.city-avatar-controls button { cursor:pointer; }.city-avatar-controls :focus-visible { outline:3px solid #f5a022;outline-offset:2px; }
.city-holographic-quizzes :is(aside.mechanic-pilot,.floor-station-dialog,.city-quiz-guide,.city-module-stage-panel,.city-module-resources,.city-quiz-route-entry,.city-open-pilot) { display:none!important; }
.city-holographic-quizzes .city-quiz-marker-control { width:132px;height:40px;margin-top:82px;border:2px solid #fff;border-radius:24px;background:var(--quiz-accent);color:#fff;font:800 16px Arial;box-shadow:0 0 16px var(--quiz-accent); }
.city-holographic-quizzes .city-quiz-marker-control:disabled { background:#48647d;cursor:default; }
.city-holo-console { position:fixed;inset:0;z-index:110;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:22px max(24px,7vw);box-sizing:border-box;background:#062c4417;color:#073166;font:16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;isolation:isolate; }
.city-holo-console * { box-sizing:border-box; }
.city-holo-console button { cursor:pointer;font:700 15px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0; }
.city-holo-console button:disabled { cursor:default;opacity:.65; }
.city-holo-console :focus-visible { outline:3px solid #ed920b;outline-offset:4px; }
.city-holo-tabs { display:flex;justify-content:flex-end;gap:10px;flex:none; }
.city-holo-tabs>button { min-width:132px;min-height:70px;padding:10px 16px;border:1px solid #b8d9f1;border-radius:22px;background:#f0f9fff5;color:#12386a;box-shadow:inset 0 0 0 3px #fff8,0 4px 0 #b4cfe2; }
.city-holo-tabs>button[aria-current=step] { border:2px solid var(--quiz-accent);color:var(--quiz-accent);opacity:1; }
.city-holo-tabs small { display:block;font-size:10px; }
.city-holo-dots { display:flex;justify-content:center;gap:7px;margin-top:9px; }
.city-holo-dots i { width:9px;height:9px;border:1px solid #aac9e5;border-radius:50%;background:#edf5fb; }
.city-holo-dots i.is-done { background:var(--quiz-accent);border-color:var(--quiz-accent); }
.city-holo-card { position:relative;min-height:0;max-height:calc(100dvh - 145px);overflow:auto;padding:22px 26px 18px;border:2px solid #4dbaff;border-radius:48px;background:linear-gradient(135deg,#f5fbfff5,#e1f2fff2);box-shadow:0 0 0 5px #ffffffb0,0 0 0 8px #6cbcefa0,inset 0 0 0 2px #fff,0 16px 0 -5px #6f9fb56b,0 20px 55px #052e5444;animation:city-console-expand .38s ease-out; }
@keyframes city-console-expand { from { opacity:0;transform:translateY(45px) scale(.82) rotateX(8deg); } to { opacity:1;transform:none; } }
.city-holo-header { display:grid;grid-template-columns:86px minmax(140px,1fr) minmax(200px,1fr) auto 36px;align-items:center;gap:16px;margin-bottom:20px; }
.city-holo-badge { display:grid;place-items:center;width:80px;height:80px;border:4px solid #fff;border-radius:50%;background:var(--quiz-accent);box-shadow:0 0 0 2px #96d3ff,0 4px 10px #3667b455,inset 0 0 14px #ffffff99;color:white;font-size:38px;font-weight:800; }
.city-holo-header h2 { margin:0;font-size:30px;line-height:1.15; }
.city-holo-header p { margin:6px 0 0;font-size:17px;font-weight:700;overflow-wrap:anywhere; }
.city-holo-close { width:36px;height:36px;border:1px solid #bddff2;border-radius:10px;background:#fff;color:#12619a;font-size:26px!important; }
.city-holo-steps { display:flex;align-items:center;justify-content:space-between;list-style:none;margin:0;padding:0;gap:10px; }
.city-holo-steps li { display:grid;place-items:center;flex:none;position:relative;width:36px;height:36px;border-radius:50%;background:#cfe4f7;color:#6b96ba;font-size:20px;font-weight:700; }
.city-holo-steps li:not(:last-child)::after { content:'';position:absolute;left:100%;width:20px;height:3px;background:#b5d5ed; }
.city-holo-steps li.is-current,.city-holo-steps li.is-done { color:white;background:var(--quiz-accent); }
.city-holo-level { padding:10px 14px;border:1px solid #b9dfeb;border-radius:30px;background:#edfbff;color:#08795c;font-size:13px;font-weight:700; }
.city-holo-columns { display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:24px; }
.city-holo-media { min-width:0; }
.city-holo-media figure { position:relative;aspect-ratio:1.55;margin:0;overflow:hidden;border:2px solid #fff;border-radius:22px;background:#d5e8f1; }
.city-holo-media img { width:100%;height:100%;object-fit:contain;display:block; }
.city-holo-media figure.is-expanded { position:fixed;inset:5dvh 5vw;z-index:3;aspect-ratio:auto;background:#eff8ff;box-shadow:0 0 0 12px #06315855; }
.city-holo-zoom { position:absolute;right:10px;bottom:10px;border:1px solid #fff;border-radius:12px;padding:9px;background:#073859e8;color:white;font-size:12px!important; }
.city-holo-context { margin:14px 0 0;padding:16px 18px;border:2px solid #fff;border-radius:22px;background:#dcefffaa;white-space:pre-line; }
.city-holo-alignment { font-size:12px;color:#3d6182;overflow-wrap:anywhere; }
.city-holo-form { min-width:0;padding:16px 18px;border:1px solid #fff;border-radius:24px;background:#deeffba6; }
.city-holo-form h3 { margin:0 0 20px;font-size:23px;line-height:1.35;overflow-wrap:anywhere; }
.city-holo-options { min-width:0;margin:0;padding:0;border:0;display:grid;gap:10px; }
.city-holo-options label { position:relative;display:flex;align-items:center;gap:14px;min-height:66px;padding:10px 14px;border:1px solid #bcd9f2;border-radius:20px;background:#f8fcffbb;cursor:pointer; }
.city-holo-options input { position:absolute;opacity:0;width:1px;height:1px; }
.city-holo-options label:has(input:focus-visible) { outline:3px solid #126bea;outline-offset:2px; }
.city-holo-options label:has(input:checked) { border:2px solid #ff9900;background:#fff5e8; }
.city-holo-options b { display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#c3ddf3;color:#073b73;font-size:23px; }
.city-holo-options label:has(input:checked) b { background:#ff9900;color:white; }
.city-holo-options span { min-width:0;overflow-wrap:anywhere; }
.city-holo-reason { display:grid;gap:6px;margin-top:14px;font-size:12px;font-weight:700; }
.city-holo-reason textarea { resize:vertical;min-height:58px;width:100%;padding:10px;border:1px solid #bcd9f2;border-radius:10px;font:14px/1.4 Arial;color:#12386a;background:#ffffffc9; }
.city-holo-feedback { margin-top:14px;padding:14px;border:1px solid #f3b852;border-radius:12px;background:#fff5df;color:#69420b;font-size:13px; }
.city-holo-feedback.is-correct { border-color:#48c48f;background:#e6faf1;color:#116542; }
.city-holo-feedback p { margin:8px 0; }.city-holo-feedback ul { margin:8px 0 0;padding-left:18px; }
.city-holo-status { margin:10px 0 0;font-size:12px; }
.city-holo-footer { display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:20px; }
.city-holo-footer button { min-height:48px;padding:12px 20px;border:1px solid #badff4;border-radius:24px;background:#f3fbff;box-shadow:0 3px 6px #4b8bbc30;color:#0759a9; }
.city-holo-footer button:first-child { margin-right:auto; }
.city-holo-footer .city-holo-next { min-width:230px;background:linear-gradient(#0786ff,#0054d9);border:2px solid #b0e4ff;box-shadow:0 0 0 2px #46b6ff,0 4px 14px #0a72c255,inset 0 0 8px #52c6ff;color:white; }
.city-holo-sr { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.city-holo-console [hidden] { display:none!important; }
@media(max-width:1000px) { .city-holo-console{padding:16px 22px}.city-holo-header{grid-template-columns:64px 1fr auto 30px}.city-holo-badge{width:60px;height:60px;font-size:30px}.city-holo-steps{grid-column:1/3;grid-row:2;max-width:300px}.city-holo-level{grid-column:3/5;grid-row:2}.city-holo-close{grid-column:4;grid-row:1}.city-holo-card{padding:18px;border-radius:30px}.city-holo-form h3{font-size:20px}.city-holo-options span{font-size:14px} }
@media(max-width:700px) { .city-holo-console{gap:12px;padding:12px}.city-holo-tabs{gap:5px;justify-content:stretch}.city-holo-tabs>button{min-width:0;width:25%;padding:8px 3px;font-size:12px;border-radius:12px;min-height:55px}.city-holo-tabs small{font-size:8px}.city-holo-dots{gap:4px}.city-holo-dots i{width:7px;height:7px}.city-holo-card{max-height:calc(100dvh - 100px);border-radius:24px;padding:16px 12px}.city-holo-columns{grid-template-columns:minmax(0,1fr);gap:14px}.city-holo-header{gap:8px;grid-template-columns:52px minmax(0,1fr) auto 28px}.city-holo-header h2{font-size:23px}.city-holo-header p{font-size:13px}.city-holo-badge{width:48px;height:48px;font-size:25px}.city-holo-steps{max-width:230px}.city-holo-steps li{width:28px;height:28px;font-size:16px}.city-holo-level{font-size:10px;padding:7px}.city-holo-form{padding:14px 10px}.city-holo-form h3{font-size:19px}.city-holo-footer{flex-wrap:wrap;gap:8px}.city-holo-footer button{font-size:12px;padding:10px 12px;flex:1;min-width:0!important}.city-holo-footer .city-holo-next{flex-basis:100%}.city-holo-context{font-size:14px}.city-holo-options label{padding:10px;gap:10px}.city-holo-options b{width:34px;height:34px;font-size:20px} }
@media(prefers-reduced-motion:reduce) { .city-holo-card{animation:none} }
.city-quiz-images-only :is(aside.mechanic-pilot,.floor-station-dialog,.city-quiz-empty-window,.city-quiz-guide,.city-module-stage-panel,.city-module-stage-frame,.city-module-resources,.city-quiz-marker-control-layer,.city-quiz-route-entry,.city-open-pilot,.city-door-action[data-city-quiz-station]) {
  display:none!important;
}
