
:root{--bg:#15161c;--fg:#ece9e3;--muted:#9a958c;--accent:#6ea0ff;--border:#2c2e36;--panel:#22242c;--card:#1b1d24;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'IBM Plex Sans',system-ui,sans-serif;display:flex;justify-content:center;padding:2rem;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.deos-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:.6rem;min-width:248px;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.deos-vstack{display:flex;flex-direction:column;gap:.55rem;padding:.8rem;}
.deos-row{display:flex;flex-direction:row;gap:.5rem;align-items:center;}
.deos-text{color:var(--fg);}
.deos-bind{font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums;}
.deos-input{padding:.3rem .55rem;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--bg);}
.deos-button{background:var(--accent);color:#101216;font-weight:600;border:none;border-radius:7px;padding:.42rem .85rem;font-family:inherit;font-size:.9rem;cursor:pointer;transition:filter .12s,transform .06s;}
.deos-button:hover{filter:brightness(1.08);}
.deos-button:active{transform:translateY(1px);}
.deos-list,.deos-table{display:flex;flex-direction:column;gap:.25rem;}
.deos-table{border:1px solid var(--border);border-radius:6px;padding:.25rem;}
.deos-section{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--border);border-radius:9px;padding:.7rem .8rem;background:rgba(255,255,255,.012);}
.deos-section[data-tag=genuine]{border-color:#3a4d6b;}
.deos-section-title{font-weight:600;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.deos-tabs{display:flex;flex-direction:column;gap:.5rem;}
.deos-tabstrip{display:flex;flex-direction:row;gap:.4rem;}
.deos-tab{background:var(--panel,#22242c);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.3rem .7rem;font:inherit;cursor:pointer;}
.deos-tab[data-index='0']{background:var(--accent);color:#fff;border-color:var(--accent);}
.deos-tabpanel{display:block;}
.deos-tabpanel:not([data-index='0']){display:none;}
.deos-gauge{display:flex;flex-direction:column;gap:.25rem;}
.deos-gauge-label{color:var(--fg);font-weight:700;}
.deos-gauge-track{width:140px;height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.deos-gauge-fill{height:8px;background:var(--fg);border-radius:4px;width:0;}
.deos-divider{border:none;border-top:1px solid var(--border);width:100%;margin:.25rem 0;}
.deos-host{display:flex;flex-direction:column;gap:.4rem;border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;}
.deos-host-head{color:var(--muted);font-size:.8rem;font-weight:600;}
.deos-host-unresolved{color:var(--muted);font-style:italic;}
.deos-inputgroup{display:inline-flex;gap:.4rem;align-items:center;}
.deos-input-submit{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.35rem .7rem;font:inherit;cursor:pointer;}
.deos-grid{display:flex;flex-wrap:wrap;gap:.5rem;}
.deos-grid[style*=grid-template]{display:grid;}
.deos-breadcrumb{display:flex;flex-direction:row;align-items:center;gap:.35rem;flex-wrap:wrap;}
.deos-crumb{color:var(--fg);}
.deos-crumb-sep{color:var(--muted);}
button.deos-crumb{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0;}
.deos-progress{display:flex;flex-direction:column;gap:.25rem;}
.deos-progress-label{color:var(--fg);font-weight:700;}
.deos-progress-track{width:140px;height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.deos-progress-fill{height:8px;background:var(--fg);border-radius:4px;}
.deos-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent);transition:background .15s;}
.deos-pill[data-tag=good],.deos-pill[data-tag=genuine],.deos-pill[data-tag=live]{background:#3fb950;}
.deos-pill[data-tag=warn],.deos-pill[data-tag=pending]{background:#d29922;}
.deos-pill[data-tag=bad],.deos-pill[data-tag=refusal],.deos-pill[data-tag=revoked]{background:#f85149;}
.deos-pill[data-tag=muted]{background:#9aa0aa;}
.deos-icon{font-weight:700;color:var(--accent);}
.deos-icon[data-tag=good],.deos-icon[data-tag=live]{color:#3fb950;}
.deos-icon[data-tag=warn]{color:#d29922;}
.deos-icon[data-tag=bad],.deos-icon[data-tag=refusal]{color:#f85149;}
.deos-icon[data-tag=muted]{color:#9aa0aa;}
.deos-menu{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:.25rem;border:1px solid var(--border);border-radius:6px;list-style:none;}
.deos-menuitem{text-align:left;}
button.deos-menuitem{background:none;border:none;color:var(--fg);cursor:pointer;font:inherit;padding:.25rem .5rem;border-radius:4px;}
button.deos-menuitem:hover{background:var(--border);}
.deos-disabled{opacity:.4;cursor:default;padding:.25rem .5rem;}
.deos-halo{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;}
.deos-handle{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel,#22242c);border:1px solid var(--border);color:var(--fg);cursor:pointer;font:inherit;}
button.deos-handle:hover{border-color:var(--accent);}
.deos-slider{width:200px;accent-color:var(--accent);}
.deos-toggle{background:var(--panel,#22242c);color:var(--fg);border:1px solid var(--border);border-radius:6px;padding:.3rem .6rem;cursor:pointer;font:inherit;}
.deos-tile{display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:#101216;color:var(--muted);font-size:.8rem;}

.deos-portal{max-width:560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:.6rem;}
.deos-trust{padding:.55rem .8rem;border-radius:8px;font-weight:600;font-size:.92rem;border:1px solid var(--border);}
.deos-trust.pending{color:var(--muted);background:rgba(110,160,255,.06);border-color:#34384a;}
.deos-trust.verified{color:#0c1410;background:#3fb950;border-color:#3fb950;}
.deos-trust.refused{color:#fff;background:#f85149;border-color:#f85149;}
.deos-trust-detail{font-size:.78rem;color:var(--muted);line-height:1.45;padding:0 .2rem;}
.deos-trust-detail code{font-family:ui-monospace,Menlo,monospace;font-size:.72rem;color:var(--fg);word-break:break-all;}
.deos-trust-detail .deos-floor{display:block;margin-top:.35rem;font-style:italic;opacity:.85;}
.deos-card.deos-unverified{opacity:.62;filter:grayscale(.4);border-style:dashed;transition:opacity .25s,filter .25s,border-color .25s;}
.deos-card.deos-verified{opacity:1;filter:none;border-color:#3fb950;border-style:solid;transition:opacity .25s,filter .25s,border-color .25s;}
.deos-bind.deos-field-unverified{border-bottom:1px dashed var(--muted);opacity:.8;}
.deos-bind.deos-field-verified{border-bottom:1px solid #3fb950;color:#3fb950;}
.deos-bind.deos-field-verified::after{content:'\2713';font-size:.7em;margin-left:.2em;vertical-align:super;opacity:.8;}
.deos-bind.deos-field-refused{border-bottom:1px solid #f85149;color:#f85149;}
.deos-bind.deos-field-refused::after{content:'\2717';font-size:.7em;margin-left:.2em;vertical-align:super;}

.deos-status{margin-top:.5rem;padding:.4rem .75rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);}
.deos-back{position:fixed;top:1rem;left:1rem;color:var(--muted);text-decoration:none;font-size:.85rem;}
.deos-back:hover{color:var(--accent);}

body{align-items:flex-start;}
.deos-gallery{max-width:760px;width:100%;margin:0 auto;}
.deos-gallery-head h1{margin:.25rem 0 .5rem;font-size:1.6rem;font-weight:700;}
.deos-gallery-head p{margin:0 0 1.5rem;color:var(--muted);line-height:1.5;}
.deos-gallery-head em{color:var(--fg);font-style:normal;font-weight:600;}
.deos-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;}
.deos-tile{display:flex;flex-direction:column;gap:.4rem;text-decoration:none;background:#181a20;border:1px solid var(--border);border-radius:10px;padding:1.1rem;transition:border-color .12s,transform .12s;}
.deos-tile:hover{border-color:var(--accent);transform:translateY(-2px);}
.deos-tile-name{color:var(--fg);font-size:1.15rem;font-weight:700;}
.deos-tile-blurb{color:var(--muted);font-size:.85rem;line-height:1.45;}
.deos-tile-go{color:var(--accent);font-size:.8rem;font-weight:600;margin-top:.35rem;}

.portal-body{align-items:flex-start;}
.portal{max-width:860px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem;}
.portal-head h1{margin:.25rem 0 .4rem;font-size:1.9rem;font-weight:800;letter-spacing:-.01em;}
.portal-head p{margin:0 0 .8rem;color:var(--muted);line-height:1.5;max-width:620px;}
.portal-head em{color:var(--fg);font-style:normal;font-weight:600;}
.portal-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);padding:.4rem .7rem;border:1px solid var(--border);border-radius:8px;background:rgba(110,160,255,.05);}
.portal-status.live{color:#3fb950;border-color:#27502f;}
.portal-status .dot{width:8px;height:8px;border-radius:999px;background:var(--muted);}
.portal-status.live .dot{background:#3fb950;box-shadow:0 0 8px #3fb95088;}
.portal-section{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;background:var(--card);}
.portal-section-title{font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.portal-graph{width:100%;}
.portal-graph svg{width:100%;height:auto;display:block;}
.portal-graph .edge{stroke:var(--border);stroke-width:1.5;}
.portal-graph .node{cursor:pointer;transition:filter .12s;}
.portal-graph .node:hover{filter:brightness(1.2);}
.portal-graph .node-hub{fill:var(--accent);}
.portal-graph .node-cell{fill:#2f8f4e;}
.portal-graph .node-label{fill:var(--muted);font-size:10px;font-family:ui-monospace,Menlo,monospace;pointer-events:none;}
.portal-cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem;}
.portal-cell{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;background:#181a20;border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;transition:border-color .12s,transform .12s;}
.portal-cell:hover{border-color:var(--accent);transform:translateY(-2px);}
.portal-cell-id{color:var(--fg);font-weight:700;font-family:ui-monospace,Menlo,monospace;font-size:.92rem;word-break:break-all;}
.portal-cell-row{color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:.5rem;}
.portal-cell-row b{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums;}
.portal-cell-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.2rem;}
.portal-tag{font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.1rem .4rem;border-radius:999px;background:var(--border);color:var(--muted);}
.portal-tag.hub{background:var(--accent);color:#101216;}
.portal-tag.prog{background:#2f8f4e;color:#0c1410;}
.portal-foot{color:var(--muted);font-size:.78rem;line-height:1.5;padding:.2rem;}
.portal-back{position:fixed;top:1rem;left:1rem;color:var(--muted);text-decoration:none;font-size:.85rem;z-index:5;}
.portal-back:hover{color:var(--accent);}
.portal-note{font-size:.78rem;color:var(--muted);line-height:1.5;margin:.6rem 0 0;padding:.5rem .7rem;border-left:2px solid var(--border);}
.portal-card-fields{display:flex;flex-direction:column;gap:.5rem;}
.portal-err{color:#f85149;font-size:.85rem;}
