@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";:root{color:var(--ink);background:var(--environment);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#171816;--muted:#6c6d67;--paper:#f4f3ee;--manual-surface:#f5f5f2;--field:#deddd7;--environment:#fafafaf2;--line:#c5c4bd;--signal:#ef4b2f;--white:#fff;--ink-rgb:23, 24, 22;--shade-rgb:18, 18, 16;--shelf-front-top:#f0f0ee;--shelf-front-mid:#eaeae7;--shelf-front-bottom:#e4e4e1;--shelf-top-far:#d7d6d3;--shelf-top-mid:#ebebe8;--shelf-top-near:#f4f4f2;--shelf-top-lip:#f8f8f6;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-in-quart:cubic-bezier(.895, .03, .685, .22);--route-duration:.42s;--intro-album-delay:.4s;--intro-stagger:75ms;--intro-drop:.4s;--app-gutter:32px;--app-width:1264px;--app-inset:max(var(--app-gutter), (100% - var(--app-width)) / 2);font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}body{overflow:hidden}button,input{font:inherit}button{color:inherit}.manual-shell{background:radial-gradient(ellipse 70% 58% at 50% 48%, #ffffffd9, #fff0 74%), var(--environment);grid-template-rows:76px minmax(0,1fr);width:100%;height:100%;min-height:640px;display:grid}.app-header{z-index:20;width:min(100% - var(--app-gutter) * 2, var(--app-width));view-transition-name:none;background:0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;height:76px;margin-inline:auto;display:grid}.is-home .app-header{position:absolute;top:0;left:0;right:0}.brand{width:max-content;color:var(--ink);text-decoration:none;display:block}.brand-mark{width:auto;height:46px;display:block}.brand-mark svg{width:auto;height:100%;display:block}.app-header-meta{color:var(--muted);letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;justify-self:end;font:500 10px/1 DM Mono,monospace;overflow:hidden}.figure-caption{letter-spacing:.05em;text-transform:uppercase;font:500 11px/1.2 DM Mono,monospace}.manual-camera{color:var(--ink);letter-spacing:0;text-transform:none;text-wrap:balance;font:500 clamp(24px,2.1vw,28px)/1.1 Manrope,sans-serif}.manual-identity{align-items:center;gap:12px;min-width:0;display:flex}.manual-back{width:32px;height:32px;color:var(--muted);flex:none;place-items:center;text-decoration:none;transition:color .15s;display:grid}.manual-back svg{stroke-width:1.7px;width:17px;height:17px}.manual-back:hover{color:var(--ink)}.manual-back:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.manual-camera-block{gap:5px;min-width:0;display:grid}.manual-meta{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font:500 10px/1.2 DM Mono,monospace}.view-select{position:relative}.view-select-trigger{min-height:32px;color:var(--ink);cursor:pointer;letter-spacing:0;text-transform:none;background:0 0;border:0;align-items:center;gap:7px;padding:4px 0;font:500 14px/1.2 Manrope,sans-serif;display:flex}.view-select-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font:500 10px/1 DM Mono,monospace}.view-select-value{font-weight:500}.view-select-trigger svg{width:15px;height:15px;color:var(--muted);transition:transform .18s var(--ease-out)}.view-select.is-open .view-select-trigger svg{transform:rotate(180deg)}.view-select-trigger:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.view-select-menu{z-index:30;background:var(--paper);border:1px solid rgba(var(--ink-rgb), .08);min-width:216px;box-shadow:0 10px 28px rgba(var(--shade-rgb), .1);border-radius:8px;padding:6px;position:absolute;top:calc(100% + 8px);left:0}.view-select-menu[hidden]{display:none}.view-select-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:3px;width:100%;padding:8px 10px;display:grid}.view-select-menu button:hover,.view-select-menu button[aria-selected=true]{background:rgba(var(--ink-rgb), .05)}.view-select-menu span{color:var(--muted);font:400 10px/1 DM Mono,monospace}.view-select-menu strong{color:var(--ink);font:600 13px/1.2 Manrope,sans-serif}.view-select-menu button:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.manual-workspace{width:min(100% - var(--app-gutter) * 2, var(--app-width));grid-template-rows:auto;grid-template-columns:minmax(0,min(920px,156.86vh - 345.092px)) minmax(280px,330px);place-content:start center;place-self:stretch center;gap:0 48px;min-height:0;padding:12px 0 36px;display:grid}.manual-surface{grid-area:1/1/auto/-1;grid-template-columns:subgrid;grid-template-rows:auto auto;align-items:start;gap:18px 48px;display:grid;position:relative}.manual-identity{grid-area:1/1/auto/-1;align-self:start;width:max-content;min-width:0}.detail-stack{flex-direction:column;grid-area:2/2;align-self:start;gap:12px;min-width:0;display:flex}.detail-stack .view-select{flex:none;align-self:flex-end}.diagram{grid-area:2/1;gap:14px;min-width:0;display:grid;position:relative}.gutter{z-index:4;width:21%;transform:translateY(var(--content-offset-y,0px));padding:0;display:block;position:absolute;top:5%;bottom:5%}.gutter--left{text-align:left;align-items:flex-start;left:1%}.gutter--top{text-align:center;width:36%;height:10%;top:5%;bottom:auto;left:32%}.gutter--right{text-align:right;align-items:flex-end;right:1%}.label{cursor:pointer;background:0 0;border:0;gap:6px;width:max-content;max-width:100%;padding:3px 0;display:flex;position:absolute}.label--left{left:0}.label--top{top:0;left:50%;transform:translate(-50%)}.label--right{flex-direction:row-reverse;right:0}.label-number{color:var(--muted);flex:none;font:500 10px/1.6 DM Mono,monospace;transition:color .15s}.label-name{color:var(--muted);font-size:clamp(11px,.82vw,12px);font-weight:600;line-height:1.24;transition:color .15s}.label.is-active .label-number,.label.is-active .label-name,.label.is-committed:not(.is-active) .label-number{color:var(--signal)}.label:focus-visible{outline:none}.label:focus-visible .label-name{outline:2px solid var(--signal);outline-offset:3px}.image-frame{background:0 0;border:0;width:100%;position:relative;overflow:visible}.diagram-plane{--content-offset-y:0px;--image-scale:.92;width:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.diagram-plane>img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 3px 2px rgba(var(--shade-rgb), .1)) drop-shadow(0 12px 10px rgba(var(--shade-rgb), .1));transform:translateY(var(--content-offset-y)) scale(var(--image-scale));view-transition-name:none;display:block}.leaders{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.leader{fill:none;stroke:rgba(var(--ink-rgb), .5);stroke-width:1px;stroke-linecap:square;stroke-linejoin:round;transition:stroke .15s,stroke-width .15s}.leader.is-active{stroke:var(--signal);stroke-width:1.6px}.hotspot-layer{z-index:3;transform:translateY(var(--content-offset-y)) scale(var(--image-scale));position:absolute;inset:0}.hotspot{left:var(--x);top:var(--y);cursor:pointer;background:0 0;border:0;place-items:center;width:55px;height:55px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.hotspot-dot{width:22px;height:22px;color:var(--muted);background:var(--manual-surface);border:1px solid rgba(var(--ink-rgb), .42);box-shadow:0 2px 7px rgba(var(--shade-rgb), .18);border-radius:50%;place-items:center;transition:color .15s,background .15s,border-color .15s,transform .15s;display:grid;transform:scale(.86)}.hotspot-dot span{font:500 9px/1 DM Mono,monospace}.hotspot.is-active .hotspot-dot{color:var(--white);background:var(--signal);border-color:var(--signal);transform:scale(1)}.hotspot:active .hotspot-dot{transition-duration:.16s;transition-timing-function:var(--ease-out);transform:scale(.97)}.hotspot.is-committed:not(.is-active) .hotspot-dot{color:var(--signal);background:var(--manual-surface);border-color:var(--signal);transform:scale(1)}.hotspot:focus-visible{outline:none}.hotspot:focus-visible .hotspot-dot{outline:2px solid var(--white);outline-offset:2px}.calibration-panel{z-index:12;width:min(360px,100% - 24px);color:var(--white);background:rgba(var(--shade-rgb), .94);box-shadow:0 8px 24px rgba(var(--shade-rgb), .22);gap:9px;padding:12px;display:grid;position:absolute;top:12px;left:12px}.calibration-panel>div:first-child{text-transform:uppercase;justify-content:space-between;font:500 10px/1 DM Mono,monospace;display:flex}.calibration-panel>div:first-child span{color:var(--muted)}.calibration-panel output{color:var(--white);font:400 10px/1.4 DM Mono,monospace}.calibration-actions{gap:6px;display:flex}.calibration-actions button{min-height:30px;color:var(--ink);background:var(--paper);text-transform:uppercase;cursor:pointer;border:0;padding:6px 9px;font:500 9px/1 DM Mono,monospace}.calibration-actions button:hover{color:var(--white);background:var(--signal)}.calibration-actions button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.calibration-status{color:var(--muted);font:400 9px/1.3 DM Mono,monospace}.is-calibrating .hotspot{cursor:grab;touch-action:none}.is-calibrating .hotspot.is-dragging{cursor:grabbing}.is-calibrating .hotspot-dot{outline:1px dashed var(--signal);outline-offset:4px}.figure-caption{color:var(--muted);justify-content:center;align-items:center;gap:14px;display:flex}.figure-caption span:first-child{color:var(--signal)}.detail-panel{background:var(--white);border:1px solid rgba(var(--ink-rgb), .045);border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:360px;padding:22px 22px 10px;display:grid}.detail-heading{color:var(--ink);align-items:baseline;gap:10px;display:flex}.detail-heading span:first-child{color:var(--signal);font:500 11px/1 DM Mono,monospace}.detail-heading h1{letter-spacing:0;text-wrap:balance;flex:1;margin:0;font-size:clamp(18px,1.55vw,21px);font-weight:500;line-height:1.08}.detail-copy{min-height:0;margin-top:20px}.detail-summary{color:#343530;margin:0;font-size:15px;font-weight:400;line-height:1.45}.detail-rule{background:var(--signal);width:42px;height:2px;margin:18px 0}.detail-text{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.part-navigation{border-top:1px solid rgba(var(--ink-rgb), .13);grid-template-columns:44px 1fr 44px;align-items:center;margin-top:12px;display:grid}.part-navigation button{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0}.part-navigation button:hover{color:var(--signal)}.part-navigation button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.part-navigation span{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:5px;height:44px;font:400 10px/1 DM Mono,monospace;display:flex}@media (width<=1100px){:root{--app-gutter:20px;--app-width:920px}body{overflow:auto}.manual-shell{height:auto;min-height:100%}.manual-workspace{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-self:start;padding-top:32px}.manual-surface{grid-area:1/1;grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr)}.manual-identity{grid-area:1/1;justify-self:start;width:max-content;max-width:calc(100% - 120px)}.detail-stack{grid-area:3/1;gap:12px}.detail-stack .view-select{z-index:10;position:absolute;top:18px;right:0}.diagram{grid-area:2/1}.detail-panel{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;gap:0;height:360px;min-height:0;margin-top:0;padding:20px 20px 10px;overflow:visible}.detail-heading{grid-column:1}.detail-copy{grid-column:1;margin-top:0;display:block;overflow:visible}.detail-rule{display:block}.detail-text{margin-top:0}.part-navigation{grid-area:auto/1;align-self:stretch;width:auto;margin:0}}@media (width<=760px){:root{--app-gutter:12px}.manual-shell{grid-template-rows:64px auto;min-height:100svh}.app-header{gap:12px;height:64px}.app-header-meta{font-size:9px}.manual-workspace{grid-template-rows:auto auto;gap:10px;width:100%;padding:20px 12px 28px}.view-select-menu{left:auto;right:0}.diagram{display:block;overflow:visible}.gutter,.leaders{display:none}.image-frame{width:100%;overflow:visible;aspect-ratio:var(--frame-ratio)!important}.diagram-plane{--content-offset-y:0px;--image-scale:1;position:relative;top:auto;transform:none}.hotspot{width:44px;height:44px}.hotspot-dot{width:24px;height:24px}.figure-caption{justify-content:center;margin-top:4px;font-size:11px}.detail-panel{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;gap:0;height:340px;min-height:0;padding:18px 16px 8px;display:grid;overflow:visible}.detail-heading{grid-area:1/1}.detail-heading h1{font-size:18px}.detail-copy{grid-area:2/1;display:block;overflow:visible}.detail-summary{font-size:13px}.detail-text{margin-top:18px;font-size:12px}.detail-rule{display:block}.part-navigation{grid-area:3/1;align-self:stretch;width:auto;margin:0}}@media (prefers-reduced-motion:reduce){.hotspot-dot,.label-number,.label-name,.leader{transition:none}}body.is-home{background:var(--environment);overflow:hidden}.library{--shelf-width:min(72vw, 1010px);--camera-fill:.72;--shelf-upper:43%;--shelf-lower:72%;width:100%;height:100%;min-height:620px;position:relative;overflow:hidden}.shelf-room{perspective:1600px;perspective-origin:50% 24%;position:absolute;inset:0}.shelf-light{background:radial-gradient(46% 40% at 50% 45%,#fff,#ffffffd1 22%,#fff0 74%);transition:opacity .6s,filter .6s;position:absolute;inset:0}.display-shelf{--shelf-depth:200px;z-index:6;width:var(--shelf-width);height:16px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.75,.2,1);position:absolute;left:50%;transform:translate(-50%)}.shelf-face{transition:opacity .6s,filter .6s;position:absolute}.shelf-face--front{background:linear-gradient(180deg, var(--shelf-front-top) 0%, var(--shelf-front-mid) 45%, var(--shelf-front-bottom) 100%);box-shadow:0 1px 2px rgba(var(--shade-rgb), .55), 0 4px 6px rgba(var(--shade-rgb), .4), 0 12px 18px rgba(var(--shade-rgb), .28), 0 30px 40px rgba(var(--shade-rgb), .2), 0 64px 72px rgba(var(--shade-rgb), .12);inset:0}.shelf-face--top{width:100%;height:var(--shelf-depth);background:linear-gradient(180deg, var(--shelf-top-far) 0%, var(--shelf-top-mid) 40%, var(--shelf-top-near) 78%, var(--shelf-top-lip) 100%);transform-origin:50% 100%;bottom:100%;left:0;transform:rotateX(90deg)}.display-shelf--upper{top:var(--shelf-upper)}.display-shelf--lower{top:var(--shelf-lower)}.camera-object .camera-art{animation:camera-intro-drop var(--intro-drop) var(--ease-in-quart) calc(var(--intro-album-delay) + var(--entrance-index,0) * var(--intro-stagger)) backwards}.camera-object .camera-shadow{animation:camera-intro-drop-shadow var(--intro-drop) var(--ease-in-quart) calc(var(--intro-album-delay) + var(--entrance-index,0) * var(--intro-stagger)) backwards}@keyframes camera-intro-drop{0%{opacity:0;transform:translateY(-4px)scale(1.012)}1%{opacity:1;transform:translateY(-4px)scale(1.012)}to{opacity:1;transform:none}}@keyframes camera-intro-drop-shadow{0%{opacity:0;filter:blur(11px);transform:scaleX(1.06)}1%{opacity:.7;filter:blur(11px);transform:scaleX(1.06)}to{opacity:1;filter:none;transform:none}}.camera-object{--slot:0;--shelf-line:var(--shelf-upper);--camera-width:calc(var(--shelf-width) / 3 * var(--camera-fill));--seat:calc(var(--camera-width) * .0225 + 1px);--tooltip-shift-x:10px;z-index:7;top:auto;bottom:calc(100% - var(--shelf-line) - var(--seat));left:calc(50% + var(--slot) * var(--shelf-width) / 3);width:var(--camera-width);aspect-ratio:800/511;height:auto;min-height:0;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none;transition:top .7s cubic-bezier(.2,.75,.2,1),bottom .7s cubic-bezier(.2,.75,.2,1),left .7s cubic-bezier(.2,.75,.2,1),width .7s cubic-bezier(.2,.75,.2,1),transform .7s cubic-bezier(.2,.75,.2,1);position:absolute;overflow:visible;transform:translate(-50%)}.camera-art{z-index:2;transform-origin:50% 92%;transition:transform .18s;display:block;position:absolute;inset:0}.camera-object--minolta .camera-art{view-transition-name:none}.camera-render{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 5px 4px rgba(var(--shade-rgb), .1));display:block;position:absolute;inset:0}.camera-shadow{z-index:1;background:radial-gradient(ellipse 50% 50% at 50% 46%, rgba(var(--shade-rgb), .55), rgba(var(--shade-rgb), .3) 42%, rgba(var(--shade-rgb), 0) 74%);transform-origin:50%;height:11%;transition:filter .18s,opacity .18s,transform .18s;position:absolute;bottom:-2px;left:-14%;right:-14%}@media (hover:hover) and (pointer:fine){.camera-object:hover .camera-art{transform:translateY(-4px)scale(1.012)}.camera-object:hover .camera-shadow{opacity:.7;filter:blur(11px);transform:scaleX(1.06)}}.camera-object:focus-visible{outline:2px solid var(--signal);outline-offset:8px}.camera-object--minolta{--slot:-1;aspect-ratio:800/511}.camera-object--pentax-k1000{--slot:0;aspect-ratio:800/524}.camera-object--canon-ae1-program{--slot:1;aspect-ratio:800/496}.camera-object--olympus-om-2n{--slot:-1;--shelf-line:var(--shelf-lower);aspect-ratio:800/514}.camera-object--nikon-fe{--slot:0;--shelf-line:var(--shelf-lower);aspect-ratio:800/483}.camera-object--nikon-fg{--slot:1;--shelf-line:var(--shelf-lower);aspect-ratio:800/512}.camera-object--upcoming{cursor:default}.camera-tooltip{z-index:3;bottom:calc(100% + 2px);left:calc(50% + var(--tooltip-shift-x));opacity:0;transition:opacity .11s var(--ease-out), transform .11s var(--ease-out);white-space:nowrap;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%)translateY(4px)}.camera-tooltip-bubble{color:var(--white);background:var(--ink);box-shadow:0 6px 18px rgba(var(--shade-rgb), .22);transform-origin:50% 100%;transition:transform .11s var(--ease-out);border-radius:7px;flex-direction:column;align-items:center;gap:4px;padding:9px 13px 10px;display:flex;position:relative;transform:scale(.96)}.camera-tooltip-bubble:after{border:5px solid #0000;border-top-color:var(--ink);content:"";border-bottom-width:0;width:0;height:0;margin-left:-5px;position:absolute;top:100%;left:50%}.camera-tooltip-bubble strong{letter-spacing:0;font:600 12px/1 DM Mono,monospace}.camera-tooltip-bubble span{color:var(--signal);text-transform:uppercase;font:500 9px/1 DM Mono,monospace}.camera-object:hover .camera-tooltip,.camera-object:focus-visible .camera-tooltip{opacity:1;transition-duration:.18s;transform:translate(-50%)translateY(0)}.camera-object:hover .camera-tooltip-bubble,.camera-object:focus-visible .camera-tooltip-bubble{transition-duration:.18s;transform:scale(1)}::view-transition-group(root){animation-duration:.18s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation:route-fade-out .18s var(--ease-out) both}::view-transition-new(root){animation:route-fade-in .18s var(--ease-out) both;mix-blend-mode:normal}@keyframes route-fade-out{to{opacity:0}}@keyframes route-fade-in{0%{opacity:0}}@media (width<=760px){.library{--shelf-width:min(94vw, 460px);--camera-fill:.84;--shelf-upper:42%;--shelf-lower:69%;min-height:560px}.camera-object{height:auto;top:auto}}@media (prefers-reduced-motion:reduce){.shelf-light,.display-shelf,.shelf-face,.camera-object,.camera-art,.camera-render,.camera-shadow,.camera-tooltip,.camera-tooltip-bubble{transition:none}.camera-object .camera-art,.camera-object .camera-shadow{animation:none}::view-transition-group(root){animation-duration:1ms}::view-transition-old(root){animation-duration:1ms;animation-delay:0s}::view-transition-new(root){animation-duration:1ms;animation-delay:0s}}
