:root{--bg:#e9efee;--ink:#1f3a33;--muted:#5e7670;--line:#cfdcd9;--accent:#c8553d;--card:#f6f9f8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--bg);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.page{grid-template-columns:minmax(300px,360px) 1fr;height:100%;display:grid}.panel{flex-direction:column;gap:28px;padding:48px 32px 32px 40px;display:flex;overflow-y:auto}h1{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-size:56px;font-weight:500;line-height:.95}.dot{color:var(--accent)}.role{color:var(--muted);margin-top:14px;font-size:14px}.links{gap:16px;margin-top:18px;font-size:13px;display:flex}.links a{color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.links a:hover{border-color:var(--ink)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;min-height:150px;padding:20px;font-size:14px;line-height:1.55}.card h2{margin:2px 0 8px;font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:500}.coast{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.hint{color:var(--muted)}.stops{gap:4px;padding:0;list-style:none;display:grid}.stops button{text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:baseline;width:100%;padding:10px 12px;font-size:14px;display:flex}.stops button:hover{background:var(--card)}.stops button.on{background:var(--card);border-color:var(--line)}.stops small{color:var(--muted);font-size:11px}.world{min-height:0;position:relative}.drag{color:var(--muted);pointer-events:none;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.sound{z-index:20;height:34px;color:var(--muted);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffb3;border-radius:999px;align-items:center;gap:6px;padding:0 10px;transition:color .2s,background .2s;display:flex;position:absolute;bottom:14px;left:18px}.sound:hover,.sound.on{color:var(--ink);background:#ffffffeb}.sound .bars{align-items:flex-end;gap:2px;height:12px;display:flex}.sound .bars i{transform-origin:bottom;background:currentColor;border-radius:1px;width:2px;height:100%;animation:1.4s ease-in-out infinite bar}.sound .bars i:nth-child(2){animation-delay:-.5s}.sound .bars i:nth-child(3){animation-delay:-.9s}@keyframes bar{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.sound .bars i{animation:none;transform:scaleY(.6)}}.scene{position:absolute;inset:0}.labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.labels>*{position:absolute;top:0;left:0}.loading{letter-spacing:.04em;color:var(--muted);background:var(--bg);pointer-events:none;place-items:center;font-size:12px;transition:opacity .8s;display:grid;position:absolute;inset:0}.loading.done{opacity:0}.tag{white-space:nowrap;letter-spacing:.01em;opacity:0;pointer-events:none;background:#ffffffeb;border:0;border-radius:6px;padding:5px 11px;font-size:11px;transition:opacity .2s,transform .2s;transform:translateY(4px);box-shadow:0 4px 14px #1f3a3324}.tag.show{opacity:1;pointer-events:auto;transform:none}.tag.on{background:var(--ink);color:#fff}.coast-label{color:#1f3a3399;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:Fraunces,Georgia,serif;font-size:15px;font-style:italic}@media (width<=767px){.page{flex-direction:column;height:auto;display:flex}.panel{display:contents}.panel header{order:0;padding:32px 16px 12px}.world{order:1;height:46vh}.tag{padding:4px 8px;font-size:10px}.card{order:2;min-height:0;margin:12px 16px 0}.stops{order:3;padding:12px 16px 32px}h1{font-size:44px}}
