@font-face{font-family:YH Wordmark;src:url(/assets/zcool-qingke-CFi5Z3jP.woff2)format("woff2");font-display:swap}@font-face{font-family:YH Num;src:url(/assets/oswald-CLUCuTve.woff2)format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:YH Mono;src:url(/assets/plexmono-400-BxSD-VNF.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:YH Mono;src:url(/assets/plexmono-500-D9pZUJeh.woff2)format("woff2");font-weight:500;font-display:swap}:root{--yh-ink:#1a1814;--yh-night:#0e0d0b;--yh-paper:#f3efe4;--yh-paper-gray:#dcd7ca;--yh-muted:#6b665b;--yh-yellow:#ffe14d;--yh-red:#e5402b;--yh-blue:#2f6fe0;--yh-font-wordmark:"YH Wordmark", "PingFang SC", "Microsoft YaHei", sans-serif;--yh-font-num:"YH Num", "DIN Alternate", "Arial Narrow", sans-serif;--yh-font-mono:"YH Mono", ui-monospace, "SF Mono", Menlo, monospace;--yh-font-body:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--yh-border:2px solid var(--yh-ink);--yh-dash:2px dashed var(--yh-ink);--yh-dash-thin:1px dashed var(--yh-paper-gray);--yh-touch:44px;--yh-gutter:16px;--yh-topbar:52px;--yh-safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html,body{accent-color:var(--yh-ink);overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;position:fixed;inset:0;overflow:hidden}body{background:var(--yh-ink);color:var(--yh-ink);font-family:var(--yh-font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-size:15px;line-height:1.5}#app{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow:hidden auto}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{font-size:16px}.yh-btn{min-height:var(--yh-touch);border:var(--yh-border);background:var(--yh-paper);color:var(--yh-ink);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:700;display:inline-flex}.yh-btn:active{transform:translate(1px,1px)}.yh-btn:focus-visible,.yh-input:focus-visible{outline:3px solid var(--yh-yellow);outline-offset:2px}.yh-btn--primary{background:var(--yh-ink);color:var(--yh-yellow)}.yh-btn--block{width:100%}.yh-btn[disabled]{opacity:.5;cursor:not-allowed}.yh-field{gap:6px;display:grid}.yh-label{font-family:var(--yh-font-mono);letter-spacing:.08em;color:var(--yh-muted);text-transform:uppercase;font-size:12px;font-weight:500}.yh-input{min-height:var(--yh-touch);border:var(--yh-border);background:#fff;border-radius:0;padding:0 12px}.yh-error{color:var(--yh-red);margin:0;font-size:13px}.yh-ticket{--tooth:8px;background:var(--yh-paper);padding:calc(var(--tooth) + 14px) var(--yh-gutter);-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / var(--tooth) 51% repeat-x, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x;-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / var(--tooth) 51% repeat-x, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x;mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) bottom / var(--tooth) 51% repeat-x, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x;position:relative}.yh-ticket--top-only{-webkit-mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x, linear-gradient(#000 0 0) bottom / 100% 51% no-repeat;-webkit-mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x, linear-gradient(#000 0 0) bottom / 100% 51% no-repeat;mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) top / var(--tooth) 51% repeat-x, linear-gradient(#000 0 0) bottom / 100% 51% no-repeat;padding-bottom:calc(14px + var(--yh-safe-bottom))}.yh-rule{border:0;border-top:var(--yh-dash);margin:12px 0}.yh-meta{font-family:var(--yh-font-mono);color:var(--yh-muted);letter-spacing:.04em;font-size:12px}.yh-num{font-family:var(--yh-font-num);letter-spacing:.02em;font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.yh-map{background:var(--yh-paper-gray);position:absolute;inset:0;overflow:hidden}.yh-map--dark-fallback canvas{filter:invert(.92)hue-rotate(180deg)saturate(.55)brightness(.9)}.yh-overlay{will-change:transform;position:absolute;top:0;left:0}.yh-tag{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;min-height:44px;padding:0;transition:opacity .3s;display:flex;position:absolute;bottom:0;left:0;transform:translate(-50%)}.yh-tag__body{border:2px solid var(--yh-ink);background:var(--yh-paper);height:30px;box-shadow:2px 2px 0 var(--yh-ink);align-items:stretch;display:flex}.yh-tag__type{width:28px;font-family:var(--yh-font-body);background:var(--yh-ink);color:var(--yh-yellow);place-items:center;font-size:15px;font-weight:700;display:grid}.yh-tag[data-type=construction] .yh-tag__type{background:var(--yh-yellow);color:var(--yh-ink);border-right:2px solid var(--yh-ink)}.yh-tag[data-type=no_entry] .yh-tag__type{background:var(--yh-red);color:#fff}.yh-tag[data-type=inspection] .yh-tag__type{background:var(--yh-blue);color:#fff}.yh-tag__time{min-width:36px;font-family:var(--yh-font-num);white-space:nowrap;place-items:center;padding:0 7px;font-size:15px;font-weight:600;display:grid}.yh-tag__string{background:var(--yh-ink);width:2px;height:12px}.yh-tag__string:after{content:"";border:2px solid var(--yh-ink);background:var(--yh-yellow);border-radius:50%;width:8px;height:8px;margin:10px 0 0 -3px;display:block}.yh-tag__note:empty{display:none}.yh-tag__note{font-family:var(--yh-font-mono);background:var(--yh-ink);color:var(--yh-paper);white-space:nowrap;order:-1;margin-bottom:2px;padding:0 4px;font-size:11px;font-weight:500}.yh-tag.is-fading .yh-tag__body{box-shadow:none;background:color-mix(in srgb, var(--yh-paper) 70%, transparent);border-style:dashed}.yh-tag.is-fading .yh-tag__type{filter:saturate(.4)}.yh-tag.is-maybe-invalid .yh-tag__body{background:var(--yh-paper-gray)}.yh-tag.is-maybe-invalid .yh-tag__type{background:var(--yh-muted)!important;color:var(--yh-paper)!important}.yh-tag.is-maybe-invalid .yh-tag__time{color:var(--yh-muted);text-decoration:line-through;text-decoration-thickness:2px}.yh-tag.is-selected .yh-tag__body{outline:3px solid var(--yh-yellow);outline-offset:1px}.yh-tag.is-review .yh-tag__body{box-shadow:none;background:color-mix(in srgb, var(--yh-paper) 80%, transparent);border-style:dashed}.yh-tag.is-review .yh-tag__note{background:var(--yh-yellow);color:var(--yh-ink)}.yh-map--dark .yh-tag__body{border-color:var(--yh-paper);box-shadow:2px 2px 0 var(--yh-yellow)}.yh-map--dark .yh-tag__string,.yh-map--dark .yh-tag__string:after{background:var(--yh-paper)}.yh-map--dark .yh-tag__string:after{border-color:var(--yh-paper);background:var(--yh-yellow)}.yh-map--dark .yh-tag__note{background:var(--yh-paper);color:var(--yh-ink)}.yh-map--dark .yh-tag.is-fading .yh-tag__body{box-shadow:none}.yh-user-dot{background:var(--yh-blue);width:16px;height:16px;box-shadow:0 0 0 6px color-mix(in srgb, var(--yh-blue) 25%, transparent);border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.yh-mock-map{--grid:40px;background-color:#ece8dc;background-image:linear-gradient(#d3cdbd 1px,#0000 1px),linear-gradient(90deg,#d3cdbd 1px,#0000 1px);background-size:var(--grid) var(--grid);touch-action:none;cursor:grab}.yh-mock-map.is-dark{background-color:#1d1c19;background-image:linear-gradient(#2c2a25 1px,#0000 1px),linear-gradient(90deg,#2c2a25 1px,#0000 1px)}.yh-mock-map__layer{position:absolute;inset:0}.yh-mock-map__badge{font-family:var(--yh-font-mono);background:var(--yh-ink);color:var(--yh-paper);pointer-events:none;padding:2px 6px;font-size:11px;position:absolute;bottom:8px;left:8px}
