@import  url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700;800&display=swap");
.battle-app{--bg:#0a0e19;--panel:#141c2d;--panel2:#1a2537;--panel3:#202f45;--stroke:#35435a;--line:#2a374b;--text:#f4f5fb;--muted:#93a3bb;--quiet:#6c7f9a;--gold:#e4ba69;--gold2:#c59446;--green:#78ceb3;--blue:#94b6f9;--red:#f4878d;--shadow:0 24px 80px #0207129c;--r:16px;color-scheme:dark}
.battle-app *{box-sizing:border-box}
.battle-app{margin:0;background:radial-gradient(circle at 30% -25%,#202b47 0,transparent 40%),radial-gradient(circle at 100% 5%,#173044 0,transparent 30%),var(--bg);color:var(--text);font:14px/1.48 "DM Sans",system-ui,sans-serif;min-height:100vh}
.battle-app button, .battle-app input, .battle-app textarea, .battle-app select{font:inherit}
.battle-app button{cursor:pointer}
.battle-app a{color:inherit;text-decoration:none}
.battle-app button:focus-visible, .battle-app input:focus-visible, .battle-app textarea:focus-visible, .battle-app select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.battle-app .hidden{display:none!important}
.battle-app .muted{color:var(--muted)}
.battle-app .tiny{font-size:11px;letter-spacing:.07em}
.battle-app .eyebrow{font-size:11px;letter-spacing:.23em;font-weight:800;text-transform:uppercase;color:var(--gold)}
.battle-app h1, .battle-app h2, .battle-app h3, .battle-app h4, .battle-app p{margin:0}
.battle-app h1, .battle-app h2, .battle-app h3{font-family:"Barlow Condensed",Impact,sans-serif;line-height:1.1}
.battle-app h1{font-size:clamp(34px,5vw,68px);letter-spacing:.01em}
.battle-app h2{font-size:31px}
.battle-app h3{font-size:22px}
.battle-app h4{font-size:15px}
.battle-app .btn{border:1px solid var(--stroke);background:#223149;color:#e6edfa;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:10px 14px;font-weight:700;line-height:1.2;transition:.17s ease;white-space:nowrap}
.battle-app .btn:hover:not(:disabled){border-color:#8da1ba;background:#2c4161;transform:translateY(-1px)}
.battle-app .btn:disabled{opacity:.5;cursor:default}
.battle-app .btn.primary{background:linear-gradient(120deg,#f1cd8d,#bc9051);border-color:#f3cd89;color:#202437;text-shadow:none;box-shadow:0 6px 18px #bd8c4618}
.battle-app .btn.primary:hover{background:#f5daa2;border-color:#f5daa2}
.battle-app .btn.ghost{background:transparent;border-color:transparent}
.battle-app .btn.ghost:hover{background:#283345}
.battle-app .btn.sm{font-size:12px;padding:7px 10px}
.battle-app .btn.danger{color:#ffadb2;border-color:#874753;background:#3d2534}
.battle-app .btn.outline-gold{border-color:#91754b;color:#f5ce89;background:#292a30}
.battle-app .pill{border:1px solid #455674;border-radius:100px;padding:4px 9px;color:#b6c5d9;font-size:10px;letter-spacing:.07em;font-weight:800;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.battle-app .pill.green{color:var(--green);border-color:#327865;background:#183830}
.battle-app .pill.gold{color:var(--gold);border-color:#846439;background:#332b22}
.battle-app .pill.red{color:var(--red);border-color:#7c4551;background:#35222c}
.battle-app .pill.blue{color:var(--blue);border-color:#456c9f;background:#1f304b}
.battle-app .pill.neutral{color:#bac7da;background:#223047}
.battle-app .topnav{position:relative;z-index:1;height:78px;border-bottom:1px solid var(--line);background:#0c1220e8;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1540px)/2));gap:18px}
.battle-app .brand{display:flex;align-items:center;gap:12px;min-width:0}
.battle-app .crest{width:44px;height:44px;display:grid;place-items:center;background:radial-gradient(circle at 45% 27%,#3a4259,#171d2b);border:1px solid #ad8a50;color:#f9d696;border-radius:11px;font-size:26px;box-shadow:inset 0 0 0 4px #ffffff06,0 0 23px #c69a4d1b;flex:none}
.battle-app .brand b{display:block;font:800 19px/1 "Barlow Condensed",sans-serif;letter-spacing:.035em}
.battle-app .brand small{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:800}
.battle-app .navlinks{display:flex;align-items:center;gap:8px}
.battle-app .navlinks a{padding:9px 12px;color:var(--muted);font-weight:800;border-radius:8px;font-size:12px}
.battle-app .navlinks a:hover{background:#25344d;color:white}
.battle-app .main-wrap{max-width:1540px;margin:auto;padding:28px 24px 100px}
.battle-app .landing{max-width:1340px;margin:0 auto}
.battle-app .landing-hero{display:grid;grid-template-columns:1fr 1.06fr;gap:34px;align-items:center;min-height:550px}
.battle-app .hero-text p{max-width:540px;line-height:1.8;color:#b7c6db;margin:18px 0 26px;font-size:16px}
.battle-app .hero-text h1 span{color:var(--gold)}
.battle-app .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.battle-app .hero-meta{margin-top:32px;display:flex;gap:16px;flex-wrap:wrap;color:#abbacf;font-size:12px}
.battle-app .hero-meta span{display:flex;align-items:center;gap:7px}
.battle-app .hero-preview{border:1px solid #59627a;border-radius:20px;background:linear-gradient(180deg,#1f2b41,#151d2c);box-shadow:0 25px 75px #020611a8;position:relative;overflow:hidden;padding:18px}
.battle-app .hero-preview:before, .battle-app .party-stage:before{content:"";position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 50% 56%,#8f8b7016,transparent 50%),linear-gradient(130deg,#0000 60%,#dfa7540a 62%,#0000 65%)}
.battle-app .preview-label{display:flex;justify-content:space-between;padding:5px 5px 18px;align-items:center}
.battle-app .preview-label strong{font:700 22px "Barlow Condensed",sans-serif}
.battle-app .preview-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.battle-app .preview-member{border:1px solid #42546d;border-radius:10px;background:linear-gradient(#25354a 30%,#121e2e);text-align:center;padding:9px 6px 13px}
.battle-app .preview-member .portrait{height:148px}
.battle-app .portrait{position:relative;display:flex;align-items:flex-end;justify-content:center;isolation:isolate;overflow:hidden}
.battle-app .portrait:before{position:absolute;content:"";bottom:12px;width:96px;height:27px;border:1px solid #d0ba7770;border-radius:50%;background:radial-gradient(ellipse,#d6b16c32,transparent 70%);box-shadow:0 0 17px #d0b77c23;z-index:-1}
.battle-app .portrait img{height:135px;width:128px;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #050c15cc)}
.battle-app .preview-member b{display:block;font:700 15px "Barlow Condensed",sans-serif;margin-top:8px}
.battle-app .preview-member small{font-size:10px;color:var(--muted)}
.battle-app .preview-foot{display:flex;justify-content:space-between;gap:5px;padding:16px 6px 4px;color:var(--muted);font-size:11px}
.battle-app .howto{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.battle-app .how-step{background:#141c2bcc;border:1px solid #31425b;padding:23px;border-radius:15px}
.battle-app .how-step strong{font:700 22px "Barlow Condensed";display:block;margin:10px 0 6px}
.battle-app .how-step span{color:var(--muted);font-size:12px;line-height:1.6}
.battle-app .how-step .number{font:800 12px "DM Sans";color:var(--gold)}
.battle-app .room-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:25px}
.battle-app .room-heading h1{font-size:43px;margin:6px 0}
.battle-app .room-subtitle{color:var(--muted);font-size:13px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.battle-app .room-actions{display:flex;flex-wrap:wrap;gap:7px}
.battle-app .dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.battle-app .metric{padding:18px 20px;border:1px solid #32415b;background:linear-gradient(140deg,#1d2a40,#151e2e);border-radius:13px;min-width:0}
.battle-app .metric small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#97a6bb;font-weight:800}
.battle-app .metric .val{font:700 32px "Barlow Condensed";margin:6px 0 0}
.battle-app .metric .sub{color:var(--muted);font-size:11px}
.battle-app .metric .gold{color:var(--gold)}
.battle-app .metric .green{color:var(--green)}
.battle-app .metric .blue{color:var(--blue)}
.battle-app .room-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);gap:18px;align-items:start}
.battle-app .main-column, .battle-app .side-column{display:grid;gap:16px;min-width:0}
.battle-app .panel{border:1px solid #334159;background:#141d2c;border-radius:15px;overflow:hidden;box-shadow:0 8px 35px #04081026}
.battle-app .panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 21px;border-bottom:1px solid #314055}
.battle-app .panel-header h3{font-size:22px}
.battle-app .panel-header h3 small{display:block;font:600 10px "DM Sans";color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:5px}
.battle-app .panel-header .buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.battle-app .panel-body{padding:19px 21px}
.battle-app .party-stage{position:relative;background:linear-gradient(180deg,#1b2a40 0%,#172437 62%,#131d2d 100%);padding:24px 16px;overflow:hidden;isolation:isolate}
.battle-app .party-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;position:relative;z-index:1}
.battle-app .member-card{position:relative;min-width:0;border:1px solid #465a74;border-radius:11px;background:linear-gradient(180deg,#1c2a3b 5%,#101b2c 100%);padding:8px 9px 12px;text-align:center;transition:.15s;cursor:pointer;overflow:hidden}
.battle-app .member-card:hover{transform:translateY(-3px);border-color:#bb965a;box-shadow:0 8px 22px #0008}
.battle-app .member-card.ready{border-color:#427d71}
.battle-app .member-card .portrait{height:154px}
.battle-app .member-card .portrait img{height:146px}
.battle-app .member-card .tag-role{font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#dec18d;margin-top:3px}
.battle-app .member-card .name{font:800 19px "Barlow Condensed";white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}
.battle-app .member-card .classlabel{color:#93aac7;font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.battle-app .member-card .meta{display:flex;justify-content:center;gap:6px;align-items:center;margin-top:9px}
.battle-app .member-card .status-dot{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:#c68b65;box-shadow:0 0 8px #c68b65a9}
.battle-app .member-card.ready .status-dot{background:#65d6b0;box-shadow:0 0 9px #65d6b0bb}
.battle-app .empty-slot{min-height:250px;border:1px dashed #526078;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8297ae;background:#17243985;transition:.15s;cursor:pointer}
.battle-app .empty-slot:hover{border-color:var(--gold);color:var(--gold);background:#243147}
.battle-app .empty-slot .plus{font:300 40px/1 "DM Sans";width:55px;height:55px;display:grid;place-items:center;border-radius:50%;border:1px solid currentColor;opacity:.8}
.battle-app .empty-slot strong{font:700 16px "Barlow Condensed"}
.battle-app .empty-slot small{font-size:11px}
.battle-app .party-legend{display:flex;gap:18px;padding:12px 20px;color:var(--muted);font-size:11px;flex-wrap:wrap}
.battle-app .dot{height:7px;width:7px;background:#d6a979;border-radius:50%;display:inline-block;margin-right:5px}
.battle-app .dot.green{background:#72d8af}
.battle-app .dot.red{background:#f08d93}
.battle-app .strip{display:flex;align-items:center;gap:12px;overflow-x:auto;padding:15px 20px 19px;scrollbar-width:thin}
.battle-app .phase{border:1px solid #394e68;background:#1b293d;flex:1 0 130px;border-radius:10px;text-align:left;min-height:91px;padding:12px;position:relative;transition:.15s;color:var(--muted)}
.battle-app .phase:after{content:"";position:absolute;bottom:-2px;left:16px;right:16px;height:3px;border-radius:10px;background:transparent}
.battle-app .phase:hover{border-color:#a8aec0;background:#223550}
.battle-app .phase.active{border-color:#b89b66;background:#2a2b32;color:#f3e1c2}
.battle-app .phase.active:after{background:var(--gold)}
.battle-app .phase strong{display:block;color:#e6ebf2;font:700 16px "Barlow Condensed";margin-top:6px}
.battle-app .phase small{font-size:10px;font-weight:800;letter-spacing:.08em}
.battle-app .phase.done strong{color:var(--green)}
.battle-app .phase-nav{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:0 20px 18px;color:var(--muted);font-size:11px}
.battle-app .phase-nav>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.battle-app .tasks{padding:9px 17px 19px}
.battle-app .task{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;border-bottom:1px solid #2b3b50;align-items:start;padding:14px 4px}
.battle-app .task:last-child{border-bottom:0}
.battle-app .task button.check{display:grid;place-items:center;padding:0;height:23px;width:23px;border-radius:6px;background:#1a2535;border:1px solid #53647c;color:#b0c5de;font-size:12px}
.battle-app .task button.check.done{color:#102a28;background:var(--green);border-color:var(--green)}
.battle-app .task button.check.doing{background:#354f80;border-color:var(--blue);color:var(--blue)}
.battle-app .task-main{min-width:0}
.battle-app .task-title{font-size:13px;font-weight:700}
.battle-app .task-title.done{text-decoration:line-through;color:var(--muted)}
.battle-app .task-desc{font-size:11px;color:var(--muted);margin-top:3px}
.battle-app .task-foot{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap;align-items:center}
.battle-app .task .task-actions{display:flex;gap:3px}
.battle-app .task .task-actions .btn{padding:5px}
.battle-app .empty-state{padding:36px;text-align:center;color:var(--muted)}
.battle-app .empty-state strong{display:block;font:700 22px "Barlow Condensed";color:#f2f4fa;margin:5px 0}
.battle-app .empty-state p{font-size:12px;max-width:360px;margin:0 auto 14px}
.battle-app .monster-avatar{min-height:130px;display:grid;place-items:center;background:radial-gradient(circle,#b78e3c1c,transparent 65%);color:#d9a965;font-size:52px}
.battle-app .monster-summary h3{font-size:27px;margin:0}
.battle-app .monster-top{display:flex;gap:12px;align-items:center}
.battle-app .monster-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:18px}
.battle-app .stat{background:#1c293d;padding:9px 12px;border-radius:7px;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:11px}
.battle-app .stat b{font-size:12px;color:#e8c17e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.battle-app .hpbar{height:8px;background:#2f3b4e;border-radius:50px;overflow:hidden;margin-top:10px}
.battle-app .hpbar>span{display:block;height:100%;background:linear-gradient(90deg,#a45d56,#ed9185);width:100%}
.battle-app .note{width:100%;min-height:145px;resize:vertical;background:#111a2a;border:1px solid #35455d;color:#d4e1f2;padding:12px;border-radius:8px;outline:none}
.battle-app .note:focus{border-color:var(--gold)}
.battle-app .history{padding:10px 17px}
.battle-app .history-item{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid #2b364a;color:#b3c2d7;font-size:11px;line-height:1.6}
.battle-app .history-item:last-child{border-bottom:0}
.battle-app .history-item time{display:block;color:var(--quiet);font-size:10px}
.battle-app .history-item .marker{border:1px solid #7e694b;background:#3b3025;width:9px;height:9px;border-radius:50%;margin-top:5px;flex:none}
.battle-app .secure-note{border:1px solid #426254;background:#173029ad;border-radius:12px;padding:13px 15px;display:flex;gap:12px;align-items:center;color:#bbe5d4;font-size:12px}
.battle-app .secure-note b{display:block}
.battle-app .secure-note span{display:block;color:#a9c6bd;margin-top:3px;font-size:11px}
.battle-app .modal-backdrop{position:fixed;inset:0;z-index:30;background:#030913ca;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;overflow:auto}
.battle-app .modal{width:min(650px,100%);max-height:min(88vh,950px);overflow-y:auto;background:linear-gradient(140deg,#1e2a3d,#121b2c);border:1px solid #6c7284;border-radius:16px;box-shadow:var(--shadow)}
.battle-app .modal.wide{width:min(860px,100%)}
.battle-app .modal-title{padding:24px 25px 19px;border-bottom:1px solid #34465b;display:flex;justify-content:space-between;align-items:start;gap:14px}
.battle-app .modal-title h2{font-size:31px}
.battle-app .modal-title p{font-size:12px;color:var(--muted);margin-top:7px}
.battle-app .modal-body{padding:21px 25px 25px}
.battle-app .form-field{display:flex;flex-direction:column;gap:7px}
.battle-app .form-field label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a9b9d0}
.battle-app .form-field input, .battle-app .form-field select, .battle-app .form-field textarea{width:100%;background:#101a2a;border:1px solid #425571;color:#f4f5fa;border-radius:8px;padding:11px 12px;outline:none;min-width:0}
.battle-app .form-field input:focus, .battle-app .form-field select:focus, .battle-app .form-field textarea:focus{border-color:var(--gold)}
.battle-app .form-field textarea{min-height:86px;resize:vertical}
.battle-app .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.battle-app .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.battle-app .form-stack{display:grid;gap:15px}
.battle-app .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;flex-wrap:wrap}
.battle-app .sep{border:0;border-top:1px solid #35465e;margin:14px 0}
.battle-app .import-tabs{display:flex;gap:5px;padding:4px;border:1px solid #394960;border-radius:10px;background:#111d2e;margin-bottom:15px;overflow-x:auto}
.battle-app .import-tabs button{flex:1;border:0;background:transparent;color:#b8c9df;font-size:11px;font-weight:800;padding:10px;border-radius:6px;white-space:nowrap}
.battle-app .import-tabs button.active{background:#2b405a;color:#f2d294}
.battle-app .import-list{max-height:258px;overflow:auto;display:grid;gap:8px}
.battle-app .import-row{display:flex;align-items:center;gap:10px;border:1px solid #384c66;background:#152237;border-radius:10px;padding:7px 10px;text-align:left;color:#d8e4f5;width:100%}
.battle-app .import-row.active{border-color:#e6bc73;background:#39352f}
.battle-app .import-row img{height:57px;width:58px;object-fit:contain;image-rendering:pixelated}
.battle-app .import-row strong{display:block}
.battle-app .import-row small{color:var(--muted)}
.battle-app .import-row .radio{margin-left:auto;width:16px;height:16px;border:1px solid var(--muted);border-radius:100px}
.battle-app .import-row.active .radio{background:var(--gold);border-color:var(--gold);box-shadow:inset 0 0 0 4px #1d2839}
.battle-app .detail-profile{display:grid;grid-template-columns:170px 1fr;gap:20px}
.battle-app .detail-profile .portrait{height:195px;border:1px solid #445775;border-radius:10px;background:radial-gradient(#34435b,#1b273b)}
.battle-app .detail-profile .portrait img{height:182px}
.battle-app .detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.battle-app .detail-stats div{background:#1c2b3e;border:1px solid #34465d;padding:10px;border-radius:8px}
.battle-app .detail-stats strong{display:block;font-size:16px;color:var(--gold)}
.battle-app .detail-stats small{color:var(--muted);font-size:10px}
.battle-app .key-box{margin-top:14px;border:1px solid #4a5c73;background:#111d2d;border-radius:10px;padding:14px}
.battle-app .key-box .key-value{font:800 clamp(14px,2.6vw,20px) "DM Sans";letter-spacing:.06em;color:#edcf91;overflow-wrap:anywhere;margin:9px 0 11px}
.battle-app .key-grid{display:grid;gap:12px}
.battle-app .tip{color:#94aec9;font-size:12px;line-height:1.7;background:#1a293d;padding:13px;border-left:3px solid #c49c64;border-radius:7px}
.battle-app .danger-tip{background:#3c2730;border-left-color:#ed9195;color:#f2b9bd}
.battle-app .toast{position:fixed;z-index:40;right:22px;bottom:22px;padding:14px 18px;max-width:380px;background:#1d3640;border:1px solid #4b917e;box-shadow:0 13px 36px #0007;border-radius:10px;color:#e8fff6;font-size:13px;font-weight:700}
.battle-app .toast.error{background:#40262d;border-color:#ac5665;color:#ffe4e6}
.battle-app .loading-full{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.battle-app .loading-full h2{font-size:44px}
.battle-app .loading-full p{color:var(--muted)}
.battle-app .loading-full .crest{width:90px;height:90px;font-size:40px}
.battle-app .footer{border-top:1px solid #27364a;padding:23px max(24px,calc((100vw - 1500px)/2));display:flex;justify-content:space-between;gap:16px;color:#8c9eb5;font-size:11px}
.battle-app .mini-progress{height:5px;border-radius:7px;background:#35455d;overflow:hidden;margin-top:12px}
.battle-app .mini-progress>span{display:block;height:100%;background:linear-gradient(90deg,#c39d62,#f2d19a)}
.battle-app .no-wrap{white-space:nowrap}
.battle-app .text-gold{color:var(--gold)}
.battle-app .text-green{color:var(--green)}
@media (max-width:1150px){.battle-app .room-layout{grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr)}
.battle-app .party-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.battle-app .landing-hero{gap:16px}}
@media (max-width:880px){.battle-app .landing-hero{grid-template-columns:1fr;padding-top:45px}
.battle-app .hero-preview{max-width:730px}
.battle-app .howto{grid-template-columns:1fr}
.battle-app .room-layout{grid-template-columns:1fr}
.battle-app .dashboard-metrics{grid-template-columns:repeat(2,1fr)}
.battle-app .navlinks a:not(:last-child){display:none}
.battle-app .room-header{align-items:start;flex-direction:column}}
@media (max-width:600px){.battle-app .topnav{padding:0 15px;height:70px}
.battle-app .topnav .crest{width:37px;height:37px}
.battle-app .topnav .brand b{font-size:17px}
.battle-app .navlinks .btn{font-size:11px;padding:8px}
.battle-app .navlinks a{display:none}
.battle-app .main-wrap{padding:17px 12px 55px}
.battle-app .room-heading h1{font-size:36px}
.battle-app .dashboard-metrics{gap:8px}
.battle-app .metric{padding:12px}
.battle-app .metric .val{font-size:27px}
.battle-app .room-layout{gap:12px}
.battle-app .panel-header{padding:14px 13px}
.battle-app .panel-body{padding:14px}
.battle-app .party-stage{padding:12px 9px}
.battle-app .party-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.battle-app .member-card .portrait{height:133px}
.battle-app .member-card .portrait img{height:125px}
.battle-app .empty-slot{min-height:221px}
.battle-app .preview-figures{grid-template-columns:repeat(2,1fr)}
.battle-app .preview-member .portrait{height:130px}
.battle-app .hero-text h1{font-size:51px}
.battle-app .modal-backdrop{padding:10px}
.battle-app .modal-title{padding:16px}
.battle-app .modal-body{padding:16px}
.battle-app .grid2, .battle-app .grid3{grid-template-columns:1fr}
.battle-app .detail-profile{grid-template-columns:1fr}
.battle-app .detail-profile .portrait{height:175px}
.battle-app .detail-profile .portrait img{height:161px}
.battle-app .footer{padding:20px 12px}
.battle-app .room-actions{width:100%}
.battle-app .room-actions .btn{flex:1}}
.battle-app .import-row .portrait{height:62px;width:64px;flex:none}
.battle-app .import-row .portrait img{height:62px;width:62px}
.battle-app .import-row .portrait:before{width:45px;height:12px;bottom:2px}
/* CdP Sala de Batalha v2: identidade compartilhada com a página principal. */
.cdp-home-header-actions{display:flex;align-items:center;gap:10px}
.battle-app{background:transparent!important;color:#eef5ff;font-family:Manrope,Inter,'DM Sans',system-ui,sans-serif;min-height:70vh;isolation:isolate;overflow:hidden}
.battle-app .battle-breadcrumb{max-width:1380px;margin:0 auto;padding:23px 22px 0;display:flex;align-items:center;gap:8px;color:#36537a;font-size:12px;font-weight:700}
.battle-app .battle-breadcrumb svg{width:13px;height:13px;opacity:.55}
.battle-app .battle-breadcrumb>a{color:#2457d6}
.battle-app .battle-breadcrumb__tag{margin-left:auto;font-size:10px;color:#8b7148;letter-spacing:.10em;text-transform:uppercase}
.battle-app .main-wrap{max-width:1380px;padding:24px 22px 60px}
.battle-app .landing{max-width:1380px}
.battle-app .landing-hero{min-height:510px;border:1px solid rgba(199,211,232,.83);border-radius:26px;padding:clamp(20px,3.2vw,46px);position:relative;overflow:hidden;box-shadow:0 28px 74px rgba(31,49,86,.09);background-image:linear-gradient(103deg,rgba(252,253,255,.98) 0%,rgba(248,251,255,.96) 41%,rgba(239,245,254,.71) 100%),url('/img/bg1.jpg');background-position:center;background-size:cover}
.battle-app .landing-hero:before{content:'';position:absolute;width:530px;height:530px;border:1px solid rgba(173,137,79,.19);border-radius:50%;right:-140px;top:-260px;pointer-events:none}
.battle-app .landing-hero>*{position:relative;z-index:1}
.battle-app .battle-hero-logo{width:116px;height:116px;object-fit:contain;display:block;margin-bottom:13px;filter:drop-shadow(0 8px 12px rgba(84,64,40,.19))}
.battle-app .hero-text h1{color:#21375b;font-size:clamp(39px,4.3vw,66px);line-height:.99}
.battle-app .hero-text h1 span{color:#9e753b}
.battle-app .hero-text p{color:#52647d;font-size:14px;max-width:490px}
.battle-app .hero-text .eyebrow{color:#94713f;font-size:10px;letter-spacing:.13em}
.battle-app .hero-meta{color:#536982}
.battle-app .hero-preview{border-color:#d3bd91;background:linear-gradient(155deg,#1e354f,#132438 82%);box-shadow:0 15px 35px rgba(30,52,83,.18)}
.battle-app .preview-member{background:linear-gradient(180deg,#34516c,#1b3045);border-color:#60758c}
.battle-app .preview-member b,.battle-app .hero-preview strong{color:#f6f5ee}
.battle-app .how-step{background:rgba(255,255,255,.87);border:1px solid #dbe4f0;box-shadow:0 7px 26px rgba(25,45,84,.07)}
.battle-app .how-step strong{color:#29476b}
.battle-app .how-step span{color:#5f728b}
.battle-app .how-step .number{color:#9e7131}
.battle-app .landing>.eyebrow{color:#846433}
.battle-app .room-heading h1{color:#263e5d}
.battle-app .room-heading .eyebrow{color:#96703a}
.battle-app .room-subtitle{color:#485e7c}
.battle-app .room-subtitle strong{color:#223c5e}
.battle-app .metric{box-shadow:0 5px 23px rgba(33,52,86,.08);border:1px solid rgba(192,204,224,.83);background:linear-gradient(140deg,rgba(255,255,255,.94),rgba(238,244,252,.95))}
.battle-app .metric small{color:#627590}
.battle-app .metric .val{color:#2a4164}
.battle-app .metric .val.gold{color:#9a6d2a}
.battle-app .metric .val.green{color:#3d8066}
.battle-app .metric .val.blue{color:#3265b0}
.battle-app .metric .sub{color:#647791}
.battle-app .panel{border-color:#51617a;background:#172b42}
.battle-app .secure-note{box-shadow:0 5px 19px rgba(24,45,73,.12)}
.battle-app .battle-team-insight{display:grid;grid-template-columns:minmax(185px,.55fr) 1fr minmax(200px,.9fr);gap:18px;align-items:center;padding:15px 20px;margin-bottom:19px;background:rgba(255,255,255,.9);border:1px solid #dce5f0;border-radius:15px;box-shadow:0 8px 24px rgba(31,49,86,.07)}
.battle-app .battle-team-head strong{display:block;color:#263f62;font-size:16px;margin-top:2px}
.battle-app .battle-team-head .eyebrow{font-size:9px;letter-spacing:.12em;color:#a77c3d}
.battle-app .battle-team-head>.pill{margin-top:7px;color:#456a9d;background:#eaf1fc;border-color:#cadef2}
.battle-app .battle-team-roles{display:flex;flex-wrap:wrap;gap:8px}
.battle-app .battle-role-count{border-radius:8px;border:1px solid #d7e1ed;background:#f1f5fa;padding:7px 9px;min-width:66px;display:flex;flex-direction:column;align-items:center;gap:2px}
.battle-app .battle-role-count span{font-size:10px;color:#64748d}
.battle-app .battle-role-count b{font-size:17px;color:#2b4770}
.battle-app .battle-team-alerts{display:flex;flex-wrap:wrap;gap:6px}
.battle-app .battle-alert{font-size:10px;padding:5px 8px;border-radius:6px;border:1px solid #d1dce9}
.battle-app .battle-alert.ok{color:#247558;background:#e6f8ef;border-color:#b8e8cf}
.battle-app .battle-alert.warn{color:#99542a;background:#fff2e6;border-color:#f1d5ba}
.battle-app .battle-alert.muted{color:#596d85;background:#ecf1f8}
.battle-app .battle-team-alerts small{display:block;width:100%;font-size:10px;color:#77859a;line-height:1.4}
.battle-app .modal-backdrop{z-index:100;position:fixed}
.battle-app .toast{z-index:110;position:fixed}
.battle-app .loading-full{min-height:50vh}
.battle-app .loading-full h2{color:#314766}
.battle-app .loading-full p{color:#637895}
@media(max-width:1080px){.battle-app .battle-team-insight{grid-template-columns:1fr 1fr}.battle-app .battle-team-alerts{grid-column:span 2}}
@media(max-width:750px){.cdp-home-header-actions{flex-direction:column;align-items:flex-end;gap:5px}.battle-app .battle-breadcrumb__tag{display:none}.battle-app .battle-team-insight{grid-template-columns:1fr}.battle-app .battle-team-alerts{grid-column:auto}.battle-app .landing-hero{padding:24px 17px}.battle-app .battle-hero-logo{width:87px;height:87px}.battle-app .landing-hero{gap:28px}}
@media print{body.is-battle{background:#fff!important}.topbar,.footer,.battle-app .room-actions,.battle-app .btn,.battle-app .empty-slot,.battle-app .task-actions{display:none!important}.battle-app .panel{break-inside:avoid}.battle-app .room-layout{display:block}.battle-app .side-column{margin-top:15px}.battle-app .main-wrap{max-width:none;padding:0}}
