:root{--panel:#faf8f2eb;--ink:#1f2a2e;--muted:#5a666b;--accent:#8a5a2b;--line:#1f2a2e26;--focus:#1d5fa8;--gap:12px;--sl:max(var(--gap), env(safe-area-inset-left));--sr:max(var(--gap), env(safe-area-inset-right));--st:max(var(--gap), env(safe-area-inset-top));--sb:max(var(--gap), env(safe-area-inset-bottom));--tap:36px;--row:34px;color:var(--ink);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@media (pointer:coarse){:root{--tap:44px;--row:44px}}#view,#view canvas{touch-action:none;display:block;position:fixed;top:0;bottom:0;left:0;right:0}html,body{overscroll-behavior:none}#view{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary,#side,#card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}#tourBtn:focus-visible{outline-offset:3px;box-shadow:0 0 0 2px #fff}#tourBar button:focus-visible{outline-offset:3px;box-shadow:0 0 0 2px #fff}#view canvas:focus-visible{outline-offset:-4px}#side{z-index:10;top:var(--st);left:var(--sl);width:250px;max-height:calc(100% - var(--st) - var(--sb));overscroll-behavior:contain;box-sizing:border-box;background:var(--panel);border-radius:10px;padding:10px;position:fixed;overflow:auto;box-shadow:0 2px 12px #0000002e}#side header{align-items:center;gap:8px;display:flex}#side h1{flex:1;margin:2px 4px 8px;font-size:15px}#sideToggle{min-height:var(--tap);border:1px solid var(--line);background:#fff;border-radius:8px;flex:none;min-width:64px;padding:4px 12px;font-weight:600;display:none}#sideToggle:after{content:" ▾";color:var(--muted);font-size:.8em}#sideToggle[aria-expanded=true]:after{content:" ▴"}#stopList{margin:0 0 8px;padding:0;list-style:none}#stopList button{width:100%;min-height:var(--row);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;display:flex}#stopList button:hover{background:#0000000d}#stopList button.active{background:#8a5a2b24;font-weight:600}#stopList .num{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:600;display:grid}#tourBtn{width:100%;min-height:var(--tap);background:var(--accent);color:#fff;border:0;border-radius:6px;padding:8px;font-weight:600}#tourBtn.on{background:#55402a}#side .about-btn{min-height:var(--tap)}#side .sister a,dialog.about .sister a{min-height:var(--row);box-sizing:border-box}dialog.about .about-close{border-radius:8px;width:44px;height:44px;margin:2px 2px 0 0;padding:0}dialog.about .about-body{max-height:calc(100vh - 24px);overscroll-behavior:contain;max-height:calc(100dvh - 24px)}html dialog.about{max-height:calc(100dvh - 24px)}#card{z-index:10;right:var(--sr);bottom:var(--sb);width:360px;max-height:calc(100% - var(--st) - var(--sb));box-sizing:border-box;background:var(--panel);border-radius:10px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 2px 12px #0000002e}#card[hidden]{display:none}#card .card-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 16px 4px;overflow:auto}#card .kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0 40px 0 0;font-size:12px}#card h2{margin:2px 36px 6px 0;font-size:18px;line-height:1.25}#card .text{margin:0 0 8px}#card .cert,#card .src,#card .note{color:var(--muted);margin:0 0 6px;font-size:13px}#card .cert:before{content:"";background:#999;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}#card .cert[data-cert=high]:before{background:#3d8b4d}#card .cert[data-cert=medium]:before{background:#c79a2c}#card .cert[data-cert=low]:before{background:#b5533c}#card .note:empty,#card .src:empty{display:none}#card details.evidence>summary{padding:4px 0}#tourBar{background:#f4f2ec;border-top:1px solid #00000014;flex:none;align-items:center;gap:8px;padding:9px 16px 10px;display:flex;position:relative;box-shadow:0 -8px 10px -8px #0000002e}#tourBar button{min-height:var(--tap);border:1px solid var(--accent);cursor:pointer;font:inherit;color:var(--accent);background:0 0;border-radius:999px;flex:1;padding:7px 10px;font-size:14px;font-weight:600}#tourBar #tourPlay{background:var(--accent);color:#fff}#tourBar #tourPlay.on{background:#55402a;border-color:#55402a}#tourBar button:hover{filter:brightness(1.08)}#tourProg{height:3px;position:absolute;top:-1px;left:0;right:0;overflow:hidden}#tourProg i{background:var(--accent);width:0;height:100%;display:block}#cardClose{top:2px;right:calc(2px + var(--sbw,0px));width:44px;height:44px;color:var(--muted);background:radial-gradient(circle,#ebeae5 15.5px,#0000 16.5px);border:0;border-radius:8px;padding:0;font-size:24px;line-height:1;position:absolute}#cardClose:hover{color:var(--ink)}#status{z-index:20;width:max-content;max-width:min(360px, calc(100% - var(--sl) - var(--sr)));box-sizing:border-box;text-align:center;color:#fff;background:#0009;border-radius:18px;padding:7px 14px;font-size:14px;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)}#status[hidden]{display:none}#status.error,#status.notice{border-radius:10px;padding:12px 16px}#status.error{background:#7a2a1f}#status .bar{background:#ffffff40;border-radius:2px;height:3px;margin:6px 0 1px;display:block;overflow:hidden}#status .bar i{background:#fff;width:0;height:100%;transition:width .4s;display:block}#status button{color:#7a2a1f;background:#fff;border:0;border-radius:999px;min-height:44px;margin:10px auto 0;padding:8px 18px;font-weight:600;display:block}html body #peopleChip{bottom:calc(var(--sb) + 10px);left:calc((100% - 360px - var(--sr)) / 2);max-width:calc(100% - 360px - var(--sr) - var(--sl) - 16px)}body.list-open #peopleChip{display:none}@media (max-width:700px),(max-height:500px),(orientation:portrait) and (max-width:1100px){:root{--gap:8px;--tap:44px;--row:44px}#side{width:250px;padding:8px}#side h1{margin:0 2px;font-size:14px;line-height:1.25}#sideToggle{display:block}#side.collapsed #stopList,#side.collapsed .about-btn,#side.collapsed .sister{display:none}#side #stopList{margin-top:6px}#side.collapsed #tourBtn{margin-top:8px}#side:not(.collapsed){z-index:15;width:min(340px, calc(100% - var(--sl) - var(--sr)));background:#faf8f2;box-shadow:0 4px 24px #0000004d}#stopList button{font-size:15px}#side .about-btn,#side .sister,body #side .sister .sister-head,body #side .sister a small,body #card .kicker,body #card .cert,body #card .src,body #card .note,body #card .shown,body #card details.evidence>summary{font-size:14px}body #card details.evidence>summary{margin:0;padding:12px 0;display:list-item}body #card .src a.ref{padding:6px 0}body.card-open #side.collapsed #tourBtn{display:none}}@media (orientation:portrait) and (max-width:1100px),(max-width:700px) and (min-height:501px){#card{left:var(--sl);right:var(--sr);width:auto;max-width:580px;max-height:44%;margin:0 auto}#card .card-body{padding:10px 12px 2px}#tourBar{padding:7px 12px 8px}#tourBar button{padding:8px}html body #peopleChip{top:calc(var(--st) + 120px);bottom:auto;left:var(--sl);max-width:calc(100% - var(--sl) - var(--sr));transform:none}html body.card-open #peopleChip{top:calc(var(--st) + 68px)}}@media (max-width:700px){:root{font-size:14px}#card h2{font-size:16px}}@media (max-height:500px) and (orientation:landscape){:root{font-size:14px}#card{width:min(340px,42%)}#card .card-body{padding:10px 12px 2px}#card h2{font-size:16px}#tourBar{padding:7px 12px 8px}html body #peopleChip{left:calc((100% - min(340px, 42%) - var(--sr)) / 2);bottom:var(--sb);max-width:calc(100% - min(340px, 42%) - var(--sr) - var(--sl) - 16px);padding:10px 16px 10px 12px;font-size:15px;top:auto;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){#poster,#status .bar i{transition:none!important}}#card .src .ref{color:inherit;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#card .src a.ref:hover{color:var(--accent)}#card .shown{color:var(--muted);margin:0 0 6px;font-size:13px}#card .shown:empty{display:none}#card details.evidence>summary{cursor:pointer;color:var(--accent);margin:0 0 6px;font-size:13px;list-style-position:inside}#card details.evidence[open]>summary{margin-bottom:4px}@media (min-width:701px){#card details.evidence>summary{display:none}}.about-btn{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;margin-top:6px;padding:6px;font-size:13px}#side.collapsed .about-btn{display:none}.sister{flex-direction:column;gap:2px;margin-top:10px;font-size:13px;display:flex}.sister .sister-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 2px 2px;font-size:11px}.sister a{color:var(--accent);border-radius:6px;padding:4px 6px;font-weight:600;text-decoration:none;display:block}.sister a small{color:var(--muted);font-size:12px;font-weight:400;display:block}.sister a:hover{background:#8c5a2814}#side.collapsed .sister{display:none}@media (max-height:760px) and (min-width:701px){.sister-side a small{display:none}}.sister-about{flex-flow:wrap;gap:6px;margin:0 0 10px}.sister-about .sister-head{flex-basis:100%}.sister-about a{border:1px solid var(--line);background:#fff}dialog.about{box-sizing:border-box;width:min(720px,100% - 24px);max-height:calc(100% - 24px);color:var(--ink);background:#faf8f2;border:0;border-radius:10px;padding:0;box-shadow:0 6px 30px #0000004d}dialog.about::backdrop{background:#141c2073}.about-body{box-sizing:border-box;max-height:calc(100vh - 24px);padding:16px 22px 18px;overflow:auto}.about-body h2{margin:0 32px 8px 0;font-size:20px}.about-body h3{color:var(--accent);margin:16px 0 4px;font-size:15px}.about-body p{margin:0 0 8px}.about-body .about-src{color:var(--muted);font-size:13px}.about-body .about-src .ref{color:inherit}.about-refs{color:var(--muted);padding-left:20px;font-size:13px}.about-refs li{overflow-wrap:anywhere;margin-bottom:4px}.about-close{float:right;z-index:1;color:var(--muted);background:0 0;border:0;margin:6px 8px 0 0;font-size:24px;line-height:1;position:sticky;top:6px}@media (max-width:700px){.about-body{padding:12px 14px 14px}.about-body h2{font-size:17px}}
