/* Original design/hunt-login/claim.css supplies the visual system.
   These adapters only connect its fields and panels to the Rust workflow. */
.game-rust {
  --text: #e5eaf0;
  --muted: #a8b5c0;
  --blue: #1a9fff;
  --line: #394550;
  --error: #ffb4a8;
  --success: #9ae7b7;
}
.game-rust .ambient,
.game-rust .journey,
.game-rust .panel-kicker,
.game-rust .query-link,
.game-rust .auth-wait-mark { display: none; }
.game-rust .site-header { min-height: 0; }
.game-rust .brand { letter-spacing: 0; }
.game-rust #tabs { align-items: center; }
.game-rust .nav-button { line-height: normal; font-weight: 400; }
.game-rust .claim-workspace { width: 100%; min-width: 0; }
.game-rust:not([data-view="card"]):not([data-view="query"]) main > h1,
.game-rust:not([data-view="card"]):not([data-view="query"]) .connection-status { width: 100%; max-width: 470px; margin-left: auto; margin-right: auto; }
.game-rust main:has(#step2:not([hidden]) .with-qr:not([hidden])) > h1,
.game-rust main:has(#step2:not([hidden]) .with-qr:not([hidden])) > .connection-status { max-width: none; }
.game-rust .panel { width: 100%; max-width: 470px; margin: 0 auto; position: relative; }
.game-rust .panel > h2 { font-size: 23px; margin: 0 0 14px; }
.game-rust .login-panel > h2,
.game-rust .query-panel > h2,
.game-rust .progress-panel > h2 { display: none; }
.game-rust .card-panel form { margin: 0; }
.game-rust .card-panel .description { margin-bottom: 20px; }
.game-rust .card-panel label { margin: 0 0 7px; }
.game-rust .card-panel .message { min-height: 19px; }
.game-rust #validate-result[hidden] { display: block !important; visibility: hidden; }
.game-rust .message { overflow-wrap: anywhere; }
.game-rust .message.success { color: var(--success); }
.game-rust .panel > .muted { color: var(--muted); font-size: 13px; line-height: 1.9; margin: 0 0 24px; }
.game-rust .muted { color: var(--muted); font-size: 13px; line-height: 1.9; }
.game-rust .small { font-size: 11px; }
.game-rust .mono { font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-variant-numeric: tabular-nums; letter-spacing: .3px; }
.game-rust label,
.game-rust .blue-label { display: block; color: #aab4bf; font-size: 12px; font-weight: 400; line-height: 1.5; margin: 18px 0 7px; }
.game-rust .label,
.game-rust .blue-label { color: #1a9fff; font-weight: 600; }
.game-rust .blue-label { margin-top: 0; }
.game-rust input { width: 100%; min-width: 0; height: 40px; padding: 8px 11px; border: 0; border-radius: 2px; color: #e5eaf0; background: #32353c; font: 14px Arial, "Microsoft YaHei", sans-serif; }
.game-rust input::placeholder { color: #79818a; font-size: 12px; }
.game-rust input:focus-visible { outline: 2px solid #1a9fff; outline-offset: 2px; }
.game-rust .primary { min-height: 40px; box-sizing: border-box; }
.game-rust .text-button { line-height: 1.7; }
.game-rust .login-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.game-rust .login-grid.with-qr { grid-template-columns: minmax(0, 1fr) 200px; }
.game-rust .login-panel:has(.with-qr:not([hidden])) { max-width: none; }
.game-rust .password-field { position: relative; }
.game-rust .password-field input { padding-right: 58px; }
.game-rust .password-toggle { position: absolute; top: 1px; right: 1px; bottom: 1px; padding: 0 12px; border: 0; border-radius: 2px; color: #c4cbd1; background: #3d4048; font: 12px Arial, sans-serif; cursor: pointer; }
.game-rust .password-toggle:hover { background: #484c55; }
.game-rust .login-button { width: 100%; }
.game-rust .qr-toggle { margin: 15px auto 0; }
.game-rust .help-link { display: block; width: fit-content; margin: 12px auto 0; color: #8fa4b5; font-size: 11px; text-decoration: none; }
.game-rust .help-link:hover { color: #fff; }
.game-rust .close-button { position: absolute; top: 8px; right: 9px; width: 28px; height: 28px; padding: 0; border: 0; color: #8fa4b5; background: transparent; font-size: 24px; cursor: pointer; }
.game-rust .close-button:hover { color: #fff; }
.game-rust .login-footnote { margin-top: 23px; padding-top: 15px; border-top: 1px solid #ffffff0c; color: #91a4b2; font-size: 11px; line-height: 1.9; }
.game-rust .qr-pane { text-align: center; }
.game-rust .qr-pane .blue-label { margin: 0 0 10px; }
.game-rust .qr-surface { display: grid; place-items: center; width: 200px; height: 200px; padding: 12px; border-radius: 5px; background: #fff; color: #5a6675; font-size: 12px; }
.game-rust .qr-surface img { width: 100%; height: 100%; object-fit: contain; }
.game-rust .qr-pane p { margin: 10px 0 0; color: #a8b5c0; font-size: 11px; line-height: 1.8; }
.game-rust .qr-pane b { color: #d8e4ed; font-weight: 400; }
.game-rust .auth-wait { display: flex; align-items: center; gap: 9px; margin-top: 24px; color: #b7c8d5; font-size: 12px; line-height: 1.9; }
.game-rust .pulse-dot { width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #1a9fff; animation: rust-pulse 1.5s infinite; }
.game-rust .guard-panel { padding-top: 4px; text-align: center; }
.game-rust .login-panel:has(#guard-modal:not([hidden])) > #login-note { display: none; }
.game-rust .guard-panel h3 { margin: 0 0 12px; color: #e5eaf0; font-size: 19px; font-weight: 500; }
.game-rust .guard-panel .muted { font-size: 12px; }
.game-rust .guard-panel form { margin-top: 24px; }
.game-rust .guard-code-field { position: relative; }
.game-rust .guard-code { height: 52px; font-size: 22px; letter-spacing: 5px; }
.game-rust .guard-code-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.game-rust .guard-code-grid span { display: grid; place-items: center; height: 56px; border: 1px solid #4b5056; border-radius: 2px; background: #32353c; color: #fff; font: 26px Consolas, monospace; }
.game-rust .guard-code-grid span.active { border-color: #1a9fff; box-shadow: 0 0 0 1px #1a9fff; }
.game-rust .guard-code-field.segmented input { position: absolute; inset: 0; z-index: 1; height: 100%; padding: 0; border: 0; outline: none; background: transparent; color: transparent; caret-color: transparent; box-shadow: none; letter-spacing: 0; font-size: 16px; }
.game-rust .guard-code-field.segmented input::selection { color: transparent; background: transparent; }
.game-rust #guard-methods { margin-top: 20px; color: #8fa4b5; font-size: 12px; }
.game-rust summary { cursor: pointer; line-height: 1.8; }
.game-rust .guard-alternatives { padding-top: 10px; }
.game-rust .guard-alternatives .text-button { margin: 0 auto; }
.game-rust .task-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; margin: 0 0 22px; border-bottom: 1px solid #394550; color: #91a9bb; font-size: 11px; }
.game-rust .copy-task { max-width: 100%; padding: 4px 0; border: 0; color: #c5d9e7; background: transparent; font-size: 10px; overflow-wrap: anywhere; cursor: pointer; }
.game-rust .progress-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: #d8e4ed; font-size: 13px; }
.game-rust .progress-heading strong { font-weight: 500; }
.game-rust #bar-pct { color: #1a9fff; }
.game-rust .progress-bar { height: 5px; margin-top: 12px; border-radius: 4px; background: #2a2d34; overflow: hidden; }
.game-rust .progress-bar i { display: block; width: 0; height: 100%; background: linear-gradient(100deg, #06b9ee, #2c72ff); transition: width .35s; }
.game-rust .processing-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; gap: 14px; padding: 0; margin: 22px 0 0; color: #7e909f; font-size: 11px; }
.game-rust .processing-steps li::before { content: ''; display: inline-block; width: 5px; height: 5px; margin: 0 7px 2px 0; border-radius: 50%; background: #536171; }
.game-rust .processing-steps .active { color: #93d2f6; }
.game-rust .processing-steps .active::before { background: #1a9fff; }
.game-rust .processing-steps .done { color: #9ae7b7; }
.game-rust .processing-steps .done::before { background: #7eb78e; }
.game-rust .outcome { margin-top: 24px; padding: 14px; border: 1px solid #3f5d47; border-radius: 3px; background: #22352c; color: #9ae7b7; font-size: 12px; line-height: 1.9; }
.game-rust .outcome.error { border-color: #75454b; color: #ffb4a8; background: #51272c33; }
.game-rust .logs-details { margin-top: 22px; color: #8fa4b5; font-size: 11px; }
.game-rust .logs { max-height: 200px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; margin-top: 12px; color: #91a4b2; font: 11px/1.9 Consolas, monospace; }
.game-rust .query-panel label { color: #1a9fff; font-weight: 600; margin-top: 0; }
.game-rust .query-input-row .primary { margin-top: 24px; }
.game-rust .order-status-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 23px; margin-top: 23px; border-top: 1px solid #394550; color: #e5eaf0; font-size: 17px; }
.game-rust .order-status-row strong { font-weight: 500; }
.game-rust .order-status-row span { color: #1a9fff; font-size: 12px; }
.game-rust #order-message { color: #a8b5c0; font-size: 12px; line-height: 1.9; }
.game-rust #order-task { overflow-wrap: anywhere; }
.game-rust .query-actions { margin-top: 20px; }
.game-rust .query-actions .primary { font-size: 12px; margin-top: 12px; }
.game-rust footer .page-note { max-width: none; padding: 0; }
.game-rust .footer-brand a { margin-left: 16px; color: #b9cbd9; text-decoration: none; }
.game-rust .footer-brand a:hover { color: #fff; }
.game-rust .panel p { margin-top: 0; }
.game-rust .panel button { font-family: inherit; }
.game-rust dialog { width: min(480px, calc(100% - 40px)); padding: 28px; border: 1px solid #4c6374; border-radius: 4px; color: #e5eaf0; background: #181a21; }
.game-rust dialog::backdrop { background: #080e16bb; }
.game-rust dialog h3 { margin: 0 0 15px; font-size: 19px; font-weight: 500; }
.game-rust #confirm-content { color: #a8b5c0; font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.game-rust .dialog-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; margin-top: 24px; }
.game-rust .dialog-actions .primary { width: auto; margin: 0; padding-inline: 20px; }
.game-rust .dialog-actions .text-button { margin: 0; }
.game-rust[data-view="query"] main { display: flex; flex: 1; flex-direction: column; justify-content: center; }
.game-rust[data-view="query"] h1,
.game-rust[data-view="query"] .connection-status { text-align: center; }
@keyframes rust-pulse { 50% { opacity: .35; } }
@media (max-width: 650px) {
  .game-rust .panel { padding: 25px 24px; }
  .game-rust .login-grid.with-qr { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .game-rust .qr-pane { justify-self: center; }
  .game-rust .task-row { flex-direction: column; align-items: flex-start; gap: 8px; }
  .game-rust .guard-code-grid { gap: 7px; }
  .game-rust .guard-code-grid span { height: 50px; font-size: 24px; }
  .game-rust .panel > .muted { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .game-rust * { animation: none !important; transition: none !important; } }
