body.cloud-locked>.app{display:none!important}#cloudGate[hidden]{display:none!important}#cloudGate{position:fixed;inset:0;z-index:100000;overflow:auto;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(ellipse at top,#34422e,#10150f 75%);color:#f4f0df;min-height:100dvh;box-sizing:border-box}.cloud-card{width:100%;max-width:440px;border:1px solid #626e4c;border-radius:24px;padding:28px;background:#1d251c;box-shadow:0 20px 70px #0008;box-sizing:border-box}.cloud-card h1{font:700 42px Rajdhani,sans-serif;letter-spacing:5px;color:#e8c27c;margin:0 0 10px}.cloud-card h2{font-size:24px;margin:8px 0 14px}.cloud-card p{color:#c6cbbb;line-height:1.5;font-size:14px}.cloud-card label{display:block;margin:14px 0 6px;font-size:14px}.cloud-card input{width:100%;box-sizing:border-box;border:1px solid #59644b;border-radius:10px;padding:13px;background:#11190f;color:#fff;font:16px sans-serif}.cloud-card button{width:100%;margin-top:12px;padding:13px;border:1px solid #708451;border-radius:12px;background:#526638;color:#f9f2df;font-weight:700;font-size:15px;cursor:pointer}.cloud-card button.secondary{background:transparent}.cloud-card button:disabled{opacity:.5;cursor:wait}.cloud-card .cloud-message{min-height:20px;color:#f0cd8b;overflow-wrap:anywhere}.cloud-card .cloud-character{padding:10px;border:1px solid #46503f;border-radius:10px;margin:8px 0}.cloud-status{background:#1d251c;border:1px solid #4a573b;color:#dfc489;border-radius:8px;padding:5px 9px;font-size:11px;margin-top:8px;text-align:center}.cloud-card input:focus-visible,.cloud-card button:focus-visible{outline:2px solid #e8c27c;outline-offset:3px}

.cloud-password{position:relative}.cloud-password input{padding-right:54px}.cloud-card .cloud-eye{position:absolute;right:4px;top:4px;bottom:4px;width:44px;margin:0;padding:9px;background:transparent;border:0;display:grid;place-items:center}.cloud-eye svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.cloud-eye .eye-slash{display:none}.cloud-eye[aria-pressed="true"] .eye-slash{display:block}.cloud-card .cloud-remember{display:flex;align-items:center;gap:10px;margin:18px 0 6px;cursor:pointer}.cloud-card .cloud-remember input{width:20px;height:20px;margin:0;accent-color:#bdca82;flex:none}.cloud-card .cloud-remember span{font-size:14px}

.cloud-status[hidden]{display:none!important}.cloud-user-name{text-align:center;font-weight:700}.cloud-card .cloud-character{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 12px}.cloud-character-name{font-size:19px;overflow-wrap:anywhere;max-width:100%}.cloud-class-icon{display:block;width:112px;height:112px;object-fit:contain}.cloud-class-name{font-weight:700;color:#e8c27c}.cloud-character small{color:#bdc5b3}

#cloudGate{align-items:flex-start;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.cloud-card{margin:auto;flex-shrink:0;max-width:520px}.cloud-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;overflow-wrap:anywhere}.cloud-identity img{width:56px;height:56px;object-fit:contain}.cloud-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.cloud-roster .cloud-character{position:relative;margin:0;padding:48px 10px 14px;min-width:0}.cloud-character.selected{border-color:#d0b674;background:#303e25}.cloud-card .cloud-gear{position:absolute;right:6px;top:6px;margin:0;width:36px;height:36px;padding:7px;border-radius:10px}.cloud-gear svg{width:22px;height:22px;fill:currentColor}.cloud-roster .cloud-class-icon{width:90px;height:90px}.cloud-roster .cloud-character-name{font-size:17px}.cloud-roster button{font-size:13px}.cloud-card p,.cloud-card b{overflow-wrap:anywhere}@media(max-width:360px){.cloud-card{padding:18px 12px}.cloud-roster{grid-template-columns:1fr}}

.cloud-identity{flex-direction:row;justify-content:space-between;gap:16px;text-align:left;box-sizing:border-box}.cloud-identity b{font-size:26px;line-height:1.2;min-width:0;overflow-wrap:anywhere}.cloud-identity img{width:40px;height:40px;flex:0 0 40px}#cloudAccountButton{width:100%;padding:12px 16px}#cloudAccountButton .cloud-identity b{font-size:24px}@media(max-width:360px){.cloud-identity b{font-size:23px}#cloudAccountButton .cloud-identity b{font-size:22px}}

/* NEVOEIRO ETAPA 01: painel isolado */
#cloudGate:has(.cloud-user-panel){background:radial-gradient(ellipse at top,#2a3b34,#0b1411 55%,#080e0d);padding:8px 6px}
#cloudGate .cloud-user-panel{position:relative;isolation:isolate;width:100%;max-width:640px;margin:auto;padding:clamp(15px,3.2vw,30px);border:2px solid #82653b;border-radius:25px;background:linear-gradient(140deg,#19221b,#101a16 45%,#101816);box-shadow:inset 0 0 0 2px #302a1e,inset 0 0 26px #000c,0 14px 65px #000b;overflow:hidden;color:#f4e8cf;font-family:Georgia,'Times New Roman',serif}
#cloudGate .cloud-user-panel:before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:170px;background:linear-gradient(0deg,#101a16,#101a1640 50%,#101a1688),url('assets/ui/panel-castle.svg') center top/100% 100% no-repeat;opacity:.82;pointer-events:none}
#cloudGate .cloud-user-panel:after{content:"";position:absolute;inset:7px;border:1px solid #b3944d38;border-radius:inherit;pointer-events:none}
#cloudGate .cloud-user-panel>h1{position:relative;margin:38px 0 10px;font:700 clamp(31px,8vw,56px)/1.05 Georgia,serif;letter-spacing:clamp(5px,1.6vw,12px);text-align:center;color:#f8edd5;text-shadow:0 3px 6px #000,0 0 24px #dfbd7550}
#cloudGate .cloud-user-panel>h2{margin:0 0 22px;padding:14px 0 18px;position:relative;text-align:center;font:700 clamp(17px,4.5vw,30px)/1.15 Georgia,serif;letter-spacing:clamp(1px,.8vw,5px);text-transform:uppercase;color:#f4e7cb;border-top:1px solid #b78a42a6;border-bottom:1px solid #b78a4266;text-shadow:0 2px 4px #000}
#cloudGate .cloud-user-panel>h2:before,#cloudGate .cloud-user-panel>h2:after{content:'◇';position:absolute;left:50%;transform:translateX(-50%);font-size:20px;line-height:1;color:#d9a75b}#cloudGate .cloud-user-panel>h2:before{top:-12px}#cloudGate .cloud-user-panel>h2:after{bottom:-12px}
#cloudGate .cloud-user-panel .cloud-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin:5px 2px 16px}#cloudGate .cloud-user-panel .cloud-identity b{font:700 clamp(22px,5vw,34px)/1.15 Georgia,serif;color:#f4e9d5}#cloudGate .cloud-user-panel .cloud-identity img{width:30px;height:30px;flex:0 0 30px;object-fit:contain}
#cloudGate .cloud-user-panel .cloud-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(7px,2vw,17px);margin:0 0 22px;padding:clamp(7px,2vw,13px);border:1px solid #92744767;border-radius:22px;background:#0c1411aa}
#cloudGate .cloud-user-panel .cloud-roster .cloud-character{position:relative;display:grid;grid-template-rows:clamp(32px,7vw,46px) clamp(100px,24vw,165px) 18px 35px 30px 72px;align-items:center;justify-items:center;gap:3px;min-width:0;margin:0;padding:clamp(40px,8vw,64px) clamp(7px,2vw,16px) 13px;border:1px solid #8b704b;border-radius:20px;background:radial-gradient(ellipse at 40% 5%,#29372b,#19231d 65%,#111a17);box-shadow:inset 0 0 0 3px #a48a5133,inset 0 0 18px #0008,0 5px 12px #0009;color:#f1e6d0}
#cloudGate .cloud-user-panel .cloud-character.selected{border:2px solid #e6c179;background:radial-gradient(ellipse at 40% 0%,#34422a,#18271b 67%,#111b15);box-shadow:inset 0 0 0 3px #b89a5d75,inset 0 0 20px #d3a65322,0 0 10px #e0b9628c}
#cloudGate .cloud-user-panel .cloud-character:before,#cloudGate .cloud-user-panel .cloud-character:after{content:"";position:absolute;width:17px;height:17px;border-color:#d5af6e;pointer-events:none}#cloudGate .cloud-user-panel .cloud-character:before{top:11px;left:11px;border-top:1px solid;border-left:1px solid}#cloudGate .cloud-user-panel .cloud-character:after{bottom:11px;right:11px;border-bottom:1px solid;border-right:1px solid}
#cloudGate .cloud-user-panel .cloud-character-name{font:700 clamp(16px,3.6vw,28px)/1.12 Georgia,serif;text-align:center;color:#f4ead7;max-width:100%;overflow-wrap:anywhere}#cloudGate .cloud-user-panel .cloud-character-emblem{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}#cloudGate .cloud-user-panel .cloud-character-emblem:before{content:"";position:absolute;width:min(90%,150px);aspect-ratio:1;border-radius:50%;border:1px solid #bd9b5a33;pointer-events:none}#cloudGate .cloud-user-panel .cloud-class-icon{display:block;width:min(90%,150px);height:95%;max-height:150px;object-fit:contain;filter:drop-shadow(0 4px 4px #000b)}#cloudGate .cloud-user-panel .cloud-no-class{font:700 clamp(15px,3.2vw,25px)/1.15 Georgia,serif;color:#dcb678;text-align:center}
#cloudGate .cloud-user-panel .cloud-character-divider{position:relative;width:92%;height:1px;background:linear-gradient(90deg,transparent,#b78d4d,#ebc77d,#b78d4d,transparent)}#cloudGate .cloud-user-panel .cloud-character-divider:after{content:'◇';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0 5px;background:#1b251e;color:#eac078;font-size:17px}
#cloudGate .cloud-user-panel .cloud-class-name{font:700 clamp(15px,3.3vw,26px)/1.1 Georgia,serif;color:#e6b975;text-align:center}#cloudGate .cloud-user-panel .cloud-character small{font:700 clamp(14px,2.8vw,20px)/1.2 Georgia,serif;color:#f1e4cb}
#cloudGate .cloud-user-panel .cloud-roster .cloud-character>button:not(.cloud-gear){align-self:end;width:100%;min-height:60px;margin:0;padding:8px 5px;border:1px solid #d5ad70;border-radius:15px;background:linear-gradient(135deg,#3a392b,#272c26);box-shadow:inset 0 0 0 2px #ad885a33,0 2px 8px #0009;color:#f8ecd5;font:700 clamp(13px,3vw,21px)/1.15 Georgia,serif;overflow-wrap:anywhere}#cloudGate .cloud-user-panel .cloud-roster .cloud-character.selected>button:not(.cloud-gear){background:linear-gradient(135deg,#5d5632,#353c28);box-shadow:inset 0 0 0 2px #e6b96c66,0 0 10px #c6a35a66}
#cloudGate .cloud-user-panel .cloud-gear{position:absolute;z-index:2;top:clamp(10px,2vw,17px);right:clamp(10px,2vw,17px);width:clamp(34px,8vw,49px);height:clamp(34px,8vw,49px);margin:0;padding:7px;border:1px solid #d6ad72;border-radius:11px;background:linear-gradient(145deg,#2b2b24,#171c19);box-shadow:inset 0 0 0 2px #b88f563d,0 3px 7px #000a}#cloudGate .cloud-user-panel .cloud-gear svg{width:100%;height:100%;fill:#f0e2c8}
#cloudGate .cloud-user-panel>#cloudPlay,#cloudGate .cloud-user-panel>#cloudImport,#cloudGate .cloud-user-panel>#cloudLogout,#cloudGate .cloud-user-panel>#cloudAdmin{display:block;width:100%;margin:0 0 14px;min-height:clamp(55px,12vw,75px);padding:12px 10px;border:1px solid #b99762;border-radius:17px;background:linear-gradient(130deg,#202b24,#171f1d 60%,#1d2521);box-shadow:inset 0 0 0 2px #967b503b,0 4px 12px #0008;color:#f7e8ce;font:700 clamp(12px,3.15vw,20px)/1.2 Georgia,serif;text-transform:uppercase}#cloudGate .cloud-user-panel>#cloudPlay{border-color:#dfb96c;background:linear-gradient(130deg,#39432e,#263526 55%,#283125);box-shadow:inset 0 0 0 2px #e7bd6c55,0 0 11px #c59c4a66}#cloudGate .cloud-user-panel>#cloudAdmin{min-height:42px;font-size:12px;opacity:.8}
@media(max-width:390px){#cloudGate .cloud-user-panel{padding:15px 10px}#cloudGate .cloud-user-panel .cloud-roster{gap:7px;padding:6px}#cloudGate .cloud-user-panel .cloud-roster .cloud-character{padding:43px 5px 9px;border-radius:13px;grid-template-rows:34px 105px 15px 35px 24px 58px}#cloudGate .cloud-user-panel .cloud-gear{top:8px;right:8px;width:32px;height:32px;padding:5px}#cloudGate .cloud-user-panel .cloud-character-name{font-size:16px}#cloudGate .cloud-user-panel .cloud-no-class{font-size:15px}}