:root{color-scheme:dark;--night:#080b12;--ink:#d6dbe5;--quiet:#abb8cf;--edge:#252c3b;--cyan:#268cff;--rose:#ff4b4b;--gold:#ffe600;--violet:#f4f7ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{min-height:100%;overflow-y:auto}body{margin:0;background:var(--night);color:var(--ink);font-size:13px;line-height:1.6}body.poem{height:100svh;min-height:620px;display:grid;grid-template-rows:auto minmax(340px,1fr) auto}a{color:inherit;text-decoration:none}button,select,input{font:inherit;color:inherit}button,a,select,summary{touch-action:manipulation}button,select{background:transparent;border:1px solid var(--edge);min-height:44px;padding:8px 12px;border-radius:3px}button{cursor:pointer}select{max-width:100%;cursor:pointer}select option{background:var(--night)}button:hover,a:hover{color:#fff;border-color:#66728a}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 30px 0;z-index:1}.title{margin:0;font-size:14px;font-weight:400;letter-spacing:.2em;text-transform:lowercase}.subtitle{margin:4px 0 0;font-size:10px;letter-spacing:.04em;color:var(--quiet)}.navigation{display:flex;gap:4px;align-items:center}.navigation a,.navigation button{display:grid;place-items:center;width:44px;height:44px;border:0;font-size:12px;color:var(--quiet)}.navigation a[aria-current=page]{color:var(--ink)}.navigation button{border:1px solid var(--edge);border-radius:50%;width:44px;height:44px;min-height:44px;margin-left:10px}.navigation .home{width:auto;padding-inline:10px}
.scene{position:relative;margin:0;min-height:340px}.scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.scene canvas:focus-visible{outline-offset:-8px}.hover-readout{position:absolute;bottom:10px;left:30px;right:30px;pointer-events:none;text-align:center;font-size:11px;color:#b8c1d1;min-height:20px}.error{position:absolute;inset:30% 10% auto;text-align:center;color:var(--gold);font-size:14px}.error[hidden]{display:none}
.poem-footer{padding:8px 30px 22px}.toolbar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.toolbar label{display:flex;align-items:center;gap:8px}.control-name{color:var(--quiet);font-size:10px}.toolbar button{font-size:11px}.toolbar button[aria-pressed=true]{color:var(--cyan);border-color:var(--cyan)}.footnote{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--quiet);font-size:10px;letter-spacing:.02em;margin-top:16px}.legend{display:flex;gap:16px;flex-wrap:wrap}.key{display:inline-flex;align-items:center;gap:6px}.key:before{content:'';display:block;width:9px;height:9px;flex:0 0 9px;background:var(--key)}.key.high,.key.purchase{--key:var(--rose)}.key.low,.key.click{--key:var(--cyan)}.key.care,.key.cart{--key:var(--gold)}.key.unknown,.key.search{--key:var(--violet)}.key.high:before,.key.purchase:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.key.low:before,.key.click:before{border-radius:50%}.key.care:before{transform:rotate(45deg)}.key.unknown:before,.key.search:before{background:transparent;border:1px solid var(--key)}.key.search:before{border-radius:50%}.credit{white-space:nowrap}
dialog{color:var(--ink);background:#101621;border:1px solid #364057;border-radius:4px;width:min(660px,calc(100% - 32px));max-height:85svh;padding:28px;line-height:1.7}dialog::backdrop{background:#02040bd9}dialog h2{font-size:18px;font-weight:400;letter-spacing:.08em;margin:0 50px 20px 0}dialog h3{font-size:12px;font-weight:500;color:var(--cyan);margin-top:24px}dialog p{color:#b8c1d1;font-size:12px}dialog .close{position:absolute;right:16px;top:16px;width:44px;padding:0;font-size:22px}dialog a{text-decoration:underline;text-underline-offset:4px}dialog .reader{border-block:1px solid var(--edge);padding:16px 0;margin:18px 0;font-size:12px;min-height:90px;overflow-wrap:anywhere}.reader strong{display:block;color:#fff;margin-bottom:8px;font-weight:500}.record-controls{display:flex;align-items:center;gap:12px}.record-controls input{width:100%;min-width:0;accent-color:var(--cyan);min-height:44px}.record-controls button{flex:0 0 44px;padding:0}.record-count{font-size:11px;color:var(--quiet);text-align:center}.provenance{border-top:1px solid var(--edge);padding-top:16px;font-size:10px!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.table-scroll{max-height:300px;overflow:auto;margin-top:16px}table{border-collapse:collapse;width:100%;font-size:10px}th,td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--edge);white-space:nowrap}th{position:sticky;top:0;background:#101621}summary{cursor:pointer;min-height:44px;padding-block:10px}.key.rest:before{background:var(--gold);clip-path:polygon(50% 0,100% 100%,0 100%)}.key.steps:before{background:var(--cyan)}.key.messages:before{background:var(--rose);width:2px;flex-basis:2px}.key.missing:before{background:#66728a;height:1px;transform:rotate(-45deg)}.collection .section-label{font-size:11px;font-weight:400;letter-spacing:.08em;color:var(--quiet);margin:48px 0 -25px}.collection #body-error{position:static;color:var(--gold)}
.collection{max-width:1500px;margin:auto;padding:40px 32px 64px}.collection nav{display:flex;justify-content:space-between;font-size:11px;color:var(--quiet)}.collection nav a{min-height:44px;display:inline-flex;align-items:center}.collection h1{font-size:clamp(28px,5vw,52px);font-weight:300;letter-spacing:-.045em;line-height:1.15;margin:50px 0 14px}.collection .intro{max-width:620px;color:var(--quiet);font-size:12px;line-height:1.9}.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:55px 0}.piece{display:block;min-width:0}.piece canvas{display:block;width:100%;height:370px;border:1px solid #1b2230}.piece .number{color:var(--quiet);font-size:10px}.piece h2{font-size:14px;font-weight:400;letter-spacing:.1em;margin:20px 0 8px}.piece p{font-size:11px;color:var(--quiet);max-width:35ch}.collection footer{font-size:10px;color:var(--quiet);border-top:1px solid var(--edge);padding-top:20px}.collection .error{position:static;margin:40px 0}
@media(max-width:700px){.masthead{padding:16px 18px 0;gap:6px}.title{font-size:12px;letter-spacing:.12em}.subtitle{font-size:9px;max-width:180px}.navigation{gap:0}.navigation a{width:33px}.navigation .home{display:none}.navigation button{margin-left:4px}.poem-footer{padding:4px 18px 18px}.toolbar{gap:6px}.toolbar label{gap:5px}.toolbar select,.toolbar button{font-size:11px;padding:7px 9px}.control-name{display:none}.footnote{align-items:flex-start;gap:12px;font-size:9px}.legend{gap:8px 12px}.credit{font-size:8px}.hover-readout{left:18px;right:18px;font-size:10px;bottom:4px}dialog{padding:22px}.collection{padding:24px 20px 45px}.collection h1{margin-top:36px}.triptych{grid-template-columns:1fr;gap:42px;margin-top:36px}.piece canvas{height:350px}.piece h2{margin-top:14px}}
