/* ARTSX Registry v0.1.5 — Arts Exchange registry/explorer shell.
   One page gutter, one 12-column composition, restrained infrastructure UI.
   No page-local override layering or specificity escalation. */

:root{
  color-scheme:light;
  --ink:#11110f;
  --ink-2:#24231f;
  --paper:#fdfdfc;
  --paper-2:#f2f2ee;
  --surface:#fafaf8;
  --surface-strong:#fff;
  --night:#080908;
  --line:rgba(17,17,15,.13);
  --line-strong:rgba(17,17,15,.25);
  --muted:#706d66;
  --muted-inverse:#aaa8a2;
  --success:#225f3b;
  --danger:#842d26;
  --sans:"Inter","Roboto","Helvetica Neue",Arial,sans-serif;
  --mono:"Roboto Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --radius-xs:10px;
  --radius-sm:12px;
  --page-max:1880px;
  --page-x:max(clamp(24px,3.75vw,72px),calc(50vw - 940px));
  --header-height:72px;
  --grid-gap:clamp(16px,1.5vw,24px);
  --section-gap:18px;
}

*{box-sizing:border-box}
html{min-height:100%;margin:0;background:var(--paper);scroll-behavior:auto;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-optical-sizing:auto;font-synthesis:none;font-feature-settings:"kern" 1,"liga" 1;line-height:1.45;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:#e9e3d8;color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{margin:0;color:inherit;font-size:10px;font-weight:720;line-height:1.25;letter-spacing:.14em;text-transform:uppercase}
.mono{font-family:var(--mono);font-weight:400;letter-spacing:-.015em;overflow-wrap:anywhere}

.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:var(--radius-xs);background:transparent;color:inherit;font-size:12px;font-weight:650;line-height:1.2;cursor:pointer;box-shadow:none;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.button:hover{transform:translateY(-1px);border-color:currentColor}
.button.dark{border-color:var(--ink);background:var(--ink);color:#fff}
.button.dark:hover{background:#292925}

.registry-shell{display:flex;min-height:100vh;min-height:100svh;flex-direction:column;max-width:100%;overflow-x:clip}
.registry-header{position:fixed;inset:0 0 auto;z-index:40;display:grid;grid-template-columns:auto minmax(320px,620px);align-items:center;justify-content:space-between;gap:34px;width:100%;height:var(--header-height);min-height:var(--header-height);padding:12px var(--page-x);border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
.registry-brand-lockup{display:flex;align-items:center;min-width:0}
.registry-brand{display:flex;align-items:center;flex:0 0 auto}
.registry-brand img{width:174px;height:auto}
.registry-shell-label{display:inline-flex;align-items:center;height:24px;margin-left:16px;padding-left:16px;border-left:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:650;line-height:1;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.registry-shell-label:hover{color:var(--ink)}
.header-resolver{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;width:100%}
.header-resolver input{width:100%;min-width:0;height:40px;min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius-xs);background:#fff;color:var(--ink);outline:none;font-family:var(--mono);font-size:11px;letter-spacing:.005em;text-transform:uppercase;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
.header-resolver input:hover{border-color:var(--line-strong)}
.header-resolver input:focus{border-color:rgba(17,17,15,.42);box-shadow:0 0 0 3px rgba(71,101,83,.1)}
.header-resolver input::placeholder{color:#99968f}
.header-resolver .button{height:40px;min-height:40px;padding-left:18px;padding-right:18px}

.registry-main{width:100%;margin:0;padding-left:var(--page-x);padding-right:var(--page-x)}
.registry-home,.record-page{padding-top:calc(var(--header-height) + clamp(42px,4vw,64px));padding-bottom:clamp(72px,7vw,108px)}

/* Shared 12-column composition */
.registry-intro-grid,.record-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}

.registry-intro{padding-bottom:clamp(28px,3vw,44px);border-bottom:1px solid var(--line)}
.registry-intro-grid{align-items:end;margin-top:12px}
.registry-intro h1{grid-column:1/span 5;max-width:680px;margin:0;font-size:clamp(30px,3vw,46px);font-weight:540;line-height:1.02;letter-spacing:-.045em}
.registry-intro-grid>p{grid-column:7/-1;max-width:720px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}

.registry-overview,.record-overview{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));margin-top:26px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}
.registry-overview .overview-cell{grid-column:span 4}
.record-overview .overview-cell:nth-child(1){grid-column:span 2}
.record-overview .overview-cell:nth-child(2){grid-column:span 3}
.record-overview .overview-cell:nth-child(3){grid-column:span 2}
.record-overview .overview-cell:nth-child(4){grid-column:span 5}
.overview-cell{display:grid;align-content:center;gap:6px;min-height:90px;padding:18px 20px}
.overview-cell+.overview-cell{border-left:1px solid var(--line)}
.overview-cell>span{color:var(--muted);font-size:9px;font-weight:700;line-height:1.25;letter-spacing:.11em;text-transform:uppercase}
.overview-cell>strong,.overview-cell>a{font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.overview-latest strong{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-2)}

.registry-activity{margin-top:var(--section-gap);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;overflow:hidden}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:78px;padding:18px 20px;border-bottom:1px solid var(--line)}
.section-head h2{margin:6px 0 0;font-size:18px;font-weight:620;line-height:1.15;letter-spacing:-.025em}
.section-meta{color:var(--muted);font-family:var(--mono);font-size:9.5px;white-space:nowrap}

.ledger-table{width:100%}
.ledger-row{display:grid;grid-template-columns:minmax(150px,2fr) minmax(190px,2.4fr) minmax(190px,3fr) minmax(150px,2.4fr) minmax(170px,2.2fr);gap:var(--grid-gap);align-items:center;padding:0 20px}
.ledger-head{min-height:38px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ledger-event{min-height:72px;border-bottom:1px solid var(--line);transition:background .12s ease}
.ledger-event:last-child{border-bottom:0}
.ledger-event:hover{background:var(--surface)}
.ledger-event-type{font-size:12px;font-weight:620}
.ledger-id{font-size:10px}
.ledger-artwork{display:grid;gap:3px;min-width:0}
.ledger-artwork strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}
.ledger-artwork small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;line-height:1.4}
.ledger-source,.ledger-time{color:var(--muted);font-size:9px;overflow-wrap:anywhere}
.ledger-time{white-space:nowrap}
.ledger-empty{display:grid;gap:5px;padding:34px 20px;color:var(--muted);font-size:11px}
.ledger-empty strong{color:var(--ink);font-size:13px;font-weight:620}
.registry-note{margin-top:var(--section-gap);padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.registry-note p{max-width:1120px;margin:0;color:var(--muted);font-size:10.5px;line-height:1.58}
.registry-note strong{color:var(--ink);font-weight:650}

/* Record header */
.record-hero{align-items:end;padding-bottom:clamp(28px,3vw,44px);border-bottom:1px solid var(--line)}
.record-identity{grid-column:1/span 8;min-width:0}
.record-hero h1{max-width:900px;margin:11px 0 0;font-size:clamp(34px,3.5vw,54px);font-weight:540;line-height:1;letter-spacing:-.047em;text-wrap:balance}
.record-creator{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.45}
.record-id-block{grid-column:9/-1;display:grid;align-content:center;gap:8px;min-height:88px;padding:17px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}
.record-id-block>span{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.record-id-block>strong{font-size:clamp(13px,1.15vw,16px);font-weight:520;line-height:1.45;letter-spacing:-.025em}
.overview-uri a{font-family:var(--mono);font-size:9.5px;font-weight:400;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.status-text{text-transform:capitalize}
.status-text.active{color:var(--success)}
.status-text.retired{color:var(--danger)}
.record-history{margin-top:var(--section-gap)}

/* Record ledger: 12-part proportions remain stable across heading/event rows. */
.record-ledger{width:100%}
.record-ledger-row{display:grid;grid-template-columns:42px minmax(220px,4fr) minmax(170px,2.6fr) minmax(190px,2.4fr) minmax(100px,1.2fr);gap:var(--grid-gap);align-items:start;padding:0 20px}
.record-ledger-head{min-height:38px;align-items:center;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.record-ledger-entry{border-bottom:1px solid var(--line)}
.record-ledger-entry:last-child{border-bottom:0}
.record-ledger-entry>summary{list-style:none}
.record-ledger-entry>summary::-webkit-details-marker{display:none}
.record-ledger-event{min-height:78px;padding-top:17px;padding-bottom:17px;cursor:pointer;transition:background .12s ease}
.record-ledger-event:hover{background:var(--surface)}
.record-ledger-entry[open] .record-ledger-event{background:var(--surface)}
.record-event-name{display:grid;gap:4px;min-width:0}
.record-event-name strong{font-size:12px;font-weight:620}
.record-event-name small{color:var(--muted);font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.record-sequence,.record-source,.record-time{padding-top:2px;color:var(--muted);font-size:9px;overflow-wrap:anywhere}
.record-time{white-space:nowrap}
.integrity-toggle{display:inline-flex;align-items:center;gap:5px;padding-top:1px;color:var(--ink);font-size:10px;font-weight:620;white-space:nowrap}
.integrity-toggle::before{content:'▶';font-size:7px;transform-origin:center;transition:transform .12s ease}
.record-ledger-entry[open] .integrity-toggle::before{transform:rotate(90deg)}
.record-ledger-entry[open] .integrity-toggle-label{font-size:0}
.record-ledger-entry[open] .integrity-toggle-label::after{content:'Hide';font-size:10px}
.integrity-panel{padding:20px;border-top:1px solid var(--line);background:var(--paper-2)}
.integrity-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.integrity-panel-head>div{display:grid;gap:5px}
.integrity-panel-head strong{font-size:14px;font-weight:620}
.integrity-panel-head>span{color:var(--muted);font-size:9px}
.integrity-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px var(--grid-gap);margin:18px 0 0}
.integrity-grid>div{grid-column:span 4;min-width:0}
.integrity-grid>div.integrity-hash{grid-column:span 6}
.integrity-grid dt,.integrity-payload>span{margin:0 0 5px;color:var(--muted);font-size:8.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.integrity-grid dd{margin:0;color:var(--ink-2);font-size:9px;line-height:1.55;overflow-wrap:anywhere}
.integrity-payload{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.integrity-payload pre{max-width:100%;margin:0;padding:12px 14px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-xs);background:#fff;color:var(--ink-2);font-family:var(--mono);font-size:9px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}

.registry-state{padding-top:calc(var(--header-height) + clamp(60px,7vw,104px));padding-bottom:clamp(90px,10vw,160px);min-height:70vh}
.registry-state h1{margin:11px 0 0;font-size:clamp(36px,4vw,58px);font-weight:540;line-height:1;letter-spacing:-.045em}
.state-id{margin:22px 0 0;color:var(--muted);font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}
.state-copy{max-width:620px;margin:18px 0 26px;color:var(--muted);font-size:13px;line-height:1.6}

.registry-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:28px var(--page-x);background:var(--night);color:#fff}
.registry-footer-brand{display:block;flex:0 0 auto}
.registry-footer-brand img{width:174px;height:auto}
.registry-footer-meta{display:flex;align-items:center;justify-content:flex-end;gap:18px;color:#858581;font-size:9px;font-weight:650;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;text-align:right}
.registry-footer-meta span+span{padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}

@media(max-width:1180px){
  .ledger-row{grid-template-columns:minmax(140px,2fr) minmax(185px,2.4fr) minmax(180px,3fr) minmax(160px,2.2fr)}
  .ledger-row>*:nth-child(4){display:none}
  .record-ledger-row{grid-template-columns:38px minmax(190px,4fr) minmax(140px,2.5fr) minmax(170px,2.5fr) 72px}
}

@media(max-width:960px){
  .registry-header{grid-template-columns:auto minmax(280px,46vw);gap:24px}
  .registry-intro h1{grid-column:1/span 6}
  .registry-intro-grid>p{grid-column:7/-1}
  .record-identity{grid-column:1/span 7}
  .record-id-block{grid-column:8/-1}
  .record-overview .overview-cell:nth-child(1),.record-overview .overview-cell:nth-child(2),.record-overview .overview-cell:nth-child(3),.record-overview .overview-cell:nth-child(4){grid-column:span 6}
  .record-overview .overview-cell:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .record-overview .overview-cell:nth-child(4){border-top:1px solid var(--line)}
  .ledger-row{grid-template-columns:minmax(135px,2fr) minmax(180px,2.4fr) minmax(170px,3fr) minmax(155px,2.2fr)}
  .record-ledger-row{grid-template-columns:34px minmax(180px,4fr) minmax(130px,2.4fr) minmax(155px,2.5fr) 62px;gap:12px}
  .integrity-grid>div{grid-column:span 6}
  .integrity-grid>div.integrity-hash{grid-column:1/-1}
}

@media(max-width:760px){
  :root{--header-height:124px;--page-x:24px;--section-gap:14px}
  .registry-header{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:10px;height:var(--header-height);padding-top:10px;padding-bottom:10px}
  .registry-brand-lockup{min-height:38px}
  .registry-brand img{width:158px}
  .registry-shell-label{margin-left:12px;padding-left:12px;font-size:9px}
  .header-resolver{width:100%}
  .header-resolver input{font-size:10px}
  .registry-home,.record-page{padding-top:calc(var(--header-height) + 34px);padding-bottom:68px}
  .registry-intro{padding-bottom:28px}
  .registry-intro-grid,.record-hero{grid-template-columns:1fr;gap:0}
  .registry-intro h1,.registry-intro-grid>p,.record-identity,.record-id-block{grid-column:1}
  .registry-intro h1{font-size:clamp(30px,9vw,40px)}
  .registry-intro-grid{margin-top:11px}
  .registry-intro-grid>p{margin-top:16px;font-size:12.5px}
  .registry-overview{grid-template-columns:1fr;margin-top:20px}
  .registry-overview .overview-cell{grid-column:1}
  .registry-overview .overview-cell+.overview-cell{border-left:0;border-top:1px solid var(--line)}
  .overview-cell{min-height:72px;padding:15px 17px}
  .registry-activity{margin-top:var(--section-gap)}
  .section-head{min-height:70px;padding:16px 17px}
  .section-head h2{font-size:17px}
  .ledger-head,.record-ledger-head{display:none}
  .ledger-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;min-height:0;padding:16px 17px}
  .ledger-event>*{display:block}
  .ledger-event>*:nth-child(4){display:block}
  .ledger-event-type{grid-column:1;font-size:12px}
  .ledger-id{grid-column:1/-1;grid-row:2;font-size:9.5px}
  .ledger-artwork{display:grid;grid-column:1;grid-row:3;gap:3px;margin-top:6px}
  .ledger-artwork strong,.ledger-artwork small{display:block}
  .ledger-source{grid-column:1;grid-row:4;margin-top:3px;font-size:8.5px}
  .ledger-time{grid-column:2;grid-row:1;align-self:start;font-size:8.5px}
  .ledger-empty{padding:28px 17px}
  .registry-note{margin-top:var(--section-gap)}
  .record-hero{padding-bottom:28px}
  .record-hero h1{font-size:clamp(34px,10vw,46px)}
  .record-creator{margin-top:8px}
  .record-id-block{margin-top:24px;min-height:0;padding:15px 17px}
  .record-id-block>strong{font-size:13px}
  .record-overview{grid-template-columns:1fr;margin-top:20px}
  .record-overview .overview-cell:nth-child(1),.record-overview .overview-cell:nth-child(2),.record-overview .overview-cell:nth-child(3),.record-overview .overview-cell:nth-child(4){grid-column:1}
  .record-overview .overview-cell+.overview-cell,.record-overview .overview-cell:nth-child(3),.record-overview .overview-cell:nth-child(4){border-left:0;border-top:1px solid var(--line)}
  .record-ledger-entry{position:relative}
  .record-ledger-event{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:7px 10px;min-height:0;padding:16px 17px}
  .record-sequence{grid-column:1;grid-row:1/5}
  .record-event-name{grid-column:2/-1;grid-row:1}
  .record-source{grid-column:2/-1;grid-row:2;padding-top:0}
  .record-time{grid-column:2;grid-row:3;padding-top:0;white-space:normal}
  .integrity-toggle{grid-column:3;grid-row:3;align-self:start;padding-top:0}
  .integrity-panel{padding:17px}
  .integrity-panel-head{align-items:flex-start;gap:16px}
  .integrity-grid{grid-template-columns:1fr;gap:12px;margin-top:16px}
  .integrity-grid>div,.integrity-grid>div.integrity-hash{grid-column:1}
  .integrity-payload{margin-top:16px;padding-top:14px}
  .registry-state{padding-top:calc(var(--header-height) + 52px);padding-bottom:90px;min-height:68vh}
  .registry-footer{align-items:flex-start;flex-direction:column;gap:20px;padding-top:28px;padding-bottom:28px}
  .registry-footer-brand img{width:158px}
  .registry-footer-meta{justify-content:flex-start;flex-wrap:wrap;gap:8px 14px;text-align:left}
  .registry-footer-meta span+span{padding-left:14px}
}

@media(max-width:420px){
  .registry-shell-label{font-size:8px;letter-spacing:.1em}
  .header-resolver{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .header-resolver .button{padding-left:12px;padding-right:12px;font-size:11px}
  .section-meta{display:none}
  .registry-footer-meta span+span{width:100%;padding-left:0;border-left:0}
}

@media(prefers-reduced-motion:reduce){
  .button,.ledger-event,.record-ledger-event,.integrity-toggle::before{transition:none}
}
