@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Bold.subset.woff2)format("woff2");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Gambetta;src:url(/fonts/Gambetta-Light.subset.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Gambetta;src:url(/fonts/Gambetta-Regular.subset.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Martian Mono;src:url(/fonts/MartianMono-Regular.subset.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--ground:#080d16;--wall-top:#16203a;--wall-bot:#0b1220;--board:#56321c;--text:#f2f5fa;--dim:#f2f5fa8f;--faint:#f2f5fa47;--lamp:#c6d6ee4d;--match:#ffc684c7;--gilt:#b0bed661;--display:"PP Neue Montreal", sans-serif;--prose:"Gambetta", Georgia, serif;--data:"Martian Mono", ui-monospace, monospace;--sensitivity:.18;--damping:.9;--pitch-clamp:41deg;--click-threshold:4px;--room-radius:1000px;--perspective:720px;--scroll-speed:.09;--brightness:.34;--vignette:.58;--shelf-light:.3;--instant:0s;--quick:.16s;--settle:.34s;--travel:.8s;--arrival:3s;--ease-quick:cubic-bezier(.3, .9, .4, 1);--ease-settle:cubic-bezier(.2, .9, .25, 1);--ease-travel:cubic-bezier(.4, 0, .2, 1);--ease-arrival:cubic-bezier(.25, 0, .35, 1)}@media (prefers-reduced-motion:reduce){:root{--settle:0s;--travel:0s;--arrival:0s}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--ground);height:100%;color:var(--text);font-family:var(--prose);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.scene-root{z-index:0;touch-action:none;cursor:grab;position:fixed;inset:0}.scene-root:active{cursor:grabbing}.dom-root{z-index:1;pointer-events:none;position:relative}.dom-root :where(a,button,input,textarea,select,[tabindex]){pointer-events:auto}.wordmark{font-family:var(--display);letter-spacing:-.02em;color:var(--text);font-size:21px;font-weight:700;text-decoration:none;position:fixed;top:26px;left:30px}a{color:var(--text)}a:visited{color:var(--dim)}.tools{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);gap:24px;font-size:11px;display:flex;position:fixed;top:30px;right:30px}.tools a{color:inherit;transition:color var(--quick) var(--ease-quick);text-decoration:none}.tools a:hover,.tools a:focus-visible{color:var(--text)}:focus-visible{outline:2px solid var(--match);outline-offset:3px}.hover-label{z-index:3;pointer-events:none;will-change:transform;background:#080d16ed;border:1px solid #ffce9638;border-radius:2px;max-width:42ch;margin:18px 0 0 18px;padding:7px 11px 8px;position:fixed;top:0;left:0}.hover-title{font-family:var(--display);letter-spacing:-.02em;color:var(--text);font-size:15px;font-weight:700;display:block}.hover-meta{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:4px;font-size:9px;display:block}.sheet-scrim{z-index:4;pointer-events:auto;animation:fade var(--settle) var(--ease-settle);background:#04070da8;position:fixed;inset:0}.sheet{z-index:5;pointer-events:auto;width:min(46ch,92vw);animation:slide var(--settle) var(--ease-settle);background:linear-gradient(#16203a,#080d16);border-left:1px solid #b0c6e82e;padding:96px 40px 40px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.sheet-meta{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:#bed0eaad;font-size:10px}.sheet h2{font-family:var(--display);letter-spacing:-.03em;margin-top:14px;font-size:30px;font-weight:700;line-height:1.1}.sheet-body{font-family:var(--prose);color:#f2f5facc;margin-top:20px;font-size:16px;font-weight:300;line-height:1.66}.sheet-media{margin-top:26px}.sheet-media :is(img,video){border-radius:2px;width:100%;height:auto;display:block}.sheet-media audio{width:100%}.sheet-media figcaption{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:8px;font-size:10px}.sheet-close{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);cursor:pointer;transition:color var(--quick) var(--ease-quick), border-color var(--quick) var(--ease-quick);background:0 0;border:1px solid #f2f5fa38;border-radius:2px;margin-top:34px;padding:8px 14px;font-size:10px}.sheet-close:hover,.sheet-close:focus-visible{color:var(--text);border-color:#b0c6e88c}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.sheet-scrim,.sheet{animation:none}}.catalog{pointer-events:auto;max-width:64ch;margin:0 auto;padding:118px 30px 140px;display:block;position:relative}.catalog h1{font-family:var(--display);letter-spacing:-.035em;font-size:44px;font-weight:700}.catalog .lede{font-family:var(--prose);color:var(--dim);max-width:46ch;margin-top:14px;font-size:16px;font-weight:300;line-height:1.66}.catalog section{margin-top:66px}.catalog h2{font-family:var(--display);letter-spacing:-.03em;font-size:30px;font-weight:700}.catalog .bay-meta{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:6px;font-size:9px}.catalog .shelf{margin-top:30px}.catalog h3{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:#ffd6a6b3;border-bottom:1px solid #ffce962e;justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:7px;font-size:11px;font-weight:400;display:flex}.catalog h3 a{color:inherit;text-decoration:none}.catalog h3 a:hover{color:var(--text)}.catalog .shelf-metric{color:var(--faint);white-space:nowrap}.catalog h3.living{color:#ffce96f2}.catalog h3.living .shelf-metric{color:#ffce96db}.catalog ul{margin-top:8px;list-style:none}.catalog li{border-bottom:1px solid #f7f1e60f;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;display:flex}.catalog li a{font-family:var(--display);letter-spacing:-.02em;font-size:15px;font-weight:700;text-decoration:none}.catalog li a:hover{color:#ffd6a6f2}.catalog .meta{font-family:var(--data);letter-spacing:.12em;color:var(--faint);white-space:nowrap;font-size:10px}.catalog .empty{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:10px;font-size:10px}.catalog--focus{clip-path:inset(50%);white-space:nowrap;z-index:6;width:1px;height:1px;margin:0;padding:0;position:fixed;top:0;left:0;overflow:hidden}.catalog--focus:focus-within{clip-path:none;width:auto;max-width:52ch;height:auto;inset:auto auto 26px 30px;overflow:visible}.catalog--focus:focus-within>*{display:none}.catalog--focus :is(a,[tabindex]):focus-visible{font-family:var(--display);letter-spacing:-.02em;color:var(--text);background:#080d16f0;border:1px solid #b0c6e88c;border-radius:2px;outline:none;padding:9px 13px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.catalog--focus:focus-within :is(section,div,h2,h3,ul,li):has(:focus-visible){display:block}.catalog--focus:focus-within :is(h2,h3,.meta,.bay-meta,.shelf-metric,.lede,.catalog-hint){display:none}.catalog-hint{clip-path:inset(50%);position:absolute}.room-degraded .catalog--focus{clip-path:none;white-space:normal;width:auto;max-width:64ch;height:auto;margin:0 auto;padding:118px 30px 140px;position:static;overflow:visible}.room-degraded .catalog--focus>*{display:block}.room-degraded .catalog--focus :is(h2,.meta,.bay-meta,.shelf-metric,.empty){display:revert}.room-degraded .catalog--focus h3,.room-degraded .catalog--focus li{white-space:normal;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.room-degraded .catalog--focus :is(.shelf-metric,.meta){white-space:nowrap}.room-degraded .catalog--focus :is(a,[tabindex]):focus-visible{display:revert;outline:2px solid var(--match);outline-offset:3px;background:0 0;border:none;padding:0}.room-degraded .catalog-hint{display:none}.degrade-note{z-index:2;max-width:64ch;font-family:var(--prose);color:var(--dim);margin:0 auto;padding:96px 30px 0;font-size:16px;font-weight:300;line-height:1.66;position:relative}.degrade-note--transient{z-index:7;background:#080d16f0;border:1px solid #b0c6e84d;border-radius:2px;max-width:40ch;margin:0;padding:9px 13px;font-size:13px;position:fixed;bottom:26px;left:30px}.artifact{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;top:0;left:0;overflow:hidden}.room-degraded .artifact,.no-js .artifact{clip-path:none;white-space:normal;width:auto;max-width:64ch;height:auto;margin:0 auto;padding:118px 30px 30px;position:static;overflow:visible}.room-degraded .degrade-note+.artifact{padding-top:22px}.artifact-meta{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:#bed0eaad;font-size:10px}.artifact h1{font-family:var(--display);letter-spacing:-.03em;margin-top:14px;font-size:34px;font-weight:700;line-height:1.08}.artifact-body{font-family:var(--prose);color:#f2f5facc;margin-top:20px;font-size:17px;font-weight:300;line-height:1.66}.artifact-media{margin-top:26px}.artifact-media :is(img,video){border-radius:2px;width:100%;height:auto;display:block}.artifact-media audio{width:100%}.artifact-media figcaption{font-family:var(--data);color:var(--dim);margin-top:8px;font-size:11px}.artifact-back{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;margin-top:34px;font-size:11px}.artifact-back a{color:var(--dim);text-decoration:none}.artifact-back a:hover{color:var(--text)}.no-js .catalog--focus{clip-path:none;white-space:normal;width:auto;max-width:64ch;height:auto;margin:0 auto;padding:118px 30px 140px;position:static;overflow:visible}.no-js .catalog--focus>*{display:block}.no-js .catalog--focus h3,.no-js .catalog--focus li{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.no-js .catalog-hint{display:none}.case-labels{z-index:3;pointer-events:none;position:fixed;inset:0;overflow:hidden}.case-label{white-space:nowrap;will-change:transform, opacity;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:0;left:0}.case-label:before,.bay-label:before{content:"";z-index:-1;background:radial-gradient(closest-side,#060a1299,#060a124d 55%,#0000);position:absolute;inset:-.6em -1.2em -.7em}.case-label-name{font-family:var(--display);letter-spacing:-.03em;color:var(--text);text-shadow:0 2px 18px #000000eb,0 0 3px #000000bf;font-size:1em;font-weight:700;line-height:1}.case-label-meta{font-family:var(--data);letter-spacing:.18em;text-transform:uppercase;color:#bed0eae6;text-shadow:0 1px 10px #000000e6;font-size:.34em}.room-degraded .case-labels{display:none}.bay-label{font-family:var(--display);letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:var(--text);white-space:nowrap;text-shadow:0 2px 26px #000000f2;will-change:transform, opacity;font-weight:700;line-height:1;position:absolute;top:0;left:0}.desk{z-index:3;background:var(--ground);max-width:780px;min-height:100vh;margin:0 auto;padding:108px 26px 120px;position:relative}.desk h1{font-family:var(--display);letter-spacing:-.042em;color:var(--text);font-size:60px;font-weight:700}.desk .lede{font-family:var(--prose);max-width:46ch;color:var(--dim);margin-top:14px;font-size:16px;font-weight:300;line-height:1.66}.desk-back{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:60px;font-size:11px}.desk-back a{color:var(--dim);text-decoration:none}.desk-back a:hover{color:var(--text)}.shelver-lede{font-family:var(--prose);max-width:52ch;color:var(--dim);margin-top:44px;font-size:15px;font-weight:300;line-height:1.66}.shelver code{font-family:var(--data);color:var(--text);font-size:.82em}.shelver-shelves{grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:10px;margin-top:26px;list-style:none;display:grid}.shelf-target{text-align:left;cursor:pointer;width:100%;min-height:92px;transition:border-color var(--quick) var(--ease-quick), background var(--quick) var(--ease-quick);background:#16203a57;border:1px solid #b0bed624;border-radius:3px;flex-direction:column;gap:3px;padding:14px;display:flex}.shelf-target:hover{border-color:#b0bed64d}.shelf-target:focus-visible{outline:2px solid var(--match);outline-offset:2px}.shelf-target.is-selected{border-color:var(--match);background:#ffc68414}.shelf-target.is-over{border-color:var(--match);background:#ffc68429}.shelf-target-bay,.shelf-target-count,.shelf-target-note{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10px}.shelf-target-name{font-family:var(--display);letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:700}.shelf-target-count{color:var(--dim)}.shelf-target-note{color:#ffce96db}.shelver-form{border-top:1px solid #b0bed629;margin-top:34px;padding-top:30px}.shelver-form h2{font-family:var(--display);letter-spacing:-.03em;color:var(--dim);font-size:27px;font-weight:700}.shelver-form h2 strong{color:var(--text)}.shelver-bay{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-left:12px;font-size:10px}.shelver-warn{border-left:2px solid var(--match);font-family:var(--prose);color:#ffd6b0eb;background:#ffc68412;margin-top:14px;padding:12px 14px;font-size:15px;font-weight:300;line-height:1.6}.shelver-drop{cursor:pointer;border:1px dashed #b0bed647;border-radius:3px;margin-top:20px;padding:20px;display:block}.shelver-drop span{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:10px;font-size:10px;display:block}.shelver-drop input{font-family:var(--data);color:var(--dim);font-size:12px}.shelver-field{margin-top:20px}.shelver-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.shelver-field label{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:10px;display:block}.shelver-kind{color:var(--faint)}.shelver-field input,.shelver-field textarea{width:100%;color:var(--text);font-family:var(--prose);background:#0b1220db;border:1px solid #b0bed633;border-radius:2px;margin-top:7px;padding:11px 12px;font-size:16px;font-weight:300;line-height:1.6;display:block}.shelver-field input:focus-visible,.shelver-field textarea:focus-visible{outline:2px solid var(--match);outline-offset:1px}.shelver-field textarea{resize:vertical}.shelver-hint{font-family:var(--data);letter-spacing:.12em;color:var(--faint);margin-top:6px;font-size:10px}.shelver-media{border:1px solid #b0bed629;border-radius:3px;margin-top:26px;padding:4px 16px 18px}.shelver-media legend{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:0 8px;font-size:10px}.shelver-drop-media,.shelver-actions button{min-height:44px;color:var(--dim);font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #b0bed647;border-radius:2px;margin-top:10px;padding:10px 16px;font-size:10px}.shelver-drop-media{min-height:0;padding:6px 10px}.shelver-drop-media:hover,.shelver-actions button:hover{color:var(--text);border-color:var(--match)}.shelver-actions button[disabled]{opacity:.5;cursor:default}.shelver-actions{gap:12px;margin-top:30px;display:flex}.shelver-actions button:first-child{color:var(--text);border-color:var(--match)}.shelver-rejected,.shelver-result{border-left:2px solid var(--faint);font-family:var(--prose);color:var(--dim);background:#16203a66;border-radius:3px;margin-top:26px;padding:16px 18px;font-size:15px;font-weight:300;line-height:1.6}.shelver-rejected{list-style:none}.shelver-rejected strong,.shelver-result strong{color:var(--text)}.shelver-result ul{margin-top:10px;list-style:none}.shelver-result li{font-family:var(--data);color:var(--faint);font-size:11px}.shelver-result p+p{margin-top:12px}.shelver-result a{color:#ffd6a6f2}.shelver-result--refused{border-left-color:#ff8a7acc}.shelver-result--ok{border-left-color:var(--match)}@media (max-width:560px){.desk{padding:92px 18px 90px}.desk h1{font-size:38px}.shelver-row{grid-template-columns:1fr}}.desk-back--top{margin:0 0 26px}.admin-flash{border-left:2px solid var(--match);font-family:var(--prose);color:#ffd6b0eb;background:#ffc68412;margin-top:26px;padding:12px 16px;font-size:15px;font-weight:300}.admin-migrate{font-family:var(--prose);color:var(--dim);background:#ffc6840f;border:1px solid #ffc6844d;border-radius:3px;margin-top:30px;padding:20px 22px;font-size:15px;font-weight:300;line-height:1.66}.admin-migrate strong{color:var(--text)}.admin-migrate p+p{margin-top:10px}.admin-migrate button{border:1px solid var(--match);min-height:44px;color:var(--text);font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;margin-top:16px;padding:11px 18px;font-size:10px}.admin-migrate button[disabled]{opacity:.5;cursor:default}.admin-bay{margin-top:50px}.admin-bay h2{font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid #b0bed624;padding-bottom:8px;font-size:11px}.admin-shelf{margin-top:20px}.admin-shelf h3{font-family:var(--display);letter-spacing:-.02em;color:var(--text);align-items:baseline;gap:12px;font-size:19px;font-weight:700;display:flex}.admin-count,.admin-note,.admin-meta{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10px}.admin-note{color:#ffce96cc}.admin-shelf ul{margin-top:8px;list-style:none}.admin-shelf li{border-bottom:1px solid #b0bed614;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;display:flex}.admin-shelf li a{font-family:var(--prose);color:var(--dim);font-size:16px;font-weight:400;text-decoration:none}.admin-shelf li a:hover{color:#ffd6a6f2}.admin-locked{font-family:var(--prose);color:var(--faint);font-size:16px;font-style:italic;font-weight:300}.admin-title{font-family:var(--display);letter-spacing:-.035em;color:var(--text);font-size:42px;font-weight:700}.shelver-hint--warn{color:#ffce96db}.shelver-field select{width:100%;color:var(--text);font-family:var(--prose);background:#0b1220db;border:1px solid #b0bed633;border-radius:2px;margin-top:7px;padding:11px 12px;font-size:16px;font-weight:300;display:block}.shelver-field input[disabled]{opacity:.45}.admin-media{border-bottom:1px solid #b0bed61a;gap:14px;padding:14px 0;display:flex}.admin-media-preview{background:#0b1220cc;border:1px solid #b0bed624;border-radius:2px;flex:0 0 84px;place-items:center;height:84px;display:grid;overflow:hidden}.admin-media-preview img{object-fit:cover;width:100%;height:100%}.admin-media-kind{font-family:var(--data);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-size:10px}.admin-media-fields{flex:auto;min-width:0}.admin-media-fields label{margin-bottom:6px;display:block}.admin-media-fields code{font-family:var(--data);color:var(--faint);font-size:10px}.admin-media-fields input{width:100%;color:var(--text);font-family:var(--prose);background:#0b1220db;border:1px solid #b0bed633;border-radius:2px;padding:9px 11px;font-size:15px;font-weight:300;display:block}.admin-media-actions{gap:8px;margin-top:8px;display:flex}.admin-media-actions button{color:var(--dim);font-family:var(--data);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #b0bed63d;border-radius:2px;padding:6px 11px;font-size:10px}.admin-media-actions button[disabled]{opacity:.35;cursor:default}.admin-link-button{min-height:44px;color:var(--dim);font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;border:1px solid #b0bed647;border-radius:2px;align-items:center;margin-top:10px;padding:10px 16px;font-size:10px;text-decoration:none;display:inline-flex}.admin-link-button:hover{color:var(--text);border-color:var(--match)}.admin-danger{color:#ff8a7af2!important}.admin-danger:hover{border-color:#ff8a7ab3!important}.admin-delete{font-family:var(--prose);color:var(--dim);border-top:1px solid #ff8a7a33;margin-top:60px;padding-top:26px;font-size:15px;font-weight:300;line-height:1.6}.admin-delete strong{color:var(--text)}.admin-delete ul{margin-top:10px;list-style:none}.admin-delete li{font-family:var(--data);color:var(--faint);font-size:11px}.admin-delete>button{min-height:44px;font-family:var(--data);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ff8a7a59;border-radius:2px;padding:10px 16px;font-size:10px}
