/* ============================================================
   EURASIA RECORDS — register cards, homepage block, register page
   (extends site.css tokens)
   ============================================================ */

/* ---------- Record card ---------- */
.rcard{display:flex;flex-direction:column;background:var(--ink-1);border:1px solid var(--line);text-decoration:none;color:inherit;position:relative;min-width:0;
  transition:border-color .4s,transform .4s;animation:rcIn .7s cubic-bezier(.3,0,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
.rcard:hover,.rcard:focus-visible{border-color:rgba(200,163,74,.55);transform:translateY(-4px)}
@keyframes rcIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.reduced .rcard{animation:none}

.rc-cover{position:relative;aspect-ratio:4/5;overflow:hidden;border-bottom:1px solid var(--line);
  background:radial-gradient(circle at 78% 18%, rgba(200,163,74,.16), transparent 46%),linear-gradient(162deg, var(--ink-2) 0%, var(--ink-1) 62%, var(--ink-0) 100%)}
.rc-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.3,0,.2,1)}
.rcard:hover .rc-cover img{transform:scale(1.035)}
.rc-cover.has-img{background:var(--ink-0)}
.rc-svg{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.2s cubic-bezier(.3,0,.2,1)}
.rcard:hover .rc-svg{transform:scale(1.04) rotate(-1deg)}
.rc-no{position:absolute;top:16px;left:18px;z-index:2;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;color:var(--gold-bright)}
.rc-type{position:absolute;left:18px;right:18px;bottom:44px;display:flex;flex-direction:column;gap:10px}
.rc-pre{font-family:var(--font-mono);font-size:10px;letter-spacing:.34em;color:var(--gold)}
.rc-main{font-family:var(--font-display);color:var(--ivory);line-height:1.12;letter-spacing:.01em;text-wrap:balance}
.rc-main.sz-l{font-size:clamp(26px,2.3vw,32px)}
.rc-main.sz-m{font-size:clamp(22px,1.9vw,26px)}
.rc-main.sz-s{font-size:clamp(19px,1.6vw,22px)}
.rc-main.sz-xs{font-size:clamp(17px,1.4vw,19px)}
.rc-mark{position:absolute;left:18px;right:18px;bottom:16px;padding-top:10px;border-top:1px solid rgba(200,163,74,.35);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-faint);white-space:nowrap;display:flex;justify-content:space-between;align-items:center;gap:8px}
.rc-mark span{overflow:hidden;text-overflow:ellipsis}
.rc-mark i{flex:none;width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}
.rc-cover.img-failed{background:linear-gradient(162deg, var(--ink-2), var(--ink-1))}

.rc-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.rc-body h3{font-size:clamp(19px,1.5vw,21px);line-height:1.2}
.rc-rec{font-size:13px;color:var(--gold-bright);opacity:.85;line-height:1.4}
.rc-foot{margin-top:auto;padding-top:10px;min-height:32px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.rc-date{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--ivory-faint)}
.rc-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--gold);margin-bottom:2px}
.rc-date{white-space:nowrap}
.rc-tags{display:flex;gap:6px}
.rc-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;color:var(--ivory-dim);border:1px solid var(--line-strong);padding:3px 6px}

/* skeleton */
.rcard.sk{pointer-events:none;animation:none}
.rcard.sk .rc-cover,.sk-line{background:linear-gradient(100deg,var(--ink-1) 30%,var(--ink-2) 50%,var(--ink-1) 70%);background-size:300% 100%;animation:skShine 1.6s ease-in-out infinite}
.sk-line{display:block;height:14px;width:80%}
.sk-line.short{width:45%;height:10px;margin-top:6px}
@keyframes skShine{from{background-position:100% 0}to{background-position:0 0}}
.reduced .rcard.sk .rc-cover,.reduced .sk-line{animation:none}

/* ---------- Homepage: latest records ---------- */
#records .records-track{align-items:stretch;scroll-padding-inline:var(--pad-x)}
#records .records-track .rcard{flex:0 0 min(300px,74vw);scroll-snap-align:start}
.rc-all{flex:0 0 min(240px,60vw);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:26px 22px;border:1px dashed rgba(200,163,74,.45);text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:border-color .4s,background .4s}
.rc-all:hover,.rc-all:focus-visible{border-color:var(--gold);background:rgba(200,163,74,.05)}
.rc-all .ra-emblem{width:64px;height:auto;opacity:.9}
.rc-all .ra-count{font-family:var(--font-display);font-size:clamp(46px,4.4vw,64px);line-height:1;color:var(--gold-bright)}
.rc-all .ra-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-faint);margin-top:8px}
.rc-all .ra-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright);border-top:1px solid var(--line-strong);padding-top:16px}
.rc-all .ra-cta svg{transition:transform .35s}
.rc-all:hover .ra-cta svg{transform:translateX(5px)}
#records .records-foot a{color:var(--gold-bright);text-decoration:none;border-bottom:1px solid rgba(200,163,74,.4)}
.records-status{padding:0 var(--pad-x);color:var(--ivory-dim);font-size:15px}
@media (min-width:1100px){
  #records .records-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,.82fr);overflow:visible;gap:20px}
  #records .records-track .rcard,#records .rc-all{flex:none}
  #records .records-nav{display:none}
}

/* ---------- Register page ---------- */
.reg-hero{padding:calc(var(--nav-h) + clamp(56px,9vw,120px)) var(--pad-x) clamp(48px,6vw,72px);position:relative;overflow:hidden}
.reg-hero-inner{max-width:1280px;margin:0 auto;position:relative}
.reg-hero h1{font-size:clamp(44px,8vw,112px);letter-spacing:.01em;margin:22px 0 26px}
.reg-hero .reg-sub{max-width:560px;color:var(--ivory-dim);font-size:clamp(15px,1.4vw,18px)}
.reg-art{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(64vh,620px);opacity:.55;pointer-events:none}
.reg-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(40px,6vw,64px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reg-stats div{padding:22px 40px 22px 0;margin-right:40px;border-right:1px solid var(--line)}
.reg-stats div:last-child{border-right:none;margin-right:0}
.reg-stats dt{font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:8px}
.reg-stats dd{font-family:var(--font-display);font-size:clamp(26px,3vw,38px);line-height:1;color:var(--gold-bright)}
@media (max-width:640px){
  .reg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .reg-stats div{padding:16px 10px 16px 0;margin-right:12px}
  .reg-stats dd{font-size:24px}
  .reg-stats dt{font-size:9px;letter-spacing:.18em}
}

#reg-list{padding:0 var(--pad-x) clamp(90px,12vw,150px)}
.reg-wrap{max-width:1280px;margin:0 auto}
.reg-controls{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}
.reg-search{position:relative;flex:1 1 320px;max-width:480px}
.reg-search input{width:100%;background:var(--ink-0);border:1px solid var(--line-strong);color:var(--ivory);padding:14px 16px 14px 44px;font-family:var(--font-body);font-size:15px;font-weight:300;border-radius:0;appearance:none;transition:border-color .3s}
.reg-search input:focus{border-color:var(--gold);outline:none}
.reg-search input::placeholder{color:var(--ivory-faint)}
.reg-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--ivory-faint)}
.reg-sort{display:flex;border:1px solid var(--line-strong)}
.reg-sort button{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);padding:13px 18px;transition:color .3s,background .3s}
.reg-sort button[aria-pressed="true"]{background:rgba(200,163,74,.1);color:var(--gold-bright)}
.reg-sort button + button{border-left:1px solid var(--line-strong)}
.reg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.chip{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-dim);border:1px solid var(--line-strong);padding:9px 14px;transition:all .3s;display:inline-flex;gap:8px;align-items:center}
.chip:hover{color:var(--ivory);border-color:var(--ivory-faint)}
.chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-bright);background:rgba(200,163,74,.07)}
.chip .n{color:var(--ivory-faint)}
.chip[aria-pressed="true"] .n{color:var(--gold)}
.reg-count{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:22px}
.reg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:22px}
@media (max-width:560px){.reg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .reg-grid .rc-body{padding:14px 12px 12px}
  .reg-grid .rc-type{left:12px;right:12px;bottom:36px}
  .reg-grid .rc-no{left:12px;top:12px;font-size:9.5px}
  .reg-grid .rc-mark{left:12px;right:12px;bottom:12px;font-size:7.5px;letter-spacing:.16em}
  .reg-grid .rc-main.sz-l{font-size:22px}.reg-grid .rc-main.sz-m{font-size:19px}.reg-grid .rc-main.sz-s{font-size:16.5px}.reg-grid .rc-main.sz-xs{font-size:15px}
  .reg-grid .rc-body h3{font-size:16.5px}
  .reg-grid .rc-tags{display:none}}
.reg-more{display:flex;justify-content:center;margin-top:44px}
[hidden]{display:none !important}
.reg-empty{text-align:center;color:var(--ivory-dim);padding:60px 0}
.reg-empty button{color:var(--gold-bright);border-bottom:1px solid rgba(200,163,74,.4)}

/* ---------- Record dialog ---------- */
#rec-modal{position:fixed;inset:0;z-index:210;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh var(--pad-x);background:rgba(4,6,12,.82);backdrop-filter:blur(8px)}
#rec-modal.open{display:flex}
.rm-panel{position:relative;width:100%;max-width:1080px;background:var(--ink-1);border:1px solid var(--line-strong);display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);opacity:0;transform:translateY(24px)}
#rec-modal.open .rm-panel{animation:panelIn .5s cubic-bezier(.3,0,.2,1) forwards}
.reduced #rec-modal.open .rm-panel{animation:none;opacity:1;transform:none}
.rm-close{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--ink-1);color:var(--ivory-dim);transition:border-color .3s,color .3s}
.rm-close:hover{border-color:var(--gold);color:var(--gold-bright)}
.rm-media{border-right:1px solid var(--line);background:var(--ink-0);display:flex;flex-direction:column}
.rm-media > .rc-cover{flex:1;aspect-ratio:auto;min-height:min(560px,72vh)}
.rm-media .rc-cover{border-bottom:none}
.rm-media .rc-cover.typo .rc-type{left:28px;right:28px;bottom:64px}
.rm-media .rc-cover.typo .rc-main{font-size:clamp(28px,3vw,40px)}
.rm-media .rc-cover .rc-no{top:24px;left:28px}
.rm-media .rc-cover .rc-mark{left:28px;right:28px;bottom:26px}
.rm-embed{position:relative;width:100%;background:#000}
.rm-embed iframe{display:block;width:100%;border:0}
.rm-embed.tt iframe{aspect-ratio:9/16;height:auto}
.rm-tabs{display:flex;border-top:1px solid var(--line)}
.rm-tabs button{flex:1;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-dim);padding:14px;transition:color .3s,background .3s}
.rm-tabs button + button{border-left:1px solid var(--line)}
.rm-tabs button[aria-selected="true"]{color:var(--gold-bright);background:rgba(200,163,74,.07)}
.rm-info{padding:clamp(30px,4vw,52px);display:flex;flex-direction:column;min-width:0}
.rm-no{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:22px;padding-right:56px}
.rm-no b{color:var(--gold-bright);font-weight:400}
.rm-info .eyebrow{margin-bottom:12px;font-size:10px}
.rm-info h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:12px}
.rm-rec{font-family:var(--font-display);font-size:clamp(17px,1.6vw,21px);color:var(--gold-bright);margin-bottom:28px}
.rm-text{border-top:1px solid var(--line);padding-top:24px}
.rm-text p{color:var(--ivory-dim);font-size:15.5px;margin-bottom:16px;max-width:620px}
.rm-award{margin-top:10px;border-left:1px solid var(--gold);padding-left:20px;font-size:14px;color:var(--ivory)}
.rm-award span{display:block;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-faint);margin-bottom:4px}
.rm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.rm-pager{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:34px}
.rm-pager button{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-faint);display:inline-flex;gap:10px;align-items:center;transition:color .3s;text-align:left}
.rm-pager button:hover{color:var(--gold-bright)}
.rm-pager button[hidden]{display:none}
.rm-copied{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);align-self:center;opacity:0;transition:opacity .3s}
.rm-copied.on{opacity:1}
@media (max-width:860px){
  #rec-modal{padding:0}
  .rm-panel{grid-template-columns:1fr;min-height:100%;border:none}
  .rm-media{border-right:none;border-bottom:1px solid var(--line)}
  .rm-media > .rc-cover{flex:none;aspect-ratio:1/1;min-height:0}
}

/* nav state for register page */
.nav-links a[aria-current="page"]{color:var(--gold-bright)}

/* mobile: division filters scroll sideways instead of stacking */
@media (max-width:640px){
  .reg-chips{flex-wrap:nowrap;overflow-x:auto;margin-left:calc(-1 * var(--pad-x));margin-right:calc(-1 * var(--pad-x));padding:0 var(--pad-x) 4px;scrollbar-width:none}
  .reg-chips::-webkit-scrollbar{display:none}
  .chip{flex:none;white-space:nowrap}
}
