/* Componentes compartilhados com a linguagem dos menus de Brasa Eterna. */
:root{--line:#5e5865;--panel:#1c2031;--bg:#10131d;--gold:#e9b56d;--muted:#a7b6c3}
body{background:#10131d}
button,.play-button,.primary,nav a,.tabs button{font-family:BrasaPixel,monospace;font-weight:400;letter-spacing:0;font-size:14px;line-height:1.5;border-radius:0}
button,.play-button,.primary{border:2px solid #626b76;background:#242b39;color:#eee2c9;box-shadow:inset 0 0 0 2px #131824,0 3px 0 #080c13;padding:11px 16px;min-height:44px;text-decoration:none}
button:hover,.play-button:hover{border-color:#e9b56d;background:#303b49;color:#f8deb3}
button:active,.play-button:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #131824}
button:disabled{transform:none;opacity:.5;cursor:not-allowed}
.card .primary,.play-button,.settings-page .primary{border-color:#e9b56d;background:#383027;color:#f9ddb1;box-shadow:inset 0 0 0 2px #171922,0 3px 0 #080c13;justify-content:center;gap:14px}
.primary::before,.play-button::before{content:"";display:inline-block;width:20px;height:20px;flex:none;background:url('/ui/blade.png') center/contain no-repeat;image-rendering:pixelated;vertical-align:middle;margin-right:6px}
input,select,.rank-filters select{font-family:Consolas,monospace;font-size:14px;background:#111523;border:2px solid #494956;border-bottom-color:#767380;border-radius:0;box-shadow:inset 3px 3px 0 #080b12;color:#eee2c9;height:48px;padding:0 14px;width:100%;min-width:0}
input:focus,select:focus{outline:2px solid #e9b56d;outline-offset:3px;border-color:#9c825f}
input::placeholder{color:#8c92a0}label{font-family:BrasaPixel,monospace;font-size:11px;line-height:1.8;color:#c8c9d2;font-weight:400}
.password-row input{border-right:0}.password-row button{height:48px;background:#242b39;box-shadow:none;border:2px solid #494956;border-left:0;width:72px;font-size:11px}
.portal-header,.site-header{border-bottom:3px solid #5e5865;padding-bottom:18px}.portal-header nav, .site-header nav{gap:10px;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:2px solid #4b4c5a;background:#1c2031;white-space:nowrap;font-size:12px}
nav a:hover{border-color:#e9b56d;background:#303b49}nav a::before{content:"";width:20px;height:20px;flex:none;background:url('/ui/ui_bag.png') center/contain no-repeat;image-rendering:pixelated}
nav a[href^="/salas"]::before{background-image:url('/ui/stairs.png')}nav a[href^="/jogar"]::before{background-image:url('/ui/blade.png')}
.card,.server-panel,dialog,.identity-panel{background:#1c2031;border:2px solid #676775;box-shadow:inset 0 0 0 4px #111523;border-radius:0}.card{padding:28px}
.tabs{gap:8px;border:0;margin-bottom:28px;padding-bottom:0;display:grid;grid-template-columns:1fr 1fr}.tabs button{padding:10px 8px;margin:0;border:2px solid #626b76;background:#242b39;min-height:44px;text-align:center}.tabs .active{color:#f9ddb1;border:2px solid #e9b56d;background:#383027;box-shadow:inset 0 -3px 0 #e9b56d}
.service-banner{width:min(1120px,100%);background:#1b222c;color:#9ac39d;border:0;border-left:4px solid #9ac39d;padding:8px 14px;font-size:12px}.service-banner.maintenance{background:#29232c;border-left-color:#e9b56d}
.avatar{background:#131824;border:2px solid #e9b56d;box-shadow:inset 0 0 0 3px #32303a;font-family:BrasaPixel,monospace;font-size:26px;width:58px;height:58px}
.intro-flame{width:96px;height:96px;image-rendering:pixelated}.experimental-notice{background:#1c2031;border:2px solid #62616b;border-left:4px solid #b58955;box-shadow:inset 0 0 0 3px #111523;padding:16px 18px}
.security-summary{gap:8px}.security-summary span{border-bottom:1px solid #353441;padding-bottom:8px;max-width:340px}
.account-links{grid-template-columns:1fr;gap:10px}.account-links a{display:block;font-family:BrasaPixel,monospace;font-size:11px;line-height:1.8;background:#242b39;border:2px solid #4b4c5a;padding:9px 12px;color:#e9b56d}.account-links a:hover{border-color:#e9b56d}
.text-button{border:0;box-shadow:none;background:none;font-size:11px;padding:8px 0;min-height:36px}.text-button:hover{background:none;text-decoration:underline}.secondary{margin-top:18px}
.server-row{position:relative;border:2px solid #62616b;box-shadow:inset 0 0 0 3px #111523;background:#222839;padding:20px 18px 20px 56px;margin:16px 0;min-width:0}.server-row::before{content:"";position:absolute;top:22px;left:16px;width:24px;height:24px;background:url('/ui/stairs.png') center/contain no-repeat;image-rendering:pixelated}.server-row strong{font-family:BrasaPixel,monospace;font-weight:400;font-size:14px;line-height:1.8}.server-row p{line-height:1.8}.member button{font-size:10px;min-height:34px;padding:6px 10px}.row-actions button{font-size:11px;max-width:100%;overflow-wrap:anywhere}
.save-detail,.participant-detail,.audit-entry{background:#131824;border:1px solid #494956;border-left:3px solid #9c825f;padding:14px}.rank-table th{font-family:BrasaPixel,monospace;font-weight:400;font-size:11px;background:#242b39}.rank-table td{background:#131824}.rank-table th,.rank-table td{border:1px solid #494956;padding:13px}.danger{border-color:#bc786d;color:#efb2a3;background:#33242c}.danger:hover{background:#463039;border-color:#efb2a3}
summary{font-family:BrasaPixel,monospace;font-size:11px;line-height:1.8;padding:8px 0}dialog{padding:28px}dialog::backdrop{background:#080b12dd}.maintenance-controls{background:#28222c;border:2px solid #9c825f}.security-badge{background:#1d2929;border:2px solid #647966;padding:8px 12px;line-height:1.6}.settings-grid h2{font-size:20px}.settings-title h1{font-size:32px}.settings-page .setting-actions button{font-size:12px;line-height:1.8;padding:12px 14px}.settings-page #sign-out{font-size:12px}.settings-page .feedback{min-height:24px}.settings-page #fresh-codes pre{border:2px solid #494956;background:#111523;box-shadow:inset 3px 3px 0 #080b12}
.game-stage{background:#10131d;border:3px solid #676775;box-shadow:0 0 0 3px #111523}.game-heading .tools button{font-family:BrasaPixel,monospace;font-size:11px}.site-footer>span,.account-footer{font-family:BrasaPixel,monospace;font-size:10px;line-height:1.8}.placeholder h2{font-family:BrasaPixel,monospace;font-size:22px}.site-header .brand svg{width:30px;height:38px}.site-header .brand{font-size:18px}.identity-panel{border-left:4px solid #e9b56d}
@media(max-width:800px){.portal-header,.site-header{align-items:flex-start;gap:18px;flex-wrap:wrap;padding-bottom:16px}.portal-header nav,.site-header nav{gap:8px;max-width:100%}nav a{font-size:10px;padding:7px 9px;gap:7px}nav a::before{width:16px;height:16px}.card{padding:22px}.intro-flame{width:64px;height:64px}.settings-title h1{font-size:26px}.row-actions{max-width:100%}.server-panel{padding:18px}.game-heading{flex-wrap:wrap}.game-heading .tools{flex-direction:row;flex-wrap:wrap}}
@media(max-width:480px){button,.primary,.play-button{font-size:12px}.setting-actions button{font-size:11px!important}.server-row{padding-left:48px}.server-row::before{left:12px;width:22px;height:22px}.server-row strong{font-size:12px}.settings-grid h2{font-size:18px}label{font-size:10px}}

.setting-actions button{display:flex;align-items:center;gap:12px}.setting-actions button::before{content:"";width:22px;height:22px;flex:none;background:url('/ui/ui_shield.png') center/contain no-repeat;image-rendering:pixelated}.setting-actions button[value="recovery"]::before{background-image:url('/ui/ui_bag.png')}.setting-actions button[value="sessions"]::before{background-image:url('/ui/stairs.png')}

/* Portal: identidade, ação principal e apoio em blocos separados. */
.portal-home.portal-authenticated main{display:block}.portal-home.portal-authenticated .intro{display:none}.portal-home.portal-authenticated #access-card{border:0;padding:0;background:none;box-shadow:none}.portal-identity{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:0 0 26px;border-bottom:1px solid #494956;margin-bottom:28px}.portal-player{display:flex;align-items:center;gap:20px;min-width:0}.portal-player>div:last-child{min-width:0}.portal-player .avatar{margin:0;flex:none}.portal-player .eyebrow{margin:0 0 6px}.portal-player h2{font-size:24px;overflow-wrap:anywhere;margin:0}.portal-badge{display:flex;align-items:center;gap:8px;color:#e9b56d;margin-top:8px;font-size:12px}.portal-badge img{image-rendering:pixelated}.portal-session{text-align:right;flex:none}.session-check{display:block;color:#9ac39d;font-size:12px}.portal-session #logout{width:auto;margin-top:6px;min-height:30px;font:12px Segoe UI,Arial,sans-serif;box-shadow:none;border:0;padding:4px 0;text-decoration:underline}.portal-session p:empty{display:none}.portal-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px}.portal-home:not(.portal-has-support) .portal-actions{grid-template-columns:1fr}.portal-journey,.portal-support{border:2px solid #626b76;background:#1c2031;box-shadow:inset 0 0 0 4px #111523;padding:32px;min-width:0}.portal-journey{display:flex;flex-direction:column;align-items:flex-start}.journey-emblem{image-rendering:pixelated;margin-bottom:12px}.portal-journey h1{font-size:32px;margin:12px 0 18px}.portal-journey>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:400px;margin-top:0}.game-modes{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 30px}.game-modes span{font:11px BrasaPixel,monospace;border-bottom:2px solid #647966;color:#a8bdd1;padding:8px 0;margin-right:8px}.portal-journey .play-button{width:100%;max-width:420px;margin-top:auto;display:flex;padding:16px;font-size:16px}.portal-journey .foot{font-size:12px!important;margin:14px 0 0!important}.portal-support{border-color:#b58955;display:flex;flex-direction:column}.support-card-heading{display:flex;align-items:center;gap:14px}.support-card-heading .eyebrow{margin:0}.portal-support h2{font-size:28px;line-height:1.4;margin:18px 0 10px;color:#f3d6a2}.portal-support>p{font-size:14px;line-height:1.8;margin:0 0 16px}.portal-support .support-recognition{font-size:12px}.support-cta{display:block;margin-top:auto;border:2px solid #e9b56d;background:#e9b56d;color:#101822;padding:14px;text-align:center;text-decoration:none;font:12px/1.7 BrasaPixel,monospace;box-shadow:inset 0 0 0 2px #34291d,0 3px 0 #080c13}.support-cta:hover{background:#f3c88b}.support-cta:focus-visible{outline:2px solid #e9b56d;outline-offset:4px}.payment-processor{display:flex;align-items:center;gap:14px;border:1px solid #465968;background:#101a25;padding:14px;margin-top:20px}.payment-processor img{image-rendering:pixelated;flex:none}.payment-processor span{display:block;color:#a8bdd1;font-size:9px;letter-spacing:1px}.payment-processor strong{display:block;font:600 18px/1.5 Segoe UI,Arial,sans-serif;color:#c5e2eb;margin:2px 0}.payment-processor p{font:11px/1.6 Segoe UI,Arial,sans-serif;margin:0;color:#a8bdd1}.portal-development{font-size:12px;margin:24px 0 0;color:#a8bdd1}.support-page .payment-processor{margin:18px 0}.support-page .payment-processor p{font-size:11px}.support-page .payment-processor strong{font-size:18px}.support-page .processor-note{font-size:12px;line-height:1.7;margin-top:14px;color:#a8bdd1}@media(max-width:800px){.portal-actions{grid-template-columns:1fr}.portal-identity{align-items:flex-start;gap:16px}.portal-player{gap:12px}.portal-player h2{font-size:19px}.portal-journey,.portal-support{padding:24px}.portal-journey h1{font-size:28px}.portal-support h2{font-size:25px}.portal-journey .play-button{max-width:none;font-size:14px}}@media(max-width:480px){.portal-identity{flex-direction:column}.portal-session{display:flex;align-items:center;gap:20px;text-align:left}.portal-session #logout{margin:0}.portal-player .avatar{width:48px;height:48px;font-size:22px}.portal-actions{gap:20px}.support-cta{font-size:11px}.portal-support h2 br{display:none}}

.portal-home #account>.portal-development{margin:24px 0 0;font-size:12px;line-height:1.7}

.preview-jump{color:#e9b56d;text-decoration:none;font-size:13px;border-bottom:1px solid #b58955;padding-bottom:4px}.preview-jump:hover{color:#f3d6a2}.game-preview{width:min(1120px,100%);border-top:2px solid #5e5865;margin-top:12px;padding-top:30px}.game-preview>header>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:780px}.game-preview>header h2{font-size:26px;margin:10px 0 12px}.game-preview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:28px;align-items:start;margin-top:24px}.gameplay-figure{margin:0;border:2px solid #626b76;padding:6px;background:#101822;min-width:0}.gameplay-figure video{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:pixelated;background:#101822}.gameplay-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 8px}.gameplay-figure figcaption span{color:#a8bdd1;font-size:11px;line-height:1.7}.gameplay-figure button{font-size:10px;line-height:1.6;min-height:34px;padding:6px 10px;flex:none;box-shadow:none}.class-overview{border:2px solid #626b76;background:#1c2031;padding:20px}.class-overview>h3{font-size:15px;color:#e9b56d;margin:0 0 12px}.class-overview article{display:flex;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #494956}.class-overview article img{image-rendering:pixelated;object-fit:contain;flex:none}.class-overview article h3{font-size:13px;line-height:1.6;margin:0;color:#eee2c9}.class-overview article p{font-size:12px;line-height:1.7;margin:6px 0 0}.journey-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.journey-details article{padding:18px 0;border-top:2px solid #b58955}.journey-details span{font:10px/1.8 BrasaPixel,monospace;color:#e9b56d}.journey-details h3{font-size:14px;line-height:1.6;margin:12px 0 8px}.journey-details p{font-size:13px;line-height:1.8;margin:0}.preview-controls-note{font-size:12px;line-height:1.8;color:#a8bdd1;border-top:1px solid #494956;padding-top:16px;margin-top:22px}@media(max-width:800px){.game-preview-grid,.journey-details{grid-template-columns:1fr;gap:20px}.game-preview>header h2{font-size:22px}.class-overview{padding:20px}.journey-details{gap:8px}.gameplay-figure figcaption{align-items:flex-start;flex-direction:column}.game-preview{padding-top:24px}}

.portal-home:not(.portal-authenticated)>.portal-header{order:0}.portal-home:not(.portal-authenticated)>.service-banner{order:1}.portal-home:not(.portal-authenticated)>#game-preview{order:2;margin-top:0;border-top:0;padding-top:10px}.portal-home:not(.portal-authenticated)>main{order:3;border-top:2px solid #5e5865;padding-top:36px}.portal-home:not(.portal-authenticated)>#server-panel{order:4}.portal-home:not(.portal-authenticated) .intro h1{font-size:32px}.portal-home:not(.portal-authenticated) .security-summary{font-size:11px}.portal-home:not(.portal-authenticated) #game-preview header{scroll-margin-top:24px}#acesso{scroll-margin-top:24px}

.class-overview .class-roadmap{font-size:12px;line-height:1.8;color:#a8bdd1;margin:0 0 16px}

/* Empty status and hint paragraphs should not leave gaps. */
p:empty{display:none}

#age-band{width:100%;min-height:44px;background:#10131d;border:2px solid #5e5865;color:#eee2c9;padding:12px;font:inherit}.feedback-main input[type=checkbox]{width:auto;display:inline-block;vertical-align:middle;margin-right:8px}

.feedback-main input[type=checkbox]{appearance:auto;width:18px;height:18px;min-height:18px;padding:0;border:0;box-shadow:none;background:none;accent-color:#eeb96b}.feedback-page form>p:not([role=status]):not(.feedback){color:#a8c0ce}

/* Links used as actions share the panel controls; prose links stay inline. */
a{color:#e9b56d;text-underline-offset:4px}
a:hover{color:#f8deb3}
.row-actions{align-items:center;flex-wrap:wrap}
.row-actions>a,.account-links>a,.settings-title>a,.feedback-heading>a,.card>a,.card>p>a:only-child{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;
 min-height:44px;padding:10px 14px;box-sizing:border-box;border:2px solid #626b76;
 background:#242b39;color:#eee2c9;box-shadow:inset 0 0 0 2px #131824,0 3px 0 #080c13;
 font:11px/1.8 BrasaPixel,monospace;text-decoration:none;text-align:center;overflow-wrap:anywhere;
}
.row-actions>a:hover,.account-links>a:hover,.settings-title>a:hover,.feedback-heading>a:hover,.card>a:hover,.card>p>a:only-child:hover{border-color:#e9b56d;background:#303b49;color:#f8deb3}
a:focus-visible{outline:2px solid #e9b56d;outline-offset:4px}
.row-actions>a[hidden],.settings-title>a[hidden],.feedback-heading>a[hidden],.card>a[hidden]{display:none}
