/* Etapa 9 · Singularidade: arquivos absorvidos, guardados no aparelho e em órbita */
.absv{position:fixed;left:max(20px,env(safe-area-inset-left,0px));top:calc(env(safe-area-inset-top,0px) + 80px);z-index:8;width:300px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:14px 14px 12px;border-radius:14px;background:linear-gradient(160deg,rgba(18,17,20,.92),rgba(10,10,12,.92));border:1px solid rgba(255,236,214,.09);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 50px rgba(0,0,0,.55);opacity:0;transform:translateX(-12px);pointer-events:none;transition:opacity .45s,transform .45s}
.absv.on{opacity:1;transform:none;pointer-events:auto}
.absv h4{margin:0 0 10px;font:500 9.5px var(--f-mono);letter-spacing:.24em;text-transform:uppercase;color:#8a8279;display:flex;align-items:center;gap:8px}
.absv h4 i{width:7px;height:7px;border-radius:50%;background:#ffb979;box-shadow:0 0 10px rgba(255,185,121,.7);animation:pulsa 1.2s ease-in-out infinite}
@keyframes pulsa{50%{opacity:.3}}
.absv ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;max-height:46vh;overflow-y:auto}
.absv li{display:grid;grid-template-columns:28px 1fr auto;gap:2px 10px;align-items:center;min-width:0}
.absv li .ic{grid-row:1/3}
.absv li b{font:400 12.5px var(--f-display);color:#cfc6b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.absv li em{font:400 9.5px var(--f-mono);font-style:normal;color:#6d6870;text-align:right;font-variant-numeric:tabular-nums}
.absv li s{grid-column:2/4;display:block;height:2px;border-radius:2px;background:rgba(255,236,214,.08);text-decoration:none;position:relative;overflow:hidden}
.absv li s u{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,rgba(255,236,214,.35),#ffb979);transition:width .15s}
.absv li.err em{color:#d98a6a}
.absv footer{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,236,214,.07);font:400 9.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#6d6870;font-variant-numeric:tabular-nums}
.ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,236,214,.08);color:#8a8279}
.ic svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#arqOrb{position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%;transition:transform .95s cubic-bezier(.6,0,.9,.4),opacity .95s}
body.closing #arqOrb{transform:rotate(120deg) scale(.08);opacity:0}
#stage.open #arqOrb{opacity:0}
.arq{position:absolute;left:0;top:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:#6d6870;font:400 9.5px var(--f-mono);letter-spacing:.04em;max-width:88px;transition:color .3s}
.arq .ic{width:30px;height:30px;border-radius:9px;transition:border-color .3s,box-shadow .3s,color .3s}
.arq span{max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arq small{font-size:8.5px;color:#4d4952}
.arq:hover,.arq:focus-visible{color:#e6ddd0}
.arq:hover .ic,.arq:focus-visible .ic{color:#ffdcb8;border-color:rgba(255,185,121,.4);box-shadow:0 0 20px rgba(255,170,90,.15)}
body.drop .horizon::after{opacity:1}
body.drop .horizon{box-shadow:0 0 0 1px rgba(255,185,121,.25),0 0 80px rgba(255,170,90,.12),inset 0 0 60px rgba(0,0,0,.6)}
.arow{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:6px 8px;border-radius:10px;border:1px solid transparent;min-width:0}
.arow:hover{border-color:var(--line);background:rgba(255,255,255,.015)}
.arow a{color:#b3aa9d;text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.arow a:hover{color:#fff1df}
.arow time{font:400 9.5px var(--f-mono);color:#4f4b54;white-space:nowrap;font-variant-numeric:tabular-nums}
.slog{font:400 10px var(--f-mono);letter-spacing:.06em;color:#5a5660;text-align:center;line-height:1.6}
.slog b{color:#8a8279;font-weight:500}
@media (max-width:599px){.absv{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);left:16px;width:calc(100vw - 32px)}}
