.birthday-constellation{--route-background: var(--panel-strong);--route-foreground: var(--text-main);--route-card: var(--panel);--route-muted-base: color-mix(in srgb, var(--panel-strong) 76%, #263248 24%);--route-muted-foreground: var(--text-muted);--route-border-base: var(--line-strong);--route-accent-base: var(--accent-soft);--route-viz-1: #77d9e7;--route-viz-2: var(--accent-strong);--route-viz-3: var(--accent);--route-viz-5: #ed8ea9;--route-viz-6: #88c7ca;--route-surface: color-mix(in srgb, var(--route-background) 84%, var(--route-viz-3) 16%);--route-surface-strong: color-mix(in srgb, var(--route-background) 90%, var(--route-viz-1) 10%);--route-line: color-mix(in srgb, var(--route-viz-1) 82%, var(--route-foreground) 18%);--route-glow: color-mix(in srgb, var(--route-viz-1) 46%, transparent);--route-today: color-mix(in srgb, var(--route-viz-1) 78%, var(--route-foreground) 22%);--route-selected: color-mix(in srgb, var(--route-viz-2) 76%, var(--route-viz-3) 24%);--route-alert: color-mix(in srgb, var(--route-viz-5) 78%, var(--route-foreground) 22%);--route-muted: color-mix(in srgb, var(--route-muted-foreground) 82%, var(--route-foreground) 18%);--route-border: color-mix(in srgb, var(--route-border-base) 74%, var(--route-foreground) 16%);--archive-band: color-mix(in srgb, var(--panel-strong) 92%, #17233f 8%);--archive-band-text: var(--text-main);--route-paper: color-mix(in srgb, var(--route-background) 88%, var(--route-viz-3) 12%);--dossier-paper: color-mix(in srgb, var(--route-background) 92%, var(--route-viz-1) 8%);position:relative;width:100%;overflow:hidden;border:1px solid var(--route-border);border-radius:6px;color:var(--route-foreground);background:var(--route-surface);box-shadow:0 20px 52px color-mix(in srgb,var(--route-foreground) 14%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.birthday-constellation:before,.birthday-constellation:after{position:absolute;z-index:0;content:"";pointer-events:none}.birthday-constellation:before{inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--route-foreground) 38%,transparent) 0 1px,transparent 1.5px),linear-gradient(90deg,color-mix(in srgb,var(--route-foreground) 3%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--route-foreground) 3%,transparent) 1px,transparent 1px);background-position:7px 11px,0 0,0 0;background-size:47px 43px,48px 48px,48px 48px;opacity:.22}.birthday-constellation:after{inset:0 auto 0 0;width:5px;background:linear-gradient(to bottom,var(--route-alert),var(--route-selected) 46%,var(--route-today));box-shadow:0 0 18px color-mix(in srgb,var(--route-selected) 34%,transparent)}.birthday-constellation button{font:inherit}.birthday-constellation__header{position:relative;z-index:2;display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:14px;padding:14px 16px 13px 20px;border-bottom:3px solid var(--route-selected);color:var(--archive-band-text);background:var(--archive-band);box-shadow:inset 0 -1px color-mix(in srgb,var(--archive-band-text) 24%,transparent)}.birthday-constellation__title{min-width:0}.birthday-constellation__title h2{margin:0;color:inherit;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:1.22rem;font-weight:600;letter-spacing:0;line-height:1.2}.birthday-constellation__month-control{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid color-mix(in srgb,var(--archive-band-text) 28%,transparent);border-radius:2px;background:color-mix(in srgb,var(--archive-band-text) 7%,transparent)}.birthday-constellation__month-control button{display:grid;width:31px;min-height:31px;padding:0;border:0;border-radius:0;color:color-mix(in srgb,var(--archive-band-text) 70%,transparent);background:transparent;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,0 100%);cursor:pointer;place-items:center}.birthday-constellation__month-control button:hover,.birthday-constellation__month-control button:focus-visible{color:var(--archive-band-text);background:color-mix(in srgb,var(--archive-band-text) 15%,transparent);outline:none}.birthday-constellation__month-control span{min-width:68px;color:var(--archive-band-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:500;letter-spacing:0;text-align:center}.birthday-constellation__body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(220px,3fr);min-height:430px}.birthday-constellation__stage{position:relative;min-width:0;overflow:hidden;border-right:1px solid var(--route-border);background:var(--route-paper)}.birthday-constellation__route,.birthday-constellation__node-layer{position:absolute;inset:12px 10px;width:calc(100% - 20px);height:calc(100% - 24px)}.birthday-constellation__route{overflow:visible}.birthday-constellation__route text{fill:var(--route-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:2.4px;font-weight:500;letter-spacing:0}.birthday-constellation__weekday-guide,.birthday-constellation__week-guide{stroke:color-mix(in srgb,var(--route-border) 72%,transparent);stroke-width:.24;opacity:.48;vector-effect:non-scaling-stroke}.birthday-constellation__week-guide{stroke-dasharray:1 3;opacity:.36}.birthday-constellation__track-shadow,.birthday-constellation__track{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.birthday-constellation__week-track{fill:none;stroke:transparent;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none;transition:opacity .14s ease,stroke .14s ease}.birthday-constellation__week-track.is-active{stroke:color-mix(in srgb,var(--route-today) 76%,white 24%);opacity:.72;filter:drop-shadow(0 0 5px var(--route-glow))}.birthday-constellation__track-shadow{stroke:var(--route-glow);stroke-width:5;opacity:.18;filter:blur(4px)}.birthday-constellation__track{stroke:var(--route-line);stroke-width:1.2}.birthday-constellation__node-layer{pointer-events:none}.birthday-constellation__node{--node-size: 10px;position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);display:grid;width:var(--node-size);height:var(--node-size);padding:0;border:1px solid color-mix(in srgb,var(--route-line) 54%,var(--route-border) 46%);border-radius:50%;color:var(--route-foreground);background:var(--route-paper);box-shadow:0 0 0 2px color-mix(in srgb,var(--route-paper) 82%,transparent);cursor:pointer;pointer-events:auto;place-items:center;transform:translate(-50%,-50%);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.birthday-constellation__node:hover,.birthday-constellation__node:focus-visible{z-index:8;outline:none;box-shadow:0 0 0 3px var(--route-paper),0 0 0 5px color-mix(in srgb,var(--route-today) 24%,transparent),0 0 22px var(--route-glow);transform:translate(-50%,-50%) scale(1.08)}.birthday-constellation__node.has-birthday{--node-size: 48px;border-width:1px;border-color:color-mix(in srgb,var(--route-border) 76%,var(--route-foreground) 24%);box-shadow:0 0 0 2px var(--route-paper),0 0 0 3px color-mix(in srgb,var(--route-border) 42%,transparent),0 8px 18px color-mix(in srgb,var(--route-foreground) 12%,transparent)}.birthday-constellation__node.is-selected{z-index:7;border-width:2px;border-color:var(--route-selected);box-shadow:0 0 0 3px var(--route-paper),0 0 0 5px color-mix(in srgb,var(--route-selected) 30%,transparent),0 0 18px var(--route-glow)}.birthday-constellation__node:not(.has-birthday){--node-size: 7px;border:0;background:var(--route-line);box-shadow:0 0 7px var(--route-glow)}.birthday-constellation__node.is-today{border-width:2px;border-color:var(--route-today);box-shadow:0 0 0 3px var(--route-paper),0 0 0 6px color-mix(in srgb,var(--route-today) 46%,transparent),0 0 20px var(--route-glow)}.birthday-constellation__node.is-today:not(.has-birthday){--node-size: 16px;border:2px solid var(--route-today);background:color-mix(in srgb,var(--route-today) 46%,var(--route-paper))}.birthday-constellation__node.is-today.is-selected{box-shadow:0 0 0 3px var(--route-paper),0 0 0 5px color-mix(in srgb,var(--route-selected) 34%,transparent),0 0 0 7px color-mix(in srgb,var(--route-today) 24%,transparent)}.birthday-constellation__date{position:absolute;top:calc(100% + 5px);left:50%;color:var(--route-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.64rem;font-weight:500;letter-spacing:0;line-height:1;pointer-events:none;transform:translate(-50%)}.birthday-constellation__node.has-birthday .birthday-constellation__date,.birthday-constellation__node.is-selected .birthday-constellation__date,.birthday-constellation__node.is-today .birthday-constellation__date{color:var(--route-foreground)}.birthday-constellation__portraits{position:absolute;inset:2px;display:grid;overflow:visible;place-items:center}.birthday-constellation__portrait{display:grid;overflow:hidden;border:1px solid color-mix(in srgb,var(--route-foreground) 68%,transparent);border-radius:50%;background:var(--route-muted-base);box-shadow:0 3px 9px color-mix(in srgb,var(--route-background) 32%,transparent);place-items:center;transition:width .16s ease,height .16s ease,margin-left .16s ease,transform .16s ease}.birthday-constellation__portrait--primary{position:relative;z-index:2;width:38px;height:38px}.birthday-constellation__support-strip{position:absolute;top:57%;left:56%;z-index:1;display:flex;align-items:center;pointer-events:none;transition:top .16s ease,left .16s ease}.birthday-constellation__portrait--support{width:19px;height:19px;margin-left:-7px}.birthday-constellation__portrait--support:first-child{margin-left:0}.birthday-constellation__node:hover .birthday-constellation__support-strip,.birthday-constellation__node:focus-visible .birthday-constellation__support-strip{top:72%;left:58%}.birthday-constellation__node:hover .birthday-constellation__portrait--support,.birthday-constellation__node:focus-visible .birthday-constellation__portrait--support{width:24px;height:24px;margin-left:3px}.birthday-constellation__node:hover .birthday-constellation__portrait--support:first-child,.birthday-constellation__node:focus-visible .birthday-constellation__portrait--support:first-child{margin-left:0}.birthday-constellation__portrait img,.birthday-constellation__detail-avatar img{width:100%;height:100%;object-fit:cover}.birthday-constellation__portrait>span,.birthday-constellation__detail-avatar>span{color:var(--route-foreground);font-size:.68rem;font-weight:500}.birthday-constellation__detail{position:relative;display:flex;min-width:0;padding:17px 15px 14px;border-left:1px solid color-mix(in srgb,var(--route-alert) 34%,transparent);background:var(--dossier-paper);flex-direction:column}.birthday-constellation__detail:before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--route-selected),var(--route-alert) 58%,var(--route-today));content:""}.birthday-constellation__detail-date{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:8px}.birthday-constellation__detail-date strong{font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;line-height:1}.birthday-constellation__detail-date span{color:var(--route-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;letter-spacing:0}.birthday-constellation__detail>hr{width:100%;height:1px;margin:0 0 11px;border:0;background:var(--route-border)}.birthday-constellation__detail-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}.birthday-constellation__detail-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:50px;padding:6px 7px 6px 6px;border-left:3px solid transparent;background:color-mix(in srgb,var(--route-background) 68%,var(--route-viz-6) 4%);transition:transform .14s ease,border-color .14s ease,background .14s ease}.birthday-constellation__detail-row:nth-child(2n){background:color-mix(in srgb,var(--route-background) 80%,var(--route-viz-3) 8%)}.birthday-constellation__detail-row:hover,.birthday-constellation__detail-row:focus-within{border-left-color:var(--route-selected);background:color-mix(in srgb,var(--route-background) 76%,var(--route-viz-2) 10%);transform:translate(2px)}.birthday-constellation__detail-row:hover .birthday-constellation__detail-avatar,.birthday-constellation__detail-row:focus-within .birthday-constellation__detail-avatar{border-color:var(--route-selected);box-shadow:0 0 12px color-mix(in srgb,var(--route-selected) 38%,transparent)}.birthday-constellation__detail-avatar{display:grid;width:38px;height:38px;overflow:hidden;border:1px solid var(--route-border);border-radius:50%;background:var(--route-muted-base);place-items:center}.birthday-constellation__detail-copy{min-width:0}.birthday-constellation__detail-copy strong,.birthday-constellation__detail-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-constellation__detail-copy strong{font-size:.78rem;font-weight:500;line-height:1.35}.birthday-constellation__detail-copy small{margin-top:2px;color:var(--route-muted);font-size:.65rem;line-height:1.35}.birthday-constellation__detail-row a{display:grid;width:29px;height:29px;border:1px solid var(--route-border);border-radius:0;color:var(--route-muted-foreground);background:color-mix(in srgb,var(--route-background) 72%,transparent);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%);text-decoration:none;place-items:center}.birthday-constellation__detail-row a:hover,.birthday-constellation__detail-row a:focus-visible{color:var(--route-foreground);border-color:var(--route-selected);background:var(--route-accent-base);outline:none}.birthday-constellation__empty-detail{display:grid;min-height:190px;color:var(--route-muted);text-align:center;place-items:center}.birthday-constellation__empty-detail strong,.birthday-constellation__empty-detail span{display:block}.birthday-constellation--embedded{height:100%;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.birthday-constellation--embedded:after{display:none}.birthday-constellation--embedded .birthday-constellation__body{height:100%;min-height:0}.birthday-constellation__empty-detail strong{color:var(--route-foreground);font-family:Georgia,Times New Roman,serif;font-size:1rem;font-weight:500}.birthday-constellation__empty-detail span{margin-top:4px;font-size:.7rem}@media(max-width:620px){.birthday-constellation--embedded .birthday-constellation__body{height:720px}.birthday-constellation__body{grid-template-columns:1fr}.birthday-constellation__stage{min-height:420px;border-right:0;border-bottom:1px solid var(--route-border)}.birthday-constellation__detail{min-height:260px;border-left:0}.birthday-constellation__detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.birthday-constellation__header{padding:11px 12px 10px 14px}.birthday-constellation__stage{min-height:390px}.birthday-constellation__node.has-birthday{--node-size: 34px}.birthday-constellation__portrait--primary{width:25px;height:25px}.birthday-constellation__portrait--support{width:13px;height:13px;margin-left:-5px}.birthday-constellation__node:hover .birthday-constellation__portrait--support,.birthday-constellation__node:focus-visible .birthday-constellation__portrait--support{width:17px;height:17px;margin-left:2px}.birthday-constellation__detail-list{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.birthday-constellation__node,.birthday-constellation__portrait,.birthday-constellation__support-strip,.birthday-constellation__week-track,.birthday-constellation__detail-row{transition:none}}.character-archive{--archive-accent: #77d9e7;--archive-accent-alt: var(--accent-strong);--archive-border: color-mix(in srgb, var(--line-strong) 78%, #77d9e7 22%);--archive-content-height: 566px;--archive-surface: color-mix(in srgb, var(--panel-strong) 92%, #111b35 8%);position:relative;width:100%;min-width:0;overflow:hidden;border:1px solid var(--archive-border);border-radius:5px;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%);color:var(--text-main);background:linear-gradient(90deg,color-mix(in srgb,var(--archive-accent) 72%,transparent),color-mix(in srgb,var(--archive-accent-alt) 64%,transparent)) top / 100% 2px no-repeat,var(--archive-surface);box-shadow:0 20px 52px color-mix(in srgb,#020617 48%,transparent);isolation:isolate;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.character-archive:before{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,color-mix(in srgb,var(--text-main) 3%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--text-main) 3%,transparent) 1px,transparent 1px);background-size:48px 48px;content:"";opacity:.28;pointer-events:none}.character-archive button{font:inherit}.character-archive__header{position:relative;z-index:20;display:grid;grid-template-columns:minmax(320px,1fr) auto;align-items:stretch;min-height:58px;border-bottom:1px solid var(--archive-border);background:color-mix(in srgb,var(--panel-strong) 96%,#17233f 4%);box-shadow:inset 0 -1px color-mix(in srgb,var(--text-main) 9%,transparent)}.character-archive__tabs{display:flex;align-items:stretch;min-width:0;padding-left:5px}.character-archive__tab{position:relative;display:inline-flex;min-width:0;align-items:center;gap:8px;padding:0 17px;border:0;color:color-mix(in srgb,var(--text-muted) 88%,transparent);background:transparent;cursor:pointer;white-space:nowrap}.character-archive__tab:after{position:absolute;right:12px;bottom:0;left:12px;height:2px;background:var(--archive-accent);content:"";opacity:0;transform:scaleX(.6);transition:opacity .14s ease,transform .14s ease}.character-archive__tab[aria-selected=true]{color:var(--text-main);background:color-mix(in srgb,var(--archive-accent) 10%,transparent)}.character-archive__tab[aria-selected=true]:after{opacity:1;transform:scaleX(1)}.character-archive__tab:hover,.character-archive__tab:focus-visible{color:var(--text-main);background:color-mix(in srgb,var(--archive-accent) 8%,transparent);outline:none}.character-archive__tab:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--archive-accent) 48%,transparent)}.character-archive__controls{display:flex;min-width:180px;align-items:center;justify-content:flex-end;padding:8px 14px 8px 8px}.character-archive__panels,.character-archive__panel{width:100%;min-width:0;height:var(--archive-content-height)}.character-archive__panel[hidden]{display:none}.character-archive__panel:not([hidden]){animation:character-archive-panel-in .14s ease both}.character-archive .birthday-constellation__month-control,.character-height__header-tools{min-width:0}.character-height{--height-floor-offset: 64px;width:100%;min-width:0;height:566px;color:var(--text-main)}.character-height__header-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px}.character-height__readout{min-width:152px;padding:6px 10px;overflow:hidden;border-left:2px solid var(--archive-accent);color:var(--text-muted);background:color-mix(in srgb,var(--archive-accent) 7%,transparent);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.68rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.character-height__header-tools button{display:grid;width:34px;height:34px;padding:0;border:1px solid var(--archive-border);border-radius:3px;color:var(--text-muted);background:color-mix(in srgb,var(--archive-accent) 7%,transparent);cursor:pointer;place-items:center}.character-height__header-tools button:hover,.character-height__header-tools button:focus-visible{border-color:var(--archive-accent);color:var(--text-main);background:color-mix(in srgb,var(--archive-accent) 14%,transparent);outline:2px solid color-mix(in srgb,var(--archive-accent) 30%,transparent);outline-offset:1px}.character-height__stage{position:relative;height:510px;overflow:hidden;background:repeating-linear-gradient(to top,transparent 0 21px,color-mix(in srgb,var(--archive-border) 14%,transparent) 21px 22px),color-mix(in srgb,var(--panel-strong) 80%,#07101f 20%)}.character-height__stage:after{position:absolute;right:0;bottom:var(--height-floor-offset);left:0;z-index:1;height:2px;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 38%,transparent);content:"";pointer-events:none}.character-height__ruler-line,.character-height__active-line{position:absolute;right:0;left:0;z-index:1;height:1px;pointer-events:none}.character-height__ruler-line{bottom:calc(var(--height-floor-offset) + var(--line-cm) * 2.2px);background:color-mix(in srgb,var(--archive-border) 38%,transparent)}.character-height__ruler-line.is-major{background:color-mix(in srgb,var(--archive-border) 66%,transparent)}.character-height__ruler-line span{position:absolute;top:-8px;left:12px;min-width:44px;color:var(--text-muted);background:color-mix(in srgb,var(--panel-strong) 84%,transparent);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.62rem;text-align:center}.character-height__active-line{bottom:calc(var(--height-floor-offset) + var(--active-cm, 124) * 2.2px);z-index:3;height:2px;background:color-mix(in srgb,var(--archive-accent) 84%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--archive-accent) 54%,transparent);transition:bottom .16s ease,opacity .12s ease}.character-height[data-active-id=""] .character-height__active-line{opacity:0}.character-height__track{position:absolute;inset:0;z-index:4;display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;padding:0 76px 0 66px;cursor:grab;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x}.character-height__track::-webkit-scrollbar{display:none}.character-height__track.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}.character-height__character{position:relative;z-index:2;display:block;flex:0 0 168px;width:168px;height:100%;padding:0;overflow:visible;border:0;color:var(--text-main);background:transparent;cursor:pointer;scroll-snap-align:center}.character-height__ground{position:absolute;bottom:calc(var(--height-floor-offset) - 5px);left:50%;width:74px;height:8px;border:1px solid color-mix(in srgb,var(--archive-border) 52%,transparent);border-radius:50%;background:color-mix(in srgb,#020617 42%,transparent);opacity:.46;transform:translate(-50%);transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease,width .15s ease}.character-height__character img{position:absolute;bottom:var(--height-floor-offset);left:50%;z-index:2;width:auto;max-width:none;height:var(--render-height);opacity:.76;filter:saturate(.78) brightness(.86);pointer-events:none;transform:translate(calc(-50% + var(--x-offset))) translateY(var(--baseline-offset));transform-origin:center bottom;transition:opacity .16s ease,filter .16s ease,transform .16s ease;user-select:none}.character-height__label{position:absolute;right:5px;bottom:5px;left:5px;z-index:5;display:grid;grid-template-rows:minmax(24px,auto) 16px;align-content:end;min-height:54px;padding:5px 6px 3px;border-top:1px solid color-mix(in srgb,var(--archive-border) 38%,transparent);background:color-mix(in srgb,var(--panel-strong) 72%,transparent);text-align:center;pointer-events:none}.character-height__label strong{align-self:center;font-size:.7rem;font-weight:500;line-height:1.25;overflow-wrap:anywhere}.character-height__label span{color:var(--text-muted);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.64rem}.character-height__character:hover,.character-height__character:focus-visible,.character-height__character[aria-pressed=true]{z-index:7;outline:none}.character-height__character:hover img,.character-height__character:focus-visible img,.character-height__character[aria-pressed=true] img{opacity:1;filter:none;transform:translate(calc(-50% + var(--x-offset))) translateY(calc(var(--baseline-offset) - 4px))}.character-height__character:hover .character-height__ground,.character-height__character:focus-visible .character-height__ground,.character-height__character[aria-pressed=true] .character-height__ground{width:92px;border-color:var(--archive-accent);box-shadow:0 0 14px color-mix(in srgb,var(--archive-accent) 52%,transparent);opacity:.9}.character-height__character:focus-visible .character-height__label,.character-height__character[aria-pressed=true] .character-height__label{border-color:var(--archive-accent-alt);background:color-mix(in srgb,var(--accent) 20%,var(--panel-strong) 80%)}.character-height__roster{position:relative;z-index:8;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:56px;padding:8px 14px;border-top:1px solid var(--archive-border);background:color-mix(in srgb,var(--panel-strong) 96%,#17233f 4%)}.character-height__roster>span{color:var(--text-muted);font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.62rem}.character-height__roster>span:last-child{text-align:right}.character-height__roster-map{position:relative;height:34px;border-bottom:1px solid color-mix(in srgb,var(--archive-border) 54%,transparent)}.character-height__roster-map:before{position:absolute;top:17px;right:0;left:0;height:1px;background:color-mix(in srgb,var(--archive-border) 44%,transparent);content:""}.character-height__roster-window{position:absolute;top:3px;bottom:3px;border:1px solid color-mix(in srgb,var(--archive-accent) 68%,transparent);background:color-mix(in srgb,var(--archive-accent) 12%,transparent);pointer-events:none;transition:left .1s linear,width .1s linear}.character-height__roster-mark{position:absolute;top:calc(4px + var(--mark-lane) * 6px);left:var(--mark-left);z-index:2;width:6px;height:6px;padding:0;border:1px solid var(--archive-border);border-radius:1px;background:var(--panel-strong);cursor:pointer;transform:translate(-50%)}.character-height__roster-mark:hover,.character-height__roster-mark:focus-visible,.character-height__roster-mark[aria-current=true]{border-color:var(--archive-accent-alt);background:var(--archive-accent-alt);box-shadow:0 0 8px color-mix(in srgb,var(--archive-accent-alt) 60%,transparent);outline:none}@keyframes character-archive-panel-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.character-archive__header{grid-template-columns:minmax(0,1fr) auto}.character-archive__tab{padding-inline:11px}.character-height__readout{display:none}}@media(max-width:620px){.character-archive{--archive-content-height: 720px}.character-archive__header{grid-template-columns:1fr;min-height:104px}.character-archive__tabs{min-height:52px}.character-archive__tab{flex:1;justify-content:center;padding-inline:7px;font-size:.78rem}.character-archive__controls{min-height:52px;justify-content:center;padding:7px 10px;border-top:1px solid color-mix(in srgb,var(--archive-border) 54%,transparent)}.character-height__track{padding-right:44px;padding-left:44px}.character-height__roster{grid-template-columns:50px minmax(0,1fr) 50px;gap:7px;padding-inline:8px}}@media(prefers-reduced-motion:reduce){.character-archive__panel:not([hidden]){animation:none}.character-archive__tab:after,.character-height__track,.character-height__character img,.character-height__ground,.character-height__active-line,.character-height__roster-window{transition:none}.character-height__character:hover img,.character-height__character:focus-visible img,.character-height__character[aria-pressed=true] img{transform:translate(calc(-50% + var(--x-offset))) translateY(var(--baseline-offset))}}
