@font-face{font-family:IM Fell DW Pica;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-dw-pica-latin-400-normal-CvO4MhwA.woff2)format("woff2"),url(./im-fell-dw-pica-latin-400-normal-BckB3Xg5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell DW Pica;font-style:italic;font-display:swap;font-weight:400;src:url(./im-fell-dw-pica-latin-400-italic-DofQCskI.woff2)format("woff2"),url(./im-fell-dw-pica-latin-400-italic-YJapCll6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell DW Pica SC;font-style:normal;font-display:swap;font-weight:400;src:url(./im-fell-dw-pica-sc-latin-400-normal-DiGyXIoI.woff2)format("woff2"),url(./im-fell-dw-pica-sc-latin-400-normal-B7bljqnR.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-ext-400-normal-B-EsvyE4.woff2)format("woff2"),url(./courier-prime-latin-ext-400-normal-CKOCNFvK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(./courier-prime-latin-400-normal-BbyBr73r.woff2)format("woff2"),url(./courier-prime-latin-400-normal-BAlbUm6l.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#000;--paper:#fff;--serif:"IM Fell DW Pica", "Iowan Old Style", Georgia, serif;--sc:"IM Fell DW Pica SC", "IM Fell DW Pica", Georgia, serif;--mono:"Courier Prime", "Courier New", monospace;--hair:.6px;--light:1px;--gutter:clamp(18px, 2.4vw, 40px)}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-size:15px;line-height:1.35}#stage{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}button:focus-visible,[tabindex]:focus-visible{outline:var(--light) dashed var(--ink);outline-offset:3px}.sc{font-family:var(--sc);letter-spacing:.06em}svg .hair{stroke:currentColor;stroke-width:var(--hair);fill:none}svg .line{stroke:currentColor;stroke-width:1.2px;fill:none;stroke-linecap:round;stroke-linejoin:round}svg .line.thin{stroke-width:.9px}svg .fill{fill:currentColor;stroke:none}svg .dash{stroke-dasharray:2 3}.plate{pointer-events:none;padding:var(--gutter);transition:opacity .6s;position:fixed;inset:0}.plate-head{pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:start;display:grid}.plate-head>*{pointer-events:auto}.head-series{flex-direction:column;gap:2px;font-size:13px;display:flex}.head-plate{opacity:.75;font-style:italic}.head-title{text-align:center}.head-title .fig{font-size:13px}.head-title h1{font-family:var(--sc);letter-spacing:.16em;text-indent:.16em;margin:0;font-size:clamp(24px,2.8vw,40px);font-weight:400;line-height:1.1}.head-names{border-top:var(--hair) solid var(--ink);gap:0;margin-top:5px;padding-top:4px;font-size:13.5px;display:inline-flex}.head-names span{padding:0 14px}.head-names span+span{border-left:var(--hair) solid var(--ink)}.head-names .latin{font-style:italic}.head-specimen{text-align:right;flex-direction:column;justify-self:end;align-items:flex-end;font-size:13px;display:flex}.specimen-no{font-family:var(--mono);letter-spacing:.04em;border:var(--hair) solid var(--ink);margin-top:3px;padding:3px 9px 1px;font-size:17px}.head-actions{flex-direction:column;align-items:flex-end;gap:5px;margin-top:12px;display:flex}.head-actions .ctl-action{align-self:flex-end}.fps{font-family:var(--mono);opacity:.4;margin-top:4px;font-size:11px}.ring-ui{pointer-events:none;position:fixed;inset:0}.arc-btn{opacity:.5;pointer-events:auto;white-space:nowrap;will-change:transform;align-items:center;gap:8px;padding:3px 0;font-size:14px;transition:opacity .2s;display:flex;position:absolute;top:0;left:0}.arc-btn.left{flex-direction:row-reverse}.arc-btn:hover,.arc-btn.on{opacity:1}.arc-btn .tool-icon{flex:none}.arc-btn.on:after{content:"";background:var(--ink);border-radius:50%;flex:none;order:-1;width:5px;height:5px}.arc-btn.left.on:after{order:-1}.below{pointer-events:auto;will-change:transform;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0}.foot-eco{justify-content:center;gap:18px;display:flex}.readout{flex-direction:column;flex:none;gap:2px;width:126px;display:flex}.readout-glyph{flex:none}.readout-top{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.readout-top .ctl-read{text-align:right;min-width:5ch;margin-left:auto}.spark{width:126px;display:block;overflow:visible}.tool-hint{text-align:center;width:min(620px,92vw);height:2.7em;margin:0;font-size:13.5px;font-style:italic;line-height:1.35;overflow:hidden}kbd.key{font-family:var(--mono);border:var(--hair) solid var(--ink);letter-spacing:0;text-transform:none;border-radius:2px;padding:3px 5px 2px;font-size:11px;font-style:normal;line-height:1}kbd.key.inline{vertical-align:1px;margin-left:4px}.ctl-action{position:relative}.arc-btn>kbd.key,.ctl-action>kbd.key{opacity:0;pointer-events:none;background:var(--paper);transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.arc-btn.right>kbd.key{margin-left:9px;left:100%}.arc-btn.left>kbd.key,.ctl-action>kbd.key{margin-right:9px;right:100%}.arc-btn:hover>kbd.key,.arc-btn:focus-visible>kbd.key,.ctl-action:hover>kbd.key,.ctl-action:focus-visible>kbd.key{opacity:1}body.phone kbd.key{display:none}.ctl{display:block}.ctl-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ctl-label{font-family:var(--sc);letter-spacing:.05em;font-size:13px}.ctl-read{font-family:var(--mono);margin-left:auto;font-size:12px}.ctl-svg{cursor:pointer;touch-action:none;display:block;overflow:visible}.ctl-dial{flex-direction:column;align-items:center;display:flex}.ctl-dial .ctl-head{width:100%}.ctl-toggle{opacity:.62;align-items:center;gap:8px;display:flex}.ctl-toggle.on,.ctl-toggle:hover{opacity:1}.ctl-options{flex-wrap:wrap;gap:3px 12px;display:flex}.opt{font-family:var(--sc);letter-spacing:.05em;opacity:.62;align-items:center;gap:5px;font-size:13px;display:inline-flex}.opt.on,.opt:hover{opacity:1}.opt .dot{opacity:0}.opt.on .dot{opacity:1}.ctl-action{font-family:var(--sc);letter-spacing:.06em;border-bottom:var(--hair) solid var(--ink);opacity:.8;align-self:flex-start;padding-bottom:1px;font-size:13.5px}.ctl-action:hover{opacity:1;border-bottom-width:var(--light)}.row{align-items:flex-start;gap:12px;display:flex}.col{flex-direction:column;gap:6px;display:flex}.dial-top,.dial-depth{font-family:var(--mono);white-space:nowrap;will-change:transform;position:fixed;top:0;left:0}.dial-depth{pointer-events:none;font-size:12px}.dial-depth-head{flex-direction:column;align-items:center;gap:2px;display:flex}.dial-select{pointer-events:auto;appearance:none;font:inherit;color:inherit;border:0;border-bottom:var(--hair) solid var(--ink);cursor:pointer;text-align:center;background:0 0;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 5px) 55%,calc(100% - 1px) 55%;background-repeat:no-repeat;background-size:4px 4px;border-radius:0;padding:0 12px 1px 1px}.dial-select option{color:#000;background:#fff}.dial-depth-read{text-align:center;min-width:7ch}.dial-top{align-items:baseline;gap:10px;display:flex}.dial-time{font-family:var(--mono);letter-spacing:.08em;font-size:17px}.dial-time.stopped{opacity:.6}.dial-time.stopped:after{content:" ‖"}.dial-speed{font-family:var(--mono);opacity:.7;border-bottom:var(--hair) solid var(--ink);font-size:12px}.dial-speed:hover{opacity:1}body.phone .dial-time{font-size:14px}.labels{pointer-events:none;position:fixed;inset:0}.label{white-space:nowrap;will-change:transform, opacity;font-size:13.5px;line-height:1.15;position:absolute;top:0;left:0}.label .term{opacity:.8;font-size:12.5px;font-style:italic}.label .maori{font-family:var(--sc);letter-spacing:.05em;opacity:.8;font-size:12px}.label.right{text-align:left}.label.left{text-align:right}.card{z-index:5;left:var(--gutter);background:var(--paper);border:var(--hair) solid var(--ink);pointer-events:auto;-webkit-user-select:text;user-select:text;width:min(290px,24vw);box-shadow:4px 4px 0 -3.4px var(--ink), 4px 4px 0 -3.4px var(--ink);padding:14px 16px 12px;position:fixed;bottom:16vh}.card:after{content:"";border:var(--hair) solid var(--ink);pointer-events:none;position:absolute;inset:3px}.card h2{font-family:var(--sc);letter-spacing:.08em;margin:0;font-size:20px;font-weight:400}.card .card-terms{border-bottom:var(--hair) solid var(--ink);margin-bottom:8px;padding-bottom:7px;font-size:13.5px;font-style:italic}.card .card-terms .maori{font-family:var(--sc);letter-spacing:.05em;font-style:normal}.card dl{margin:0}.card dt{font-family:var(--sc);letter-spacing:.07em;margin-top:8px;font-size:12.5px}.card dd{margin:1px 0 0;font-size:14px;line-height:1.38}.card dd.live{font-family:var(--mono);white-space:pre-line;font-size:12px;line-height:1.5}.card .bars{vertical-align:middle;align-items:flex-end;gap:3px;height:22px;margin-right:8px;display:inline-flex}.card .bars i{background:var(--ink);width:6px;min-height:1px;display:block}.card .close{z-index:2;font-family:var(--sc);padding:4px;font-size:12px;position:absolute;top:8px;right:10px}.sheet{z-index:10;background:var(--paper);-webkit-user-select:text;user-select:text;padding:clamp(24px,6vw,80px);position:fixed;inset:0;overflow:auto}.sheet-inner{max-width:66ch;margin:0 auto;font-size:17px;line-height:1.55}.sheet h2{font-family:var(--sc);letter-spacing:.14em;text-align:center;margin:0 0 4px;font-size:34px;font-weight:400}.sheet .sub{text-align:center;border-bottom:var(--hair) solid var(--ink);margin-bottom:30px;padding-bottom:18px;font-style:italic}.sheet h3{font-family:var(--sc);letter-spacing:.08em;margin:30px 0 6px;font-size:19px;font-weight:400}.sheet p{margin:0 0 10px}.sheet ol{padding-left:1.4em;font-size:14.5px;line-height:1.45}.sheet a{color:inherit}.sheet .close{top:var(--gutter);right:var(--gutter);font-family:var(--sc);border-bottom:var(--hair) solid var(--ink);background:var(--paper);font-size:14px;position:fixed}.params .sheet-inner{max-width:880px;font-size:14px}.params-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:4px 34px;display:grid}.params-group{break-inside:avoid;margin-bottom:16px}.params-group h3{border-bottom:var(--hair) solid var(--ink);margin:14px 0 8px;padding-bottom:4px}.params .ctl-slider{margin-bottom:5px}.params .ctl-label{font-family:var(--serif);letter-spacing:0;font-size:13px}.params .regen .ctl-label:after{content:" †"}.params-actions{flex-wrap:wrap;gap:10px 22px;margin:18px 0;display:flex}.capture-bar{z-index:8;background:var(--paper);border:var(--hair) solid var(--ink);align-items:center;gap:18px;padding:8px 14px;font-size:13px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.capture-frame{z-index:3;pointer-events:none;border:var(--hair) dashed var(--ink);position:fixed}body[data-capture]:not([data-capture=""]) .ring-ui,body[data-capture]:not([data-capture=""]) .head-actions,body[data-capture]:not([data-capture=""]) .dial-top,body[data-capture]:not([data-capture=""]) .dial-depth,body[data-capture]:not([data-capture=""]) .head-series{visibility:hidden}body.recording .capture-bar,body.recording .capture-frame{display:none}body.phone{font-size:14px}body.phone .plate{padding:10px 12px calc(8px + env(safe-area-inset-bottom))}body.phone .plate-head{grid-template-columns:1fr auto;align-items:center}body.phone .head-series,body.phone .head-names,body.phone .head-title .fig,body.phone .head-specimen .sc{display:none}body.phone .head-title{text-align:left}body.phone .head-title h1{letter-spacing:.12em;text-indent:0;font-size:20px}body.phone .specimen-no{margin:0;font-size:13px}body.phone .drawer-open{pointer-events:auto;font-size:12.5px;position:absolute;top:44px;right:12px}body.phone .phone-strip{left:12px;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));pointer-events:auto;position:absolute}body.phone .phone-strip .tool-hint{max-width:none;min-height:2.7em;margin:0 0 6px;font-size:12.5px}body.phone .arc{display:flex}body.phone .arc-left{border-top:var(--hair) solid var(--ink);flex-direction:row;justify-content:space-between;padding-top:6px}body.phone .arc-btn{position:static;transform:none!important}body.phone .arc-left .arc-btn{flex-direction:column;gap:1px;font-size:11.5px}body.phone .arc-left .arc-btn.on:after{margin-top:-46px;position:absolute}body.phone .arc-right{flex-direction:column;gap:4px}body.phone .drawer{z-index:6;pointer-events:none;position:fixed;inset:0}body.phone .drawer.open{pointer-events:auto}body.phone .drawer-sheet{background:var(--paper);border-top:var(--light) solid var(--ink);max-height:76vh;padding:16px 18px calc(18px + env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:1fr 1fr;gap:18px;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid;position:absolute;bottom:0;left:0;right:0;overflow:auto;transform:translateY(102%)}body.phone .drawer.open .drawer-sheet{transform:none}body.phone .drawer-sheet .below{order:3;grid-column:1/-1;position:static;transform:none!important}body.phone .drawer-sheet .foot-eco{flex-wrap:wrap;gap:12px 18px}body.phone .drawer-sheet .head-actions{align-items:flex-start;margin:0}body.phone .drawer-sheet .head-actions .ctl-action{align-self:flex-start}body.phone .card{width:auto;left:12px;right:12px;bottom:calc(96px + env(safe-area-inset-bottom));max-height:46vh;overflow:auto}body.phone .label{font-size:11.5px}body.phone .label .term,body.phone .label .maori{display:none}@media (prefers-reduced-motion:reduce){.plate,.drawer-sheet,.arc-btn{transition:none!important}}
