.city-native-practice-active aside.mechanic-pilot,
.city-native-practice-active .city-quiz-empty-window,
.city-native-practice-active .city-quiz-marker-control-layer { display: none !important; }
.native-practice {
  position: absolute; left: 14px; bottom: 14px; z-index: 42;
  width: min(350px, calc(100% - 28px)); max-height: min(66%, 640px);
  display: flex; flex-direction: column; overflow: hidden;
  color: #ecf7ff; background: #103d60f5; border: 1px solid #56cfe2;
  border-top: 3px solid #f5cd62; border-radius: 6px; box-shadow: 0 5px 24px #001c3340;
  font: 13px/1.4 system-ui, sans-serif; letter-spacing: 0;
  pointer-events: auto; text-align: left; isolation: isolate;
  box-sizing: border-box;
}
.native-practice[hidden], .native-practice-world[hidden], .native-practice-world__object[hidden] { display: none !important; }
.native-practice *, .native-practice-world * { box-sizing: border-box; letter-spacing: 0; }
.native-practice__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: #075283; }
.native-practice__head strong { font-size: 15px; }
.native-practice button, .native-practice select, .native-practice textarea, .native-practice input {
  font: inherit; max-width: 100%; min-width: 0; border-radius: 4px;
}
.native-practice button { min-height: 40px; border: 1px solid #7ed1e1; background: #195a7e; color: #fff; padding: 7px 10px; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.native-practice button:hover:enabled { background: #216d94; }
.native-practice button:disabled { opacity: .58; cursor: default; }
.native-practice button:focus-visible, .native-practice :is(input, textarea, select, summary):focus-visible, .native-practice-world__object:focus-visible { outline: 3px solid #ffe07d; outline-offset: 2px; }
.native-practice .native-practice__close { font-size: 24px; line-height: 1; width: 42px; height: 42px; flex: 0 0 42px; padding: 0; border: 0; background: transparent; }
.native-practice__notice { margin: 0; padding: 7px 12px; color: #ffe09a; font-size: 11px; border-bottom: 1px solid #4484a0; }
.native-practice__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 8px 10px; }
.native-practice__nav button { text-align: left; font-size: 11px; line-height: 1.3; border-color: #55889d; }
.native-practice__nav button[aria-current="step"] { border-color: #f9d265; background: #226782; color: #fff3be; }
.native-practice__nav button.is-completed { border-left: 4px solid #6ee0c4; }
.native-practice__content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 12px; scrollbar-width: thin; }
.native-practice h2 { font-size: 15px; line-height: 1.3; margin: 6px 0; color: #fff; overflow-wrap: anywhere; }
.native-practice p { overflow-wrap: anywhere; }
.native-practice__case { margin: 6px 0 10px; color: #d4e8f4; font-size: 12px; }
.native-practice details { border-top: 1px solid #457991; padding: 7px 0; }
.native-practice summary { cursor: pointer; min-height: 30px; padding-top: 4px; color: #92e8f2; font-weight: 600; }
.native-practice ul, .native-practice ol { padding-left: 18px; margin: 5px 0; }
.native-practice li { margin: 5px 0; overflow-wrap: anywhere; }
.native-practice__objects { font-size: 12px; }
.native-practice__objects small { display: block; color: #abcbdc; font-size: 11px; }
.native-practice .is-done { color: #98f4d7; }
.native-practice__field { display: flex; flex-direction: column; gap: 5px; margin: 9px 0; font-size: 12px; }
.native-practice :is(textarea, input, select) { width: 100%; background: #f2faff; color: #12394e; border: 1px solid #73bccf; padding: 8px; min-height: 42px; }
.native-practice textarea { min-height: 85px; resize: vertical; }
.native-practice__instruction { margin: 9px 0; color: #ffe297; font-size: 12px; }
.native-practice__route { margin: 6px 0; color: #bfe7f3; font-size: 11px; }
.native-practice .native-practice__activate { width: 100%; background: #f5ce68; color: #183e57; border-color: #ffe5a0; font-weight: 700; min-height: 44px; }
.native-practice .native-practice__activate:hover:enabled { background: #ffe192; }
.native-practice__evidence { margin-top: 9px; }
.native-practice__commands { display: flex; flex-wrap: wrap; gap: 6px; }
.native-practice__commands button { flex: 1 1 120px; font-size: 12px; }
.native-practice__feedback { margin: 7px 0; color: #acf1de; font-size: 12px; }
.native-practice .is-warning { color: #ffce9c; }
.native-practice__history { font-size: 11px; }
.native-practice-world { position: absolute; inset: 0; z-index: 38; pointer-events: none; overflow: hidden; }
.native-practice-world__object { position: absolute; transform: translate(-50%, -100%); width: min(180px, 45%); min-height: 44px; padding: 7px 10px; border: 1px solid #9adce8; border-radius: 4px; color: #f1faff; background: #134e71ee; font: 12px/1.3 system-ui, sans-serif; overflow-wrap: anywhere; pointer-events: auto; cursor: pointer; }
.native-practice-world__object.is-near { border: 2px solid #ffdb7a; color: #fff1b7; }
@media (max-width: 700px) {
  .native-practice { left: 8px; bottom: 8px; width: min(320px, calc(100% - 16px)); max-height: 46%; }
  .native-practice__head { padding: 3px 9px; }
  .native-practice__nav { padding: 5px 8px; }
  .native-practice__content { padding: 0 9px 9px; }
  .native-practice select, .native-practice input, .native-practice textarea { font-size: 16px; }
}
@media (max-height: 480px) and (min-width: 701px) { .native-practice { max-height: calc(100% - 20px); width: 300px; bottom: 10px; } }
