:root{font-family:Arial,Helvetica,sans-serif;color:#141414;background:#fffef8;font-synthesis:none;--paper:#fffef8;--ink:#141414}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,textarea{font:inherit;color:inherit}button{border:0;background:none;padding:0;cursor:pointer}button:hover{text-decoration:underline;text-underline-offset:4px}button:disabled{opacity:.35;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:1px solid var(--ink);outline-offset:5px}[hidden]{display:none!important}#viewer{position:relative;width:100%;height:100%;min-height:240px;isolation:isolate;background:var(--paper);overflow:hidden}#viewport{position:absolute;inset:0;touch-action:none;outline:none}#viewport canvas{display:block;width:100%;height:100%}#controls{position:absolute;bottom:24px;left:26px;width:300px;z-index:4;max-height:calc(100% - 48px);display:flex;flex-direction:column}#controls:before{content:'';position:absolute;inset:-20px -28px -20px -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 65%,#fffef8f2 0%,#fffef8df 48%,#fffef800 75%);filter:blur(12px);opacity:0;transition:opacity .55s}#controls.open:before{opacity:1}#controls-toggle{display:flex;align-items:center;gap:12px;height:34px;flex-shrink:0;text-align:left;font-size:14px;font-weight:600;width:max-content}.control-symbol{width:32px;height:32px;overflow:visible;flex-shrink:0;fill:var(--ink);stroke:var(--ink);stroke-width:1}.core{transition:r .5s,fill .5s;fill:var(--ink)}.satellite{transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .3s}.arms{fill:none;transition:opacity .25s}.open .arms{opacity:0}.open .satellite{opacity:0}.open .top{transform:translateY(12px)}.open .left{transform:translateX(12px)}.open .right{transform:translateX(-12px)}.open .bottom{transform:translateY(-12px)}.open .core{r:7.5;fill:var(--ink)}#controls-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s cubic-bezier(.22,.68,.15,1),opacity .3s;min-height:0;position:relative}#controls-panel:before{content:'';position:absolute;left:16px;top:-17px;bottom:0;width:1px;background:var(--ink);opacity:0;transition:opacity .35s;pointer-events:none}#controls.open #controls-panel:before{opacity:1}.open #controls-panel{grid-template-rows:1fr;opacity:1}.panel-clip{min-height:0;overflow:hidden}.open .panel-clip{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bbb transparent}.control-tree{position:relative;margin-left:16px;padding:12px 0 12px 27px;font-size:13px;line-height:1.4}.control-tree:after{content:'';position:absolute;left:-2px;bottom:0;width:5px;height:5px;border:1px solid var(--ink);border-radius:50%;background:var(--paper)}.tree-row{position:relative;margin:0 0 17px;min-height:18px}.tree-row:last-child{margin-bottom:0}.tree-row:before{content:'';position:absolute;left:-32px;top:4px;width:10px;height:10px;background:var(--paper);border:1px solid var(--ink);border-radius:50%}#navigation-hint{font-size:12px;white-space:nowrap}.branches{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:15px;padding-left:12px;font-size:12px}.branches button{position:relative}.branches button:before{content:'';position:absolute;left:-39px;top:7px;width:16px;height:1px;background:var(--ink)}.branches button:after{content:'';position:absolute;left:-26px;top:5px;width:5px;height:5px;background:var(--paper);border:1px solid var(--ink);border-radius:50%}.branches button.selected:after{background:var(--ink)}/* 19px row + 17px input centers the 1px track on an integer y, and the
   36px rhythm between the two slider rows is a multiple of every common
   device-pixel period (0.8/1/2/3 css px), so both lines land on device
   pixels and render as exactly one crisp pixel at any Windows scaling. */
.slider-row{display:flex;align-items:center;gap:18px;width:245px;min-height:19px}.slider-row input{width:95px}.slider-row>span{min-width:93px}input[type=range]{appearance:none;height:17px;margin:0;background:transparent;cursor:ew-resize;accent-color:var(--ink)}input[type=range]::-webkit-slider-runnable-track{height:1px;background:#141414}input[type=range]::-webkit-slider-thumb{appearance:none;width:9px;height:9px;background:#141414;border-radius:50%;margin-top:-4px}input[type=range]::-moz-range-track{height:1px;background:#141414}input[type=range]::-moz-range-thumb{width:9px;height:9px;border:0;background:#141414;border-radius:50%}summary{cursor:pointer;list-style:none;width:max-content}summary::-webkit-details-marker{display:none}summary:after{content:' +';font-size:12px;margin-left:9px}details[open] summary:after{content:' −'}.time-content{font-size:11px;padding-top:14px;width:234px}.capture-dates{display:flex;justify-content:space-between}.capture.active{text-decoration:underline;text-underline-offset:3px}#time{width:100%;margin:12px 0 6px}#blend-label{display:block;font-size:9px;color:#666}.time-actions{display:flex;justify-content:space-between;align-items:center;margin-top:13px;font-size:10px}.time-actions label{display:flex;align-items:center;gap:3px}.time-actions input{accent-color:#141414;width:10px;height:10px}#timeline-explanation{display:block;font-size:9px;line-height:1.5;color:#666;margin-top:10px}.presence{position:absolute;right:28px;bottom:28px;display:flex;flex-direction:column;align-items:flex-end;gap:9px;z-index:3;text-shadow:0 0 10px var(--paper),0 0 5px var(--paper)}#note-help{font-size:12px}#note-help span{margin-left:7px}#session-clock{font-size:9px;color:#666;letter-spacing:.1px;font-variant-numeric:tabular-nums}#walk-pad{position:absolute;right:28px;bottom:91px;display:grid;grid-template-columns:repeat(3,30px);gap:5px;z-index:3}#walk-pad button{width:30px;height:30px;border:1px solid #777;border-radius:50%;background:#fffef8c9;touch-action:none}#walk-pad button:first-child{grid-column:2}#walk-pad button:nth-child(2){grid-column:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#load-state{position:absolute;inset:0;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;z-index:5;font-size:14px}#load-detail{font-size:10px;color:#777}.loading-ring{width:20px;height:20px;border:1px solid #ddd;border-top-color:#141414;border-radius:50%;animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#pins{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;width:22px;height:22px;border:1px solid #141414;background:#fffef8cc;border-radius:50%;font-size:10px;transform:translate(-50%,-50%);pointer-events:auto}#reflection{position:absolute;right:28px;bottom:100px;width:225px;padding:25px;background:#fffef8de;backdrop-filter:blur(15px);z-index:6}#reflection small{font-size:10px;color:#666}#reflection p{font-size:28px;line-height:1.2;margin:22px 0}#dismiss-reflection{position:absolute;right:8px;top:3px;font-size:21px}#leave,#return{font-size:12px;border-bottom:1px solid #777;padding-bottom:4px}#exit-state{position:absolute;inset:0;z-index:7;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column}#exit-state p{font-size:30px;line-height:1.2}dialog{background:var(--paper);color:var(--ink);border:1px solid #141414;padding:35px;width:calc(100% - 32px);max-width:480px;max-height:85%;overflow:auto}dialog::backdrop{background:#fffef870;backdrop-filter:blur(8px)}dialog small,.fine{font-size:10px;color:#666;line-height:1.6}dialog h2{font-size:25px;font-weight:400;margin:20px 0}.close-dialog{position:absolute;top:10px;right:15px;font-size:24px}#note-form label{font-size:12px}textarea{display:block;width:100%;margin-top:15px;border:1px solid #aaa;background:transparent;resize:vertical;padding:10px;font-size:13px;line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:24px;margin-top:23px;font-size:12px}#toast{position:absolute;top:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);width:max-content;padding:12px 20px;background:#fffef8e8;backdrop-filter:blur(8px);font-size:12px;line-height:1.5;z-index:9;text-align:center}#viewer:fullscreen{width:100vw;height:100dvh}
@media(max-width:600px){#controls{left:16px;bottom:21px;width:280px;max-height:calc(100% - 66px)}#controls-toggle{font-size:13px}.control-tree{font-size:12px}.presence{right:17px;bottom:24px}#note-help{font-size:10px}#session-clock{font-size:8px}.presence:has(~*){gap:7px}#controls.open~.presence{bottom:auto;top:21px}#walk-pad{right:16px;bottom:85px}#reflection{right:16px;bottom:100px}#toast{top:65px;font-size:11px}.slider-row{width:230px}dialog{padding:28px 22px}}
@media(max-height:520px){#controls{bottom:16px;max-height:calc(100% - 32px)}.tree-row{margin-bottom:12px}.branches{gap:8px;margin-top:9px}.presence{bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
