/* Ruvo Guard (Rev 12): paper var(--r-bg), ink var(--r-text), mono + Manrope */
.guard [hidden],.g-dialog [hidden]{display:none!important}
.guard,.g-dialog{--g-bg:var(--r-bg);--g-ink:var(--r-text);--g-mute:var(--r-text-2);--g-line:var(--r-text);--g-mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace}
.guard{--g-bg:var(--r-bg);--g-ink:var(--r-text);--g-mute:var(--r-text-2);--g-line:var(--r-text);--g-mono:ui-monospace,"SFMono-Regular","JetBrains Mono",Menlo,Consolas,monospace;background:var(--g-bg);color:var(--g-ink);font-family:Manrope,sans-serif;padding:0 0 48px}
.app-body:has(#guard:not([hidden])),.app-body:has(#guard:not([hidden])) .app-main{background:var(--r-bg)}
.guard h1,.guard h2{color:var(--g-ink)}.guard h2{font-size:15px;margin:0 0 6px;font-family:var(--g-mono);letter-spacing:0;text-transform:uppercase;font-weight:600}
.guard .heading p{color:var(--g-mute)}.g-mono,.guard .label{font-family:var(--g-mono);font-size:12px;color:var(--g-ink)}
.g-panel{border:1px solid var(--g-line);background:var(--g-bg);padding:22px;margin:0 0 18px}
.g-row{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.g-session{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.g-btn{font:600 13px/1 var(--g-mono);background:var(--g-ink);color:var(--g-bg);border:1px solid var(--g-ink);padding:11px 14px;cursor:pointer;border-radius:0;min-height:40px}
.g-btn.ghost{background:transparent;color:var(--g-ink)}.g-btn:hover{background:var(--r-line-1);color:var(--r-bg)}.g-btn:disabled{opacity:.45;cursor:not-allowed}
.guard :focus-visible,.g-dialog :focus-visible{outline:2px solid var(--g-ink,var(--r-text));outline-offset:2px}
.g-chip{font:12px var(--g-mono);background:transparent;border:1px dashed var(--r-text);color:var(--r-text);padding:4px 8px;margin:2px 0;cursor:pointer}
.g-note{font-size:13px;color:var(--g-mute);margin:8px 0 0;line-height:1.5}.g-msg{font:12px var(--g-mono);color:var(--r-text);margin:6px 0 0}
.g-error{font:13px var(--g-mono);color:var(--r-text);margin:8px 0 0}.g-error:empty,.g-msg:empty{display:none}
.g-warn{border:1px solid var(--r-text);border-left-width:6px;padding:14px;margin-top:16px}.g-warn p{margin:0 0 10px}
.g-table-wrap{overflow-x:auto;margin-top:12px}.g-table{width:100%;border-collapse:collapse;font:12.5px/1.4 var(--g-mono);min-width:880px}
.g-table th,.g-table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--r-grid);vertical-align:top}.g-table thead th{border-bottom:1px solid var(--r-text);font-weight:600;color:var(--r-text)}
.g-table tbody th small{display:block;color:var(--g-mute);font-weight:400}
.g-empty{font:13px var(--g-mono);border:1px dashed var(--r-text);padding:16px;margin:12px 0 0}
.g-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-top:14px}.g-field{display:flex;flex-direction:column;gap:6px;flex:1 1 320px}.g-field-s{flex:0 1 240px}
.g-field label{font:600 12px var(--g-mono)}.g-field input,.g-field select{font:14px var(--g-mono);background:var(--r-bg);color:var(--r-text);border:1px solid var(--r-text);border-radius:0;padding:10px;min-height:42px}
.g-rules{list-style:none;padding:0;margin:16px 0 0}.g-rule{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border:1px solid var(--r-text);padding:14px;margin-bottom:10px}
.g-rule.is-met{border-width:2px;background:var(--r-bg)}.g-rule p{margin:0}.g-rule-text{font-weight:600}.g-rule-desc,.g-rule-state{font:12px var(--g-mono);color:var(--g-mute);margin-top:4px!important}
.g-rule.is-met .g-rule-state{color:var(--r-text);font-weight:700}.g-rule-actions,.g-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.g-alert{border:2px solid var(--r-text);background:var(--r-bg);padding:14px;margin-top:14px}.g-alert p{margin:0 0 10px;font-weight:600}
.g-legal{font:12px/1.5 var(--g-mono);color:var(--r-text);border-top:1px solid var(--r-text);padding-top:14px;margin-top:24px}
.g-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g-dialog{background:var(--r-bg);color:var(--r-text);border:1px solid var(--r-text);border-radius:0;padding:22px;width:min(460px,calc(100vw - 32px));font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;max-height:90vh;overflow:auto}
#guard-preview{width:min(620px,calc(100vw - 32px))}.g-dialog::backdrop{background:rgba(28,28,28,.45)}
.g-dialog h2{font:600 15px ui-monospace,Menlo,monospace;text-transform:uppercase;margin:0}.g-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.g-wallets{list-style:none;margin:0;padding:0}.g-wallet{display:flex;gap:12px;align-items:center;width:100%;background:transparent;border:1px solid var(--r-text);color:var(--r-text);font:14px ui-monospace,Menlo,monospace;padding:12px;margin-bottom:8px;cursor:pointer;text-align:left}
.g-wallet:hover,.g-wallet:focus-visible{background:var(--r-text);color:var(--r-bg)}.g-wallet img{filter:grayscale(1) contrast(1.1);width:24px;height:24px}
.g-icon-ph{width:24px;height:24px;display:inline-grid;place-items:center;border:1px solid currentColor;font-size:12px}
.g-dl{margin:0;font-size:13px}.g-dl div{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--r-grid)}.g-dl dt{font-weight:600}.g-dl dd{margin:0;word-break:break-word}
@media(max-width:600px){.g-panel{padding:16px}.g-dl div{grid-template-columns:1fr;gap:2px}.g-session{width:100%}}
@media(prefers-reduced-motion:reduce){.guard *,.g-dialog,.g-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
