/* M60 player-flow surface. Old engine/lab code and storage semantics are untouched. */
:root{--m60-ink:#eaf3f4;--m60-muted:#b4c9cf;--m60-surface:#172b35;--m60-edge:#335563;--m60-teal:#9ce6d1;--m60-sand:#e9c789}
html{scroll-behavior:smooth}
body{background:radial-gradient(900px 600px at 25% -10%,#254e55,transparent 62%),#0c1821;overflow-x:hidden}
button,a,input,select{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--m60-teal);outline-offset:3px}
[hidden],.m60-view[hidden]{display:none!important}
.topbar{max-width:1240px;padding:19px 28px 18px;gap:20px;position:relative;z-index:10}
.m60-logo{color:inherit;text-decoration:none;min-width:168px}
.m60-logo small{font-size:11px;color:#acc8cd;line-height:1.4}
.m60-logo .mark{width:38px;height:38px;border:1px solid #5e9c9e;display:grid;place-items:center;border-radius:11px;background:#20383f;font-size:22px}
.m60-env{display:inline-flex;white-space:nowrap;border:1px solid #6e7052;color:#f0d8a2;border-radius:999px;padding:6px 12px;font-weight:650;font-size:11px;letter-spacing:.03em}
.m60-nav{gap:3px;align-items:center}
.m60-nav-desktop{display:flex;margin-left:auto;background:#172b35;border:1px solid #38515b;padding:5px;border-radius:12px}
.m60-nav button{font:inherit;background:transparent;border:0;cursor:pointer;color:#c3d6d9;border-radius:8px;font-weight:650}
.m60-nav-desktop button{font-size:13px;padding:10px 14px}
.m60-nav button[aria-selected="true"]{background:#2f5760;color:#fff}
.m60-nav-bottom{display:none}
main{padding:18px 28px 70px}
.m60-view{animation:m60fade .12s ease-out;max-width:1150px;margin:0 auto}
@keyframes m60fade{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}
.m60-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:26px;padding:37px;background:linear-gradient(130deg,#244a53,#172b37 66%,#142a32);border:1px solid #4d7376;border-radius:22px}
.m60-hero h1,.m60-page-head h1{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.09;letter-spacing:-.045em;margin:8px 0 15px;max-width:710px}
.m60-hero-text{max-width:640px;color:#d0e3e4;line-height:1.64;font-size:15px}
.m60-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.m60-hero-actions .button,.m60-actions .button{border:1px solid #86c7bb}
.m60-hero .button{min-height:44px}
button.button{font:inherit;cursor:pointer;font-weight:720}
.m60-device{background:#10232c;border:1px solid #47737b;border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}
.m60-device-mark{display:grid;place-items:center;width:100px;height:86px;border:2px solid #79b7b4;border-radius:24px;color:#a8e9d9;background:linear-gradient(160deg,#31575e,#152d39);font-size:63px;line-height:1}
.m60-device-title{margin:16px 0 13px;text-transform:uppercase;letter-spacing:.09em;color:#dcebdc;font-size:11px;font-weight:750}
.m60-ship-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.m60-ship-grid div{border:1px solid #42636d;border-radius:10px;background:#1b3440;padding:8px 4px}
.m60-ship-grid strong{display:block;font-size:27px;color:var(--m60-teal);font-weight:800;line-height:1.25}
.m60-ship-grid small{display:block;color:#bdd5da;line-height:1.25;font-size:10px}
.m60-device p{color:#a8c6ca;font-size:11px;margin:12px 0 0;line-height:1.4}
.m60-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #345260;border-radius:14px;background:#152a34;margin:17px 0;overflow:hidden}
.m60-strip>div{padding:20px 24px;display:flex;align-items:baseline;gap:13px;border-right:1px solid #345260}
.m60-strip>div:last-child{border:0}
.m60-strip-value{font-size:30px;line-height:1.1;font-weight:800;color:#d4f2e9;font-variant-numeric:tabular-nums}
.m60-strip>div>span:last-child{color:#c0d6d8;font-size:13px}
.m60-card{background:#172d36;border:1px solid #375765;border-radius:15px;padding:21px;min-width:0}
.m60-card h2{font-size:20px;line-height:1.22;margin:6px 0 10px;color:#f2fbfb}
.m60-card p{font-size:14px;color:#bdd1d5;line-height:1.55}
.m60-next{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:18px;border-color:#6d8770;background:#1b3539;margin:17px 0}
.m60-next .m60-icon{font-size:23px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#a7e6d5;color:#13312b;font-weight:700}
.m60-next .eyebrow{margin:0;font-size:10px}
.m60-next h2{margin:3px 0;font-size:19px}
.m60-next p{margin:4px 0}
.m60-next .m60-note{font-size:12px;color:#ebd39d}
.m60-inline-action,.m60-card-link{background:none;border:0;color:#afeedc;font:inherit;font-size:13px;font-weight:750;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-align:left;white-space:normal}
.m60-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.m60-card-heading{display:flex;align-items:center;gap:12px}
.m60-card-heading h2{margin:0}
.m60-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#294b56;font-size:22px;color:#b1e9dc}
.m60-page-head{padding:23px 4px 19px;max-width:900px}
.m60-page-head p:not(.eyebrow){color:#bad0d3;font-size:15px;line-height:1.6}
.m60-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 4px}
.m60-actions .button{padding:11px 15px;font-size:13px}
.m60-view .section{background:#172b35;border:1px solid #355461}
.m60-view .section h2{font-size:21px}
.m60-view .tablewrap{border-color:#456472}
.m60-journey-meta{display:flex;gap:9px;flex-wrap:wrap;margin:3px 0 22px}
.m60-chip{font-size:12px;color:#e0d3b3;background:#31352f;border:1px solid #696448;border-radius:999px;padding:7px 12px}
.m60-path{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:m60steps}
.m60-path li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;padding:22px;border:1px solid #375864;background:#172b35;border-radius:14px}
.m60-step-number{font-size:12px;font-weight:800;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#2e555c;color:#c7f1e7}
.m60-path h2{margin:0 0 8px;font-size:18px;line-height:1.3}
.m60-path p{color:#bed1d5;font-size:13px;margin:0 0 15px;line-height:1.55}
.m60-step-status{display:inline-flex;padding:5px 9px;border-radius:6px;background:#303530;color:#e9d29f;font-size:11px;border:1px solid #655f47}
.m60-guardrails{margin:16px 0;border-color:#727154;background:#252e30}
.m60-guardrails p{color:#e3dcd0}
.m60-view# m60-saves{max-width:1150px}
.m60-view .archiveChecklist label{line-height:1.5}
.m60-view .uploadLabel{max-width:100%}
#m60-research .lab-access{margin:0 0 18px;padding:14px 0}
#m60-research .developer-tools{border-style:dashed}
.m60-page-head .eyebrow{color:#d7c28e}
/* Read-only registry: stack existing single-source-of-truth table rows as mobile cards. */
@media (max-width:760px){
 .topbar{padding:13px 15px 10px;gap:9px}
 .m60-nav-desktop{display:none}
 .m60-env{font-size:10px;padding:5px 8px}
 .m60-logo{min-width:0}
 .m60-logo small{font-size:10px}
 .m60-logo .mark{width:31px;height:31px;font-size:20px}
 main{padding:6px 12px calc(112px + env(safe-area-inset-bottom))}
 .m60-nav-bottom{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;bottom:0;right:0;z-index:100;background:#122631;box-shadow:0 -7px 28px #040e16a6;border-top:1px solid #47717b;gap:3px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));}
 .m60-nav-bottom button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:51px;padding:4px 1px;border-radius:10px}
 .m60-nav-bottom button span{font-size:22px;line-height:1.1}
 .m60-nav-bottom button small{font-size:10px;letter-spacing:.01em}
 .m60-hero{grid-template-columns:1fr;gap:22px;padding:24px 20px;border-radius:18px}
 .m60-hero h1,.m60-page-head h1{font-size:clamp(1.9rem,9vw,2.65rem);line-height:1.1}
 .m60-hero-text{font-size:14px}
 .m60-hero-actions .button{flex:1;min-width:135px;font-size:13px}
 .m60-device{padding:17px}
 .m60-device-mark{width:66px;height:60px;font-size:48px;border-radius:17px}
 .m60-device-title{margin:10px 0}
 .m60-ship-grid strong{font-size:26px}
 .m60-strip>div{flex-direction:column;align-items:center;text-align:center;gap:3px;padding:13px 6px}
 .m60-strip-value{font-size:27px}
 .m60-strip>div>span:last-child{font-size:10px;line-height:1.2}
 .m60-next{grid-template-columns:35px minmax(0,1fr);padding:16px;gap:10px}
 .m60-next .m60-icon{height:35px;width:35px;border-radius:10px;font-size:19px}
 .m60-next .m60-inline-action{grid-column:2}
 .m60-next h2{font-size:17px}
 .m60-card-row,.m60-path{grid-template-columns:1fr}
 .m60-card{padding:17px}
 .m60-page-head{padding:23px 3px 16px}
 .m60-page-head p:not(.eyebrow){font-size:14px}
 .m60-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .m60-actions .button{font-size:12px;text-align:center;min-height:46px}
 .m60-actions .button:first-child{grid-column:1/-1}
 .m60-path li{padding:16px;gap:12px;grid-template-columns:38px minmax(0,1fr)}
 .m60-step-number{height:38px;width:38px}
 #specimens .tablewrap{border:0;background:transparent;overflow:visible}
 #specimens table,#specimens tbody,#specimens tr,#specimens td{display:block;width:100%;min-width:0}
 #specimens thead{display:none}
 #specimens tr{border:1px solid #436571;border-radius:12px;background:#102733;padding:12px 14px;margin-bottom:11px}
 #specimens td{display:grid;grid-template-columns:83px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid #2d4a56;color:#d7e5e7;font-size:12px;overflow-wrap:anywhere}
 #specimens td::before{color:#9ebec5;font-size:11px;font-weight:650;letter-spacing:.02em}
 #specimens td:nth-child(1)::before{content:'Source'}
 #specimens td:nth-child(2)::before{content:'Individual'}
 #specimens td:nth-child(3)::before{content:'Core'}
 #specimens td:nth-child(4)::before{content:'Location'}
 #specimens td:nth-child(5)::before{content:'Parents'}
 #specimens td:nth-child(6)::before{content:'Details'}
 #specimens tr:last-child td{border-bottom:0}
 #specimens td[colspan]{display:block}
 #specimens td[colspan]::before{content:''}
 #specimens .smallbutton{min-height:39px;width:100%}
 #dossier .tablewrap{border:0;overflow:visible;background:transparent}
 #dossier table,#dossier tbody,#dossier tr,#dossier th,#dossier td{display:block;width:100%;min-width:0}
 #dossier tr{background:#122834;border:1px solid #355661;border-radius:8px;margin-bottom:8px;padding:10px 12px}
 #dossier th{padding:0 0 5px;border:0;font-size:11px;font-weight:700;color:#bbd6d6;text-transform:none;white-space:normal}
 #dossier td{border:0;padding:0;color:#ecf5f5;font-size:12px;overflow-wrap:anywhere}
 #dossier .tablewrap,#dossier .dossierTable table{min-width:0}
 .registryControls label{min-width:100%}
 .m60-view .section{padding:17px}
 .m60-view .section h2{font-size:19px}
 .m60-view .section p{font-size:13px}
 .save-grid{gap:10px}
 .archiveControls{display:grid;grid-template-columns:minmax(0,1fr)}
 .archiveControls .smallbutton,.archiveControls .uploadLabel{width:100%}
 .m60-journey-meta{gap:6px}
 .m60-chip{font-size:11px}
 footer{padding-bottom:100px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.m60-view{animation:none}}
@media(max-width:760px){#specimens td,#specimens td:first-child,#specimens td[colspan]{white-space:normal;overflow-wrap:anywhere;min-width:0}}
.m60-hero-actions button.button.secondary{background:#1a343e;color:#edf6f6;cursor:pointer}
.m60-hero-actions button.button.secondary:hover{background:#2e535d}
