/* V0.7 Visual: cena de guilda 2D e arena 3D, isoladas dos menus oficiais */
#ti07-open{min-height:38px;padding:7px 12px;font-size:12px;border-color:#a68add;color:#f3d7fa;background:linear-gradient(145deg,#3f275d,#211934);white-space:nowrap}
#ti07-root[hidden]{display:none!important}
#ti07-root{position:fixed;inset:0;z-index:10500;background:#070713;color:#f7edf9;font-family:'Bricolage Grotesque',system-ui,sans-serif;overflow:auto}
body.ti07-active{overflow:hidden}
.ti07-shell{display:flex;flex-direction:column;min-height:100dvh;max-width:1520px;margin:auto;background:radial-gradient(circle at 51% 30%,#33234f 0,#141024 54%,#0c0b18 100%);overflow:hidden}
.ti07-shell button{color:inherit;font:inherit;cursor:pointer}
.ti07-header{min-height:79px;display:flex;align-items:center;gap:16px;padding:12px 20px;background:linear-gradient(90deg,#100d1c,#221931,#120c23);border-bottom:2px solid #957052;box-shadow:0 8px 26px #06041080;z-index:5}
.ti07-brand{display:flex;align-items:center;gap:11px;color:#f5d393;min-width:210px;font-size:23px;line-height:1.05}
.ti07-brand small{display:block;font-size:9px;color:#af91c7;letter-spacing:1.6px;margin-top:6px}
.ti07-brand-icon{font-size:35px;color:#d6abff;text-shadow:0 0 19px #b33dff}
.ti07-world{display:flex;flex-direction:column;flex:1;text-align:center;line-height:1.2}
.ti07-world b{color:#ead5ae;font-size:17px}.ti07-world small{font-size:11px;color:#aa91c2;padding-top:4px}
.ti07-close{background:#271c34;border:1px solid #ac7b89;border-radius:12px;height:42px;width:42px;flex:none}
.ti07-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 242px;flex:1;min-height:570px}
.ti07-roster,.ti07-details{background:linear-gradient(160deg,#1a1429,#141122);padding:15px;border-right:1px solid #4f3c62;min-width:0}
.ti07-details{border-left:1px solid #4f3c62;border-right:0;display:flex;flex-direction:column}
.ti07-section-title{color:#f4c77d;font-size:12px;font-weight:800;letter-spacing:1.1px;margin:7px 0 16px;display:flex;flex-direction:column;gap:4px}
.ti07-section-title small{font-size:10px;letter-spacing:0;color:#b6a1c9;font-weight:400}
.ti07-hero-card{width:100%;display:flex;align-items:center;gap:8px;margin:10px 0;padding:6px;border:1px solid #514066;border-radius:11px;background:#21172d;text-align:left;min-height:72px}
.ti07-hero-card.is-active{border-color:#f6c377;background:#35223e;box-shadow:0 0 16px #c6824528}
.ti07-hero-icon{height:53px;width:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;border-radius:7px;overflow:hidden;background:radial-gradient(circle at center,var(--glow),#261a3a 68%);border:1px solid #6b4c77}
.ti07-hero-icon svg{height:71px;width:54px;margin-top:10px}
.ti07-hero-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.ti07-hero-copy b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ti07-hero-copy small{font-size:9px;color:#cabdd7}
.ti07-health{display:block;width:100%;height:5px;background:#44283c;border-radius:9px;overflow:hidden}
.ti07-health i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#4cac7f,#a7f2b6)}
.ti07-hero-rank{font-size:10px;color:#e2bf75;align-self:start}
.ti07-map-wrap{min-width:0;padding:14px;background:#120e23}
.ti07-map{height:100%;min-height:565px;position:relative;overflow:hidden;border:3px solid #84628d;border-radius:16px;background:radial-gradient(circle at center,#5b415f 0,#292542 45%,#16122b 92%);box-shadow:inset 0 0 100px #05020e,0 0 30px #bf78e126}
.ti07-floor{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 60px,#a487ae2b 61px,#a487ae2b 63px),repeating-linear-gradient(90deg,transparent 0 65px,#a487ae2b 66px,#a487ae2b 68px);opacity:.7}
.ti07-map-window{position:absolute;top:0;left:22%;width:56%;height:18%;border:11px double #7a627c;border-top:0;border-radius:0 0 80px 80px;background:linear-gradient(180deg,#512d8c,#ad86df 8%,#46296d 72%,#18162c);box-shadow:0 0 40px #af7ad878}
.ti07-map-window:after{content:'♜  ✧  ♜';font-size:45px;letter-spacing:25px;opacity:.6;position:absolute;inset:14px;text-align:center;color:#e2bcff}
.ti07-room{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:85px;width:21%;min-width:100px;background:linear-gradient(160deg,#493246,#251d34);border:5px ridge #7d5c70;box-shadow:0 9px 25px #05030b77, inset 0 0 22px #c17b542b;border-radius:10px;text-align:center;color:#e8cd91;font-size:9px;letter-spacing:1px}
.ti07-room span{font-size:31px;color:#fad396;text-shadow:0 0 12px #f3986b}
.ti07-room-guild{top:16%;left:4%;width:23%}
.ti07-room-forge{top:16%;right:4%}
.ti07-room-library{bottom:13%;left:4%;min-height:94px}
.ti07-room-training{bottom:13%;right:4%;min-height:94px}
.ti07-fountain{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);border:14px solid #897097;border-radius:50%;height:175px;width:175px;background:radial-gradient(circle,#efd5ff 0,#a654fa 11%,#5925a3 39%,#211339 65%);box-shadow:0 0 60px #a93cff99,inset 0 0 35px #b77afe99;display:flex;align-items:center;justify-content:center}
.ti07-fountain>span{font-size:86px;color:#f9d8ff;text-shadow:0 0 20px #b866ff;animation:ti07-magic 3s infinite alternate}
.ti07-fountain i{position:absolute;border:2px dashed #e5a5fc;border-radius:50%;inset:-23px;animation:ti07-spin 24s linear infinite}
.ti07-torch{height:15px;width:15px;position:absolute;background:#ffbc60;border-radius:50%;box-shadow:0 0 24px 12px #e5a34e7a,0 0 64px 20px #ea89ae44;animation:ti07-magic 1.8s alternate infinite}
.ti07-torch-a{top:7%;left:7%}.ti07-torch-b{top:7%;right:7%}.ti07-torch-c{bottom:7%;left:7%}.ti07-torch-d{bottom:7%;right:7%}
.ti07-banner{position:absolute;top:0;width:28px;height:90px;background:linear-gradient(#652984,#40154b);border:2px solid #b489c1;border-radius:0 0 35px 35px;opacity:.7}
.ti07-banner-a{left:32%}.ti07-banner-b{right:32%}
.ti07-rug{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%) rotate(45deg);height:290px;width:290px;border:3px solid #c1a26244;border-radius:30px;pointer-events:none}
.ti07-unit{position:absolute;z-index:2;width:78px;height:118px;border:0;background:transparent;text-align:center;padding:0;filter:drop-shadow(0 10px 5px #07030cbb);transition:filter .2s}
.ti07-unit svg{width:75px;height:105px;animation:ti07-walk 2.5s ease-in-out infinite}
.ti07-unit-0{top:30%;left:27%}.ti07-unit-1{top:54%;left:64%}.ti07-unit-2{top:68%;left:22%}
.ti07-unit.is-selected{filter:drop-shadow(0 0 12px #dfb3ff)}
.ti07-unit.is-selected:before{content:'';position:absolute;bottom:20px;left:16px;height:18px;width:48px;border:2px solid #e4aeea;border-radius:50%;box-shadow:0 0 12px #a946e2}
.ti07-unit-figure{display:block}
.ti07-unit-name{position:relative;z-index:3;display:inline-block;top:-16px;padding:2px 5px;background:#21112bcd;border:1px solid #9f719f;border-radius:5px;font-size:10px;white-space:nowrap}
.ti07-map-caption{position:absolute;bottom:0;left:0;right:0;background:#1b1529cf;padding:12px 14px;font-size:12px;color:#f2d3ac;display:flex;justify-content:space-between;gap:10px}
.ti07-map-caption span{color:#d5bfe0}
.ti07-selected-portrait{height:190px;display:flex;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(circle,#463466,#191329 68%);border:1px solid #674679;border-radius:13px;margin-bottom:15px}
.ti07-selected-portrait svg{height:170px;width:155px}
.ti07-selected-info{display:flex;flex-direction:column;gap:5px}
.ti07-selected-info b{color:#fff1c5;font-size:18px}.ti07-selected-info small{color:#c1a4ce;font-size:12px}
.ti07-genes{border-top:1px solid #493454;margin-top:15px;padding-top:15px;display:flex;flex-direction:column;gap:4px;font-size:11px;color:#c9b5dc}
.ti07-genes code{font-size:10px;word-break:break-all;color:#aeb3de}
.ti07-swatch-row{display:flex;gap:6px;align-items:center;margin:16px 0}
.ti07-swatch-row i{display:block;height:19px;width:19px;border:1px solid #fff7;border-radius:50%}
.ti07-swatch-row small{font-size:10px;margin-left:5px;color:#b8a5c7}
.ti07-primary{display:block;width:100%;margin-top:auto;border:1px solid #dfb576;border-radius:10px;background:linear-gradient(110deg,#6e3378,#342057);padding:14px 8px;font-weight:800;box-shadow:0 0 16px #a85fd242}
.ti07-help{font-size:11px;color:#c2abca;line-height:1.6}
.ti07-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;background:#191225;border-top:2px solid #78567a;font-size:12px;color:#d4b8d7}
.ti07-footer button,.ti07-controls button{background:#483058;border:1px solid #b68ba8;border-radius:9px;padding:10px 16px}
.ti07-battle-hud{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 18px;background:#21162d}
.ti07-boss{display:flex;align-items:center;gap:12px;flex:1;font-weight:800;color:#e8c49f}
.ti07-bossbar{max-width:240px;flex:1;height:9px;background:#301722;border:1px solid #965062;border-radius:10px;overflow:hidden}
.ti07-bossbar i{display:block;height:100%;background:linear-gradient(90deg,#b83757,#ff787c);transition:width .4s}
.ti07-controls{display:flex;gap:8px}
.ti07-battle-stage{height:min(56vh,590px);min-height:315px;position:relative;background:radial-gradient(circle,#433059,#131023)}
.ti07-canvas{height:100%;width:100%;position:absolute;inset:0}
.ti07-canvas canvas{display:block;width:100%;height:100%}
.ti07-battle-placeholder{position:absolute;inset:0;background:radial-gradient(circle,#594070,#20132f);display:flex;justify-content:space-around;align-items:center;padding:16px;gap:30px}
.ti07-battle-placeholder[hidden]{display:none!important}
.ti07-fallback-team{display:flex;gap:4px;align-items:end}
.ti07-fallback-team svg{height:135px;width:85px}
.ti07-fallback-boss{font-size:145px;color:#b66bdf;text-shadow:0 0 35px #c048ff}
.ti07-battle-placeholder p{position:absolute;bottom:12px;font-size:12px}
.ti07-3d-mark{position:absolute;bottom:10px;right:14px;font-size:10px;letter-spacing:1px;color:#c5a5cd;text-shadow:0 0 9px #000;background:#180f28ad;border-radius:7px;padding:7px}
.ti07-float{position:absolute;top:32%;right:25%;font-size:35px;font-weight:900;color:#ff9a80;opacity:0;transform:translateY(0);transition:transform .8s,opacity .7s;pointer-events:none;text-shadow:0 0 15px #6d1e41}
.ti07-float.ti07-show{opacity:1;transform:translateY(-38px)}
.ti07-float.ti07-heal{color:#9cf5b6}
.ti07-battle-bottom{display:grid;grid-template-columns:1fr 270px;gap:14px;padding:14px 20px;background:#151020;flex:1}
.ti07-battle-team{display:flex;gap:10px}
.ti07-battle-team button{flex:1;min-width:0;background:#241a32;border:1px solid #5a3b70;border-radius:10px;display:flex;align-items:center;gap:6px;padding:4px 10px;flex-direction:column}
.ti07-battle-team button.is-active{border-color:#e6c176;box-shadow:inset 0 0 18px #9865ac55}
.ti07-tiny-face{display:flex;align-items:center;height:59px;overflow:hidden}
.ti07-tiny-face svg{height:88px;width:60px}
.ti07-battle-team b{font-size:12px}.ti07-battle-team small{font-size:10px;color:#90dfa5}
.ti07-battle-events{background:#24192f;border:1px solid #674b78;border-radius:12px;padding:10px}
.ti07-battle-events>b{color:#efd095;font-size:11px}
.ti07-battle-events p{font-size:11px;min-height:34px}
.ti07-skill-buttons{display:flex;gap:4px}
.ti07-skill-buttons button{flex:1;font-size:10px;padding:8px 2px;border:1px solid #b58cc4;background:#422753;border-radius:8px}
@keyframes ti07-spin{to{transform:rotate(360deg)}}@keyframes ti07-magic{to{filter:brightness(1.4);opacity:.75}}@keyframes ti07-walk{0%,100%{transform:translate(0,0)}25%{transform:translate(6px,3px)}55%{transform:translate(-5px,-3px)}}
@media(max-width:980px){
 .ti07-layout{grid-template-columns:155px minmax(0,1fr);min-height:560px}
 .ti07-details{grid-column:1/-1;display:grid;grid-template-columns:140px 1fr 1fr;gap:12px;align-items:center;min-height:155px}
 .ti07-details>.ti07-section-title,.ti07-genes{display:none}
 .ti07-selected-portrait{height:130px;margin:0}.ti07-selected-portrait svg{height:125px}
 .ti07-details .ti07-primary{margin:0}
 .ti07-details .ti07-help{display:none}
 .ti07-map{min-height:560px}
 .ti07-battle-bottom{grid-template-columns:1fr}
}
@media(max-width:620px){
 .ti07-shell{min-height:100dvh}
 .ti07-header{padding:10px;gap:8px;min-height:65px}
 .ti07-brand{font-size:16px;min-width:115px;gap:5px}.ti07-brand-icon{font-size:26px}.ti07-brand small{font-size:7px}
 .ti07-world{max-width:46%}.ti07-world b{font-size:10px}.ti07-world small{font-size:9px}
 .ti07-close{width:34px;height:37px}
 .ti07-layout{display:flex;flex-direction:column;min-height:0}
 .ti07-roster{display:flex;flex-wrap:wrap;gap:5px;padding:6px 9px;border-right:0}
 .ti07-roster .ti07-section-title{width:100%;margin:0 0 2px;display:flex;flex-direction:row;justify-content:space-between}
 .ti07-hero-card{flex:1 1 30%;min-width:0;min-height:62px;margin:2px 0;padding:3px;gap:3px}
 .ti07-hero-icon{width:34px;flex-basis:34px;height:45px}
 .ti07-hero-icon svg{height:65px;width:43px}
 .ti07-hero-copy b{font-size:9px}.ti07-hero-copy small{font-size:8px}
 .ti07-hero-rank{display:none}
 .ti07-roster .ti07-help{display:none}
 .ti07-map-wrap{padding:6px;flex:1}
 .ti07-map{height:380px;min-height:380px}
 .ti07-room{width:23%;min-width:75px;min-height:64px;border-width:3px;font-size:8px;letter-spacing:0}
 .ti07-room span{font-size:22px}
 .ti07-room-guild{top:18%;left:3%}.ti07-room-forge{top:18%;right:3%}
 .ti07-room-library{bottom:16%;left:2%;min-height:63px}.ti07-room-training{bottom:16%;right:2%;min-height:63px}
 .ti07-fountain{height:110px;width:110px;border-width:8px;top:51%}
 .ti07-fountain>span{font-size:62px}
 .ti07-rug{width:165px;height:165px}
 .ti07-map-window{width:58%;left:21%}.ti07-map-window:after{font-size:20px;letter-spacing:10px}
 .ti07-unit{width:49px;height:82px}.ti07-unit svg{height:76px;width:52px}
 .ti07-unit-0{top:31%;left:26%}.ti07-unit-1{top:55%;left:67%}.ti07-unit-2{top:66%;left:23%}
 .ti07-unit-name{font-size:8px;top:-10px}.ti07-unit.is-selected:before{bottom:7px;left:7px}
 .ti07-map-caption{font-size:10px;padding:8px}.ti07-map-caption span{display:none}
 .ti07-details{padding:8px 12px;grid-template-columns:76px 1fr 1fr;min-height:91px;gap:8px}
 .ti07-selected-portrait{height:77px}
 .ti07-selected-portrait svg{height:80px}
 .ti07-selected-info b{font-size:11px}.ti07-selected-info small{font-size:9px}
 .ti07-swatch-row{display:none}.ti07-primary{font-size:10px;padding:8px 5px}
 .ti07-footer{font-size:10px;padding:9px;gap:4px}.ti07-footer span:nth-child(2){display:none}
 .ti07-battle-hud{padding:8px;gap:6px}.ti07-boss{font-size:10px;flex-wrap:wrap;gap:5px}.ti07-bossbar{min-width:60px}
 .ti07-controls button{padding:8px;font-size:11px}
 .ti07-battle-stage{height:49dvh;min-height:300px}
 .ti07-battle-bottom{padding:6px;gap:6px}
 .ti07-battle-team button{padding:3px}.ti07-battle-team b{font-size:10px}
 .ti07-tiny-face{height:40px}.ti07-tiny-face svg{height:63px;width:45px}
 .ti07-battle-events{padding:7px}.ti07-battle-events p{min-height:22px}
 .ti07-fallback-team svg{height:100px;width:54px}
}
@media(prefers-reduced-motion:reduce){.ti07-shell *,.ti07-shell *::before,.ti07-shell *::after{animation:none!important;transition:none!important}}
/* V0.7.2: movimento ambiental, iluminação e ficha interativa */
.ti07-lobby .ti07-map{background:radial-gradient(ellipse at 50% 32%,#6a4e76 0,#3a2b54 35%,#1d1733 75%,#120d20 100%)}
.ti07-map:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 49px,#c09dcc17 50px 52px);opacity:.75}
.ti07-map:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,#ffdf9a21,transparent 28%,#c878ed16 58%,transparent 85%);mix-blend-mode:screen}
.ti07-room{box-shadow:0 13px 27px #05030b88,inset 0 0 24px #d8ae602e,0 0 0 4px #20162f}
.ti07-room span{animation:ti07-glow 3.7s ease-in-out infinite}
.ti07-unit{will-change:transform;animation-duration:17s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.ti07-unit-0{animation-name:ti07-wander-a}
.ti07-unit-1{animation-name:ti07-wander-b}
.ti07-unit-2{animation-name:ti07-wander-c}
.ti07-unit .ti07-unit-figure svg{animation:ti07-steps .7s ease-in-out infinite alternate}
.ti07-unit-status{position:absolute;top:-22px;left:-7px;right:-7px;text-align:center;display:block;padding:2px;border-radius:20px;background:#251c38d9;border:1px solid #bb92bc77;color:#ecd0fa;font-size:9px;opacity:.82;pointer-events:none}
.ti07-unit:hover,.ti07-unit:focus-visible{filter:drop-shadow(0 0 17px #e3bdff);outline:1px dashed #f1bdff;outline-offset:4px}
.ti07-unit::after{content:'✧';position:absolute;top:5px;right:-3px;color:#d5b8ef;animation:ti07-glow 3s ease-in-out infinite;pointer-events:none}
@keyframes ti07-wander-a{0%,100%{transform:translate(0,0)}20%{transform:translate(15px,15px)}40%{transform:translate(37px,14px)}60%{transform:translate(35px,-20px)}80%{transform:translate(8px,-22px)}}
@keyframes ti07-wander-b{0%,100%{transform:translate(0,0)}20%{transform:translate(-25px,6px)}40%{transform:translate(-48px,-8px)}60%{transform:translate(-27px,-19px)}80%{transform:translate(-6px,-12px)}}
@keyframes ti07-wander-c{0%,100%{transform:translate(0,0)}20%{transform:translate(32px,4px)}45%{transform:translate(35px,-24px)}65%{transform:translate(12px,-38px)}82%{transform:translate(1px,-16px)}}
@keyframes ti07-steps{to{transform:translateY(-4px) rotate(1.5deg)}}
@keyframes ti07-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.32)}}
.ti07-sheet-scrim{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle,#080515d6,#03020af2);backdrop-filter:blur(6px);overflow:auto}
.ti07-character-sheet{display:flex;flex-direction:column;width:min(100%,710px);max-height:min(94dvh,820px);overflow:hidden;border:2px solid #b18b6a;border-radius:18px;background:linear-gradient(145deg,#292039,#171326 68%,#140f23);box-shadow:0 25px 90px #07020c,0 0 38px #be71ed22}
.ti07-character-header{display:flex;align-items:center;justify-content:space-between;padding:14px 19px;border-bottom:1px solid #836277;color:#f2ce92;letter-spacing:2px;font-size:12px;font-weight:800}
.ti07-character-header button{height:36px;min-height:36px;padding:5px 12px;border:1px solid #a68a9e;background:#2a203b;border-radius:9px}
.ti07-sheet-overview{display:flex;gap:22px;align-items:center;padding:16px 22px 10px}
.ti07-sheet-portrait{display:flex;align-items:center;justify-content:center;min-width:125px;width:125px;height:154px;border:2px solid #9867ba;border-radius:13px;background:radial-gradient(circle,#593779,#23142f 65%,#1b1230);overflow:hidden}
.ti07-sheet-portrait svg{height:158px;width:133px;max-width:unset}
.ti07-sheet-name h2{font-size:23px;margin:0 0 8px;color:#ffe5b3;line-height:1.12}
.ti07-sheet-name p{color:#bcacd1;font-size:12px;margin:0}
.ti07-sheet-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.ti07-sheet-tags span{font-size:10px;padding:5px 7px;border:1px solid #76618e;border-radius:7px;background:#312641;color:#f3dced}
.ti07-sheet-tags .ti07-sample{border-color:#c49066;color:#e8c298}
.ti07-sheet-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 12px;background:#201729;border-bottom:1px solid #594769}
.ti07-sheet-tabs button{padding:10px 5px;min-height:40px;border:1px solid #5d4971;border-radius:9px;background:#2b213a;font-size:12px}
.ti07-sheet-tabs button.is-active{border-color:#deb876;background:#583a61;color:#ffe7b7;box-shadow:0 0 15px #c76dd344}
.ti07-sheet-body{flex:1;min-height:0;overflow-y:auto;padding:17px 22px}
.ti07-sheet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ti07-sheet-stat{border:1px solid #68537a;border-radius:11px;padding:11px 10px;background:linear-gradient(135deg,#35253f,#211a33);display:flex;flex-direction:column;gap:4px;min-width:0}
.ti07-sheet-stat small{color:#bfaac7;font-size:11px}
.ti07-sheet-stat strong{color:#f7d79c;font-size:19px;overflow-wrap:anywhere}
.ti07-sheet-stat>span{color:#aaa6b9;font-size:10px}
.ti07-sheet-caption{font-weight:800;font-size:12px;color:#e9bc84;letter-spacing:.7px;margin:20px 0 10px}
.ti07-sheet-profs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.ti07-sheet-profs .ti07-sheet-stat{padding:8px;text-align:center}
.ti07-sheet-profs .ti07-sheet-stat strong{font-size:17px}
.ti07-sheet-ability{border:1px solid #62547b;border-radius:12px;background:#28213a;display:flex;align-items:center;gap:15px;margin-bottom:11px;padding:12px}
.ti07-sheet-ability-icon{width:44px;height:44px;border:1px solid #b98ce0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:25px;color:#f5d7aa;background:#463059}
.ti07-sheet-ability b{color:#e8c898;font-size:14px}
.ti07-sheet-ability p{font-size:11px;line-height:1.5;color:#bcb1ce;margin:5px 0}
.ti07-sheet-note,.ti07-sheet-dna p{font-size:11px;line-height:1.6;color:#baa6c6}
.ti07-sheet-trait{display:flex;align-items:center;gap:10px;margin:14px 0;color:#e5d2ed}
.ti07-sheet-trait>span{font-size:12px;width:108px}
.ti07-sheet-trait>b{font-size:12px;min-width:27px;text-align:right}
.ti07-sheet-meter{flex:1;height:9px;border-radius:9px;background:#2b2440;overflow:hidden;border:1px solid #695476}
.ti07-sheet-meter i{height:100%;display:block;background:linear-gradient(90deg,#7660bc,#be8dd6 65%,#f3d1a0);border-radius:8px}
.ti07-sheet-dna{border:1px solid #59456b;background:#1d182c;border-radius:12px;padding:15px;margin-top:16px}
.ti07-sheet-dna small{font-size:12px;color:#e7caac}
.ti07-sheet-dna code{display:block;font-size:10px;word-break:break-word;margin-top:8px;color:#a9b9d5}
.ti07-sheet-colors{display:flex;gap:10px;margin-top:14px}
.ti07-sheet-colors i{height:26px;width:26px;border-radius:50%;border:1px solid #eee9}
.ti07-sheet-footer{border-top:1px solid #69506c;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:#20192e}
.ti07-sheet-footer small{color:#a99bb4;font-size:11px}
.ti07-sheet-footer button{border:1px solid #e9bc88;border-radius:9px;background:linear-gradient(90deg,#523268,#38274d);padding:10px 16px;color:#fff1dc}
@media(max-width:620px){
 .ti07-unit-status{font-size:7px;top:-18px}
 .ti07-sheet-scrim{padding:7px}
 .ti07-character-sheet{max-height:96dvh}
 .ti07-character-header{padding:8px 10px}
 .ti07-sheet-overview{gap:11px;padding:8px 10px}
 .ti07-sheet-portrait{min-width:83px;width:83px;height:98px}
 .ti07-sheet-portrait svg{height:108px;width:90px}
 .ti07-sheet-name h2{font-size:15px}
 .ti07-sheet-tags{margin-top:6px}
 .ti07-sheet-tags span{font-size:8px;padding:4px}
 .ti07-sheet-tabs{padding:5px;gap:3px}
 .ti07-sheet-tabs button{font-size:10px;padding:9px 2px}
 .ti07-sheet-body{padding:10px}
 .ti07-sheet-stats{gap:6px}
 .ti07-sheet-stat{padding:8px 5px}
 .ti07-sheet-stat strong{font-size:13px}
 .ti07-sheet-stat small{font-size:9px}
 .ti07-sheet-profs{gap:3px}
 .ti07-sheet-profs .ti07-sheet-stat{padding:5px 2px}
 .ti07-sheet-profs .ti07-sheet-stat small{font-size:8px}
 .ti07-sheet-profs .ti07-sheet-stat strong{font-size:13px}
 .ti07-sheet-footer{padding:7px;gap:5px}
 .ti07-sheet-footer small{font-size:9px}
 .ti07-sheet-footer button{padding:8px}
}
@media(prefers-reduced-motion:reduce){.ti07-unit,.ti07-unit svg,.ti07-room span{animation:none!important}}

/* V0.7.5: fortaleza top-down vista aérea, desenhada em vetor, com setores interativos. */
.ti07-lobby .ti07-map{background:#566e7b;border:2px solid #b4a7ba;box-shadow:0 14px 38px #080b1b99;isolation:isolate}
.ti07-lobby .ti07-map::before,.ti07-lobby .ti07-map::after{display:none}
.ti075-map-world{position:absolute;inset:0;overflow:hidden}
.ti075-guild-art{height:100%;width:100%;display:block;filter:saturate(1.08) contrast(1.06)}
.ti075-map-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#17102780,transparent 23%,transparent 82%,#24162c66)}
.ti07-map .ti075-map-toolbar{position:absolute;z-index:4;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:#1d1427db;color:#f4dfb4;font-weight:800;font-size:12px;letter-spacing:.7px;border-top:1px solid #caa87f}
.ti075-map-toolbar small{font-size:10px;color:#ddcedd;letter-spacing:0;font-weight:400}
.ti075-zone{position:absolute;z-index:3;transform:translate(-50%,-50%);background:#161323db;border:1px solid #bbafaa;border-radius:9px;padding:5px 8px;min-height:0;display:flex;gap:5px;align-items:center;white-space:nowrap;box-shadow:0 6px 10px #1c102488;backdrop-filter:blur(3px);font-size:10px;transition:transform .18s ease,box-shadow .18s ease}
.ti075-zone b{font-size:16px;color:#ebc98d;text-shadow:0 0 10px #e8aa8a}
.ti075-zone span{font-size:9px;font-weight:800}
.ti075-zone:hover,.ti075-zone:focus-visible,.ti075-zone.is-active{transform:translate(-50%,-50%) scale(1.12);border-color:#f8d9a9;box-shadow:0 0 22px #cf99f47a;background:#30203a}
.ti075-area-panel{position:absolute;z-index:12;right:12px;bottom:45px;max-width:min(290px,86%);background:linear-gradient(135deg,#2a203b,#131422f3);border:1px solid #edc18c;border-radius:12px;box-shadow:0 15px 25px #06050ce0;padding:14px 12px;color:#f1e4d6}
.ti075-area-panel>button{float:right;min-height:28px;padding:2px 7px;background:#49375a;border-radius:5px;border:1px solid #b99da9}
.ti075-area-panel strong{display:block;padding-right:26px;font-size:14px;color:#f0cc92}
.ti075-area-panel p{font-size:12px;line-height:1.5;margin:9px 0;color:#e0d4e8}
.ti075-area-panel small{font-size:10px;color:#ad9dc1}
.ti07-lobby .ti07-unit{z-index:6;transition:filter .2s}
.ti07-lobby .ti07-unit-0{top:43%;left:35%}
.ti07-lobby .ti07-unit-1{top:55%;left:61%}
.ti07-lobby .ti07-unit-2{top:64%;left:36%}
.ti07-lobby .ti07-unit-status{background:#1a1938e8;color:#f6e5d4}
@media(max-width:620px){
 .ti07-lobby .ti07-map{height:405px;min-height:405px}
 .ti075-zone{padding:4px;min-height:0;gap:2px}
 .ti075-zone span{max-width:72px;white-space:normal;line-height:1.1;font-size:7px}
 .ti075-zone b{font-size:12px}
 .ti07-map .ti075-map-toolbar{padding:8px;font-size:9px}
 .ti075-map-toolbar small{font-size:8px}
 .ti075-area-panel{bottom:39px;max-width:75%}
 .ti07-lobby .ti07-unit-0{top:44%;left:27%}
 .ti07-lobby .ti07-unit-1{top:54%;left:62%}
 .ti07-lobby .ti07-unit-2{top:67%;left:22%}
}

/* V0.7.6: seleção de arenas; sem aumentar o layout vertical em mobile */
.ti075-biome-picker{display:flex;align-items:center;gap:5px;padding:5px;border-radius:11px;background:#1b1729;border:1px solid #857189}
.ti075-biome-picker button{font-size:11px;border:1px solid transparent;border-radius:8px;background:transparent;color:#ddccdf;padding:7px 10px;min-height:32px}
.ti075-biome-picker button.is-active{background:linear-gradient(125deg,#634779,#3b395e);color:#ffe8b7;border-color:#b8a1a0}
.ti075-biome-picker button:hover{border-color:#d4b18b}
@media(max-width:760px){
 .ti07-battle-hud{flex-wrap:wrap;gap:7px}
 .ti075-biome-picker{order:0;flex:1;justify-content:center}
 .ti07-boss{order:2;width:100%;flex-basis:100%}
 .ti07-controls{order:1}
}
@media(max-width:400px){
 .ti075-biome-picker button{font-size:9px;padding:6px 4px}
}

/* V0.7.8 — Formação de cinco. Lobby, seleção e batalha permanecem legíveis. */
.ti07-unit-3{top:37%;left:54%}
.ti07-unit-4{top:72%;left:55%}
.ti07-lobby .ti07-unit-3{top:48%;left:55%}
.ti07-lobby .ti07-unit-4{top:72%;left:53%}
.ti07-battle-team{min-width:0;flex-wrap:nowrap;align-items:stretch}
.ti07-battle-team button{flex:1 1 19%;max-width:210px}
.ti07-roster{overflow-y:auto}
.arena .side{display:flex;align-items:end;justify-content:center;flex-wrap:wrap;gap:4px;min-width:0}
@media(max-width:620px){
 .ti07-lobby .ti07-unit-3{top:46%;left:58%}
 .ti07-lobby .ti07-unit-4{top:73%;left:53%}
 .ti07-hero-card{flex:1 1 30%}
 .ti07-battle-team{gap:3px}
 .ti07-battle-team button{padding:2px;flex:1 1 19%;min-width:0}
 .ti07-battle-team b{font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .ti07-tiny-face{height:36px}
 .ti07-tiny-face svg{height:56px;width:39px}
 .arena .side .u{width:47px;min-width:0}
 .arena .side .u svg{max-width:47px}
}

/* V0.8.2 — real boss action feedback */
.ti08-boss-action{position:absolute;z-index:8;top:11%;left:50%;transform:translateX(-50%);
 max-width:min(92%,440px);width:max-content;padding:9px 15px;border-radius:12px;
 border:1px solid #e5a07d;background:#402334e9;color:#ffe1cf;
 text-align:center;font-size:13px;font-weight:900;letter-spacing:.3px;line-height:1.4;
 opacity:0;pointer-events:none;box-shadow:0 0 22px #c7665c70}
.ti08-boss-action.is-attacking{animation:ti08-alert 1.05s ease-out forwards}
.ti08-boss-action.is-healing{border-color:#86cda5;background:#1c493be8;color:#ddf5e2;animation:ti08-alert 1.05s ease-out forwards}
.ti08-boss-action.is-stunned{border-color:#b99ade;background:#322044e8;animation:ti08-alert 1.05s ease-out forwards}
.ti08-boss-action.is-victory{opacity:1;border-color:#e8c68a;background:#3a2d28ed;color:#ffebcc}
.ti07-fallback-team [hidden]{display:none!important}
@keyframes ti08-alert{0%{opacity:0;transform:translateX(-50%) scale(.94)}15%,70%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(1.02)}}
@media(max-width:760px){.ti08-boss-action{font-size:11px;max-width:88%;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.ti08-boss-action.is-attacking,.ti08-boss-action.is-healing,.ti08-boss-action.is-stunned{animation:none;opacity:1}}


/* V0.8.4 — Escala dos heróis compatível com as construções da guilda.
   Reduz SOMENTE os sprites que circulam sobre o mapa; fichas, equipe
   e batalha 3D continuam com as dimensões e aparência originais. */
.ti07-lobby .ti07-map{
  container-type:inline-size;
}
.ti07-lobby .ti07-unit{
  width:50px;
  min-width:44px;
  height:55px;
  z-index:6;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-direction:column;
  gap:0;
  touch-action:manipulation;
  filter:drop-shadow(0 2px 2px #07071399);
  animation-duration:12s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  transform-origin:50% 90%;
}
.ti07-lobby .ti07-unit-figure{
  height:clamp(30px,6cqw,47px);
  width:100%;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  pointer-events:none;
}
.ti07-lobby .ti07-unit-figure svg,
.ti07-lobby .ti07-unit svg{
  display:block;
  width:clamp(20px,3.8cqw,34px);
  height:clamp(28px,5.45cqw,46px);
  max-width:none;
  flex:none;
  transform-origin:50% 90%;
  animation:ti084-sprite-step .84s ease-in-out infinite alternate;
}
.ti07-lobby .ti07-unit-name{
  position:relative;
  z-index:2;
  top:0;
  margin-top:-2px;
  font-size:8px;
  font-weight:700;
  line-height:1.1;
  padding:2px 4px;
  max-width:76px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff1d4;
  background:#201a30db;
  border:1px solid #846c91;
  border-radius:5px;
  pointer-events:none;
}
.ti07-lobby .ti07-unit-status{
  display:none;
  position:absolute;
  z-index:3;
  top:-20px;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  min-width:64px;
  white-space:nowrap;
  padding:2px 4px;
  border-radius:6px;
  font-size:8px;
  line-height:1.1;
  pointer-events:none;
}
.ti07-lobby .ti07-unit:hover .ti07-unit-status,
.ti07-lobby .ti07-unit:focus-visible .ti07-unit-status,
.ti07-lobby .ti07-unit.is-selected .ti07-unit-status{
  display:block;
}
.ti07-lobby .ti07-unit::after{display:none}
.ti07-lobby .ti07-unit.is-selected{
  filter:drop-shadow(0 0 6px #e1b1fa) drop-shadow(0 2px 2px #070713a5);
}
.ti07-lobby .ti07-unit.is-selected::before{
  content:'';
  position:absolute;
  left:50%;
  bottom:14px;
  top:auto;
  width:clamp(23px,4.2cqw,35px);
  height:clamp(7px,1.2cqw,10px);
  border:1px solid #e7bbff;
  border-radius:50%;
  background:#8d49b232;
  transform:translateX(-50%);
  box-shadow:0 0 9px #b86dedaa;
  pointer-events:none;
}
/* Positions are paths and open courtyard areas; no units on rooftops.
   Each position remains independent so all five heroes are visible. */
.ti07-lobby .ti07-unit-0{top:43%;left:33%;animation-name:ti084-wander-a}
.ti07-lobby .ti07-unit-1{top:45%;left:60%;animation-name:ti084-wander-b}
.ti07-lobby .ti07-unit-2{top:62%;left:31%;animation-name:ti084-wander-c}
.ti07-lobby .ti07-unit-3{top:61%;left:62%;animation-name:ti084-wander-d}
.ti07-lobby .ti07-unit-4{top:73%;left:48%;animation-name:ti084-wander-e}
@keyframes ti084-wander-a{
  0%,100%{transform:translate(0,0)}
  28%{transform:translate(12px,4px)}
  62%{transform:translate(17px,-9px)}
  84%{transform:translate(5px,-6px)}
}
@keyframes ti084-wander-b{
  0%,100%{transform:translate(0,0)}
  32%{transform:translate(-13px,6px)}
  65%{transform:translate(-16px,-7px)}
  84%{transform:translate(-5px,-4px)}
}
@keyframes ti084-wander-c{
  0%,100%{transform:translate(0,0)}
  26%{transform:translate(8px,-9px)}
  59%{transform:translate(17px,2px)}
  82%{transform:translate(5px,7px)}
}
@keyframes ti084-wander-d{
  0%,100%{transform:translate(0,0)}
  30%{transform:translate(-9px,-8px)}
  64%{transform:translate(-12px,9px)}
  86%{transform:translate(-4px,5px)}
}
@keyframes ti084-wander-e{
  0%,100%{transform:translate(0,0)}
  26%{transform:translate(10px,-5px)}
  57%{transform:translate(6px,-16px)}
  83%{transform:translate(-6px,-6px)}
}
@keyframes ti084-sprite-step{
  from{transform:translateY(0) rotate(-1deg)}
  to{transform:translateY(-1.5px) rotate(1deg)}
}
@media (max-width:620px){
 .ti07-lobby .ti07-unit{width:44px;min-width:44px;height:49px}
 .ti07-lobby .ti07-unit-figure{height:clamp(29px,6.5cqw,38px)}
 .ti07-lobby .ti07-unit-figure svg,
 .ti07-lobby .ti07-unit svg{
   width:clamp(19px,4.2cqw,29px);
   height:clamp(28px,6.1cqw,39px);
 }
 .ti07-lobby .ti07-unit-name{font-size:7.5px;padding:1px 3px}
 .ti07-lobby .ti07-unit-status{font-size:7px}
 .ti07-lobby .ti07-unit-0{top:43%;left:31%}
 .ti07-lobby .ti07-unit-1{top:48%;left:62%}
 .ti07-lobby .ti07-unit-2{top:64%;left:29%}
 .ti07-lobby .ti07-unit-3{top:62%;left:61%}
 .ti07-lobby .ti07-unit-4{top:73%;left:46%}
}
@media (prefers-reduced-motion:reduce){
 .ti07-lobby .ti07-unit,
 .ti07-lobby .ti07-unit-figure svg{animation:none!important}
}


/* V0.8.5 — Tela de conclusão real, responsiva e integrada ao combate */
#ti07-root .ti08-outcome{height:100dvh;max-height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.ti08-outcome-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:clamp(10px,2vw,22px);
 display:flex;flex-direction:column;gap:clamp(10px,2vw,18px);background:
 radial-gradient(ellipse at 50% 2%,#5c3f7780,transparent 44%),linear-gradient(180deg,#1f1a32,#121522)}
.ti08-outcome-hero-panel{text-align:center;display:flex;align-items:center;flex-direction:column;gap:5px}
.ti08-outcome-seal{display:flex;align-items:center;justify-content:center;
 width:62px;height:62px;border-radius:50%;border:2px solid #efcc8d;
 color:#ffdf96;background:radial-gradient(circle,#765092,#322449 75%);
 font-size:31px;box-shadow:0 0 22px #ab79d083}
.ti08-outcome-floor{font-size:11px;letter-spacing:2px;color:#d7b98b;margin:2px}
.ti08-outcome-hero-panel h1{margin:0;font-size:clamp(25px,4.4vw,39px);line-height:1.15;
 font-weight:900;color:#ffe5b7;text-shadow:0 2px 18px #dba5ac77}
.ti08-outcome-caption{margin:2px auto 0;font-size:clamp(11px,1.5vw,14px);
 color:#e0d2e6;text-align:center;max-width:580px}
.ti08-outcome-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:860px;margin:0 auto}
.ti08-outcome-metric{background:#2b263e;border:1px solid #796184;border-radius:14px;
 padding:12px 8px;display:flex;align-items:center;gap:4px;flex-direction:column;min-width:0;text-align:center}
.ti08-outcome-metric small{font-size:11px;color:#dac9e3}
.ti08-outcome-metric b{font-size:clamp(18px,2.7vw,28px);color:#f9dfa0}
.ti08-outcome-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:860px;margin:0 auto}
.ti08-outcome-roster{border:1px solid #645979;background:#252136;border-radius:12px;padding:12px;min-width:0}
.ti08-outcome-roster h2{display:flex;align-items:center;gap:7px;font-size:13px;margin:0 0 9px;color:#eadff1}
.ti08-outcome-roster h2 span{background:#534067;border-radius:9px;padding:1px 8px}
.ti08-outcome-roster p{font-size:12px;margin:0;color:#ccbfd1}
.ti08-outcome-heroes{display:flex;flex-wrap:wrap;gap:7px}
.ti08-outcome-hero{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:11px;
 border-radius:8px;background:#34423d;border:1px solid #6b9f87;color:#dcf5e6;padding:6px 9px}
.ti08-outcome-hero small{font-size:9px;opacity:.8}
.ti08-outcome-fallen .ti08-outcome-hero{background:#45303a;border-color:#9d5e77;color:#ffd8df}
.ti08-outcome-levelups{padding:11px;border:1px solid #8c7aba;border-radius:12px;max-width:860px;width:100%;margin:0 auto}
.ti08-outcome-levelups b{color:#e0c5fa;font-size:13px}
.ti08-outcome-levelups p{margin:5px 0 0;font-size:12px}
.ti08-outcome-actions{display:flex;flex-shrink:0;align-items:center;justify-content:center;flex-wrap:wrap;
 gap:8px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-top:1px solid #746080;background:#191729}
.ti08-outcome-actions button{padding:9px 12px;border-radius:10px;border:1px solid #9d86b1;
 background:#362944;color:#f7e7ee;min-height:40px;font-size:12px;font-weight:700}
.ti08-outcome-actions .ti08-outcome-primary{background:#d0aa68;border-color:#f6db9a;color:#24182c;font-weight:900}
.ti08-outcome-loss .ti08-outcome-hero-panel h1{color:#f2b9c4}
.ti08-outcome-loss .ti08-outcome-seal{border-color:#dc8299;box-shadow:0 0 22px #a8517073}
@media(max-width:620px){
 .ti08-outcome-scroll{gap:9px;padding:8px}
 .ti08-outcome-seal{width:43px;height:43px;font-size:25px}
 .ti08-outcome-metric{padding:8px 3px}
 .ti08-outcome-metric small{font-size:9px}
 .ti08-outcome-metric b{font-size:19px}
 .ti08-outcome-columns{gap:7px}
 .ti08-outcome-roster{padding:8px}
 .ti08-outcome-roster h2{font-size:11px;flex-wrap:wrap}
 .ti08-outcome-hero{font-size:10px;padding:5px}
 .ti08-outcome-actions button{flex:1 1 100px;font-size:10px;padding:8px}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:700px){
 #ti07-root .ti08-outcome .ti07-header{flex:0 0 42px}
 #ti07-root .ti08-outcome-scroll{gap:8px;padding:7px 12px}
 #ti07-root .ti08-outcome-hero-panel{gap:2px}
 #ti07-root .ti08-outcome-seal{width:37px;height:37px;font-size:23px}
 #ti07-root .ti08-outcome-hero-panel h1{font-size:25px}
 #ti07-root .ti08-outcome-caption{font-size:11px}
 #ti07-root .ti08-outcome-metric{padding:5px 6px}
 #ti07-root .ti08-outcome-metric b{font-size:19px}
 #ti07-root .ti08-outcome-roster{padding:7px}
 #ti07-root .ti08-outcome-actions{padding:5px 8px;gap:6px}
 #ti07-root .ti08-outcome-actions button{min-height:33px;padding:5px 10px}
}
