/* PWRO Classic+ UI. One palette, type scale, spacing rhythm and component set.
   Page-specific structures stay in their own stylesheets. */
.portal{
 --tinta:var(--color-bg);--tinta-vidro:var(--color-surface);--placa:var(--color-surface);--placa-viva:var(--color-surface-hover);--placa-alta:var(--color-secondary);--campo:var(--color-surface);
 --linha:var(--color-border);--linha-fraca:var(--color-border);--linha-forte:var(--color-field-border);--texto:var(--color-text);--texto-calmo:var(--color-text-muted);--fraco:var(--color-text-muted);--sutil:var(--color-text-muted);--apagado:var(--color-text-muted);
 --acento:var(--color-primary);--acento-claro:var(--color-primary-hover);--acento-fundo:var(--color-secondary-soft);--sobre-acento:var(--color-surface);--alerta:var(--color-danger);--titulo:var(--font-display);--corpo:var(--font-body);
 --portal-night:var(--color-bg);--portal-sky:var(--color-secondary-soft);--portal-gold:var(--color-gold);--portal-gold-light:var(--color-primary);--portal-shadow:var(--shadow-sm);--larg-max:1280px;--larg-texto:1216px;
 color:var(--color-text);background:var(--color-bg);background-image:var(--paper-texture);background-size:var(--paper-size);background-repeat:var(--paper-repeat);font:400 var(--type-body)/var(--leading-body) var(--font-body);color-scheme:light
}
.portal-backdrop{display:none}
.portal :is(h1,h2,h3,h4){color:var(--color-text);font-family:var(--font-display);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:700}
.portal :is(h1,.cabeca-pagina h1,.portal-heading-compact h1,.cartao h1,.cartao-cabeca h1){font-size:var(--type-h1)}
.portal h2{font-size:var(--type-h2)}
.portal h3{font-size:var(--type-h3)}
.portal h4{font-size:var(--type-h4)}
.portal p{text-wrap:pretty}
.portal :is(.portal-eyebrow,.rotulo,.rotulo-fino){font:500 var(--type-caption)/1.5 var(--font-body);letter-spacing:var(--tracking-label);color:var(--color-primary)}
.portal :focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}
.portal ::selection{background:var(--color-secondary);color:var(--color-text)}
.portal a[href],.portal summary,.portal button:not(:disabled),.portal select:not(:disabled),.portal input:is([type=checkbox],[type=radio]):not(:disabled){cursor:pointer}
.portal :is(a,button,summary,input,select,textarea){transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast)}

/* Shared header: same mark, font and control sizes on all public screens. */
.portal .topo{background:var(--color-surface);border-bottom:1px solid var(--color-gold-line);box-shadow:none;position:sticky;top:0;min-height:var(--topo-altura);height:auto;backdrop-filter:none}
.portal .topo::before,.portal .topo::after{content:none;position:absolute;inset:0 auto 0 0;width:100px;pointer-events:none;background:none;opacity:.4}
.portal .topo-dentro{position:relative;z-index:1;min-height:var(--topo-altura);max-width:var(--larg-max);padding-inline:var(--gutter);gap:var(--space-4)}
.portal .topo img.marca-selo{content:url('/tema/arte/pwro-logo-assinado-61db16b090bf.png');width:176px;height:76px;object-fit:contain;filter:none}
.portal .menu{font:500 var(--type-small)/1.5 var(--font-body);gap:var(--space-1);letter-spacing:0;text-transform:none}
.portal .acoes-topo{gap:var(--space-3);align-items:center}
.portal .acoes-topo a:not(.botao),.portal .topo :is(.marca,.portal-account-mobile,.portal-menu-toggle){color:var(--color-primary);font-size:var(--type-small)}
.portal .portal-nav-group summary{padding:var(--space-3);color:var(--color-primary);border-radius:var(--radius-sm);min-height:44px}
.portal .portal-nav-group summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:var(--space-1);margin-top:-3px}
.portal .portal-nav-group:is([open],.is-active)>summary,.portal .portal-nav-group>summary:hover{color:var(--color-primary-hover);background:var(--color-secondary-soft)}
.portal .portal-nav-group>div{background:var(--color-surface);border:1px solid var(--color-border);border-top:2px solid var(--color-gold);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);min-width:232px}
.portal .portal-nav-group>div a{font:400 var(--type-small)/1.5 var(--font-body);color:var(--color-text);border-radius:var(--radius-sm)}
.portal .portal-nav-group>div a:hover,.portal .portal-nav-group a[aria-current=page]{color:var(--color-primary);background:var(--color-secondary-soft);box-shadow:none}
.portal .portal-search-link:hover{background:var(--color-secondary-soft)}
.portal .portal-menu-toggle{min-height:44px;background:var(--color-surface);border-color:var(--color-field-border);border-radius:var(--radius-sm);font-size:var(--type-small)}
.portal .portal-menu-toggle[aria-expanded=true]{background:var(--color-secondary-soft);color:var(--color-primary);border-color:var(--color-primary)}
.portal .portal-skip:focus{background:var(--color-surface);color:var(--color-primary);z-index:100}

/* Primary, secondary and compact actions share a stable geometry. */
.portal :is(.botao,.button,.jornada-button){display:inline-flex;justify-content:center;align-items:center;gap:var(--space-3);min-height:48px;height:auto;padding:var(--space-3) var(--space-6);border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-surface);box-shadow:none;clip-path:none;font:600 var(--type-small)/1.5 var(--font-body);letter-spacing:0;text-transform:none;white-space:normal;text-align:center;text-decoration:none;transform:none}
.portal :is(.botao,.button,.jornada-button):hover,.portal .acoes-topo>.botao:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-surface);box-shadow:none;transform:none}
.portal :is(.botao,.button,.jornada-button):active{background:var(--color-primary-hover);transform:none}
.portal :is(.botao-vazio,.botao-contorno,.button-outline),.portal .portal-hero .botao.botao-vazio{background:var(--color-surface);border-color:var(--color-field-border);color:var(--color-primary)}
.portal :is(.botao-vazio,.botao-contorno,.button-outline):hover,.portal .portal-hero .botao.botao-vazio:hover{background:var(--color-secondary-soft);border-color:var(--color-primary);color:var(--color-primary-hover)}
.portal :is(.botao-pequeno,.button-compact){min-height:44px;padding:var(--space-2) var(--space-4)}
.portal .acoes-topo>.botao{background:var(--color-primary);color:var(--color-surface);min-height:44px;padding:var(--space-2) var(--space-6)}
.portal :is(.portal-prose,.texto) a.botao{color:var(--color-surface)}
.portal :is(.portal-prose,.texto) a.botao-vazio{color:var(--color-primary)}
.portal :is(.botao,.button,button):disabled,.portal [aria-disabled=true]{background:var(--color-secondary-soft);color:var(--color-text-muted);border-color:var(--color-border);opacity:.7;cursor:not-allowed;box-shadow:none}
.portal [aria-busy=true]{cursor:progress}
.portal :is(.cartao,.cartao-largo) .botao:disabled{background:var(--color-secondary-soft);color:var(--color-text-muted);border-color:var(--color-border);opacity:1;box-shadow:none;transition:none}

/* Comfortable inputs, labels, feedback and focus. */
.portal :is(input,select,textarea){font:400 var(--type-body)/1.5 var(--font-body);background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-field-border);border-radius:var(--radius-sm);box-shadow:none}
.portal :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select){min-height:48px;padding:var(--space-3)}
.portal :is(input,textarea)::placeholder{color:var(--color-text-muted);opacity:1}
.portal :is(input,select,textarea):focus{border-color:var(--color-primary)}
.portal :is(input,select,textarea):disabled{background:var(--color-secondary-soft);color:var(--color-text-muted);opacity:1;cursor:not-allowed}
.portal input:is([type=checkbox],[type=radio]){accent-color:var(--color-primary);width:20px;height:20px;min-height:20px;flex:none;box-shadow:none}
.portal :is(.campo-rotulo,.portal-filters label,.portal-search label){font:500 var(--type-small)/1.5 var(--font-body);color:var(--color-text);letter-spacing:0;text-transform:none}
.portal :is(.campo-ajuda,.dica,.cartao-pe,.portal-form-help){font-size:var(--type-small);line-height:var(--leading-body);color:var(--color-text-muted)}
.portal .grupo-titulo{font:600 var(--type-small)/1.5 var(--font-body);letter-spacing:0;text-transform:none}
.portal .portal-password>button{background:var(--color-secondary-soft);color:var(--color-primary);border-color:var(--color-field-border);min-height:48px}
.portal .cartao .red,.portal .portal-form-error{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}
.portal .green{color:var(--color-success)}

/* Content panels: one grid and one quiet surface family. */
.portal main.faixa-estreita{width:min(var(--larg-texto),calc(100% - 2 * var(--gutter)));margin-block:var(--space-8) var(--space-12);padding:0 0 var(--space-8);border:0;border-radius:0;background:transparent;box-shadow:none}
.portal :is(.portal-page-heading,.cabeca-pagina){padding-block:var(--space-8) var(--space-6);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}
.portal :is(.portal-page-heading,.cabeca-pagina)::before{background:var(--color-gold);height:2px;width:32px;margin-bottom:var(--space-4)}
.portal :is(.portal-page-heading>p,.cabeca-pagina .chamada){font-size:var(--type-body-large);line-height:var(--leading-body);margin-top:var(--space-3);color:var(--color-text-muted);max-width:65ch}
.portal .portal-crumb{font-size:var(--type-small);gap:var(--space-3);margin-bottom:var(--space-4)}
.portal .portal-subheading{margin-block:var(--space-8) var(--space-4)}
.portal :is(.portal-grid,.portal-family-grid,.portal-wiki-skills,.painel-grade){gap:var(--space-6)}
.portal :is(.portal-card,.portal-box,.portal-service,.portal-family,.portal-result,.portal-wiki-skill,.portal-evolution-branch,.portal-tree a,.portal-toc,.portal-filters,.portal-article>aside,.portal-empty,.portal-wiki-hero,.portal-destination-visual,.portal-details,.bloco,.portal-disclosure){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);border-radius:var(--radius-md);box-shadow:none}
.portal :is(.portal-card,.portal-family,.portal-result,.portal-tree a):hover{background:var(--color-surface-hover);border-color:var(--color-field-border);box-shadow:var(--shadow-sm);transform:none}
.portal :is(.portal-card-body,.portal-box,.portal-wiki-skill,.portal-evolution-branch,.portal-details,.portal-disclosure){padding:var(--space-6)}
.portal :is(.portal-card p,.portal-result p,.portal-family-copy p,.portal-empty p){color:var(--color-text-muted);font-size:var(--type-body);line-height:var(--leading-body)}
.portal .portal-card-link{font-size:var(--type-small);color:var(--color-primary);padding-top:var(--space-4)}
.portal :is(.portal-note,.portal-client-alert){padding:var(--space-4) var(--space-6);background:var(--color-secondary-soft);color:var(--color-text-muted);border-color:var(--color-gold);border-radius:var(--radius-md);font-size:var(--type-small);line-height:var(--leading-body)}
.portal :is(.portal-note,.portal-client-alert) a{color:var(--color-primary);text-decoration:underline;text-underline-offset:4px}
.portal .portal-client-warning{color:var(--color-primary)}
.portal .portal-empty{padding:var(--space-8);background:var(--color-secondary-soft);border-style:dashed}
.portal .portal-disclosure>summary{color:var(--color-primary);font-size:var(--type-body);min-height:44px;line-height:1.5}
.portal .portal-disclosure[open]>summary{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);margin-bottom:var(--space-4)}
.portal .portal-disclosure :is(p,li,dt){color:var(--color-text-muted)}
.portal :is(.portal-place,.portal-badge,.portal-tree em,.portal-active-filters a,.portal-service-index,.portal-stage-badge){background:var(--color-secondary-soft);color:var(--color-primary);border-color:var(--color-border);border-radius:var(--radius-sm);font-size:var(--type-caption)}
.portal .portal-place{font-size:var(--type-body);font-variant-numeric:tabular-nums;border:1px solid var(--color-gold-line)}
.portal .portal-filters{padding:var(--space-6);gap:var(--space-4);background:var(--color-secondary-soft);align-items:end}
.portal .portal-filters label{gap:var(--space-2);min-width:0}
.portal .portal-tabs{gap:var(--space-2);margin-bottom:var(--space-6)}
.portal .portal-tabs a{padding:var(--space-3) var(--space-4);min-height:44px;display:inline-flex;align-items:center;font-size:var(--type-small);border-color:var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary)}
.portal .portal-tabs a:hover{background:var(--color-secondary-soft);border-color:var(--color-field-border)}
.portal .portal-tabs a[aria-current=page]{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-primary);font-weight:600}
.portal .portal-table-wrap{border-color:var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}
.portal .portal-table{background:var(--color-surface);font-size:var(--type-small)}
.portal .portal-table thead{background:var(--color-secondary-soft)}
.portal .portal-table th{color:var(--color-text);font:600 var(--type-small)/1.5 var(--font-body)}
.portal .portal-table td{color:var(--color-text);line-height:1.6}
.portal .portal-table :is(th,td){padding:var(--space-4);border-color:var(--color-border)}
.portal .portal-table tbody tr:hover{background:var(--color-surface-hover)}
.portal .portal-drop-row{position:relative}
.portal .portal-drop-link::after{content:"";position:absolute;inset:0;cursor:pointer}
.portal .portal-drop-row:focus-within{background:var(--color-surface-hover)}
.portal .portal-drop-link:focus-visible{outline:none}
.portal .portal-drop-link:focus-visible::after{outline:3px solid var(--color-primary);outline-offset:-3px}
.portal .portal-pagination a{min-height:44px;background:var(--color-surface);color:var(--color-primary);border-color:var(--color-field-border);border-radius:var(--radius-sm)}
.portal .portal-suggestions{background:var(--color-surface);color:var(--color-text);border-color:var(--color-field-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.portal .portal-suggestions [role=option]:hover,.portal .portal-suggestions [aria-selected=true]{background:var(--color-secondary-soft);color:var(--color-primary)}

/* Editorial content is quieter than the page title; data remains easy to scan. */
.portal :is(.portal-prose,.texto){font-size:var(--type-body);line-height:1.8;color:var(--color-text-muted);max-width:70ch}
.portal :is(.portal-prose,.texto) h2{font-size:var(--type-h2);margin-block:var(--space-8) var(--space-4)}
.portal :is(.portal-prose,.texto) h3{font-size:var(--type-h3);margin-block:var(--space-6) var(--space-3)}
.portal :is(.portal-prose,.texto) :is(strong,a){color:var(--color-text)}
.portal :is(.portal-prose,.texto) a{color:var(--color-primary);text-decoration:underline;text-underline-offset:4px}
.portal :is(.portal-prose,.texto) code{background:var(--color-secondary-soft);color:var(--color-primary);font-family:var(--font-mono);border-radius:var(--radius-sm)}
.portal .portal-meta{font-size:var(--type-small);color:var(--color-text-muted)}
.portal .portal-article{gap:var(--space-8)}
.portal .portal-article>aside{background:var(--color-secondary-soft);font-size:var(--type-small)}
.portal .portal-article>aside h3,.portal .portal-toc h2{font-size:var(--type-h4)}
.portal .portal-facts dt{font-size:var(--type-small);color:var(--color-text-muted)}
.portal .portal-facts dd{font-size:var(--type-body);font-variant-numeric:tabular-nums}

/* Family portraits and native sprites remain two intentional media treatments. */
.portal .portal-family{min-height:208px}
.portal .portal-family--portrait{grid-template-columns:112px minmax(0,1fr);padding:0}
.portal .portal-family-image{width:112px;height:100%;min-height:208px;object-fit:cover;object-position:center 20%}
.portal .portal-family-copy{padding:var(--space-6);gap:var(--space-2)}
.portal .portal-family-copy h2{font-size:var(--type-h3)}
.portal .portal-family-copy p{font-size:var(--type-small)}
.portal .portal-family-copy>span{font-size:var(--type-small);font-weight:500;color:var(--color-primary)}
.portal .portal-family-heading{background:var(--color-secondary-soft);border-color:var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-8);box-shadow:none}
.portal .portal-family-heading img{width:192px;height:240px;object-fit:cover;object-position:50% 18%;border-radius:var(--radius-md);border-color:var(--color-border)}
.portal main .portal-family-heading :is(h2,p,small,span.portal-eyebrow){color:var(--color-text)}
.portal main .portal-family-heading :is(p,small){color:var(--color-text-muted)}
.portal .portal-family-heading h2{font-size:var(--type-h1)}
.portal main .portal-family-heading .portal-family-actions a,.portal .portal-branch-nav a{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-field-border);border-radius:var(--radius-sm);font:500 var(--type-small)/1.5 var(--font-body);min-height:44px}
.portal main .portal-family-heading .portal-family-actions a:hover,.portal .portal-branch-nav a:hover{background:var(--color-secondary);border-color:var(--color-primary)}
.portal .portal-tree strong{font-size:var(--type-h4)}
.portal .portal-tree small,.portal .portal-job-levels{font-size:var(--type-small)}
.portal .portal-tree-destination a{background:var(--color-secondary-soft);border-color:var(--color-field-border)}
.portal .portal-job-scene,.portal .portal-tree-destination .portal-job-scene{background:linear-gradient(var(--color-surface),var(--color-secondary-soft));border-bottom-color:var(--color-border)}
.portal .portal-tree-destination .portal-job-stage,.portal .portal-path-number{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-border)}
.portal .portal-wiki-hero{background:var(--color-secondary-soft);padding:var(--space-8)}
.portal .portal-wiki-skill h3{font-size:var(--type-h3)}

/* Service accordions and map dialogs use the same surface/action vocabulary. */
.portal .portal-service>summary,.portal .portal-service[open]>summary{background:var(--color-surface);color:var(--color-text);padding-block:var(--space-6)}
.portal .portal-service>summary:hover{background:var(--color-secondary-soft)}
.portal .portal-service-title strong{font-size:var(--type-h3)}
.portal .portal-service-title small{font-size:var(--type-body);color:var(--color-text-muted)}
.portal :is(.portal-service-toggle,.portal-service-location-action){background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-border)}
.portal :is(.portal-service-location,.portal-service-locations button,.portal-map-dialog,.portal-map-dialog-close,.portal-map-dialog-card){background:var(--color-surface);color:var(--color-text);border-color:var(--color-field-border);border-radius:var(--radius-sm)}
.portal .portal-map-dialog{border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog)}
.portal .portal-map-dialog::backdrop{background:var(--color-overlay)}
.portal .portal-service-location:hover{background:var(--color-secondary-soft);color:var(--color-primary)}
.portal .portal-destination-caption{background:#fffdf8eb;color:var(--color-text-muted)}
.portal .portal-help-banner{background:var(--color-secondary-soft);border-color:var(--color-border);border-radius:var(--radius-lg)}
.portal .portal-help-banner :is(h2,.portal-eyebrow){color:var(--color-primary)}
.portal .portal-institution-art{border-color:var(--color-border)}

/* Account pages preserve real forms, with a deliberate panel/art balance. */
.portal main.faixa-estreita:has(.cartao){background:transparent;border:0;padding-inline:0;max-width:1040px;box-shadow:none}
.portal .cartao-centro.portal-account-layout{gap:var(--space-8);padding-block:var(--space-4) var(--space-8)}
.portal .cartao-centro.portal-account-layout:not(:has(.portal-account-art)){display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);max-width:1040px}
.portal .portal-account-layout:not(:has(.portal-account-art))::after{content:"";min-height:480px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(0deg,#f8f3eaf2,#f8f3ea26),url('/tema/arte/identidade/hero-desktop-8513facfb87b-1280.webp') 70% center/cover}
.portal :is(.cartao,.cartao-largo,.portal-account-layout .cartao){padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.portal .cartao-intro{font-size:var(--type-body);margin:var(--space-3) 0 var(--space-6);line-height:var(--leading-body)}
.portal .portal-account-art{background:linear-gradient(0deg,#f8f3eaf2,#f8f3ea80),url('/tema/arte/identidade/hero-desktop-8513facfb87b-1280.webp') 70% center/cover;border-color:var(--color-border);border-radius:var(--radius-lg)}
.portal .portal-account-art h2{color:var(--color-text)}
.portal .portal-account-art p{color:var(--color-text-muted)}
.portal .painel-grade{gap:var(--space-6)}
.portal .bloco{padding:var(--space-6)}
.portal .regra-numero{color:var(--color-primary)}

/* Every footer has the same readable navigation and warm ending. */
.portal .rodape{background:var(--color-bg);border-top:1px solid var(--color-gold-line);margin-top:var(--space-8);padding-block:var(--space-12)}
.portal .rodape-dentro{gap:var(--space-12)}
.portal .rodape :is(.aviso,.rodape-colunas a){color:var(--color-text-muted);font-size:var(--type-small);line-height:var(--leading-body)}
.portal .rodape-colunas a{min-height:40px}
.portal .rodape-colunas a:hover{color:var(--color-primary)}
.portal .rodape-colunas .rotulo-fino{color:var(--color-primary)}

/* Visual player: consistent buttons, blue progress and readable error states. */
.portal .evolucao-controls button{width:44px;height:44px;flex-basis:44px;background:var(--color-surface);color:var(--color-primary);border-color:var(--color-field-border);border-radius:var(--radius-sm)}
.portal .evolucao-controls button:hover{background:var(--color-secondary-soft)}
.portal .evolucao-controls input[type=range]{appearance:none;min-height:44px;height:44px;padding:0;border:0;background:transparent;accent-color:var(--color-primary);cursor:pointer}
.portal .evolucao-controls input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--radius-pill);background:var(--color-field-border)}
.portal .evolucao-controls input[type=range]::-moz-range-track{height:6px;border-radius:var(--radius-pill);background:var(--color-field-border)}
.portal .evolucao-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-6px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary)}
.portal .evolucao-controls input[type=range]::-moz-range-thumb{width:14px;height:14px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary)}
.portal .evolucao-controls [data-visual-time]{color:var(--color-text-muted)}
.portal .evolucao-error{color:var(--color-danger);background:var(--color-danger-soft);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-4)}
.portal .evolucao-error button{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-field-border);border-radius:var(--radius-sm);min-height:44px;padding:var(--space-2) var(--space-4)}
.portal .evolucao-player video,.portal .evolucao-player:fullscreen{background:var(--color-secondary-soft);border-color:var(--color-border)}
.portal .evolucao-list a,.portal .evolucao-item{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}

/* The deployed skill-tree script requires an SVG outside document flow.
   Keeping it absolute prevents resize feedback from growing the entire page. */
.portal .portal-skill-group-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:36px}
.portal .portal-skill-tree-help{color:var(--color-text-muted);font-size:14px;margin-block:12px 20px}
.portal .portal-skill-tree{position:relative;overflow-x:auto;overflow-y:hidden;padding:24px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);isolation:isolate;max-width:100%}
.portal .portal-skill-tree-lines{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:visible}
/* Each prerequisite depth owns its grid: the script assigns row 1 inside it.
   Flattening ranks puts every depth in the same row and overlaps skill cards. */
.portal .portal-skill-tree>.portal-wiki-skills{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(100px,auto);gap:60px;min-width:calc(var(--skill-grid-columns,var(--skill-row-max,3))*168px - 28px);padding:0;margin:0}
.portal .portal-skill-rank{display:grid;grid-template-columns:repeat(var(--skill-grid-columns,var(--skill-row-max,3)),minmax(140px,1fr));column-gap:28px;align-items:start}
.portal .portal-skill-tree .portal-wiki-skill{padding:0;margin:0;border:0;background:none;align-self:start;min-width:0}
.portal .portal-skill-node{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;text-align:center;width:100%;min-height:100px;padding:14px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-field-border);border-radius:8px;cursor:pointer;font:500 14px/1.4 var(--corpo)}
.portal .portal-skill-node:hover,.portal .portal-skill-node[aria-expanded=true]{background:var(--color-secondary);border-color:var(--color-primary)}
.portal .portal-skill-node-title{font-weight:600}
.portal .portal-skill-node-body{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.portal .portal-skill-node-body small{color:var(--color-text-muted);font-size:var(--type-caption)}
.portal .portal-skill-icon-fallback{color:var(--color-primary);font-size:24px;line-height:1}
.portal .portal-skill-link{fill:none;stroke:#799bb8;stroke-width:2}
.portal .portal-skill-link-halo{fill:none;stroke:var(--color-surface);stroke-width:6}
.portal .portal-skill-link-origin{fill:#799bb8}
.portal .portal-skill-link-group.is-active .portal-skill-link{stroke:var(--color-primary)}
.portal .portal-skill-detail-deck{width:min(760px,calc(100vw - 32px));max-height:85dvh;overflow:auto;background:var(--color-surface);color:var(--color-text);border:1px solid #345d7680;border-radius:12px;padding:28px;box-shadow:var(--shadow-dialog);color-scheme:light;--acento:var(--color-primary);--acento-claro:var(--color-primary-hover)}
.portal .portal-skill-detail-deck::backdrop{background:var(--color-overlay)}
.portal .portal-skill-inspector[hidden]{display:none!important}
.portal .portal-skill-inspector>header{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;gap:16px;align-items:start;border-bottom:1px solid var(--color-border);padding-bottom:20px;margin-bottom:20px}
.portal .portal-skill-inspector h3{font-size:var(--type-h2);margin-block:6px}
.portal .portal-skill-inspector h4{margin-block:22px 12px;font-size:16px}
.portal main .portal-skill-inspector :is(h3,h4){color:var(--color-text)}
.portal main .portal-skill-inspector .portal-skill-icon-fallback{color:var(--color-primary)}
.portal main .portal-skill-inspector a{color:var(--color-primary)}
.portal main .portal-skill-inspector a:hover{color:var(--color-primary-hover)}
.portal .portal-skill-inspector :is(p,small,li){color:var(--color-text-muted);font-size:14px;line-height:1.7}
.portal .portal-skill-icon-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.portal .portal-skill-level{font-size:12px;color:var(--color-primary)}
.portal .portal-skill-detail-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-field-border);background:var(--color-secondary);color:var(--color-text);font-size:24px;cursor:pointer}
.portal .portal-skill-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px}
.portal .portal-skill-inspector ul{padding-left:20px;margin-block:12px}
.portal .portal-skill-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portal .portal-skill-values dt{color:var(--color-text-muted);font-size:12px}.portal .portal-skill-values dd{margin-top:4px;font-size:14px}

/* Illustrated journey scenes retain their images, with warm overlays and
   blue selection states instead of a separate dark-and-gold interface. */
.portal .jornada-page{--journey-gold:var(--color-primary);--journey-ink:var(--color-text);--journey-muted:var(--color-text-muted);--journey-line:var(--color-border);background:transparent}
.portal :is(.jornada-intro,.jornada-spotlight-scene){background:var(--color-bg);color:var(--color-text)}
.portal .jornada-intro::before,.portal .jornada-spotlight-scene::before{background:linear-gradient(90deg,var(--color-bg) 0%,#f5f0e6ed 30%,#f5f0e600 75%),linear-gradient(0deg,var(--color-bg),transparent 28%)}
.portal :is(.jornada-intro,.jornada-spotlight,.jornada-closing) .jornada-eyebrow,.portal :is(.jornada-intro-copy,.jornada-spotlight-copy)>p{color:var(--color-text-muted)}
.portal :is(.jornada-intro,.jornada-spotlight,.jornada-closing) em,.portal .jornada-back,.portal .jornada-text-link,.portal .jornada-intro-note,.portal .jornada-spotlight-note{color:var(--color-primary)}
.portal .jornada-text-link{text-decoration-color:var(--color-field-border)}
.portal .jornada-final-teaser{background:#fffcf6eb;color:var(--color-text);border-color:#b3c5cf;box-shadow:none}
.portal .jornada-final-teaser:hover{background:var(--color-secondary);border-color:var(--color-field-border)}
.portal .jornada-final-teaser :is(small,strong,span span),.portal .jornada-final-teaser>span:last-child{color:var(--color-primary)}
.portal .jornada-art-note{background:#fffcf6eb;color:var(--color-text-muted)}
.portal .jornada-hero-link{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-field-border)}
.portal .jornada-hero-link:hover{background:var(--color-secondary)}
.portal .jornada-closing{background:var(--color-secondary);color:var(--color-text)}.portal .jornada-closing>p{color:var(--color-text-muted)}
.portal .jornada-day>a,.portal .jornada-panels,.portal .jornada-box-contents,.portal .jornada-reward-finale>.jornada-wardrobe,.portal .jornada-wardrobe-grid>li{background:var(--color-surface)}
.portal .jornada-day>a[aria-selected=true],.portal .jornada-finale>a[aria-selected=true]{background:var(--color-secondary);color:var(--color-text);border-color:var(--color-primary);box-shadow:none}
.portal .jornada-day>a[aria-selected=true] .jornada-day-state{color:var(--color-text-muted)}
.portal .jornada-day.is-claimed>a[aria-selected=true] .jornada-day-state{color:var(--color-success)}
.portal .jornada-reward-visual,.portal .jornada-reward-finale .jornada-reward-visual,.portal .jornada-command,.portal .jornada-login-note,.portal .jornada-wardrobe-help{background:var(--color-secondary-soft);color:var(--color-primary)}
.portal .jornada-wardrobe-tools button[aria-pressed=true]{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-primary)}
.portal .jornada-character-picker a[aria-current=true]{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-primary)}
.portal :is(.pwro-guard-heading,.pwro-guard-crest){background:var(--color-secondary);color:var(--color-primary)}
.portal .pwro-guard-heading :is(h2,p,.portal-eyebrow){color:var(--color-primary)}

/* Internal pages share the homepage's continuous paper. Surfaces belong to
   useful content groups, never to an extra rectangle around the whole page. */
.portal main.faixa-estreita :is(.portal-page-heading,.cabeca-pagina){position:relative;padding-block:var(--space-6) var(--space-8);margin-bottom:var(--space-8);border-bottom-color:var(--color-gold-line)}
.portal main.faixa-estreita :is(.portal-page-heading,.cabeca-pagina)::after{content:"";display:block;position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);width:70px;height:18px;background:var(--color-bg) url('/tema/arte/home-revisada/filigree-c0de2519ed28.svg') center/contain no-repeat;opacity:.8;pointer-events:none}
.portal main.faixa-estreita :is(.portal-page-heading,.cabeca-pagina) h1{font-size:var(--type-h1);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);max-width:28ch}
.portal .portal-heading-compact h1{max-width:none}
.portal main.faixa-estreita :is(section,article,aside,form,fieldset,details,nav){min-width:0}
.portal :is(.portal-path-intro,.portal-results-toolbar,.portal-entity-heading,.portal-branch-heading){gap:var(--space-4);margin-block:var(--space-8) var(--space-4)}
.portal :is(.portal-result-count,.portal-secondary,.portal-path-intro p,.portal-stage-badge,.portal-job-original,.portal-branch-heading small){color:var(--color-text-muted);font-size:var(--type-small);line-height:var(--leading-body)}
.portal :is(.portal-card,.portal-family,.portal-box,.portal-service,.portal-result,.portal-entity-card,.portal-evolution-branch,.portal-disclosure,.regra){box-shadow:var(--shadow-sm)}
.portal :is(.portal-card,.portal-family,.portal-result,.portal-entity-card):focus-within{border-color:var(--color-primary)}
.portal :is(.portal-card,.portal-family,.portal-entity-card):hover{border-color:var(--color-field-border)}
.portal :is(.portal-filters,.portal-toc){box-shadow:none}

/* Database: landing tiles, lists, filters, detail facts and local scrolling. */
.portal .portal-atlas-entry{background:var(--color-surface);padding:var(--space-6);gap:var(--space-3);min-height:208px;grid-template-columns:72px minmax(0,1fr)}
.portal .portal-atlas-entry :is(h3,.portal-atlas-action){color:var(--color-primary)}
.portal .portal-atlas-entry p{font-size:var(--type-body);color:var(--color-text-muted)}
.portal .portal-atlas-mark{width:72px;height:72px;background:none;border:0;border-radius:0;box-shadow:none}
.portal .portal-atlas-mark img{display:block;width:72px;height:72px;object-fit:contain}
.portal .portal-query-filters>.portal-filter-advanced{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4)}
.portal .portal-filter-advanced>summary{color:var(--color-primary);font-weight:500;min-height:44px;cursor:pointer}
.portal .portal-filter-advanced fieldset{margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-secondary-soft)}
.portal .portal-filter-advanced legend{font:600 var(--type-small)/1.5 var(--font-body);color:var(--color-text);padding-inline:var(--space-2)}
.portal .portal-active-filters a{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--color-primary);background:var(--color-secondary-soft);font-size:var(--type-small)}
.portal :is(.portal-item-summary,.portal-mob-summary,.portal-map-layout){gap:var(--space-6)}
.portal .portal-item-title h2{font-size:var(--type-h3)}
.portal .portal-facts{gap:var(--space-4);margin-block:var(--space-6)}
.portal .portal-facts>div{background:var(--color-secondary-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4)}
.portal .portal-facts dd{margin:var(--space-2) 0 0;color:var(--color-text);font-weight:500}
.portal :is(.portal-entity-card,.portal-map-location-list .portal-service-location){background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-md);color:var(--color-text)}
.portal .portal-entity-card:hover{background:var(--color-surface-hover);color:var(--color-primary)}
.portal .portal-entity-copy strong{font:600 var(--type-h4)/1.4 var(--font-display);color:var(--color-text)}
.portal .portal-entity-copy small{font-size:var(--type-small);color:var(--color-text-muted)}
.portal :is(.portal-monster-preview,.portal-map-preview,.portal-entity-media){background:linear-gradient(var(--color-surface),var(--color-secondary-soft));border-color:var(--color-border);color:var(--color-text-muted)}
.portal :is(.portal-map-count,.portal-animation-toggle){color:var(--color-primary);border-color:var(--color-field-border);font-size:var(--type-small);border-radius:var(--radius-sm);background:var(--color-surface)}
.portal .portal-animation-toggle{min-height:44px;padding:var(--space-2) var(--space-4)}
.portal .portal-animation-toggle:hover{background:var(--color-secondary-soft)}
.portal .portal-table caption{padding:var(--space-4);font-size:var(--type-small);color:var(--color-text-muted);text-align:left;background:var(--color-surface)}
.portal .portal-table tbody th{background:var(--color-secondary-soft);color:var(--color-text);font:600 var(--type-small)/1.5 var(--font-body)}
.portal .portal-place{background:var(--color-secondary);color:var(--color-primary);border:1px solid var(--color-border);box-shadow:none;font-weight:600}
.portal :is(.portal-table-wrap,.portal-skill-tree){overscroll-behavior-inline:contain;scrollbar-color:var(--color-field-border) var(--color-secondary-soft)}

/* Classes: one treatment for all families, native stages and variants. */
.portal .portal-job-stage{background:var(--color-secondary-soft);color:var(--color-primary);border-radius:var(--radius-sm);font:600 var(--type-caption)/1.5 var(--font-body)}
.portal .portal-job-action{color:var(--color-primary);font-size:var(--type-small);min-height:44px;display:flex;align-items:center;justify-content:space-between;border-color:var(--color-border)}
.portal .portal-path-number{font:600 var(--type-h3)/1.3 var(--font-display);border-radius:var(--radius-sm)}
.portal .portal-branch-heading .portal-stage-badge{color:var(--color-primary);background:var(--color-secondary-soft);font-size:var(--type-caption)}
.portal .portal-tree-destination a{background:var(--color-surface);border-color:var(--color-field-border)}
.portal .portal-tree-destination .portal-job-scene{background:linear-gradient(var(--color-surface),var(--color-secondary));border-color:var(--color-border)}
.portal .portal-wiki-stats strong{font:600 var(--type-h2)/1.3 var(--font-display);color:var(--color-primary)}
.portal .portal-wiki-source{padding-top:var(--space-6);font-size:var(--type-small);color:var(--color-text-muted)}

/* Editorial, help, legal and server pages use the same readable hierarchy. */
.portal :is(.texto-noticia,.portal-prose,.texto){font-size:var(--type-body);line-height:1.8;max-width:70ch;color:var(--color-text-muted)}
.portal .texto-noticia p{font-size:var(--type-body);line-height:1.8;color:var(--color-text-muted)}
.portal :is(.texto-noticia,.portal-prose,.texto) :is(h2,h3,h4){color:var(--color-text);font-family:var(--font-display)}
.portal :is(.migalha,.regra-pena){font:500 var(--type-small)/1.6 var(--font-body);text-transform:none;letter-spacing:0}
.portal .cabeca-noticia h1{font-size:var(--type-h1)}
.portal .cabeca-noticia .chamada{font-size:var(--type-body-large);line-height:var(--leading-body)}
.portal .portal-institution-art{border:0;background:transparent;box-shadow:none;overflow:hidden}
.portal .portal-institution-art img{mask-image:linear-gradient(180deg,transparent,#000 12%,#000 82%,transparent);opacity:.9}
.portal .portal-institution-art figcaption{background:transparent;font-size:var(--type-caption);color:var(--color-text-muted);padding:var(--space-2) 0}
.portal :is(.regra,.aviso-forte){border-radius:var(--radius-md);background:var(--color-surface);border-color:var(--color-border);padding:var(--space-6)}
.portal .regras{gap:var(--space-4)}
.portal .regra-curto{font-size:var(--type-body);line-height:var(--leading-body)}
.portal .conf{background:var(--color-surface);border-color:var(--color-border)}
.portal .conf th{font-size:var(--type-body)}
.portal .conf .nota-conf{font-size:var(--type-small);color:var(--color-text-muted)}
.portal .portal-help-banner{background:var(--color-secondary-soft);background-image:none;color:var(--color-text);box-shadow:var(--shadow-sm)}
.portal main.faixa-estreita>details:not([class]){padding:var(--space-4) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-block:var(--space-6)}
.portal main.faixa-estreita>details:not([class])>summary{min-height:44px;color:var(--color-primary);font-weight:500;cursor:pointer}
.portal :is(.portal-service-toggle,.portal-map-dialog-close){width:44px;height:44px;min-width:44px;min-height:44px}
.portal .portal-map-dialog-card{padding:var(--space-6);border:0;border-radius:var(--radius-lg)}
.portal .portal-map-dialog-help{font-size:var(--type-small);line-height:var(--leading-body);color:var(--color-text-muted)}

/* Player account: data, tabs, inventory, security forms and legacy responses. */
.portal :is(.painel-cabeca,.cartao-cabeca) h1{font-size:var(--type-h1)}
.portal :is(.aba-rotulos label,.seletor-personagem label,.abas a){font:500 var(--type-small)/1.5 var(--font-body);text-transform:none;letter-spacing:0;min-height:44px;border-radius:var(--radius-sm)}
.portal .aba-rotulos{gap:var(--space-2);padding-bottom:var(--space-2);margin-bottom:var(--space-6)}
.portal .aba-rotulos label{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);color:var(--color-primary)}
.portal #painel-aba-conta:checked~.aba-rotulos label[for=painel-aba-conta],.portal #painel-aba-personagens:checked~.aba-rotulos label[for=painel-aba-personagens],.portal #painel-aba-itens:checked~.aba-rotulos label[for=painel-aba-itens]{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-primary);font-weight:600}
.portal :is(.conta-dado dt,.item-meta,.personagem-zeny,.itens-escolha,.acordeao-resumo){font:400 var(--type-small)/1.6 var(--font-body);color:var(--color-text-muted);letter-spacing:0;text-transform:none}
.portal :is(.personagem-selo,.item-selo,.acordeao-seta){clip-path:none;border-radius:var(--radius-sm);background:var(--color-secondary-soft);color:var(--color-primary);border-color:var(--color-border)}
.portal .acordeao-seta{width:36px;height:36px}
.portal .personagem{grid-template-columns:44px minmax(0,1fr) auto auto}
.portal .item{gap:var(--space-4)}
.portal .item-nome{font-family:var(--font-body);font-weight:600}
.portal .item-situacao{color:var(--color-primary);background:var(--color-secondary-soft);border-radius:var(--radius-sm);font-size:var(--type-caption)}
.portal .itens-pilulas>label{font:500 var(--type-small)/1.5 var(--font-body);letter-spacing:0;text-transform:none;min-height:44px;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}
.portal .itens-pilulas>label span{font-size:var(--type-caption);border-radius:var(--radius-sm)}
.portal .grupo-de-itens{font:600 var(--type-caption)/1.6 var(--font-body);letter-spacing:var(--tracking-label);color:var(--color-text-muted)}
.portal #painel-itens-equipado:checked~label[for=painel-itens-equipado],.portal #painel-itens-mochila:checked~label[for=painel-itens-mochila],.portal #painel-itens-kafra:checked~label[for=painel-itens-kafra],.portal #painel-itens-carrinho:checked~label[for=painel-itens-carrinho]{background:var(--color-secondary);color:var(--color-primary);border-color:var(--color-primary)}
.portal :is(.red,.recado-erro){border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-4);font-size:var(--type-small);line-height:var(--leading-body)}
.portal .green{color:var(--color-success);background:var(--color-secondary-soft);border-radius:var(--radius-sm);padding:var(--space-4)}
.portal .cartao-centro:not(.portal-account-layout)>.cartao{max-width:560px}

/* Journey and its account teaser use blue state changes, readable captions,
   and warm paper even for the selected final reward. */
.portal .jornada-page :is(.jornada-section-heading h2,.jornada-guide h2,.jornada-faq h2){font-size:var(--type-h2)}
.portal :is(.jornada-progress,.jornada-wardrobe-help,.jornada-command){background:var(--color-secondary-soft);border-color:var(--color-border);border-radius:var(--radius-md)}
.portal :is(.jornada-progress,.jornada-wardrobe-help) :is(p,strong,span){color:var(--color-text-muted)}
.portal .jornada-progress progress{accent-color:var(--color-primary)}
.portal .jornada-wardrobe-portraits{background:linear-gradient(var(--color-surface),var(--color-secondary-soft))}
.portal .jornada-wardrobe-tools button{min-height:44px;border-radius:var(--radius-sm);font:500 var(--type-small)/1.5 var(--font-body)}
.portal .jornada-wardrobe-card-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:-4px}
.portal .jornada-final-teaser strong{color:var(--color-text)}
.portal .jornada-hero-link{color:var(--color-primary);font-size:var(--type-small)}
.portal .jornada-page :is(.jornada-day-state,.jornada-art-note,.jornada-preview strong,.jornada-preview a>span:first-child,.jornada-reward-category,.jornada-wardrobe-portraits figcaption){font-size:var(--type-caption)}
.portal :is(.jornada-reward-seal,.jornada-wardrobe-card-copy>span,.jornada-account-banner small){font-size:var(--type-caption);color:var(--color-text-muted)}
.portal .jornada-finale>a,.portal .jornada-finale>a[aria-selected=true]{background:var(--color-secondary-soft);border-color:var(--color-field-border);color:var(--color-primary)}
.portal .jornada-finale>a[aria-selected=true]{background:var(--color-secondary);border-color:var(--color-primary)}
.portal .jornada-day.is-claimed>a .jornada-day-state{color:var(--color-success)}
.portal .jornada-day.is-available>a::before{background:var(--color-success);border-color:var(--color-surface)}

/* Same warm, illustrated ending as the homepage, with retained legal links. */
.portal .rodape{position:relative;isolation:isolate;background:transparent;border-top-color:var(--color-gold-line);padding-bottom:var(--space-20)}
.portal .rodape::after{content:"";position:absolute;inset:auto 0 0;height:160px;background:url('/tema/arte/home-revisada/footer-skyline-classic-ee6fc4a86623-1536.webp') center bottom/cover no-repeat;opacity:.35;mask-image:linear-gradient(transparent,#000 85%);pointer-events:none;z-index:-1}
.portal .rodape img.marca-selo{content:url('/tema/arte/pwro-logo-assinado-61db16b090bf.png');width:160px;height:55px;object-fit:contain}
.portal .rodape-marca{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}
.portal .rodape-marca .marca{width:160px;max-width:100%;margin:0}
.portal .rodape-assinatura{display:block;width:129px;max-width:100%;height:auto;object-fit:contain}
.portal .rodape .rotulo-fino{font:600 var(--type-small)/1.5 var(--font-body);letter-spacing:0;text-transform:none}
.portal .rodape .aviso{font-size:var(--type-caption);max-width:48ch}

@media(min-width:1101px){.portal .portal-nav-group:last-child>div{left:auto;right:0}}
@media(max-width:1100px){
 .portal .topo-dentro{gap:var(--space-3);padding-block:var(--space-2)}
 .portal .menu{background:var(--color-surface);border-color:var(--color-border)}
 .portal .portal-nav-group>div{position:static;min-width:0;box-shadow:none}
 .portal .portal-article>aside{position:static}
 .portal .portal-family-copy{padding:var(--space-4)}
}
@media(max-width:767px){
 .portal .topo img.marca-selo{width:120px;height:52px}
 .portal .topo-dentro{gap:var(--space-2);padding-inline:var(--space-4);min-height:76px}
 .portal .topo::before,.portal .topo::after{opacity:.2;width:60px}
 .portal .acoes-topo{gap:var(--space-2)}
 .portal .acoes-topo>.botao{padding-inline:var(--space-4)}
 .portal .portal-menu-toggle{padding-inline:var(--space-3)}
 .portal .portal-search-link{width:36px}
 .portal main.faixa-estreita{margin-block:var(--space-6) var(--space-8);padding:0 0 var(--space-6);width:calc(100% - 2 * var(--space-4))}
 .portal main.faixa-estreita :is(.portal-page-heading,.cabeca-pagina){padding-block:var(--space-4) var(--space-6)}
 .portal .portal-map-dialog-card{padding:var(--space-4)}
 .portal .portal-family-heading{display:grid;grid-template-columns:96px minmax(0,1fr)}
 .portal .portal-family-heading .portal-family-actions{grid-column:1/-1;flex-wrap:wrap}
 .portal .portal-family-heading .portal-family-actions a{font-size:var(--type-small);padding-inline:var(--space-3)}
 .portal .portal-family-heading small{font-size:var(--type-caption)}
 .portal .portal-facts{gap:var(--space-3)}
 .portal .portal-facts>div{padding:var(--space-3)}
 .portal .personagem{grid-template-columns:44px minmax(0,1fr) auto}
 .portal .personagem-zeny{grid-column:2/-1}
 .portal .item{gap:var(--space-3)}
 .portal .portal-query-filters>.portal-filter-advanced{padding:var(--space-3)}
 .portal :is(.portal-page-heading,.cabeca-pagina){padding-block:var(--space-6);margin-bottom:var(--space-6)}
 .portal :is(.portal-page-heading>p,.cabeca-pagina .chamada){font-size:var(--type-body)}
 .portal :is(.portal-box,.portal-card-body,.portal-wiki-skill,.portal-details,.portal-disclosure,.portal-evolution-branch,.portal-filters){padding:var(--space-4)}
 .portal .portal-filters{gap:var(--space-4)}
 .portal :is(.conf,.conf tbody,.conf tr,.conf th,.conf td){display:block;width:auto}
 .portal .conf{width:100%}
 .portal .conf tr{padding:var(--space-4);border-bottom:1px solid var(--color-border)}
 .portal :is(.conf th,.conf td){padding:var(--space-1) 0;border:0;white-space:normal;overflow-wrap:anywhere}
 .portal .conf .valor-conf{width:auto;white-space:normal;font-size:var(--type-h3)}
 .portal .conf .nota-conf{padding:var(--space-2) 0 0}
 .portal .portal-family-heading{gap:var(--space-4);padding:var(--space-4);align-items:start}
 .portal .portal-family-heading img{width:100px;height:156px}
 .portal .portal-family-heading h2{font-size:var(--type-h2)}
 .portal .portal-family-heading p{font-size:var(--type-body)}
 .portal .portal-family--portrait{grid-template-columns:96px minmax(0,1fr)}
 .portal .portal-family-image{width:96px;min-height:192px}
 .portal .portal-family{min-height:192px}
 .portal .portal-wiki-hero{padding:var(--space-6)}
 .portal .cartao-centro.portal-account-layout:not(:has(.portal-account-art)){grid-template-columns:minmax(0,1fr)}
 .portal .portal-account-layout:not(:has(.portal-account-art))::after{display:none}
 .portal :is(.cartao,.cartao-largo,.portal-account-layout .cartao){padding:var(--space-6)}
 .portal .portal-skill-detail-deck{padding:var(--space-4)}
 .portal .portal-skill-detail-grid{grid-template-columns:minmax(0,1fr)}
 .portal .portal-skill-inspector>header{grid-template-columns:40px minmax(0,1fr) 44px;gap:var(--space-3)}
 .portal .jornada-intro::before,.portal .jornada-spotlight-scene::before{background:linear-gradient(180deg,var(--color-bg) 45%,#f8f3ea00 78%)}
}
@media(max-width:360px){.portal .topo img.marca-selo{width:104px}.portal .acoes-topo{gap:var(--space-1)}.portal .portal-menu-toggle{padding-inline:var(--space-2)}.portal .acoes-topo>.botao{padding-inline:var(--space-3)}}
@media(prefers-reduced-motion:reduce){.portal :is(a,button,summary,input,select,textarea){transition:none}.portal{scroll-behavior:auto}}


/* A shared, compact fair-play promise across public pages and the home. */
.portal .site-fairplay{display:block;width:100%;max-width:280px;padding:12px 0 0;border-top:1px solid var(--color-gold-line);color:var(--color-primary);text-decoration:none}
.portal .site-fairplay strong{display:block;font-size:15px;line-height:1.4;font-weight:700}
.portal .site-fairplay span{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--color-text-muted)}
.portal .site-fairplay:hover strong{text-decoration:underline;text-underline-offset:3px}
.portal .site-fairplay:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}
.portal:has(.home-reference) .footer-brand>.site-fairplay{width:100%;max-width:280px}

/* O Jogo is a direct link to its visual directory, shared by site and account pages. */
.portal .menu>.portal-nav-hub{display:flex;align-items:center;min-height:44px;padding:var(--space-3);border-radius:var(--radius-sm);font:inherit;color:var(--color-primary);text-decoration:none;white-space:nowrap}
.portal .menu>.portal-nav-hub:is(.is-active,:hover){background:var(--color-secondary-soft);color:var(--color-primary-hover)}
@media(max-width:1100px){.portal .menu>.portal-nav-hub{flex:1 1 170px}}
@media(max-width:767px){.portal .menu>.portal-nav-hub{flex-basis:100%;padding:12px;font-size:var(--type-body)}}
