.zezvw{--zezvw-height: 560px;--zezvw-min-height: 320px;--zezvw-accent: #5f9a93;--zezvw-marker: #e0c87a;--zezvw-surface: rgba(24, 23, 20, .82);--zezvw-surface-solid: #191815;--zezvw-ink: #ece7dd;--zezvw-ink-dim: #a49c8f;--zezvw-line: rgba(236, 231, 221, .16);--zezvw-radius: 6px;--zezvw-gap: clamp(10px, 2.2vw, 18px);--zezvw-shadow: 0 18px 48px -24px rgba(0, 0, 0, .75);--zezvw-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;position:relative;display:block;width:100%;height:var(--zezvw-height);min-height:var(--zezvw-min-height);overflow:hidden;border-radius:var(--zezvw-radius);background:#14130f;color:var(--zezvw-ink);font-family:var(--zezvw-font);font-size:15px;line-height:1.55;contain:layout paint;touch-action:none}.zezvw--theme-light{--zezvw-surface: rgba(252, 251, 248, .86);--zezvw-surface-solid: #fbfaf7;--zezvw-ink: #20201c;--zezvw-ink-dim: #635e55;--zezvw-line: rgba(32, 32, 28, .14);background:#e9e6df}.zezvw:focus-visible{outline:2px solid var(--zezvw-marker);outline-offset:3px}.zezvw [hidden]{display:none!important}.zezvw.has-gradient-bg{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--zezvw-bg, #1b1a17) 130%,#ffffff) 0%,var(--zezvw-bg, #1b1a17) 68%,#0d0c0a 100%)}.zezvw__stage{position:absolute;inset:0}.zezvw__canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.zezvw.is-walking .zezvw__canvas{cursor:none}.zezvw__canvas:active{cursor:grabbing}.zezvw__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:opacity .5s ease;pointer-events:none}.zezvw__poster.is-hidden{opacity:0}.zezvw__loader{position:absolute;inset-inline:0;inset-block-end:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px var(--zezvw-gap) calc(var(--zezvw-gap) + 6px);background:linear-gradient(to top,rgba(10,10,8,.86),transparent)}.zezvw__loader-bar{width:min(280px,60%);height:2px;background:#ece7dd2e;overflow:hidden}.zezvw__loader-bar span{display:block;width:100%;height:100%;background:var(--zezvw-marker);transform:scaleX(0);transform-origin:left center;transition:transform .18s linear}[dir=rtl] .zezvw__loader-bar span{transform-origin:right center}.zezvw__loader-text{margin:0;font-size:13px;letter-spacing:.01em;color:var(--zezvw-ink-dim);text-align:center;max-width:42ch}.zezvw__loader-detail{margin:0;max-width:46ch;font-size:12px;line-height:1.55;color:var(--zezvw-ink);text-align:center}.zezvw__loader-url{max-width:46ch;padding:4px 8px;border-radius:4px;background:#ece7dd14;font-family:Menlo,Consolas,monospace;font-size:11px;color:var(--zezvw-ink-dim);overflow-wrap:anywhere;text-align:center}.zezvw__retry{margin-top:4px;padding:7px 16px;border:1px solid var(--zezvw-line);border-radius:999px;background:transparent;color:var(--zezvw-ink);font:inherit;font-size:13px;cursor:pointer}.zezvw__retry:hover{border-color:var(--zezvw-marker)}.zezvw__toolbar{position:absolute;inset-inline-end:var(--zezvw-gap);inset-block-end:var(--zezvw-gap);display:flex;gap:2px;padding:3px;border:1px solid var(--zezvw-line);border-radius:999px;background:var(--zezvw-surface);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--zezvw-shadow);z-index:4}.zezvw__toolbar:empty{display:none}.zezvw__tool{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--zezvw-ink);cursor:pointer;transition:background-color .14s ease,color .14s ease}.zezvw__tool svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.zezvw__tool:hover{background:#ece7dd1a}.zezvw--theme-light .zezvw__tool:hover{background:#20201c14}.zezvw__tool:focus-visible{outline:2px solid var(--zezvw-marker);outline-offset:-2px}.zezvw__tool.is-active{background:var(--zezvw-accent);color:#0f1211}.zezvw__hint{position:absolute;inset-inline-start:var(--zezvw-gap);inset-block-end:var(--zezvw-gap);max-width:min(38ch,calc(100% - 120px));margin:0;padding:9px 14px;border:1px solid var(--zezvw-line);border-radius:999px;background:var(--zezvw-surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--zezvw-ink-dim);font-size:12.5px;line-height:1.45;opacity:0;transform:translateY(6px);transition:opacity .24s ease,transform .24s ease;pointer-events:none;z-index:3}.zezvw__hint.is-visible{opacity:1;transform:none}.zezvw__markers{position:absolute;inset:0;pointer-events:none;z-index:2}.zezvw__marker{--zezvw-note: var(--zezvw-marker);--zezvw-marker-scale: 1;position:absolute;inset-block-start:0;inset-inline-start:0;display:grid;place-items:center;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;background:none;color:#14130f;cursor:pointer;pointer-events:auto;scale:var(--zezvw-marker-scale);transition:opacity .16s ease,scale .16s ease}.zezvw__marker-dot{position:absolute;inset:0;border-radius:999px;background:var(--zezvw-note);box-shadow:0 0 0 1px #14130f8c,0 6px 18px -8px #000000e6;transition:scale .18s cubic-bezier(.2,.8,.3,1)}.zezvw__marker-label{position:relative;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em}.zezvw__marker:before{content:"";position:absolute;inset:-9px;border:1px solid var(--zezvw-note);border-radius:999px;opacity:0;transition:opacity .2s ease,inset .2s ease}.zezvw__marker:hover:before,.zezvw__marker:focus-visible:before,.zezvw__marker.is-active:before{opacity:.85;inset:-7px}.zezvw__marker:focus-visible{outline:none}.zezvw__marker:focus-visible .zezvw__marker-dot{box-shadow:0 0 0 2px #14130f,0 0 0 4px var(--zezvw-note)}.zezvw__marker.is-behind{opacity:.32}.zezvw__marker.is-behind .zezvw__marker-label{opacity:0}.zezvw__marker.is-offscreen{display:none}.zezvw__marker--dot{width:16px;height:16px;margin:-8px 0 0 -8px}.zezvw__marker--dot .zezvw__marker-label{display:none}.zezvw__marker--ring .zezvw__marker-dot{background:transparent;border:2px solid var(--zezvw-note)}.zezvw__marker--ring .zezvw__marker-label{color:var(--zezvw-note)}.zezvw__marker--tag{width:auto;height:26px;margin:-13px 0 0 -13px;padding:0 12px}.zezvw__marker--tag .zezvw__marker-dot{border-radius:4px}.zezvw__panel{position:absolute;inset-block-start:var(--zezvw-gap);inset-inline-end:var(--zezvw-gap);width:min(330px,calc(100% - var(--zezvw-gap) * 2));max-height:calc(100% - var(--zezvw-gap) * 2 - 52px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;border:1px solid var(--zezvw-line);border-radius:var(--zezvw-radius);background:var(--zezvw-surface);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:var(--zezvw-shadow);z-index:5;animation:zezvw-panel-in .22s cubic-bezier(.2,.8,.3,1)}@keyframes zezvw-panel-in{0%{opacity:0;transform:translateY(-6px)}}.zezvw__panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.zezvw__panel-count{font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--zezvw-ink-dim)}.zezvw__panel-close{display:grid;place-items:center;width:26px;height:26px;margin-inline-end:-4px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--zezvw-ink-dim);cursor:pointer}.zezvw__panel-close svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.zezvw__panel-close:hover{color:var(--zezvw-ink);background:#ece7dd1a}.zezvw__panel-title{margin:0 0 8px;font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.008em;color:var(--zezvw-ink)}.zezvw__panel-image{display:block;width:100%;height:auto;margin:0 0 10px;border-radius:3px}.zezvw__panel-body{font-size:14px;line-height:1.6;color:color-mix(in srgb,var(--zezvw-ink) 88%,transparent)}.zezvw__panel-body>:first-child{margin-top:0}.zezvw__panel-body>:last-child{margin-bottom:0}.zezvw__panel-body a{color:var(--zezvw-accent)}.zezvw__panel-body img{max-width:100%;height:auto}.zezvw__panel-link{display:inline-block;margin-top:12px;padding:7px 14px;border:1px solid var(--zezvw-accent);border-radius:999px;color:var(--zezvw-accent);font-size:13px;text-decoration:none}.zezvw__panel-link:hover{background:var(--zezvw-accent);color:#0f1211}.zezvw__panel-nav{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--zezvw-line)}.zezvw__panel-nav button{flex:1;padding:7px 10px;border:1px solid var(--zezvw-line);border-radius:4px;background:transparent;color:var(--zezvw-ink-dim);font:inherit;font-size:13px;cursor:pointer}.zezvw__panel-nav button:hover{color:var(--zezvw-ink);border-color:var(--zezvw-marker)}.zezvw__index{position:absolute;inset-block-start:var(--zezvw-gap);inset-inline-start:var(--zezvw-gap);max-width:min(230px,45%);max-height:calc(100% - var(--zezvw-gap) * 2 - 52px);overflow-y:auto;overscroll-behavior:contain;z-index:3}.zezvw__index-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1px}.zezvw__index-item{display:flex;align-items:baseline;gap:9px;width:100%;padding:7px 12px 7px 9px;border:0;border-left:2px solid transparent;background:var(--zezvw-surface);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--zezvw-ink-dim);font:inherit;font-size:13px;text-align:start;cursor:pointer;transition:color .14s ease,border-color .14s ease}.zezvw__index-item:hover,.zezvw__index-item.is-active{color:var(--zezvw-ink);border-left-color:var(--zezvw-marker)}.zezvw__index-num{flex:none;min-width:1.2em;font-variant-numeric:tabular-nums;color:var(--zezvw-marker)}.zezvw__index-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zezvw__joystick{position:absolute;inset-block-end:calc(var(--zezvw-gap) + 6px);inset-inline-start:calc(var(--zezvw-gap) + 6px);width:104px;height:104px;border:1px solid var(--zezvw-line);border-radius:999px;background:#14130f6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);touch-action:none;z-index:4}.zezvw__joystick span{position:absolute;inset-block-start:50%;inset-inline-start:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:999px;background:#ece7dd80;transition:transform 60ms linear}.zezvw__caption{display:flex;flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;font-family:var(--zezvw-font);font-size:13px;line-height:1.5;color:currentColor;opacity:.8}.zezvw__credit{opacity:.68}.zezvw__fallback{position:absolute;inset-block-end:12px;inset-inline:12px;margin:0;text-align:center;font-size:13px;color:var(--zezvw-ink-dim)}.zezvw--empty{display:grid;place-items:center;height:auto;min-height:220px;padding:40px 24px;border:1px dashed var(--zezvw-line);background:#1b1a17;text-align:center}.zezvw--empty p{margin:0;max-width:36ch;color:var(--zezvw-ink-dim);font-size:14px}.zezvw.is-mode-select .zezvw__canvas,.zezvw.is-mode-notes .zezvw__canvas{cursor:crosshair}.zezvw.is-mode-select .zezvw__canvas:active,.zezvw.is-mode-notes .zezvw__canvas:active{cursor:grabbing}.zezvw__partbar{position:absolute;inset-block-start:var(--zezvw-gap);inset-inline:0;display:flex;flex-direction:column;gap:6px;width:max-content;max-width:min(520px,calc(100% - var(--zezvw-gap) * 2));margin-inline:auto;padding:4px;border:1px solid var(--zezvw-line);border-radius:14px;background:var(--zezvw-surface);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:var(--zezvw-shadow);z-index:4;animation:zezvw-panel-in .2s cubic-bezier(.2,.8,.3,1)}.zezvw__partbar[hidden]{display:none}.zezvw__partbar-head{display:flex;align-items:center;gap:2px}.zezvw__partbar-name{flex:1;min-width:0;padding:0 10px;overflow:hidden;font-size:13px;color:var(--zezvw-ink);text-overflow:ellipsis;white-space:nowrap}.zezvw__partbar-btn{display:grid;flex:none;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--zezvw-ink);cursor:pointer;transition:background-color .14s ease,color .14s ease}.zezvw__partbar-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.zezvw__partbar-btn--clear svg{width:12px;height:12px;stroke-width:1.7}.zezvw__partbar-btn:hover{background:#ece7dd1a}.zezvw--theme-light .zezvw__partbar-btn:hover{background:#20201c14}.zezvw__partbar-btn:focus-visible,.zezvw__swatch:focus-visible,.zezvw__showall:focus-visible{outline:2px solid var(--zezvw-marker);outline-offset:-2px}.zezvw__partbar-btn.is-active{background:var(--zezvw-accent);color:#0f1211}.zezvw__partbar-btn:disabled{opacity:.35;cursor:default}.zezvw__swatches{display:flex;gap:6px;padding:2px 6px 4px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}.zezvw__swatch{position:relative;flex:none;width:34px;height:34px;padding:0;border:1px solid var(--zezvw-line);border-radius:999px;background-color:var(--zezvw-swatch, #888);background-size:cover;background-position:center;background-blend-mode:multiply;box-shadow:inset -4px -5px 9px #00000059,inset 3px 4px 7px #ffffff2e;cursor:pointer;transition:scale .14s ease}.zezvw__swatch:hover{scale:1.08}.zezvw__swatch.is-active{box-shadow:0 0 0 2px var(--zezvw-surface-solid),0 0 0 4px var(--zezvw-marker)}.zezvw__swatch--original{width:auto;padding:0 12px;background:transparent;box-shadow:none;color:var(--zezvw-ink-dim);font:inherit;font-size:12px}.zezvw__swatch--original.is-active{color:var(--zezvw-ink);box-shadow:inset 0 0 0 1px var(--zezvw-marker)}.zezvw__showall{position:absolute;inset-block-end:calc(var(--zezvw-gap) + 4px);inset-inline:0;width:max-content;margin-inline:auto;padding:7px 14px;border:1px solid var(--zezvw-line);border-radius:999px;background:var(--zezvw-surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--zezvw-ink);font:inherit;font-size:12.5px;cursor:pointer;z-index:4}.zezvw__showall[hidden]{display:none}.zezvw__showall:hover{border-color:var(--zezvw-marker)}.zezvw__marker--mine .zezvw__marker-dot{background:var(--zezvw-surface-solid);border:2px solid var(--zezvw-note, var(--zezvw-accent))}.zezvw__marker--mine{--zezvw-note: var(--zezvw-accent);color:var(--zezvw-note)}.zezvw__marker--mine .zezvw__marker-label svg{display:block;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.zezvw__marker--draft{pointer-events:none;animation:zezvw-pulse 1.4s ease-in-out infinite}@keyframes zezvw-pulse{50%{scale:1.15}}.zezvw__panel-mine{color:var(--zezvw-accent);font-weight:600}.zezvw__panel-body--plain{white-space:pre-wrap;overflow-wrap:anywhere}.zezvw__panel-private{margin:10px 0 0;font-size:11.5px;color:var(--zezvw-ink-dim)}.zezvw__panel-nav .zezvw__panel-primary{border-color:var(--zezvw-accent);background:var(--zezvw-accent);color:#0f1211}.zezvw__panel-nav .zezvw__panel-primary:hover{color:#0f1211;filter:brightness(1.08)}.zezvw__panel-nav .zezvw__panel-primary:disabled{opacity:.6}.zezvw__panel-nav .zezvw__panel-danger:hover{color:#f0a39b;border-color:#c4655a}.zezvw__noteform{display:flex;flex-direction:column;gap:10px;margin:0}.zezvw__noteform-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--zezvw-ink-dim)}.zezvw__noteform-field input,.zezvw__noteform-field textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--zezvw-line);border-radius:4px;background:#0000002e;color:var(--zezvw-ink);font:inherit;font-size:14px;line-height:1.5;resize:vertical}.zezvw--theme-light .zezvw__noteform-field input,.zezvw--theme-light .zezvw__noteform-field textarea{background:#ffffffb3}.zezvw__noteform-field input:focus,.zezvw__noteform-field textarea:focus{outline:none;border-color:var(--zezvw-marker)}.zezvw__noteform-status{min-height:1em;margin:0;font-size:12px;color:var(--zezvw-ink-dim)}.zezvw__noteform .zezvw__panel-private{margin:0}@media(max-width:782px){.zezvw{height:min(var(--zezvw-height),74vh)}.zezvw__panel{inset-block-start:auto;inset-block-end:0;inset-inline:0;width:100%;max-height:58%;padding-block-end:calc(16px + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;border-inline-width:0;border-block-end-width:0;animation-name:zezvw-sheet-in}@keyframes zezvw-sheet-in{0%{transform:translateY(18px);opacity:0}}.zezvw__panel-title{font-size:16px}.zezvw__index{inset-block-start:auto;inset-block-end:calc(var(--zezvw-gap) + 46px);inset-inline:var(--zezvw-gap);max-width:none;max-height:none;overflow-x:auto;overflow-y:hidden}.zezvw__index-list{flex-direction:row;gap:6px}.zezvw__index-item{flex:none;border-left:0;border-bottom:2px solid transparent;border-radius:999px;padding:6px 14px}.zezvw__index-item .zezvw__index-title{max-width:14ch}.zezvw__index-item:hover,.zezvw__index-item.is-active{border-bottom-color:transparent;background:var(--zezvw-marker);color:#14130f}.zezvw__index-item.is-active .zezvw__index-num{color:#14130f}.zezvw__hint{inset-block-end:calc(var(--zezvw-gap) + 46px);max-width:calc(100% - var(--zezvw-gap) * 2)}.zezvw__tool{width:42px;height:42px}}@media(max-width:480px){.zezvw{border-radius:0;--zezvw-gap: 10px}.zezvw__joystick{width:92px;height:92px}}@media(hover:none){.zezvw__hint{font-size:13px}}@media(prefers-reduced-motion:reduce){.zezvw *,.zezvw *:before,.zezvw *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(forced-colors:active){.zezvw__tool,.zezvw__marker-dot,.zezvw__panel{forced-color-adjust:none}}@media(max-width:782px){.zezvw__partbar{inset-block-start:auto;inset-block-end:calc(var(--zezvw-gap) + 52px);max-width:calc(100% - var(--zezvw-gap) * 2);width:calc(100% - var(--zezvw-gap) * 2)}.zezvw.has-part-selected .zezvw__index,.zezvw.has-part-selected .zezvw__hint{display:none}.zezvw__showall{inset-block-start:var(--zezvw-gap);inset-block-end:auto}}@media(prefers-reduced-motion:reduce){.zezvw__marker--draft{animation:none}}@media(prefers-color-scheme:light){.zezvw--theme-auto{--zezvw-surface: rgba(252, 251, 248, .86);--zezvw-surface-solid: #fbfaf7;--zezvw-ink: #20201c;--zezvw-ink-dim: #635e55;--zezvw-line: rgba(32, 32, 28, .14);background:#e9e6df}.zezvw--theme-auto .zezvw__tool:hover,.zezvw--theme-auto .zezvw__partbar-btn:hover{background:#20201c14}.zezvw--theme-auto .zezvw__noteform-field input,.zezvw--theme-auto .zezvw__noteform-field textarea{background:#ffffffb3}}@media(pointer:coarse){.zezvw__tool,.zezvw__partbar-btn,.zezvw__panel-close,.zezvw__retry,.zezvw__showall{min-width:44px;min-height:44px}.zezvw__swatch:after{content:"";position:absolute;inset:-5px}.zezvw__marker:after{content:"";position:absolute;inset:-7px}.zezvw__noteform-field input,.zezvw__noteform-field textarea,.zezvw__noteform-field select{font-size:16px}}
