@font-face{font-family:PxPlus IBM VGA8;src:url(/fonts/PxPlus_IBM_VGA8.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{color:#27251f;font-synthesis:none;--ink:#27251f;--muted:#777266;--paper:#efebe2;--accent:#667068;background:#efebe2;font-family:PxPlus IBM VGA8,monospace}*{box-sizing:border-box;font-family:inherit}html{background:var(--paper);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}.app{isolation:isolate;background:#e8e9e4 url(/bg.jpg) 50%/contain no-repeat;grid-template-rows:auto 1fr;min-height:100svh;padding:28px 42px 22px;display:grid;position:relative;overflow:hidden}.app:not(.app--viewer):before,.app:not(.app--viewer):after{content:"";pointer-events:none;filter:blur(5px);background-repeat:repeat-x;background-size:1px 100svh;width:calc(50vw - min(100vw,80.5369svh)/2 + 14px);position:absolute;top:0;bottom:0;transform:scaleY(1.015)}.app:not(.app--viewer):before{background-image:url(/bg-edge-left.png);left:0}.app:not(.app--viewer):after{filter:blur(3px);background-image:url(/bg-edge-right.png);width:calc(50vw - min(100vw,80.5369svh)/2 + 16px);right:0;transform:none}.app--viewer{isolation:isolate;background:#e7e8e2;grid-template-rows:1fr;padding:0}.app--viewer:before,.app--viewer:after{content:"";pointer-events:none;opacity:1;mix-blend-mode:normal;filter:blur(7px);background-repeat:repeat-x;background-size:1px 100svh;width:calc(50vw - min(100vw,80.5369svh)/2 + 14px);position:absolute;top:0;bottom:0;transform:scaleY(1.015)}.app--viewer:before{background-image:url(/camera-edge-left.png);inset:0 auto 0 0}.app--viewer:after{filter:blur(3px);background-image:url(/camera-edge-right-smooth.png);width:calc(50vw - min(100vw,80.5369svh)/2 + 16px);right:0;transform:none}.app--viewer .site-header{position:absolute;top:28px;left:0;right:0}.site-header{z-index:10;text-align:center;justify-content:center;align-items:center;display:flex;position:relative}.wordmark{color:#403d35;cursor:pointer;letter-spacing:.04em;background:0 0;border:0;padding:0;font-size:12px}.creator-credit{z-index:10;color:#8b8579;letter-spacing:.06em;margin:0;font-size:12px;position:absolute;bottom:17px;right:20px}.creator-credit a{color:inherit;text-underline-offset:3px;transition:color .2s}.creator-credit a:hover,.creator-credit a:focus-visible{color:var(--ink)}.intro{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(860px,100%);margin:auto;padding:8vh 0 5vh;display:flex;position:relative}.eyebrow{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin:0 0 14px;font-size:10px}h1,h2,p{margin-top:0}.intro h1,.viewer__heading h1{letter-spacing:-.035em;margin:0;font-family:inherit;font-size:clamp(32px,2.8vw,44px);font-weight:400;line-height:.9}.name-form{text-align:left;grid-template-columns:1fr;gap:22px;width:min(420px,100%);margin:42px auto 0;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field label{text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:500}.field label span{color:#918b7e;margin-left:4px;font-weight:300}.field input{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #8f897c;border-radius:0;outline:none;padding:10px 2px 12px;font-family:inherit;font-size:26px}.field input::placeholder{color:#aaa396}.field input:focus{border-bottom-color:var(--accent);box-shadow:0 1px 0 var(--accent)}.form-footer{flex-direction:column;align-items:stretch;gap:14px;display:flex}.form-error{color:#8a8377;text-align:center;min-height:13px;margin:0;font-size:9px}.field input[aria-invalid=true]{border-bottom-color:var(--accent)}.primary-button{border:1px solid var(--ink);background:var(--ink);color:#f5f1e9;cursor:pointer;letter-spacing:.04em;width:100%;min-width:222px;padding:15px 18px;font-size:10px;transition:transform .2s,background .2s}.primary-button:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.primary-button span{margin-left:24px}.viewer{z-index:2;place-items:center;width:100%;height:100svh;min-height:0;margin:0;padding:0;display:grid;position:relative}.change-name{color:#686359;cursor:pointer;letter-spacing:.1em;background:0 0;border:0;border-bottom:1px solid #aaa396;padding:7px 0;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.camera-stage{place-items:center;width:100%;height:100%;display:grid;position:relative}.photo-camera__clip-defs{width:0;height:0;position:absolute;overflow:hidden}.photo-camera{aspect-ratio:1200/1490;width:min(100vw,80.5369svh);position:relative}.photo-camera:after{content:"";z-index:2;pointer-events:none;background-image:url(/camera-edge-right-smooth.png);background-repeat:repeat-x;background-size:1px 100%;width:5%;position:absolute;top:0;bottom:0;right:-1px;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000073 48%,#000 100%);mask-image:linear-gradient(90deg,#0000 0%,#00000073 48%,#000 100%)}.photo-camera__background{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.photo-camera__screen{color:#e6e4d8;clip-path:url(#photo-camera-screen-clip);background:#181d1b;place-items:center;width:31.3333%;height:35.7718%;display:grid;position:absolute;top:24.5638%;left:33.5833%;overflow:hidden}.photo-camera__screen:before{content:"";z-index:2;pointer-events:none;opacity:.05;background-blend-mode:multiply;mix-blend-mode:multiply;filter:contrast(1.3)brightness(.9);background-image:url(/overlay-3.jpg);background-position:50%,23% 41%;background-repeat:no-repeat;background-size:cover,225%;position:absolute;inset:0;transform:scale(1.015)}.photo-camera__screen:after{content:"";z-index:2;border-radius:inherit;pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background:linear-gradient(115deg,#e1e1d733,#0000 32%,#080a0847 78%),radial-gradient(at 48% 42%,#0000 35%,#0000004d 100%),repeating-linear-gradient(0deg,#ffffff2e 0 1px,#0000 1px 3px);position:absolute;inset:0}.photo-camera__screen>img{object-fit:cover;filter:brightness(.78)contrast(.92)saturate(.83)blur(.5px);width:100%;height:100%}.lcd-hud{z-index:1;color:#f1f4e0eb;letter-spacing:.035em;pointer-events:none;filter:blur(.4px);font-family:PxPlus IBM VGA8,monospace;font-size:clamp(6px,.62vw,9px);line-height:1;position:absolute;inset:2.5% 6%}.lcd-hud__battery{box-sizing:border-box;background:#080a088c;width:20px;height:14px;padding:3px;position:absolute;top:6px;left:0}.lcd-hud__battery>span{box-sizing:border-box;border:1px solid;width:13px;height:8px;display:block;position:relative}.lcd-hud__battery>span:before{content:"";background:currentColor;position:absolute;inset:1px 3px 1px 1px}.lcd-hud__battery>span:after{content:"";background:currentColor;width:2px;height:3px;position:absolute;top:2px;right:-3px}.lcd-hud__counter,.lcd-hud__date{background:#080a088c;padding:4px 4px 2px}.lcd-hud__counter{position:absolute;top:6px;right:-3px}.lcd-hud__date{position:absolute;bottom:3px;right:-3px}.photo-camera__screen-border{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.photo-camera__screen-border path{fill:none;stroke:#181a18f7;stroke-width:20px;vector-effect:non-scaling-stroke}@keyframes photo-in{0%{opacity:0;filter:saturate(.5)contrast(.8)brightness(1.4)}}.lcd-message{text-align:center;color:#c7c9bd;width:76%;font-size:clamp(7px,.8vw,10px);line-height:1.6}.lcd-loading{flex-direction:column;align-items:center;gap:12px;display:flex}.focus-brackets{border:1px solid #c6c8bd;border-color:#c6c8bd #0000;width:30px;height:23px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35;transform:scale(.9)}}.sad-icon{border:1px solid #aaa;border-radius:50%;width:22px;height:22px;margin:0 auto 8px;font-size:15px;display:block}.photo-camera__button{z-index:3;cursor:pointer;background:0 0;border:0;border-radius:8px;width:4%;height:4.2%;position:absolute;left:66.4%}.photo-camera__button--previous{top:49.4%}.photo-camera__button--next{top:55.1%}.photo-camera__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-controls{display:none}@media (width<=920px){.app{padding:22px 24px 18px;overflow-y:auto}.app--viewer{padding:0;overflow:hidden}.viewer{height:100svh;padding:0}.camera-stage{width:100%;margin:0}}@media (width<=600px){.app{padding:0}.intro{width:min(420px,100% - 32px);padding:12vh 0 7vh}.intro h1{font-size:clamp(30px,9vw,42px)}.name-form{gap:18px;margin-top:32px}.app--viewer .site-header{top:19px}.app--viewer:before,.app--viewer:after{display:none}.viewer{align-content:center;padding:0}.camera-stage{width:100%;height:auto;position:absolute;inset:0}.photo-camera{width:80.5369svh;max-width:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-controls{color:#8b8579;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;width:auto;margin:0;font-size:8px;display:flex;position:absolute;bottom:44px;left:16px;right:16px}.mobile-controls button{cursor:pointer;background:#ffffff40;border:1px solid #aaa397;width:42px;height:34px}}.calibrator{color:#f0eee7;background:#20211f;min-height:100svh;padding:24px}.calibrator__header{justify-content:space-between;align-items:end;gap:24px;width:min(1180px,100%);margin:0 auto 20px;display:flex}.calibrator__header h1{margin:3px 0 6px;font-family:inherit;font-size:clamp(30px,4vw,52px);font-weight:400}.calibrator__header p{color:#aaa99f;margin-bottom:0;font-size:11px}.calibrator__header .calibrator__kicker{color:#879188;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.calibrator__header a{color:#d0cdc2;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #686860;flex:none;padding-bottom:5px;font-size:9px;text-decoration:none}.calibrator__workspace{grid-template-columns:minmax(320px,1fr) 290px;align-items:start;gap:26px;width:min(1180px,100%);margin:auto;display:grid}.calibrator__image{aspect-ratio:1200/1490;cursor:crosshair;touch-action:none;background:#ecece7;justify-self:center;height:min(78svh,820px);position:relative;box-shadow:0 18px 50px #0008}.calibrator__image>img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.calibrator__overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.calibrator__overlay polyline{fill:#6670682e;stroke:#879188;stroke-width:.45px;vector-effect:non-scaling-stroke}.calibrator__point{z-index:2;background:var(--accent);color:#fff;pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-family:inherit;font-size:11px;font-weight:600;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 10px #000b}.calibrator__cursor-note{color:#fff;letter-spacing:.06em;pointer-events:none;background:#151614d9;padding:8px 10px;font-size:9px;position:absolute;bottom:14px;left:14px}.calibrator__panel{background:#292a27;border:1px solid #454640;padding:19px}.calibrator__panel ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.calibrator__panel li{color:#77786f;border:1px solid #3d3e39;grid-template-columns:31px 1fr;align-items:center;gap:11px;padding:10px;display:grid}.calibrator__panel li>span{border:1px solid;border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.calibrator__panel li strong,.calibrator__panel li small{display:block}.calibrator__panel li strong{color:inherit;font-size:10px;font-weight:400}.calibrator__panel li small{color:#787970;margin-top:3px;font-size:8px}.calibrator__panel li.is-next{border-color:var(--accent);color:#f3eee5}.calibrator__panel li.is-marked{color:#d9e1d3;border-color:#657260}.calibrator__panel li.is-marked>span{background:#657260}.calibrator__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.calibrator__actions button,.calibrator__copy{color:#dad7ce;cursor:pointer;background:0 0;border:1px solid #5a5b54;padding:10px;font-size:9px}.calibrator__actions button:disabled{opacity:.3;cursor:default}.calibrator__result{margin-top:18px}.calibrator__result label{color:#aaa99f;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px;font-size:9px;display:block}.calibrator__result textarea{resize:vertical;color:#d7d8cd;background:#171815;border:1px solid #464740;width:100%;padding:10px;font-family:inherit;font-size:9px;line-height:1.5}.calibrator__copy{background:var(--accent);border-color:var(--accent);color:#fff;width:100%;margin-top:8px}@media (width<=760px){.calibrator{padding:16px}.calibrator__header{align-items:start}.calibrator__header a{margin-top:8px}.calibrator__workspace{grid-template-columns:1fr}.calibrator__image{width:min(100%,520px);height:auto}.calibrator__panel{justify-self:center;width:min(520px,100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
