/* Etapa 10 · Espaço de trabalho: janelas de vidro em órbita */
#espaco{position:fixed;inset:0;z-index:5;pointer-events:none}
.edock{position:fixed;left:max(20px,env(safe-area-inset-left,0px));top:50%;transform:translate(-14px,-50%);z-index:6;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity .6s .3s,transform .6s .3s}
body.vortex:not(.closing) .edock{opacity:1;transform:translate(0,-50%);pointer-events:auto}
.edock button{position:relative;width:38px;height:38px;padding:0;border-radius:12px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line);color:#5d5962;transition:color .3s,border-color .3s,box-shadow .3s}
.edock svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.edock button span{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);white-space:nowrap;font:400 9.5px var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:#8a8279;opacity:0;pointer-events:none;transition:opacity .3s}
.edock button:hover span,.edock button:focus-visible span{opacity:1}
.edock button:hover,.edock button:focus-visible{color:#ffdcb8;border-color:rgba(255,185,121,.35);box-shadow:0 0 22px rgba(255,170,90,.14)}
.edock button.on{color:#d8d0c4;border-color:rgba(255,236,214,.14)}
.edock button.on::after{content:"";position:absolute;right:-7px;top:50%;width:3px;height:3px;margin-top:-1.5px;border-radius:50%;background:#ffb979;box-shadow:0 0 8px #ffb979}
.janela{position:absolute;pointer-events:auto;display:flex;flex-direction:column;box-sizing:border-box;border-radius:16px;background:linear-gradient(160deg,rgba(22,21,25,.86),rgba(9,9,11,.9));border:1px solid rgba(255,236,214,.09);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,246,232,.04);overflow:hidden;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .6s,border-color .4s,box-shadow .4s;animation:deriva var(--dur,10s) ease-in-out infinite}
.janela.foco{border-color:rgba(255,185,121,.2);box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 46px rgba(255,170,90,.07),inset 0 1px 0 rgba(255,246,232,.05)}
.janela.nasce{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0;transition:none}
.janela.some{transform:translate(var(--dx),var(--dy)) scale(.04) rotate(35deg);opacity:0;pointer-events:none;transition:transform .68s cubic-bezier(.6,0,.9,.4),opacity .6s .08s}
@keyframes deriva{0%,100%{translate:0 0}50%{translate:0 -6px}}
.janela:hover,.janela:focus-within,.janela.arr{animation-play-state:paused}
.jt{display:flex;align-items:center;gap:10px;padding:9px 9px 9px 12px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;border-bottom:1px solid rgba(255,236,214,.06);flex:none}
.janela.arr .jt{cursor:grabbing}
.jic{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;border:1px solid rgba(255,236,214,.08);color:#c9a37c}
.jic svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.jt b{flex:none;font:400 13px var(--f-display);color:#d8d0c4;letter-spacing:.02em}
.jt em{font:400 9px var(--f-mono);font-style:normal;letter-spacing:.06em;color:#4f4b54;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.jx{flex:none;width:28px;height:28px;padding:0;border-radius:50%;display:grid;place-items:center;color:#5a5660;font-size:17px;line-height:1;border:1px solid transparent;transition:color .3s,border-color .3s}
.jx:hover,.jx:focus-visible{color:#ffdcb8;border-color:rgba(255,185,121,.3)}
.jc{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px;overflow:hidden}
.janela[data-j=painel] .jc{overflow-y:auto}
.jf{flex:none;font:400 9px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#4f4b54;line-height:1.6;font-variant-numeric:tabular-nums}
.janela h5{margin:2px 0 0;font:500 9px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#5a5660}
.janela .field{font-size:14px;padding:9px 14px}
.janela .chips{justify-content:flex-start}
.janela .mini.on{color:#ffdcb8;border-color:rgba(255,185,121,.35)}
.jnota{flex:1;min-height:0;resize:none;width:100%;box-sizing:border-box;background:rgba(255,255,255,.015);border:1px solid rgba(255,236,214,.06);border-radius:10px;color:#d8d0c4;font:400 15px/1.6 var(--f-read);padding:12px 14px;outline:none;transition:border-color .3s}
.jnota:focus{border-color:rgba(255,185,121,.24)}
.jnota::placeholder{color:#4f4b54}
.mapa{position:relative;flex:1;min-height:0;border-radius:10px;border:1px solid rgba(255,236,214,.06);background:radial-gradient(circle at 50% 50%,rgba(255,185,121,.04),transparent 62%);overflow:hidden;touch-action:none}
.mlin{position:absolute;inset:0;width:100%;height:100%}
.mlin line{stroke:rgba(255,206,160,.24);stroke-width:1}
.no{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;max-width:46%;box-sizing:border-box;padding:5px 10px;border-radius:999px;background:rgba(14,14,17,.94);border:1px solid rgba(255,236,214,.1);color:#b3aa9d;font:400 12px var(--f-display);white-space:nowrap;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;transition:border-color .3s,color .3s,box-shadow .3s}
.no span{overflow:hidden;text-overflow:ellipsis;outline:none;min-width:0}
.no span[contenteditable=true]{user-select:text;-webkit-user-select:text;cursor:text;overflow:visible}
.no.arr{cursor:grabbing;z-index:2}
.no.raiz{color:#1a1208;background:linear-gradient(180deg,#ffdcb6,#e6a66a);border-color:transparent;font-weight:500}
.no.sel{border-color:rgba(255,185,121,.55);box-shadow:0 0 18px rgba(255,170,90,.2);color:#fff1df}
.no.raiz.sel{box-shadow:0 0 0 3px rgba(255,185,121,.18),0 0 26px rgba(255,170,90,.35);color:#1a1208}
.no:focus-visible{border-color:rgba(255,185,121,.7)}
.no i{font-style:normal;color:#5a5660;font-size:13px;line-height:1;cursor:pointer;padding:0 2px}
.no i:hover{color:#ffdcb8}
.mform,.bform{display:flex;gap:8px;flex:none}
.mform input{flex:1;min-width:0}
.blist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.brow{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;align-items:center;padding:5px 6px;border-radius:8px;min-width:0}
.brow:hover{background:rgba(255,255,255,.02)}
.brow a{color:#b3aa9d;text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.brow a:hover{color:#fff1df}
.brow time{font:400 9px var(--f-mono);color:#4f4b54;white-space:nowrap}
.brow .mini{padding:3px 7px;font-size:9px;letter-spacing:.06em}
.pk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pk div{padding:9px 10px;border-radius:10px;border:1px solid rgba(255,236,214,.06);background:rgba(255,255,255,.015);min-width:0}
.pk b{display:block;font:400 17px var(--f-display);color:#e6ddd0;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk span{display:block;font:400 8.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#5a5660;margin-top:2px;line-height:1.4}
.pbar{display:flex;flex-direction:column;gap:6px}
.pbar div{display:grid;grid-template-columns:76px 1fr 26px;gap:8px;align-items:center}
.pbar span{font-size:11.5px;color:#8a8279;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbar i{height:3px;border-radius:3px;background:rgba(255,236,214,.06);overflow:hidden}
.pbar s{display:block;height:100%;background:linear-gradient(90deg,rgba(255,236,214,.3),#ffb979);text-decoration:none}
.pbar em{font:400 10px var(--f-mono);font-style:normal;color:#6d6870;text-align:right;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.janela{animation:none}}
@media (max-width:599px){
.edock{left:50%;top:calc(env(safe-area-inset-top,0px) + 106px);flex-direction:row;transform:translate(-50%,-8px)}
body.vortex:not(.closing) .edock{transform:translate(-50%,0)}
.edock button{width:36px;height:36px;border-radius:11px}
.edock button span{display:none}
.edock button.on::after{right:50%;top:auto;bottom:-7px;margin:0 -1.5px 0 0}
.janela{animation:none}
}
