.ar-page { max-width: 1200px; margin-inline: auto; }
.ar-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 24px; align-items: start; }
.ar-stage { overflow: hidden; min-width: 0; }
.ar-stage model-viewer { display: block; width: 100%; height: 460px; border-radius: 18px; background: #e9eee8; }
.ar-launch { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.ar-exit { position: absolute; top: 20px; right: 20px; }
.ar-toolbar { display: flex; flex-wrap: wrap; gap: 8px; }
.ar-toolbar button { padding: 10px 16px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--surface); }
.ar-toolbar button:hover { border-color: var(--teal); }
.ar-toolbar button:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.ar-toolbar button:disabled { opacity: .5; cursor: wait; }
.ar-guide .panel { margin-bottom: 20px; }
.ar-guide ol { padding-left: 22px; }
.ar-guide li { margin-bottom: 12px; }
.ar-notice { border-left: 3px solid #aa674d; padding-left: 12px; }
#ar-status { min-height: 3em; margin-block: 16px; }
#ar-qr { background: white; width: fit-content; max-width: 100%; margin-top: 18px; }
#ar-qr svg { display: block; width: 220px; max-width: 100%; height: auto; }
#ar-link { overflow-wrap: anywhere; font-size: .8rem; }
.ar-share summary { cursor: pointer; font-weight: 600; }
.ar-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.ar-options a { padding: 10px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.ar-options a[aria-current] { background: var(--teal); color: white; border-color: var(--teal); }
.mindar-start { margin-top: 18px; }
.mindar-target-thumb { width: auto; max-width: 100%; max-height: 220px; display: block; border-radius: 6px; }
.mindar-overlay { position: fixed; inset: 0; z-index: 10000; background: #152520; }
.mindar-overlay iframe { display: block; width: 100%; height: 100%; border: 0; }
body.mindar-open { overflow: hidden; }
@media (max-width: 760px) {
    .ar-layout { grid-template-columns: 1fr; }
    .ar-stage model-viewer { height: 360px; height: min(52svh, 420px); min-height: 280px; }
    .ar-page h1 { font-size: 2.2rem; }
}
