:root{color-scheme:dark;--cream:#f0e4ce;--gold:#c9a66c;--green:#214b43;--line:#c9a66c40}
*{box-sizing:border-box}body{margin:0;background:#091515;color:var(--cream);font:15px/1.55 Georgia,serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:600 13px/1.3 system-ui,sans-serif;letter-spacing:.015em;color:var(--cream);background:linear-gradient(#254e46,#15362f);border:1px solid #638373;border-radius:10px;padding:13px 20px;min-height:44px;cursor:pointer;box-shadow:inset 0 1px #ffffff18,0 4px 0 #071612,0 9px 20px #0003}button:disabled{opacity:.4;cursor:wait}button:hover:not(:disabled){filter:brightness(1.15)}button:focus-visible,a:focus-visible{outline:2px solid #f4d49a;outline-offset:4px}button:active:not(:disabled){transform:translateY(2px)}button[hidden]{display:none!important}#scene{position:fixed;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.topbar{position:fixed;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;background:linear-gradient(#081313df,transparent);pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--cream);font-size:37px}.brand span{border-left:1px solid var(--line);padding-left:12px;font:10px/1.6 system-ui;letter-spacing:.15em}.edition,.eyebrow{font:600 10px/1.4 system-ui;letter-spacing:.23em;color:var(--gold)}#help{border-radius:50%;padding:0;width:42px;font:italic 24px Georgia;background:#14352e}.chapter{position:fixed;top:115px;left:7vw;pointer-events:none}.chapter h1{font-weight:400;font-size:clamp(36px,4vw,62px);letter-spacing:-.04em;margin:9px 0 3px}.chapter p{color:#b4beb3;margin:0;font-size:16px}.instruction{position:fixed;left:7vw;bottom:105px;width:min(335px,36vw);padding:24px;background:linear-gradient(140deg,#152725ef,#0a1716f2);border:1px solid var(--line);border-radius:16px;box-shadow:inset 0 1px #ffffff10,0 9px 0 #040e0c99,0 20px 45px #0005;backdrop-filter:blur(12px)}.instruction h2{font-size:25px;font-weight:400;line-height:1.17;margin:9px 0}.instruction p{font:13px/1.6 system-ui;color:#bec8be;margin:0 0 16px}.instruction button{width:100%}.tools{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:9px;white-space:nowrap}.tools button,#ar-ios{background:#0d211fef;border-color:#c9a66c44;border-radius:30px;padding:12px 17px;font:600 12px/1.3 system-ui;color:var(--cream);text-decoration:none}.tools button[aria-pressed=true]{border-color:var(--gold);color:#ffe1ac}.caption{position:fixed;right:32px;bottom:110px;font-style:italic;color:#c3bdab;font-size:13px;text-align:right;pointer-events:none}.caption span{display:block;font:9px/1.6 system-ui;letter-spacing:.08em;color:#74877e;margin-top:5px}#reticle{position:fixed;left:50%;top:48%;width:24px;height:24px;transform:translate(-50%,-50%);border:1px solid #e7c99370;border-radius:50%;pointer-events:none;display:none}#reticle span{position:absolute;left:10px;top:10px;width:2px;height:2px;background:#ffe0aa}#progress{display:none;height:3px;background:#52635255;border-radius:2px;margin:14px 0}#progress span{display:block;height:100%;width:0;background:#e3bc73;box-shadow:0 0 9px #e3bc7355}#loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#0a1918df;padding:16px 25px;border-radius:12px;color:var(--gold)}dialog{color:var(--cream);background:linear-gradient(135deg,#19312d,#091b18);border:1px solid #baa06b70;border-radius:22px;padding:32px;width:min(480px,calc(100vw - 28px));max-height:90dvh;overflow:auto;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#020908b8;backdrop-filter:blur(10px)}dialog h2{font-weight:400;font-size:31px;margin:10px 0}dialog p{color:#c9d1c4}dialog>.close{position:absolute;top:10px;right:12px;border:0;box-shadow:none;background:none;font:25px Georgia;padding:5px 12px}dialog>#register{width:100%}.draft{font:11px/1.5 system-ui!important;color:#94a69b!important;text-align:center}.m3d-card-stage{width:100%;margin-top:24px}.m3d-card-face{min-height:270px;background:linear-gradient(145deg,#e8d7b4,#c9b88c);color:#2f3226;border-color:#f6e8c4;padding:30px}.m3d-card-back{background:linear-gradient(145deg,#2b4138,#13281f);color:#f3e3bb}.m3d-card-face p{color:inherit;font-size:16px}.m3d-card-face h3{font-size:30px;font-weight:400;margin:14px 0}.m3d-card-face .evidence-mark{font:42px Georgia;color:#65502d;letter-spacing:.2em}.m3d-hologram-seal{display:none}.m3d-stamp{position:static;align-self:flex-start}.m3d-card-back[aria-hidden=true],.m3d-card-front[aria-hidden=true]{pointer-events:none}#notice{position:fixed;z-index:30;left:50%;top:90px;transform:translateX(-50%);background:#153b32;padding:12px 20px;border:1px solid var(--line);border-radius:12px;font:13px system-ui;max-width:90vw;display:none}body.in-ar .chapter,body.in-ar .caption{display:none}body.in-ar{background:transparent}body.in-ar .instruction{bottom:110px;background:#0c2420e8}
@media(max-width:700px){.topbar{padding:14px 18px}.brand{font-size:29px}.edition{font-size:8px;letter-spacing:.08em}.chapter{top:92px;left:22px}.chapter h1{font-size:34px}.chapter p{font-size:13px}.instruction{left:16px;right:16px;bottom:94px;width:auto;padding:15px 18px}.instruction h2{font-size:21px}.instruction p{font-size:12px;margin-bottom:10px}.instruction button{min-height:42px;padding:10px}.tools{bottom:20px;max-width:calc(100vw - 20px);gap:5px;flex-wrap:wrap;justify-content:center;width:100%}.tools button{padding:9px 12px;font-size:10px;min-height:36px}.caption{display:none}dialog{padding:27px 20px}.m3d-card-face{padding:23px}#notice{top:75px}}
.gesture-point{position:fixed;z-index:3;transform:translate(-50%,-50%);border-radius:50%;width:62px;height:62px;padding:0;background:transparent;border:1px solid #e9ce8b88;box-shadow:0 0 22px #e7bd5c30;touch-action:none;cursor:grab}.gesture-point:active{transform:translate(-50%,-50%);cursor:grabbing}.gesture-point span{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;white-space:nowrap;background:#09231de8;padding:5px 10px;border-radius:20px;color:#f2d9a3;font:11px system-ui}.gesture-point[hidden]{display:none!important}#socket{width:54px;height:54px;border:1px dashed #d4bd81aa;pointer-events:none;z-index:2}#socket.ready{border:2px solid #a2efbf;box-shadow:0 0 28px #83cfa055}#socket.ready span{color:#a2efbf}.accessible-option{display:flex;gap:10px;align-items:center;padding:14px 0;font:14px/1.5 system-ui}.accessible-option input{width:20px;height:20px}#primary[hidden]{display:none}.instruction{pointer-events:none}.instruction button{pointer-events:auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[hidden]{display:none!important}#coop-status{position:fixed;top:76px;right:32px;max-width:70vw;font:11px/1.4 system-ui;color:#b9cabc;pointer-events:none}#timer{font:600 11px/1.5 system-ui;color:#e4c691;margin-bottom:8px;font-variant-numeric:tabular-nums}#invite{color:#f0d399;text-decoration:underline}.gesture-point:not(#socket){border-color:transparent;box-shadow:none}.gesture-point:not(#socket) span{font-size:10px;opacity:.7}#socket:not(.ready){display:none}.in-ar #orbit,.in-ar #below,.in-ar #motion,.in-ar #primary{display:none!important}@media(max-width:700px){#coop-status{top:65px;right:18px;max-width:65vw;text-align:right}.instruction{bottom:76px}.chapter{top:110px}}


/* Onde cada janela mora (pilha de painéis, avisos, diálogos) é assunto de
   `ac-janelas.css`. O remendo que ficava aqui ("leitura móvel no percurso
   Solo") dava ao painel uma rolagem própria de 38dvh DENTRO da pilha, que
   já rola: medido na volta 2 (17/09/2026), o "Como jogar" ficava 12 px
   preso entre as duas rolagens, sem como chegar nele. */

/* A recusa tem de ser VISTA: a peça resiste, chacoalha e volta ao lugar. */
.gesture-point.recusa{animation:ac-recusa-pega .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes ac-recusa-pega{10%,90%{transform:translate(calc(-50% - 2px),-50%)}20%,80%{transform:translate(calc(-50% + 4px),-50%)}30%,50%,70%{transform:translate(calc(-50% - 7px),-50%)}40%,60%{transform:translate(calc(-50% + 7px),-50%)}}
@media(prefers-reduced-motion:reduce){.gesture-point.recusa{animation:none;outline:2px solid #ffb3a0}}
