.timeline-gate{position:sticky;top:56px;z-index:50;background:linear-gradient(180deg,var(--bg) 0%,rgba(11,11,11,.92) 100%);border-bottom:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.timeline-gate__inner{max-width:var(--content-width);margin:0 auto;padding:var(--space-sm) var(--space-lg)}.timeline-gate__header{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap}.timeline-gate__label{font-family:var(--font-data);font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-fade)}.timeline-gate__current{font-family:var(--font-display);font-style:italic;font-size:.9375rem;color:var(--accent-gold);flex:1 1 auto;min-width:0}.timeline-gate__menu-btn{font-family:var(--font-data);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);background:transparent;border:1px solid var(--border);border-radius:2px;padding:var(--space-xs) var(--space-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-xs);transition:color .2s ease,border-color .2s ease}.timeline-gate__menu-btn:hover{color:var(--white);border-color:var(--accent-dim)}.timeline-gate__menu-icon{display:inline-flex;align-items:center}.timeline-gate__arcs{list-style:none;display:flex;gap:1px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch}.timeline-gate__arcs::-webkit-scrollbar{height:4px}.timeline-gate__arcs::-webkit-scrollbar-thumb{background:var(--border)}.timeline-gate__arc{flex-shrink:0;display:inline-flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:var(--space-xs) var(--space-sm);cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,color .2s ease;min-width:140px;color:var(--text-soft)}.timeline-gate__arc:hover{border-color:var(--accent-dim);color:var(--text)}.timeline-gate__arc.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--white);box-shadow:0 0 12px #c4503a2e}.timeline-gate__arc-num{font-family:var(--font-data);font-size:.625rem;letter-spacing:.12em;color:var(--text-fade)}.timeline-gate__arc.is-active .timeline-gate__arc-num{color:var(--accent)}.timeline-gate__arc-title{font-family:var(--font-display);font-size:.875rem;font-weight:600;white-space:nowrap}.timeline-gate__dropdown{position:absolute;right:var(--space-lg);top:100%;margin-top:var(--space-xs);background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:var(--space-sm);min-width:280px;box-shadow:0 12px 40px #0009;z-index:60}.timeline-gate__dropdown-item{display:block;width:100%;text-align:left;font-family:var(--font-data);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:2px;padding:var(--space-sm) var(--space-md);cursor:pointer;transition:color .2s ease,border-color .2s ease}.timeline-gate__dropdown-item:hover{color:var(--accent);border-color:var(--accent-dim)}.timeline-gate__hint{font-family:var(--font-body);font-size:.75rem;color:var(--text-fade);line-height:1.5;margin:var(--space-sm) 0 0}@media(max-width:768px){.timeline-gate{top:48px}.timeline-gate__inner{padding:var(--space-sm) var(--space-md)}.timeline-gate__current{font-size:.875rem}.timeline-gate__arc{min-width:120px}.timeline-gate__dropdown{right:var(--space-md);left:var(--space-md);min-width:0}}@media(max-width:480px){.timeline-gate__header{gap:var(--space-sm)}.timeline-gate__arc-title{font-size:.8125rem}}.spoiler-locked{position:relative;cursor:pointer;transition:opacity .2s ease,filter .2s ease}.spoiler-locked>*{filter:blur(8px);opacity:.6;pointer-events:none;user-select:none;transition:filter .2s ease,opacity .2s ease}.spoiler-locked:after{content:attr(data-spoiler-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-data);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-soft);background:#0b0b0b8c;border:1px dashed var(--border);border-radius:2px;text-align:center;padding:var(--space-md);pointer-events:none;transition:color .2s ease,background .2s ease,border-color .2s ease}.spoiler-locked:hover:after,.spoiler-locked:focus:after{color:var(--accent);background:#0b0b0bbf;border-color:var(--accent-dim)}.spoiler-locked.is-revealed{cursor:auto}.spoiler-locked.is-revealed>*{filter:none;opacity:1;pointer-events:auto;user-select:auto}.spoiler-locked.is-revealed:after{display:none}.spoiler-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:var(--space-lg);max-width:480px;width:calc(100% - var(--space-lg));font-family:var(--font-body);box-shadow:0 24px 80px #000c}.spoiler-dialog::backdrop{background:#0b0b0bd9;backdrop-filter:blur(2px)}.spoiler-dialog__label{font-family:var(--font-data);font-size:.625rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);display:block;margin-bottom:var(--space-sm)}.spoiler-dialog__title{font-family:var(--font-display);font-size:1.5rem;color:var(--white);margin-bottom:var(--space-md);line-height:1.3}.spoiler-dialog__text{font-size:.9375rem;line-height:1.6;color:var(--text);margin-bottom:var(--space-lg)}.spoiler-dialog__arc{color:var(--accent-gold);font-style:italic}.spoiler-dialog__actions{display:flex;gap:var(--space-md);justify-content:flex-end}.spoiler-dialog__btn{font-family:var(--font-data);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;background:transparent;border:1px solid var(--border);border-radius:2px;padding:var(--space-sm) var(--space-md);color:var(--text-soft);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.spoiler-dialog__btn:hover{color:var(--white);border-color:var(--accent-dim)}.spoiler-dialog__btn--primary{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.spoiler-dialog__btn--primary:hover{color:var(--white);background:var(--accent-dim)}@media(max-width:480px){.spoiler-dialog{padding:var(--space-md)}.spoiler-dialog__title{font-size:1.25rem}.spoiler-dialog__actions{flex-direction:column}.spoiler-dialog__btn{width:100%}}
