.article-page .trip-lab{display:grid;grid-gap:var(--cf-space-300);gap:var(--cf-space-300);padding:var(--cf-space-400)}.article-page .trip-legend{display:flex;flex-wrap:wrap;gap:var(--cf-space-200) var(--cf-space-400);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-300)}.article-page .trip-legend-item{display:inline-flex;align-items:center;gap:var(--cf-space-150)}.article-page .trip-legend-item:before{content:"";width:10px;height:10px;border-radius:var(--cf-radius-full)}.article-page .trip-legend-item.is-in:before{background:var(--cf-color-tertiary)}.article-page .trip-legend-item.is-out:before{background:var(--cf-color-secondary)}.article-page .trip-legend-item.is-stop:before{background:var(--cf-color-danger)}.article-page .trip-board{color:var(--cf-color-text)}.article-page .trip-box{display:grid;grid-gap:var(--cf-space-250);gap:var(--cf-space-250);padding:var(--cf-space-250) var(--cf-space-300) var(--cf-space-300);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-300);background:var(--cf-color-surface);transition:border-color var(--cf-duration-fast) var(--cf-ease-standard),box-shadow var(--cf-duration-fast) var(--cf-ease-standard)}.article-page .trip-box .trip-box{background:var(--cf-color-surface-raised)}.article-page .trip-box.is-active{border-color:var(--cf-color-primary);box-shadow:0 0 0 3px var(--cf-color-primary-glow)}.article-page .trip-box-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--cf-space-200)}.article-page .trip-box-name{font-family:var(--cf-font-mono);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-semibold)}.article-page .trip-bells{display:inline-flex;gap:var(--cf-space-150)}.article-page .trip-bell{position:relative;display:inline-flex;align-items:center;gap:var(--cf-space-100);min-height:30px;padding:var(--cf-space-100) var(--cf-space-250);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-full);background:var(--cf-color-surface-input);color:var(--cf-color-text-secondary);font-family:var(--cf-font-mono);font-size:var(--cf-font-size-300);cursor:pointer;transition:transform var(--cf-duration-fast) var(--cf-ease-standard),background var(--cf-duration-fast) var(--cf-ease-standard),border-color var(--cf-duration-fast) var(--cf-ease-standard)}.article-page .trip-bell.is-off{border-style:dashed;color:var(--cf-color-text-muted);opacity:.7}.article-page .trip-bell.is-in:not(.is-off){border-color:var(--cf-color-tertiary-border);background:var(--cf-color-tertiary-subtle);color:var(--cf-color-tertiary)}.article-page .trip-bell.is-out:not(.is-off){border-color:var(--cf-color-secondary-border);background:var(--cf-color-secondary-subtle);color:var(--cf-color-secondary)}.article-page .trip-bell.is-stop{border-color:var(--cf-color-danger-border)}.article-page .trip-bell.is-ringing{transform:scale(1.12);box-shadow:0 0 0 4px var(--cf-color-primary-glow);animation:trip-ring var(--cf-duration-slow) var(--cf-ease-standard)}.article-page .trip-bell:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.article-page .trip-bell-stop{padding:0 var(--cf-space-100);border-radius:var(--cf-radius-100);background:var(--cf-color-danger-subtle);color:var(--cf-color-danger);text-transform:uppercase}.article-page .trip-bell-number,.article-page .trip-bell-stop{font-size:var(--cf-font-size-275);font-weight:var(--cf-font-weight-semibold)}.article-page .trip-bell-number{position:absolute;top:-9px;right:-9px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--cf-radius-full);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid);font-family:var(--cf-font-sans)}.article-page .trip-star{justify-self:center;width:56px;height:56px;border:1px solid var(--cf-color-primary-border);border-radius:var(--cf-radius-300);background:var(--cf-color-primary-subtle);color:var(--cf-color-primary);font-size:var(--cf-font-size-650);cursor:pointer;animation:trip-pulse 2.4s ease-in-out infinite}.article-page .trip-star:hover{background:var(--cf-color-primary-subtle-active)}.article-page .trip-star:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.article-page .trip-strip{display:flex;flex-wrap:wrap;gap:var(--cf-space-200);margin:0;padding:0;list-style:none}.article-page .trip-step{display:inline-flex;align-items:center;gap:var(--cf-space-150);padding:var(--cf-space-100) var(--cf-space-250) var(--cf-space-100) var(--cf-space-100);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-full);background:var(--cf-color-surface-raised);font-size:var(--cf-font-size-300);animation:trip-pop var(--cf-duration-normal) var(--cf-ease-standard)}.article-page .trip-step.is-in{border-color:var(--cf-color-tertiary-border)}.article-page .trip-step.is-out{border-color:var(--cf-color-secondary-border)}.article-page .trip-step.is-stopped{border-color:var(--cf-color-danger-border)}.article-page .trip-step.is-right{background:var(--cf-color-success-subtle)}.article-page .trip-step.is-wrong{background:var(--cf-color-danger-subtle)}.article-page .trip-step-number{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--cf-radius-full);background:var(--cf-color-surface-strong);font-weight:var(--cf-font-weight-semibold)}.article-page .trip-step-box{font-family:var(--cf-font-mono)}.article-page .trip-step-way{color:var(--cf-color-text-tertiary)}.article-page .trip-step-flag{color:var(--cf-color-danger)}.article-page .trip-step-flag,.article-page .trip-step-mark{font-weight:var(--cf-font-weight-semibold)}.is-right .article-page .trip-step-mark{color:var(--cf-color-success)}.is-wrong .article-page .trip-step-mark{color:var(--cf-color-danger)}.article-page .trip-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));grid-gap:var(--cf-space-200);gap:var(--cf-space-200);margin:0;padding:0;list-style:none}.article-page .trip-level{display:grid;justify-items:start;grid-gap:var(--cf-space-050);gap:var(--cf-space-050);width:100%;padding:var(--cf-space-200) var(--cf-space-250);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-200);background:var(--cf-color-surface-raised);color:var(--cf-color-text-secondary);text-align:left;cursor:pointer}.article-page .trip-level:disabled{cursor:not-allowed;opacity:.5}.article-page .trip-level.is-current{border-color:var(--cf-color-primary);color:var(--cf-color-text)}.article-page .trip-level.is-done .trip-level-stars{color:var(--cf-color-warning)}.article-page .trip-level:focus-visible{outline:2px solid var(--cf-color-focus-ring);outline-offset:2px}.article-page .trip-level-number{color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-275)}.article-page .trip-level-title{font-size:var(--cf-font-size-300);font-weight:var(--cf-font-weight-semibold)}.article-page .trip-level-stars{color:var(--cf-color-text-muted);letter-spacing:var(--cf-letter-spacing-wider)}.article-page .trip-score{color:var(--cf-color-warning);font-weight:var(--cf-font-weight-semibold)}.article-page .trip-step-label{color:var(--cf-color-text-tertiary)}.article-page .trip-controls .is-primary{border-color:var(--cf-color-primary-solid);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid)}@keyframes trip-ring{0%{transform:scale(1)}40%{transform:scale(1.22) rotate(-6deg)}70%{transform:scale(1.12) rotate(5deg)}to{transform:scale(1.12)}}@keyframes trip-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes trip-pulse{0%,to{box-shadow:0 0 0 0 var(--cf-color-primary-glow)}50%{box-shadow:0 0 0 8px var(--cf-color-primary-glow)}}@media(prefers-reduced-motion:reduce){.article-page .trip-bell,.article-page .trip-star,.article-page .trip-step{animation:none;transition:none}}.article-page .event-log{display:grid;grid-gap:var(--cf-space-150);gap:var(--cf-space-150);max-height:260px;overflow:auto;padding:var(--cf-space-300);margin:0;color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-300)}.article-page .nonbubble-target{display:grid;grid-gap:var(--cf-space-250);gap:var(--cf-space-250);align-items:start}@media(max-width:560px){.article-page .event-log{max-height:220px}}