* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; }
body { font-family: var(--rm-font-ui); font-size: 14px; color: var(--rm-ink); background: var(--rm-bg); -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
::focus-visible { outline: 2.5px solid var(--rm-accent); outline-offset: 2px; border-radius: 6px; }
h1:focus, .content:focus { outline: none; }
button:disabled { cursor: wait; opacity: .6; }
.icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.symbol-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip-link { position: fixed; left: 12px; top: -80px; padding: 12px 18px; border-radius: 8px; background: var(--rm-surface); z-index: 100; }
.skip-link:focus { top: 44px; }
.wallpaper { position: fixed; inset: 0; background: #a6bdcb url('../wallpaper.svg?v=6') center / cover no-repeat; z-index: -1; }
.wallpaper::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 45% at 18% 12%, rgb(255 255 255 / 35%), transparent 70%), radial-gradient(50% 40% at 85% 20%, rgb(255 214 150 / 28%), transparent 70%), radial-gradient(70% 55% at 50% 100%, rgb(20 80 120 / 30%), transparent 70%); pointer-events: none; }
html[data-theme="dark"] .wallpaper { background-color: #1a2c3f; background-blend-mode: multiply; }
html[data-theme="dark"] .wallpaper::before { background: radial-gradient(60% 45% at 18% 12%, rgb(145 197 255 / 16%), transparent 70%), radial-gradient(50% 40% at 85% 20%, rgb(255 180 120 / 10%), transparent 70%), radial-gradient(70% 55% at 50% 100%, rgb(0 0 0 / 45%), transparent 75%); }
.menubar { height: 34px; display: flex; align-items: center; gap: 28px; padding: 0 max(22px, env(safe-area-inset-left)); background: var(--rm-glass); border-bottom: 1px solid rgb(255 255 255 / 10%); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); font-size: 13px; }
.brand { display: flex; align-items: center; gap: 9px; font-weight: 650; letter-spacing: -.3px; }
.brand-domain { font-weight: 400; fill: var(--rm-muted); }
.brand-lockup { height: 28px; width: auto; display: block; }
html[data-theme="dark"] .desktop-restore > img { filter: invert(1); }
.menu-links { display: flex; gap: 22px; }
.menu-links a:hover { color: var(--rm-accent); }
.system-status { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.theme-button { display: flex; align-items: center; gap: 6px; border: 0; border-radius: 5px; background: transparent; color: inherit; padding: 5px 7px; font-size: 12px; }
.theme-button .icon { width: 16px; height: 16px; }
.desktop { position: relative; min-height: calc(100svh - 34px); padding: 40px 40px 140px; }
.win { position: absolute; width: min(680px, calc(100% - 48px)); background: var(--rm-surface); border-radius: var(--rm-radius-window); box-shadow: var(--rm-shadow); overflow: hidden; }
.win[data-window="sobre"] { left: 5%; top: 24px; }
.win[data-window="experiencia"] { left: 12%; top: 64px; }
.win[data-window="projetos"] { left: 19%; top: 104px; }
.win[data-window="contato"] { left: 26%; top: 144px; }
.win[data-window="acesso"] { left: 33%; top: 184px; }
.win-front { box-shadow: var(--rm-shadow), 0 0 0 0.5px var(--rm-accent); }
.win.maximized { position: fixed !important; left: 16px !important; right: 16px !important; top: 44px !important; bottom: 136px !important; width: auto !important; }
.win.maximized .win-content { max-height: none; height: calc(100% - 52px); }
.win-content { max-height: min(62vh, 560px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; background: var(--rm-surface); }
.win.dragging { opacity: 0.95; user-select: none; }
.win.dragging .titlebar { cursor: grabbing; }
.titlebar { height: 52px; display: flex; align-items: center; padding: 0 18px; position: relative; background: var(--rm-chrome); border-bottom: 1px solid rgb(128 140 155 / 25%); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); cursor: grab; }
.window-title { position: absolute; left: 50%; transform: translateX(-50%); font-size: 13px; font-weight: 600; }
.traffic { display: flex; align-items: center; gap: 0; margin-left: -5px; }
.traffic-button { width: 22px; height: 28px; padding: 5px; border: 0; display: grid; place-items: center; background: transparent; }
.traffic-button svg { width: 12px; height: 12px; border-radius: 50%; border: 0.5px solid rgb(0 0 0 / 28%); stroke: rgb(0 0 0 / 65%); stroke-width: 1.1; box-shadow: inset 0 1px 1px rgb(255 255 255 / 40%), 0 1px 2px rgb(0 0 0 / 15%); }
.traffic-button path { visibility: hidden; }
.traffic:hover path, .traffic-button:focus-visible path { visibility: visible; }
.close svg { background: #ff6058; }
.minimize svg { background: #febc2e; }
.zoom svg { background: #28c840; }
.panel { padding: 43px 40px 24px; }
.intro { display: grid; grid-template-columns: minmax(0, 1fr) 186px; gap: 28px; align-items: center; }
.hello { font-size: 14px; color: var(--rm-secondary); margin: 0 0 16px; }
h1 { font-size: clamp(30px, 3.2vw, 42px); font-weight: 650; letter-spacing: -.045em; line-height: 1.08; margin: 0; text-wrap: balance; }
p { line-height: 1.65; }
.intro-description { font-size: 14px; color: var(--rm-secondary); max-width: 49ch; margin: 20px 0 0; }
.intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-top: 24px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 36px; padding: 9px 14px; background: var(--rm-surface); border: 1px solid var(--rm-line); border-radius: 7px; color: var(--rm-ink); font-size: 12px; font-weight: 550; box-shadow: 0 1px 2px rgb(0 0 0 / 4%); }
.button:hover { background: var(--rm-fill); }
.button.primary { background: linear-gradient(#2f8de4, #0067c0); border-color: #005eae; color: #fff; box-shadow: inset 0 1px rgb(255 255 255 / 25%), inset 0 -1px rgb(0 0 0 / 12%), 0 1px 2px rgb(0 55 110 / 25%); }
.button.primary:hover { filter: brightness(1.06); }
html[data-theme="dark"] .button.primary { background: linear-gradient(#3d9bf0, #1f7fd4); border-color: #1a6cb4; }
.button .icon { width: 15px; height: 15px; }
.text-link { font-size: 12px; color: var(--rm-accent); font-weight: 550; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.portrait { margin: 0; align-self: start; padding-top: 4px; }
.portrait img { display: block; width: 100%; height: 210px; object-fit: cover; object-position: 50% 42%; border-radius: 10px; background: #e6e7ed; }
.portrait figcaption { font-size: 12px; font-weight: 600; margin-top: 12px; }
.portrait figcaption span { display: block; font-size: 10px; font-weight: 400; color: var(--rm-muted); margin-top: 4px; }
.expertise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; border-top: 1px solid var(--rm-line); margin-top: 32px; padding-top: 23px; }
.expertise .icon { width: 19px; height: 19px; color: var(--rm-muted); }
.expertise h2 { font-size: 12px; margin: 10px 0 6px; font-weight: 650; }
.expertise p { font-size: 11px; line-height: 1.6; color: var(--rm-secondary); margin: 0; max-width: 26ch; }
.panel-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 26px; font-size: 10px; color: var(--rm-muted); }
.panel-foot a { display: inline-flex; align-items: center; gap: 6px; color: var(--rm-secondary); }
.panel-foot a:hover { color: var(--rm-accent); }
.panel-foot .icon { width: 12px; height: 12px; }
.section-heading { margin-bottom: 28px; max-width: 54ch; }
.section-heading > p:first-child { font-size: 12px; margin: 0 0 14px; color: var(--rm-muted); }
.section-heading > p:last-child { font-size: 14px; color: var(--rm-secondary); margin: 18px 0 0; }
.experience-feature { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 24px; }
.company-mark { width: 52px; height: 52px; flex-shrink: 0; display: grid; place-items: center; background: var(--rm-fill); border: 1px solid var(--rm-line); border-radius: 10px; font-size: 13px; font-weight: 700; letter-spacing: -.5px; }
h2 { font-size: 18px; letter-spacing: -.025em; line-height: 1.3; }
.experience-feature h2 { margin: 0 0 3px; font-size: 17px; }
.experience-feature p { margin: 8px 0 0; color: var(--rm-secondary); font-size: 13px; max-width: 56ch; }
.experience-feature .company { margin: 0; font-size: 12px; }
.detail-list { margin: 0 0 24px; }
.detail-list > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; border-top: 1px solid var(--rm-line); padding: 15px 0; font-size: 12px; line-height: 1.6; }
.detail-list dt { font-weight: 600; }
.detail-list dd { margin: 0; color: var(--rm-secondary); }
/* Projetos: biblioteca com navegação lateral e cases expansíveis. */
.projects-layout { display: grid; grid-template-columns: 182px minmax(0, 1fr); align-items: start; background: var(--rm-sidebar); }
.projects-sidebar { position: sticky; top: 0; padding: 24px 12px; }
.projects-sidebar-title { margin: 0 12px 14px; color: var(--rm-muted); font-size: 11px; font-weight: 650; }
.projects-nav { display: grid; gap: 4px; }
.projects-nav a { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 9px 10px; border-radius: 7px; font-size: 12px; }
.projects-nav .icon { width: 17px; height: 17px; color: var(--rm-accent); }
.projects-nav small { margin-left: auto; color: var(--rm-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
.projects-nav a:hover, .projects-nav a[aria-current="location"] { background: var(--rm-selection); }
.projects-sidebar-note { margin: 26px 12px 0; color: var(--rm-muted); font-size: 10px; line-height: 1.6; }
.projects-panel { min-width: 0; padding: 32px 36px; background: var(--rm-surface); border-left: 1px solid var(--rm-line); }
.projects-heading { margin-bottom: 30px; }
.projects-heading h1 { font-size: clamp(28px, 3vw, 38px); }
.projects-heading > p:last-child { max-width: 54ch; margin: 14px 0 0; font-size: 13px; color: var(--rm-secondary); }
.projects-section-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin-bottom: 14px; }
.projects-section-title h2 { margin: 0; font-size: 19px; letter-spacing: -.025em; }
.projects-section-title > span { color: var(--rm-muted); font-size: 11px; }
.projects-featured, .project-group h3, #proj-todos { scroll-margin-top: 24px; }
.project-case { border-top: 1px solid var(--rm-line); }
.project-case:last-child { border-bottom: 1px solid var(--rm-line); }
.project-case summary { display: flex; align-items: center; gap: 16px; padding: 19px 4px; cursor: pointer; list-style: none; border-radius: 6px; }
.project-case summary::-webkit-details-marker { display: none; }
.project-case summary:hover { background: var(--rm-fill); }
.case-icon { display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; border: 1px solid var(--rm-line); border-radius: 12px; background: var(--rm-fill); color: var(--rm-accent); }
.case-icon .icon { width: 24px; height: 24px; }
.case-meta { display: grid; gap: 4px; min-width: 0; }
.case-meta .project-category { margin: 0; font-size: 10px; }
.case-meta strong { font-size: 16px; font-weight: 650; letter-spacing: -.02em; text-wrap: balance; }
.case-meta > span:last-child { color: var(--rm-secondary); font-size: 12px; line-height: 1.5; }
.case-toggle { margin-left: auto; color: var(--rm-muted); font-size: 24px; font-weight: 300; transition: transform 140ms ease; }
.project-case[open] .case-toggle { transform: rotate(45deg); }
.case-body { padding: 0 4px 22px; }
.case-body > p { font-size: 13px; color: var(--rm-secondary); }
.case-body .detail-list { margin: 20px 0; }
.case-body .detail-list > div { grid-template-columns: 130px minmax(0, 1fr); font-size: 12px; }
.case-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 24px 0 14px; padding: 20px 0; border-block: 1px solid var(--rm-line); }
.case-metrics > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; }
.case-metrics dt { color: var(--rm-secondary); font-size: 11px; line-height: 1.4; }
.case-metrics dd { margin: 0; font-size: 30px; font-weight: 650; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.case-body .case-footnote { font-size: 11px; margin: 0; }
.project-catalog { padding-top: 36px; }
.project-search { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border: 1px solid var(--rm-line); border-radius: 8px; background: var(--rm-fill); }
.project-search:focus-within { outline: 2px solid var(--rm-accent); outline-offset: 2px; }
.project-search > .icon { width: 17px; height: 17px; color: var(--rm-muted); }
.project-search input { width: 100%; min-width: 0; height: 44px; padding: 0; border: 0; outline: none; background: transparent; color: var(--rm-ink); font-size: 12px; }
.project-search button { padding: 0 4px; min-height: 44px; border: 0; background: none; color: var(--rm-accent); font-size: 11px; }
.project-result-count { margin: 10px 0 24px; color: var(--rm-muted); font-size: 11px; }
.project-empty { padding: 28px 0; color: var(--rm-secondary); font-size: 13px; }
.project-group { margin-bottom: 30px; }
.project-group h3 { display: flex; align-items: baseline; gap: 10px; margin: 0; font-size: 14px; font-weight: 650; }
.project-group h3 small { color: var(--rm-muted); font-size: 10px; font-weight: 400; font-variant-numeric: tabular-nums; }
.project-group .detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 26px; margin: 14px 0 0; }
.project-group .detail-list > div { display: block; padding: 16px 0 20px; }
.project-group .detail-list dt { margin-bottom: 7px; font-size: 13px; line-height: 1.5; }
.project-group .detail-list dd { font-size: 12px; line-height: 1.7; }
.projects-footer { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px 10px; padding-top: 22px; border-top: 1px solid var(--rm-line); }
.projects-footer > .icon { width: 16px; height: 16px; margin-top: 2px; color: var(--rm-muted); }
.projects-footer p { margin: 0; color: var(--rm-muted); font-size: 11px; }
.projects-footer a { grid-column: 2; min-height: 32px; display: flex; align-items: center; gap: 8px; }
@media (min-width: 761px) {
  .win[data-window="projetos"] { width: min(1040px, calc(100% - 80px)); left: 6%; top: 60px; }
  #win-projetos:not(.maximized) .win-content { max-height: min(700px, calc(100svh - 280px)); }
}
.project-category { font-size: 11px; color: var(--rm-muted); margin: 0 0 8px; }
.contact-list { border-top: 1px solid var(--rm-line); margin-top: 36px; }
.contact-list > a { display: flex; align-items: center; gap: 18px; padding: 22px 5px; border-bottom: 1px solid var(--rm-line); }
.contact-list > a:hover { background: var(--rm-fill); }
.contact-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; background: var(--rm-selection); color: var(--rm-accent); flex-shrink: 0; }
.contact-list strong { display: block; font-size: 14px; font-weight: 600; }
.contact-list strong + span { display: block; font-size: 12px; color: var(--rm-secondary); margin-top: 6px; overflow-wrap: anywhere; }
.contact-list > a > .icon { margin-left: auto; width: 16px; height: 16px; color: var(--rm-muted); }
.linkedin { font-weight: 700; font-size: 23px; }
.login-form { max-width: 340px; display: grid; gap: 12px; }
.login-form input[type="email"] { width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 7px; border: 1px solid var(--rm-line); background: var(--rm-surface); color: var(--rm-ink); font: inherit; font-size: 13px; outline: none; }
.login-form input[type="email"]:focus { border-color: var(--rm-accent); box-shadow: 0 0 0 3px var(--rm-selection); }
.login-form input[type="email"]:disabled { opacity: 0.6; }
.login-divider { display: flex; align-items: center; gap: 12px; max-width: 340px; margin: 4px 0; color: var(--rm-muted); font-size: 12px; }
.login-divider::before, .login-divider::after { content: ""; flex: 1; border-top: 1px solid var(--rm-line); }
.login-form .button { min-height: 44px; font-size: 13px; }
.login-form .button .icon { width: 18px; height: 18px; }
.form-status { font-size: 13px; color: var(--rm-secondary); max-width: 48ch; padding: 12px; background: var(--rm-fill); border-radius: 7px; }
.internal-links { display: flex; gap: 10px; flex-wrap: wrap; }
.internal-links a { padding: 12px 18px; border: 1px solid var(--rm-line); border-radius: 7px; }
.internal-links a { display: inline-flex; align-items: center; gap: 6px; }
.internal-links a .icon { width: 14px; height: 14px; }
.internal-links a:hover { background: var(--rm-selection); }
.dash-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-bottom: 20px; border-bottom: 1px solid var(--rm-line); margin-bottom: 22px; }
.dash-user { display: flex; align-items: center; gap: 12px; }
.dash-user img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--rm-fill); }
.dash-user strong { display: block; font-size: 14px; font-weight: 650; }
.dash-user span { display: block; font-size: 12px; color: var(--rm-secondary); margin-top: 3px; overflow-wrap: anywhere; }
.dash-actions { display: flex; gap: 8px; }
.dash-hint { font-size: 12px; color: var(--rm-secondary); margin: 0 0 18px; max-width: 52ch; }
.app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.app-card { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--rm-line); border-radius: 10px; background: var(--rm-surface); }
.app-card:hover { background: var(--rm-fill); border-color: var(--rm-muted); }
.app-card-icon { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 9px; background: var(--rm-selection); color: var(--rm-accent); }
.app-card-icon .icon { width: 21px; height: 21px; }
.app-card-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.app-card-body strong { font-size: 13px; font-weight: 650; }
.app-card-body span { font-size: 11px; color: var(--rm-secondary); line-height: 1.4; }
.app-status { margin-left: auto; flex-shrink: 0; font-size: 10px; font-weight: 600; padding: 3px 8px; border-radius: 999px; }
.app-status.online { color: #0a7a3d; background: rgb(10 122 61 / 12%); }
.app-status.offline { color: #b3261e; background: rgb(179 38 30 / 12%); }
.app-status.unknown { color: var(--rm-muted); background: var(--rm-fill); }
.app-group-title { margin: 20px 0 10px; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--rm-muted); }
.app-group-title:first-child { margin-top: 0; }
.app-card-icon img { width: 40px; height: 40px; object-fit: contain; border-radius: 9px; display: block; background: #fff; }
.app-card-letter { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 9px; color: #fff; font-size: 17px; font-weight: 700; }
.app-card-icon.has-logo { background: transparent; }
html[data-theme="dark"] .app-status.online { color: #4ade80; background: rgb(74 222 128 / 14%); }
html[data-theme="dark"] .app-status.offline { color: #f87171; background: rgb(248 113 113 / 14%); }
.desktop-restore { text-align: center; padding: 32px; color: var(--rm-ink); background: var(--rm-glass); border: 1px solid var(--rm-glass-line); border-radius: var(--rm-radius-pop); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); box-shadow: var(--rm-shadow); }
.desktop-restore p { font-size: 18px; font-weight: 600; }
.dock { --dock-icon-size: 56px; --dock-slot-size: 72px; position: fixed; left: 50%; bottom: max(8px, env(safe-area-inset-bottom)); transform: translateX(-50%); display: flex; align-items: flex-start; gap: 8px; padding: 12px 12px 7px; border: 1px solid var(--rm-glass-line); background: rgb(240 245 250 / 28%); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); border-radius: var(--rm-radius-dock); box-shadow: 0 1px 2px rgb(0 0 0 / 12%), 0 10px 28px -8px rgb(0 0 0 / 30%), var(--rm-highlight); z-index: 40; isolation: isolate; }
.dock::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgb(255 255 255 / 10%); pointer-events: none; }
html[data-theme="dark"] .dock { background: rgb(28 32 38 / 38%); }
.dock-app { --dock-grow: 0px; position: relative; display: grid; flex: 0 0 auto; grid-template-rows: var(--dock-icon-size) 4px; justify-items: center; align-items: start; row-gap: 5px; width: calc(var(--dock-slot-size) + var(--dock-grow)); border-radius: 14px; padding: 0; transition: width 150ms ease-out; }
.app-icon { position: relative; display: grid; place-items: center; width: var(--dock-icon-size); height: var(--dock-icon-size); flex-shrink: 0; border-radius: 25%; color: #fff; overflow: hidden; box-shadow: inset 0 1px 1px rgb(255 255 255 / 50%), inset 0 -1px 1px rgb(0 0 0 / 12%), 0 3px 5px rgb(0 0 0 / 22%); transition: transform 150ms ease-out, filter 120ms ease; transform: scale(var(--rm-mag, 1)); transform-origin: bottom center; }
.app-icon::after { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgb(255 255 255 / 22%); pointer-events: none; }
.app-icon .icon { width: 36px; height: 36px; stroke-width: 1.4; filter: drop-shadow(0 1px 1px rgb(0 0 0 / 18%)); }
.app-brand { background: transparent; }
.app-brand img { width: 100%; height: 100%; }
.app-experience { background: linear-gradient(#f6b65b, #d68a2d); }
.app-projects { background: transparent; box-shadow: none; border-radius: 0; overflow: visible; }
.app-projects::after { display: none; }
.app-projects .icon { width: 56px; height: 56px; fill: #78cafa; stroke: #b7e6ff; stroke-width: .8; filter: drop-shadow(0 2px 2px rgb(0 0 0 / 22%)); }
.app-contact { background: linear-gradient(#69e477, #20bb42); }
.app-contact .icon { fill: #fff; stroke: none; width: 40px; height: 40px; }
.app-access { background: linear-gradient(#e3e7eb, #aeb6c1); color: #4b5563; }
.dock-dot { width: 4px; height: 4px; flex-shrink: 0; border-radius: 50%; background: var(--rm-ink); opacity: 0; transition: opacity 140ms ease; }
.dock-app[data-open] .dock-dot { opacity: .8; }
.dock-label { position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translateX(-50%) translateY(4px); width: max-content; max-width: 170px; padding: 4px 10px; border-radius: 6px; background: rgb(38 42 50 / 88%); border: 1px solid rgb(255 255 255 / 14%); color: #fff; font-size: 12px; font-weight: 500; line-height: 1.4; text-align: center; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 120ms ease, transform 120ms ease; z-index: 5; }
.dock-app:hover .dock-label, .dock-app:focus-visible .dock-label { opacity: 1; transform: translateX(-50%) translateY(0); }
@media (hover: none) { .dock-label { display: none; } }
.dock-separator { width: 1px; flex-shrink: 0; height: var(--dock-icon-size); margin: 0 2px; background: var(--rm-ink); opacity: .2; }
.dock-app:focus-visible { outline: 3px solid var(--rm-accent); outline-offset: 4px; }
.dock-app:active .app-icon { filter: brightness(.82); }
.dock-app.dock-bounce .app-icon { animation: dock-bounce 480ms ease-out; }
/* ————— Pastas do dock (Stacks: grade em vidro sobre o dock) ————— */
.dock-folders { display: flex; align-items: flex-start; flex: 0 1 auto; gap: 8px; max-width: max(80px, calc(100vw - 488px)); overflow-x: auto; padding: 0; scrollbar-width: thin; }
.dock-folder { background: none; border: 0; color: inherit; font: inherit; }
.folder-icon { overflow: hidden; display: grid; grid-template-columns: 16px 16px; grid-auto-rows: 16px; gap: 4px; place-content: center; background: var(--rm-glass); border: 1px solid var(--rm-glass-line); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); }
.folder-icon img, .folder-icon i { width: 16px; height: 16px; border-radius: 4px; object-fit: contain; display: block; background: #fff; }
.folder-icon i { display: grid; place-items: center; font-style: normal; font-size: 9px; font-weight: 700; color: #fff; }
.dock-popup { position: absolute; left: 50%; bottom: calc(100% + 12px); transform: translateX(-50%) scale(.97); transform-origin: bottom center; min-width: min(430px, calc(100vw - 32px)); max-height: min(46vh, 380px); overflow-y: auto; background: rgb(248 250 252 / 92%); border: 1px solid var(--rm-line); border-radius: 18px; backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); box-shadow: var(--rm-shadow); padding: 14px; opacity: 0; pointer-events: none; transition: opacity 140ms ease, transform 140ms var(--rm-spring); z-index: 6; }
html[data-theme="dark"] .dock-popup { background: rgb(30 30 30 / 92%); }
.dock-popup.open { opacity: 1; pointer-events: auto; transform: translateX(-50%) scale(1); }
.dock-popup h2 { margin: 2px 4px 10px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--rm-muted); }
.dock-popup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 4px; }
.dock-popup-item { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 10px; text-align: left; }
.dock-popup-item:hover { background: var(--rm-selection); }
.dock-popup-item b { width: 32px; height: 32px; flex-shrink: 0; border-radius: 8px; display: grid; place-items: center; overflow: hidden; color: #fff; font-size: 14px; font-weight: 700; }
.dock-popup-item b img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.dock-popup-item strong { display: block; font-size: 12px; font-weight: 600; }
.dock-popup-item span { display: block; font-size: 10px; color: var(--rm-muted); margin-top: 2px; overflow-wrap: anywhere; }
@keyframes dock-bounce { 0%, 100% { translate: 0 0; } 40% { translate: 0 -14px; } 70% { translate: 0 -3px; } }
.spotlight { position: fixed; inset: 0; z-index: 50; display: flex; justify-content: center; padding: 18vh 16px 16px; background: rgb(10 15 22 / 25%); }
.spot-box { width: min(640px, 100%); height: fit-content; background: var(--rm-glass); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); border: 1px solid var(--rm-glass-line); border-radius: 12px; box-shadow: var(--rm-shadow); padding: 12px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; color: var(--rm-ink); }
.spot-box > .icon { color: var(--rm-muted); }
#spot-input { background: transparent; border: 0; outline: none; color: inherit; font: inherit; font-size: 17px; min-width: 0; }
.spot-list { grid-column: 1 / -1; display: grid; gap: 2px; max-height: 40vh; overflow: auto; }
.spot-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; color: inherit; text-align: left; }
.spot-item strong { font-size: 13px; font-weight: 550; }
.spot-item span { font-size: 11px; color: var(--rm-muted); }
.spot-item:hover, .spot-item:focus-visible { background: var(--rm-selection); outline: none; }
.spot-empty { font-size: 13px; color: var(--rm-muted); padding: 12px; margin: 0; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .win.opening { animation: win-in 180ms var(--rm-spring); }
  .win.minimizing { transition: transform 200ms ease-in, opacity 200ms ease-in; transform: translateY(40vh) scale(0.2); opacity: 0; }
}
@keyframes win-in { from { transform: scale(0.96); opacity: 0; } }
/* ————— Dashboard widgets (estilo WidgetKit macOS 27) ————— */
.dash-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 22px; }
.widget { padding: 14px 14px 12px; border: 1px solid var(--rm-line); border-radius: 14px; background: var(--rm-fill); box-shadow: inset 0 1px 0 rgb(255 255 255 / 40%); min-width: 0; }
html[data-theme="dark"] .widget { box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%); }
.widget-kicker { margin: 0 0 8px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rm-muted); }
.widget-clock { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.widget-big { margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.widget-sub { margin: 6px 0 0; font-size: 11px; color: var(--rm-secondary); line-height: 1.5; overflow-wrap: anywhere; }
.widget-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; font-size: 10px; text-align: center; }
.widget-cal span { padding: 3px 0; border-radius: 6px; color: var(--rm-secondary); font-variant-numeric: tabular-nums; }
.widget-cal span.wd { font-weight: 700; color: var(--rm-muted); font-size: 9px; }
.widget-cal span.today { background: var(--rm-accent); color: #fff; font-weight: 700; }
.widget-cal span.blank { visibility: hidden; }
/* ————— Widgets da mesa (atrás das janelas, como no macOS) ————— */
.desk-widgets { position: absolute; top: 24px; right: 40px; width: 208px; display: flex; flex-direction: column; gap: 12px; z-index: 1; }
.desk-widget { padding: 14px 14px 12px; border-radius: 18px; background: var(--rm-glass); border: 1px solid var(--rm-glass-line); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); box-shadow: var(--rm-dock-shadow); }
@media (min-width: 1500px) { .panel { padding: 50px 46px 30px; } .intro { grid-template-columns: minmax(0, 1fr) 210px; gap: 40px; } .portrait img { height: 237px; } .expertise { margin-top: 44px; } }
@media (max-width: 1050px) {
  .desktop { padding-inline: 25px; }
  .desk-widgets { right: 25px; width: 190px; }
  .win { width: min(620px, calc(100% - 40px)); }
  .panel { padding: 30px 27px 24px; }
  .intro { grid-template-columns: minmax(0, 1fr) 140px; gap: 22px; }
  .portrait img { height: 170px; }
  .intro-actions { gap: 13px; }
  h1 { font-size: 32px; }
}
@media (max-width: 760px) {
  .menubar { height: 44px; padding-inline: max(16px, env(safe-area-inset-left)); gap: 12px; }
  .menu-links, #clock { display: none; }
  .theme-button { min-height: 36px; }
  .desktop { display: block; min-height: calc(100svh - 44px); padding: 22px 14px 130px; }
  body:has(.dock-folders:not([hidden])) .desktop { padding-bottom: 270px; }
  .desk-widgets { position: static; width: auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: 14px; }
  .win, .win.maximized { position: static; width: 100%; margin-bottom: 14px; }
  .win.maximized { position: static !important; width: 100% !important; }
  .win.maximized .win-content { height: auto; }
  .titlebar { padding: 0 13px; cursor: default; }
  .traffic-button { width: 24px; height: 34px; }
  .win-content { max-height: none; overflow: visible; }
  .panel { padding: 29px 24px 25px; }
  .intro { grid-template-columns: minmax(0, 1fr) 106px; gap: 16px; align-items: start; }
  .hello { font-size: 12px; margin-bottom: 12px; }
  h1 { font-size: 31px; }
  .intro-copy { display: contents; }
  .intro-copy .hello { grid-column: 1; margin: 4px 0 0; }
  .intro-copy h1 { grid-column: 1; grid-row: 2; font-size: clamp(24px, 5.2vw, 34px); }
  .portrait { grid-column: 2; grid-row: 1 / 3; padding: 0; }
  .portrait img { height: 125px; border-radius: 8px; }
  .portrait figcaption { font-size: 10px; margin-top: 8px; }
  .portrait figcaption span { font-size: 9px; line-height: 1.4; }
  .intro-description { grid-column: 1 / -1; margin: 7px 0 0; font-size: 14px; }
  .intro-actions { grid-column: 1 / -1; margin-top: 4px; gap: 18px; }
  .button { min-height: 42px; }
  .text-link { display: inline-flex; align-items: center; min-height: 40px; }
  .expertise { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 28px; }
  .expertise > div { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; }
  .expertise h2 { font-size: 12px; line-height: 1.4; margin: 0 0 5px; }
  .expertise p { grid-column: 2; max-width: none; font-size: 12px; }
  .panel-foot { flex-direction: column; align-items: flex-start; gap: 8px; }
  .panel-foot a { min-height: 32px; }
  .dock { --dock-icon-size: 46px; --dock-slot-size: clamp(46px, calc((100vw - 62px) / 5), 62px); bottom: max(10px, env(safe-area-inset-bottom)); gap: 4px; padding: 10px 10px 6px; border-radius: 20px; }
  .dock-app { transition: none; }
  .app-icon .icon { width: 30px; height: 30px; }
  .app-projects .icon { width: 46px; height: 46px; }
  .app-contact .icon { width: 34px; height: 34px; }
  .dock-label { font-size: 10px; }
  .dock-folders { position: absolute; bottom: calc(100% + 10px); left: 0; width: 100%; max-width: 100%; padding: 10px; border-radius: 18px; background: var(--rm-chrome); border: 1px solid var(--rm-glass-line); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); box-shadow: var(--rm-dock-shadow); }
  .dock:has(.dock-folders:not([hidden])) .dock-popup { bottom: calc(100% + 132px); }
  #win-projetos { overflow: clip; }
  .projects-layout { display: block; }
  .projects-sidebar { position: sticky; top: 0; z-index: 2; padding: 8px; background: var(--rm-chrome); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); border-bottom: 1px solid var(--rm-line); }
  .projects-sidebar-title, .projects-sidebar-note { display: none; }
  .projects-nav { display: flex; overflow-x: auto; scrollbar-width: thin; gap: 4px; }
  .projects-nav a { flex-shrink: 0; min-height: 44px; padding-inline: 10px; }
  .projects-panel { padding: 26px 20px 30px; border-left: 0; }
  .projects-heading { margin-bottom: 26px; }
  .projects-heading h1 { font-size: 32px; }
  .projects-section-title { align-items: flex-start; flex-direction: column; gap: 5px; }
  .project-case summary { gap: 12px; padding: 18px 0; }
  .case-icon { width: 38px; height: 38px; border-radius: 10px; }
  .case-meta strong { font-size: 15px; }
  .case-meta > span:last-child { font-size: 11px; }
  .case-body .detail-list > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .case-metrics { gap: 12px; }
  .case-metrics dd { font-size: 26px; }
  .project-group .detail-list { grid-template-columns: minmax(0, 1fr); }
  .project-search input { font-size: 16px; }
  .projects-featured, .project-group h3, #proj-todos { scroll-margin-top: 80px; }
  .detail-list > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .section-heading { margin-bottom: 26px; }
  .field { font-size: 16px; }
  .desktop-restore { max-width: 290px; }
}
@media (max-width: 370px) {
  .panel { padding-inline: 18px; }
  .intro { grid-template-columns: minmax(0, 1fr) 88px; gap: 12px; }
  .portrait img { height: 108px; }
  .dock { --dock-icon-size: 42px; }
  .app-projects .icon { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) { .app-icon, .dock-app, .dock-label { transition: none; } .dock-app.dock-bounce .app-icon { animation: none; } }
.desktop-restore { position: absolute; inset: 12vh 0 auto 0; margin: 0 auto; width: fit-content; max-width: min(340px, calc(100% - 48px)); }
/* ————— Contato como Mensagens ————— */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.msg-panel { padding: 0; }
.msg-layout { display: grid; grid-template-columns: 232px minmax(0, 1fr); min-height: 480px; }
.msg-sidebar { border-right: 1px solid var(--rm-line); background: var(--rm-fill); display: flex; flex-direction: column; min-width: 0; }
.msg-search { display: flex; align-items: center; gap: 7px; margin: 12px 12px 8px; padding: 7px 10px; border-radius: 8px; background: var(--rm-surface); box-shadow: inset 0 0 0 0.5px var(--rm-line); color: var(--rm-muted); }
.msg-search .icon { width: 14px; height: 14px; }
#msg-search { border: 0; outline: none; background: transparent; color: var(--rm-ink); font: inherit; font-size: 13px; width: 100%; min-width: 0; }
.msg-convos { display: flex; flex-direction: column; gap: 2px; padding: 0 8px; overflow-y: auto; }
.msg-convo { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; width: 100%; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: inherit; text-align: left; }
.msg-convo:hover { background: rgb(128 140 155 / 18%); }
.msg-convo[aria-selected="true"] { background: var(--rm-selection); }
.msg-avatar { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(#9aa3af, #6b7280); color: #fff; flex-shrink: 0; }
.msg-avatar .icon { width: 21px; height: 21px; }
.msg-avatar-in { background: linear-gradient(#2f8de4, #0067c0); font-weight: 700; font-size: 19px; }
.msg-meta { min-width: 0; }
.msg-meta strong { display: block; font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msg-meta span { display: block; font-size: 12px; color: var(--rm-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.msg-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 10px; color: var(--rm-muted); }
.msg-badge { min-width: 19px; height: 19px; padding: 0 6px; border-radius: 999px; background: #0a84ff; color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; }
.msg-note { margin: auto 12px 12px; font-size: 10px; line-height: 1.5; color: var(--rm-muted); }
.msg-main { display: flex; flex-direction: column; min-width: 0; min-height: 480px; }
.msg-header { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-bottom: 1px solid var(--rm-line); }
.msg-header img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: var(--rm-fill); }
.msg-header strong { display: block; font-size: 13px; font-weight: 650; }
.msg-status { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--rm-muted); margin-top: 2px; }
.msg-status i { width: 7px; height: 7px; border-radius: 50%; background: #30d158; }
.msg-thread { list-style: none; margin: 0; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.msg-in { display: flex; gap: 8px; align-items: flex-end; }
.msg-in img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; background: var(--rm-fill); flex-shrink: 0; }
.msg-in > div { max-width: 78%; }
.msg-in p { margin: 0; padding: 10px 14px; border-radius: 18px; background: var(--rm-fill); color: var(--rm-ink); font-size: 13.5px; }
.msg-in p a { color: var(--rm-accent); font-weight: 600; }
.msg-in time, .msg-out time { display: block; font-size: 10px; color: var(--rm-muted); margin-top: 4px; padding: 0 4px; }
.msg-out { align-self: flex-end; max-width: 78%; }
.msg-out p { margin: 0; padding: 10px 14px; border-radius: 18px; background: linear-gradient(#2f8de4, #0067c0); color: #fff; font-size: 13.5px; overflow-wrap: anywhere; }
html[data-theme="dark"] .msg-out p { background: linear-gradient(#3d9bf0, #1f7fd4); }
.msg-out time { text-align: right; }
.msg-action { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 8px 0 4px; }
.msg-action span { font-size: 11px; color: var(--rm-muted); }
.msg-compose { position: sticky; bottom: 0; display: flex; gap: 8px; align-items: center; margin-top: auto; padding: 12px 18px; background: var(--rm-surface); border-top: 1px solid var(--rm-line); }
#msg-input { flex: 1; min-width: 0; min-height: 36px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--rm-line); background: var(--rm-surface); color: var(--rm-ink); font: inherit; font-size: 13px; outline: none; }
#msg-input:focus { border-color: var(--rm-accent); box-shadow: 0 0 0 3px var(--rm-selection); }
.msg-send { width: 32px; height: 32px; flex-shrink: 0; border: 0; border-radius: 50%; background: #0a84ff; color: #fff; display: grid; place-items: center; }
.msg-send .icon { width: 16px; height: 16px; }
.msg-send:disabled { opacity: 0.35; cursor: default; }
@media (max-width: 760px) {
  .msg-layout { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .msg-sidebar { border-right: 0; border-bottom: 1px solid var(--rm-line); }
  .msg-convos { flex-direction: row; overflow-x: auto; padding-bottom: 10px; }
  .msg-convo { min-width: 210px; }
  .msg-note { display: none; }
  .msg-main { min-height: 420px; }
}
/* ————— Menus da menubar (estilo macOS: Apple + app + status) ————— */
.apple-btn { display: grid; place-items: center; width: 30px; height: 26px; border: 0; border-radius: 5px; background: transparent; color: inherit; }
.apple-btn:hover, .apple-btn[aria-expanded="true"] { background: var(--rm-fill-2, rgb(128 140 155 / 25%)); }
.apple-btn .icon { width: 15px; height: 15px; fill: currentColor; stroke: none; }
.app-menus { display: none; align-items: center; gap: 2px; }
.menu-wrap { position: relative; }
.menu-trigger { border: 0; background: transparent; color: inherit; font-size: 13px; padding: 3px 9px; border-radius: 4px; white-space: nowrap; }
.menu-pop { position: fixed; min-width: 240px; padding: 5px; margin: 0; list-style: none; background: var(--rm-glass); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); border: 1px solid var(--rm-glass-line); border-radius: 10px; box-shadow: var(--rm-shadow); z-index: 9999; }
.menu-trigger:hover, .menu-trigger[aria-expanded="true"] { background: var(--rm-fill-2, rgb(128 140 155 / 25%)); }
.menu-pop button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 5px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--rm-ink); font-size: 13px; text-align: left; }
.menu-pop button:hover { background: var(--rm-selection); }
.menu-pop button .kbd { margin-left: auto; color: var(--rm-muted); font-size: 12px; font-family: ui-monospace, monospace; }
.menu-pop .sep { height: 1px; margin: 5px 10px; background: var(--rm-line); }
.menu-layer { position: fixed; inset: 0; z-index: 9998; }
.status-ico { display: inline-flex; align-items: center; gap: 4px; color: inherit; }
.status-ico .icon { width: 16px; height: 16px; }
.status-ico small { font-size: 10px; font-variant-numeric: tabular-nums; }
.status-ico.off { opacity: .45; }
/* ————— Barra de estado do Finder (Projetos) ————— */
.finder-status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 10px; border-top: 1px solid var(--rm-line); font-size: 11px; color: var(--rm-muted); }
.dock-menu { position: fixed; z-index: 9999; min-width: 190px; padding: 5px; background: var(--rm-glass); backdrop-filter: var(--rm-glass-blur); -webkit-backdrop-filter: var(--rm-glass-blur); border: 1px solid var(--rm-glass-line); border-radius: 10px; box-shadow: var(--rm-shadow); }
.finder-view { font-variant-numeric: tabular-nums; }
/* ————— Menu de contexto do Dock ————— */
.dock-menu button { display: flex; width: 100%; padding: 6px 10px; border: 0; border-radius: 6px; background: transparent; color: var(--rm-ink); font-size: 13px; text-align: left; }
.dock-menu button:hover { background: var(--rm-selection); }
.dock-menu button:disabled { opacity: .4; }
@media (min-width: 1100px) {
  .app-menus { display: flex; }
  .menu-links { display: none; }
}
@media (max-width: 1099px) {
  .app-menus, .apple-btn, .status-ico { display: none; }
}
/* ————— Modo seguro (pós-login): paleta âmbar operacional ————— */
html[data-mode="secure"] { --rm-accent: #9a5b00; --rm-selection: rgb(154 91 0 / 18%); }
html[data-theme="dark"][data-mode="secure"] { --rm-accent: #ffb340; --rm-selection: rgb(255 179 64 / 22%); }
html[data-mode="secure"] .button.primary { background: linear-gradient(#d98a1f, #9a5b00); border-color: #7d4a00; }
html[data-theme="dark"][data-mode="secure"] .button.primary { background: linear-gradient(#e09a2e, #b26a00); border-color: #8a5200; }
html[data-mode="secure"] .menu-links { display: none; }
.secure-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; background: rgb(154 91 0 / 16%); color: var(--rm-accent); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.secure-badge .icon { width: 12px; height: 12px; }
html[data-theme="dark"] .secure-badge { background: rgb(255 179 64 / 18%); }
html[data-mode="secure"] .menu-trigger[data-menu="edit"] { display: none; }
/* ————— Wallpaper do modo seguro: mesma composição, tons âmbar ————— */
html[data-mode="secure"] .wallpaper { background: #d9b981 url('../wallpaper-secure.svg?v=1') center / cover no-repeat; }
html[data-mode="secure"] .wallpaper::before { background: radial-gradient(60% 45% at 18% 12%, rgb(255 244 220 / 40%), transparent 70%), radial-gradient(50% 40% at 85% 20%, rgb(255 179 64 / 30%), transparent 70%), radial-gradient(70% 55% at 50% 100%, rgb(110 74 30 / 35%), transparent 70%); }
html[data-theme="dark"][data-mode="secure"] .wallpaper { background-color: #241503; background-blend-mode: multiply; }
html[data-theme="dark"][data-mode="secure"] .wallpaper::before { background: radial-gradient(60% 45% at 18% 12%, rgb(255 179 64 / 18%), transparent 70%), radial-gradient(50% 40% at 85% 20%, rgb(255 150 40 / 12%), transparent 70%), radial-gradient(70% 55% at 50% 100%, rgb(0 0 0 / 50%), transparent 75%); }
