:root{--paper: #09152B;--paper-2: #172B4D;--paper-3: #2C4A7C;--paper-bright: #0A1730;--ink: #EAF1FA;--ink-2: #BCCBE4;--ink-3: #8A9CBC;--ink-4: #5E7196;--coral: #5DC2F0;--steel: #B594E8;--moss: #4FCFAE;--gold: #F2C674;--warn: #E2A555;--pale: #5E7196;--line: rgba(234, 241, 250, .12);--line-strong: rgba(234, 241, 250, .28);--serif-en: "Iowan Old Style", "Charter", "Georgia", serif;--kor: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--kor);background:var(--paper);background-image:radial-gradient(ellipse at 18% 0%,rgba(93,194,240,.16),transparent 55%),radial-gradient(ellipse at 85% 30%,rgba(181,148,232,.1),transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(79,207,174,.08),transparent 60%),linear-gradient(rgba(93,194,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(93,194,240,.05) 1px,transparent 1px),radial-gradient(circle at 12% 18%,rgba(234,241,250,.55) .5px,transparent 1px),radial-gradient(circle at 78% 42%,rgba(234,241,250,.45) .5px,transparent 1px),radial-gradient(circle at 32% 72%,rgba(234,241,250,.45) .5px,transparent 1px),radial-gradient(circle at 88% 88%,rgba(234,241,250,.5) .5px,transparent 1px),radial-gradient(circle at 55% 15%,rgba(234,241,250,.4) .5px,transparent 1px),radial-gradient(circle at 8% 60%,rgba(234,241,250,.45) .5px,transparent 1px);background-attachment:fixed;background-size:100% 100%,100% 100%,100% 100%,64px 64px,64px 64px,220px 220px,340px 340px,280px 280px,400px 400px,260px 260px,360px 360px;color:var(--ink);line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}.page{max-width:1280px;margin:0 auto;padding:56px 48px 80px}.masthead{border-top:2px solid var(--coral);border-bottom:1px solid var(--line);padding:28px 0 24px;margin-bottom:36px;position:relative}.masthead h1 .accent{text-shadow:0 0 24px rgba(93,194,240,.44),0 0 8px rgba(93,194,240,.32)}.masthead h1{font-family:var(--kor);font-size:48px;font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--ink);margin-bottom:10px}.masthead h1 .accent{color:var(--coral)}.masthead h1 .en{font-family:var(--serif-en)}.masthead h1 rt{font-family:var(--kor);font-size:max(.26em,11px);font-weight:600;letter-spacing:.5em;padding-left:.5em;color:var(--ink-3);text-shadow:none}.masthead .subtitle{font-size:16px;color:var(--ink-2);max-width:720px}.masthead .meta{margin-top:14px;font-size:13px;color:var(--ink-3);font-family:var(--kor)}.intro{background:var(--paper-2);border-left:4px solid var(--coral);padding:22px 26px;margin-bottom:28px;border-radius:2px}.intro h2{font-family:var(--kor);font-size:22px;margin-bottom:12px;color:var(--ink)}.intro ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px}.intro li{font-size:14px;color:var(--ink-2);padding-left:18px;position:relative}.intro li:before{content:"▸";position:absolute;left:0;color:var(--coral);font-size:11px;top:2px}.update-line{display:flex;align-items:center;gap:12px;margin:-16px 0 24px;padding:9px 14px;color:var(--ink-2);background:color-mix(in srgb,var(--paper-2) 70%,transparent);border:1px dashed var(--line-strong);border-radius:2px;transition:background .2s ease,border-color .2s ease}.update-line:hover{background:color-mix(in srgb,var(--paper-2) 70%,var(--coral) 8%);border-color:var(--coral)}.update-line-main{display:flex;align-items:baseline;gap:12px;flex:1;min-width:0;padding:0;font:inherit;text-align:left;color:inherit;background:none;border:none;cursor:pointer}.update-line-main:focus-visible,.update-line-action:focus-visible,.update-log-close:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.update-line-label{flex:none;font-size:11px;color:var(--coral);background:#5dc2f029;padding:1px 8px;border-radius:2px}.update-day-date{flex:none;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.update-line-text{flex:1;min-width:0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.update-line-more{margin-left:6px;color:var(--ink-3)}.update-line-action{flex:none;padding:2px 4px;font:inherit;font-size:12px;color:var(--ink-3);background:none;border:none;border-radius:2px;text-decoration:none;cursor:pointer}.update-line-action:hover{color:var(--coral)}a.update-line-action{color:var(--coral);text-decoration:underline;text-underline-offset:3px}.update-tag{margin-right:2px;font-weight:600;color:var(--ink-3)}.update-tag.main{color:var(--coral)}.update-tag.event{color:var(--steel)}.update-tag.side{color:var(--moss)}.update-tag.affinity{color:var(--gold)}.update-log{width:min(400px,calc(100vw - 32px));max-height:min(440px,calc(100vh - 32px));margin:auto;padding:0;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-strong);border-top:2px solid var(--coral);border-radius:3px;box-shadow:0 24px 60px -20px #000000b3}.update-log[open]{display:flex;flex-direction:column}.update-log::backdrop{background:#040a1699}.update-log-head{display:flex;align-items:center;justify-content:space-between;padding:12px 10px 10px 18px;border-bottom:1px solid var(--line)}.update-log-head h2{font-size:16px;font-weight:700}.update-log-close{width:32px;height:32px;font-size:22px;line-height:1;color:var(--ink-3);background:none;border:none;border-radius:2px;cursor:pointer}.update-log-close:hover{color:var(--ink)}.update-log-body{overflow-y:auto;padding:4px 14px 8px 18px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--coral) 40%,transparent) transparent}.update-log-body::-webkit-scrollbar{width:8px}.update-log-body::-webkit-scrollbar-track{background:transparent}.update-log-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--coral) 40%,transparent);border:2px solid var(--paper-2);border-radius:4px}.update-log-body::-webkit-scrollbar-thumb:hover{background:var(--coral)}.update-day{position:relative;padding:10px 0 10px 24px}.update-day:before{content:"";position:absolute;left:0;top:16px;width:11px;height:11px;border:2px solid var(--coral);border-radius:50%;background:var(--paper-2);z-index:1}.update-day:first-child:before{background:var(--coral);box-shadow:0 0 10px color-mix(in srgb,var(--coral) 60%,transparent)}.update-day:after{content:"";position:absolute;left:5px;top:16px;bottom:-16px;width:1px;background:color-mix(in srgb,var(--coral) 45%,transparent)}.update-day:last-child:after{display:none}.update-day-date{display:block;margin-bottom:4px;font-size:12px}.update-day ul{list-style:none;display:grid;gap:3px}.update-day li{font-size:13.5px;line-height:1.55;color:var(--ink-2)}.update-jump{color:inherit;text-decoration:underline dotted var(--line-strong);text-underline-offset:4px}.update-jump:hover{text-decoration-color:var(--coral);color:var(--ink)}.update-jump:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:2px}.jump-flash{animation:jump-flash 1.8s ease-out}@keyframes jump-flash{0%,35%{outline:3px solid var(--coral);outline-offset:4px}to{outline:3px solid transparent;outline-offset:10px}}@media(prefers-reduced-motion:reduce){.jump-flash{animation:none;outline:3px solid var(--coral);outline-offset:4px}}.spoiler{border-radius:2px;transition:filter .2s ease}.spoiler:not(.is-revealed){filter:blur(5px);cursor:pointer;user-select:none}@media(hover:hover){.spoiler:hover{filter:none}}@media(prefers-reduced-motion:reduce){.spoiler{transition:none}}.motion-dialog[open]{animation:dialog-in .2s cubic-bezier(.2,.7,.3,1)}.motion-dialog[open]::backdrop{animation:backdrop-in .2s ease-out}.motion-dialog.is-closing{animation:dialog-out .15s ease-in forwards}.motion-dialog.is-closing::backdrop{animation:backdrop-out .15s ease-in forwards}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}@keyframes dialog-out{to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes backdrop-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){.motion-dialog[open],.motion-dialog[open]::backdrop{animation:none}}.viewer{width:min(286px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:10px 14px 12px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-strong);border-top:2px solid var(--coral);border-radius:4px;box-shadow:0 24px 60px -20px #000000b3;overflow:hidden}.viewer::backdrop{background:#040a16bf}.viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 -6px 8px 0}.viewer-caption{display:flex;align-items:center;min-height:30px;min-width:0;overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.viewer-logo{display:block;width:calc(clamp(100px,calc(50px * var(--ratio, 2)),180px) * var(--scale, 1));height:auto;max-width:100%;filter:drop-shadow(0 0 1px rgba(234,241,250,.75)) drop-shadow(0 0 6px rgba(234,241,250,.22))}.viewer-close,.viewer-step{flex:none;display:grid;place-items:center;width:30px;height:30px;padding:0;font-size:20px;line-height:1;color:var(--ink-2);background:none;border:1px solid transparent;border-radius:50%;cursor:pointer}.viewer-step{border-color:var(--line-strong)}.viewer-close:hover,.viewer-step:hover{color:var(--coral);border-color:var(--coral)}.viewer-close:focus-visible,.viewer-step:focus-visible,.viewer-strip button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.viewer-stage{margin:0;overflow:hidden;border-radius:3px;touch-action:pan-y}.viewer-stage img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper);user-select:none;-webkit-user-drag:none}.viewer-nav{display:none;align-items:center;justify-content:space-between;margin-top:8px}.viewer.is-multi .viewer-nav{display:flex}.viewer-count{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.viewer-strip{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--coral) 40%,transparent) transparent}.viewer-strip:empty{display:none}.viewer-strip button{flex:none;width:40px;height:40px;padding:0;background:none;border:2px solid transparent;border-radius:3px;opacity:.55;cursor:pointer;transition:opacity .15s ease,border-color .15s ease}.viewer-strip button[aria-current=true]{opacity:1;border-color:var(--coral)}.viewer-strip img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}.legend{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.legend-card{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:14px 16px;position:relative;transition:background .25s ease,border-color .25s ease,transform .25s ease}.legend-card:hover{background:var(--paper-3);border-color:var(--line-strong);transform:translateY(-1px)}.legend-card .swatch{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:middle}.legend-card .label{font-weight:600;font-size:14px;color:var(--ink)}.legend-card .desc{font-size:12.5px;color:var(--ink-3);margin-top:6px;line-height:1.55}.swatch.main{background:var(--coral)}.swatch.event{background:var(--steel)}.swatch.side{background:var(--moss)}.swatch.affinity{background:var(--gold)}.legend-importance{background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:3px;padding:14px 18px;margin-bottom:36px;font-size:13.5px;color:var(--ink-2);display:flex;gap:28px;flex-wrap:wrap;align-items:center}.legend-importance .imp-key{font-weight:600;color:var(--ink);margin-right:6px}.legend-importance .badge{margin-right:6px}.legend-importance .imp-note{flex-basis:100%;font-size:12.5px;color:var(--ink-3)}.stars{color:var(--gold);letter-spacing:1px}.stars-dim{color:var(--ink-4);letter-spacing:1px}.notes{margin-bottom:44px}.notes h2{font-family:var(--kor);font-size:24px;color:var(--ink);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.note{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:16px 18px;transition:background .25s ease,border-color .25s ease,transform .25s ease}.note:hover{background:var(--paper-3);border-color:var(--coral);transform:translateY(-1px)}.note .tag{display:inline-block;font-family:var(--kor);font-size:11px;color:var(--coral);background:#5dc2f029;padding:2px 8px;border-radius:2px;margin-bottom:8px;letter-spacing:.05em}.note .ttl{font-weight:600;font-size:15px;color:var(--ink);margin-bottom:6px}.note .body{font-size:13.5px;color:var(--ink-2);line-height:1.6}.timeline-header{text-align:center;margin-bottom:14px}.timeline-header h2{font-family:var(--serif-en);font-size:36px;color:var(--ink);letter-spacing:-.01em}.timeline-header .tag{font-family:var(--serif-en);font-style:italic;color:var(--coral);font-size:36px;letter-spacing:-.01em;display:block;text-shadow:0 0 24px rgba(93,194,240,.44),0 0 8px rgba(93,194,240,.32)}.watch-progress{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;font-size:13px;color:var(--ink-3)}.watch-progress-label{font-weight:600;color:var(--ink-2)}.watch-progress-bar{position:relative;flex:0 1 220px;height:6px;overflow:hidden;background:color-mix(in srgb,var(--ink) 12%,transparent);border-radius:3px}.watch-progress-bar>span{position:absolute;inset:0 auto 0 0;width:0;background:var(--moss);border-radius:3px;transition:width .3s ease}.watch-progress-count{font-variant-numeric:tabular-nums}.watch-progress-action{padding:4px 10px;font:inherit;font-size:12.5px;color:var(--ink-3);background:none;border:1px solid transparent;border-radius:3px;cursor:pointer}.watch-progress-action[hidden]{display:none}.watch-progress-action:hover{color:var(--coral)}.watch-progress-action.is-primary{font-weight:600;color:var(--moss);border-color:color-mix(in srgb,var(--moss) 55%,transparent);background:color-mix(in srgb,var(--moss) 10%,transparent)}.watch-progress-action.is-primary:hover{background:color-mix(in srgb,var(--moss) 20%,transparent)}.watch-progress-action:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.portal-toast{--ink: #13233F;--ink-2: #33445F;--ink-3: #5D6C84;--coral: #0A74B8;--toast-gold: #B97A06;--toast-button: #F09A2C;position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));padding:14px 16px 12px;font-size:13.5px;line-height:1.55;color:var(--ink-2);background:color-mix(in srgb,var(--toast-gold) 20%,#F8FAFB);border:1px solid color-mix(in srgb,var(--toast-gold) 70%,transparent);border-radius:6px;box-shadow:0 14px 32px -12px #00000073;animation:portal-toast-in .3s ease}.portal-toast[hidden]{display:none}.portal-toast-text{word-break:keep-all}.portal-toast-text b{color:var(--ink)}.portal-toast-actions{display:flex;align-items:center;gap:6px}.portal-toast-action{padding:4px 10px;font:inherit;font-size:12.5px;color:var(--ink-3);text-decoration:none;background:none;border:1px solid transparent;border-radius:3px;cursor:pointer}.portal-toast-action:hover{color:var(--coral)}.portal-toast-action.is-primary{font-weight:600;color:var(--ink);background:var(--toast-button);border-color:var(--toast-button)}.portal-toast-action.is-primary:hover{color:var(--ink);background:color-mix(in srgb,var(--toast-button) 88%,#000)}.portal-toast-close{margin-left:auto;padding:0 6px;font-size:18px;line-height:1;color:var(--ink-3);background:none;border:none;cursor:pointer}.portal-toast-close:hover{color:var(--ink)}.portal-toast-action:focus-visible,.portal-toast-close:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@keyframes portal-toast-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.portal-toast{animation:none}}@media(max-width:480px){.portal-toast{right:16px;bottom:16px}}.watch-toggle{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;width:26px;height:26px;padding:0;color:var(--ink-4);background:color-mix(in srgb,var(--paper-2) 80%,transparent);border:1.5px solid var(--line-strong);border-radius:50%;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}@media(hover:hover){.watch-toggle:hover{color:var(--moss);border-color:var(--moss)}}.watch-toggle[aria-pressed=true]{color:var(--paper);background:var(--moss);border-color:var(--moss)}.watch-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.card .head,.group .gh{padding-right:34px}.node[data-watched]>.card,.node[data-watched]>.group{opacity:.55;transition:opacity .2s ease}@media(hover:hover){.node[data-watched]>.card:hover,.node[data-watched]>.group:hover{opacity:1}}.node[data-watched]>.jump-flash{opacity:1}.timeline-filter{position:relative;z-index:20;margin:0 0 26px}.tf-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.tf-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;font:inherit;font-size:13.5px;color:var(--ink);background:color-mix(in srgb,var(--paper-2) 70%,transparent);border:1px solid var(--line-strong);border-radius:3px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tf-toggle svg{color:var(--coral)}.tf-toggle:hover,.tf-toggle[aria-expanded=true]{border-color:var(--coral);background:color-mix(in srgb,var(--paper-2) 70%,var(--coral) 10%)}.tf-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.tf-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;color:var(--paper);background:var(--coral);border-radius:9px}.tf-badge[hidden]{display:none}.tf-jumps{position:relative;display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.tf-jump-list{display:contents}.tf-jumps[data-label-break] .tf-jumps-label{flex-basis:100%}.tf-jumps[data-mode=ten] .tf-jump:not([data-ten]){display:none}.tf-jumps-toggle,.tf-jumps[data-mode=menu] .tf-jumps-label{display:none}.tf-jumps[data-mode=menu] .tf-jumps-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font:inherit;font-size:13.5px;font-weight:600;color:var(--coral);background:color-mix(in srgb,var(--coral) 10%,transparent);border:1px solid color-mix(in srgb,var(--coral) 55%,transparent);border-radius:3px;cursor:pointer}.tf-jumps-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.tf-jumps[data-mode=menu] .tf-jump-list{position:absolute;top:calc(100% + 8px);left:0;z-index:21;display:none;grid-template-columns:repeat(5,auto);gap:6px;padding:10px;background:var(--paper-2);border:1px solid var(--line-strong);border-top:2px solid var(--coral);border-radius:4px;box-shadow:0 24px 50px -20px #000000b3}.tf-jumps[data-mode=menu].is-open .tf-jump-list{display:grid;animation:tf-open .14s ease-out}.tf-jumps-label{margin-right:2px;font-size:13px;font-weight:600;color:var(--ink-2)}.tf-jump{min-width:42px;padding:6px 10px;font-size:13.5px;font-weight:600;text-align:center;color:var(--coral);text-decoration:none;background:color-mix(in srgb,var(--coral) 10%,transparent);border:1px solid color-mix(in srgb,var(--coral) 55%,transparent);border-radius:3px;font-variant-numeric:tabular-nums;transition:color .15s ease,border-color .15s ease,background .15s ease}.tf-jump:hover{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 20%,transparent)}.tf-jump:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.tf-summary{font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.tf-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(560px,100%);padding:6px 16px;background:var(--paper-2);border:1px solid var(--line-strong);border-top:2px solid var(--coral);border-radius:4px;box-shadow:0 24px 50px -20px #000000b3;animation:tf-open .14s ease-out}.tf-panel[hidden]{display:none}@keyframes tf-open{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.tf-panel{animation:none}}.tf-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;border:none;padding:8px 0;min-inline-size:0}.tf-row+.tf-row{border-top:1px dashed var(--line)}.tf-label{float:left;width:44px;font-size:12.5px;color:var(--ink-3)}.tf-options{display:flex;flex-wrap:wrap;gap:6px;flex:1}.tf-opt{position:relative}.tf-opt input{position:absolute;opacity:0;width:1px;height:1px}.tf-opt span{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;font-size:13px;color:var(--ink-3);border:1px solid var(--line-strong);border-radius:3px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.tf-opt span:hover{color:var(--ink)}.tf-opt input:checked+span{color:var(--ink);border-color:var(--coral);background:color-mix(in srgb,var(--coral) 16%,transparent)}.tf-opt input:focus-visible+span{outline:2px solid var(--coral);outline-offset:2px}.tf-opt .tf-stars,.tf-opt input:checked+.tf-stars{color:var(--gold);letter-spacing:1px}.tf-level.is-included span{border-style:dashed;border-color:color-mix(in srgb,var(--coral) 55%,transparent);background:color-mix(in srgb,var(--coral) 7%,transparent)}.tf-separate{margin-left:4px;padding-left:10px;border-left:1px solid var(--line-strong)}.tf-kind{--kind: var(--ink-3)}.tf-kind[data-kind=main]{--kind: var(--coral)}.tf-kind[data-kind=anniv]{--kind: #FFD93D}.tf-kind[data-kind=side]{--kind: var(--moss)}.tf-kind[data-kind=event]{--kind: var(--steel)}.tf-kind[data-kind=affinity]{--kind: var(--gold)}.tf-kind span:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--kind);opacity:.35}.tf-kind[data-kind=anniv] span:before{border-radius:1px;transform:rotate(45deg)}.tf-kind input:not(:checked)+span{border-style:dashed}.tf-kind input:checked+span{border-color:color-mix(in srgb,var(--kind) 70%,transparent);background:color-mix(in srgb,var(--kind) 14%,transparent)}.tf-kind input:checked+span:before{opacity:1}.tf-reset,.timeline-empty button{font:inherit;font-size:12.5px;color:var(--coral);background:none;border:none;padding:2px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.tf-reset[hidden]{display:none}.tf-reset:focus-visible,.timeline-empty button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.node[hidden]{display:none}.timeline-empty{position:relative;z-index:2;margin:40px auto;width:fit-content;padding:14px 20px;font-size:14px;color:var(--ink-2);background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:4px}.timeline-empty[hidden]{display:none}.timeline{position:relative;margin:36px 0 32px;padding:28px 0}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent 0,rgba(93,194,240,.8) 18px,rgba(181,148,232,.6) 50%,rgba(79,207,174,.55) calc(100% - 18px),transparent 100%);box-shadow:0 0 18px #5dc2f070;transform:translate(-50%);z-index:0}.node{position:relative;display:grid;grid-template-columns:1fr 60px 1fr;align-items:start;margin:18px 0}.node .marker{position:absolute;top:15px;left:50%;transform:translate(-50%);z-index:3}.node .marker .dot{width:18px;height:18px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);position:relative}.node .marker .dot:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ink-3)}.card{background:linear-gradient(135deg,rgba(93,194,240,.06),transparent 50%),var(--paper-2);border:1px solid var(--paper-3);border-radius:4px;padding:16px 18px 14px;position:relative;z-index:2;box-shadow:0 4px 16px #00000073,0 0 0 1px #5dc2f010 inset,0 0 24px #5dc2f00a;transition:background .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}.card:hover{background:linear-gradient(135deg,rgba(93,194,240,.14),transparent 55%),var(--paper-3);border-color:var(--coral);transform:translateY(-2px);box-shadow:0 8px 22px #00000080,0 0 0 1px #5dc2f01f inset,0 0 28px #5dc2f01a}.card.left{grid-column:1;margin-right:8px}.card.right{grid-column:3;margin-left:8px}.card .head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;flex-wrap:wrap}.card .order{font-family:var(--kor);font-size:11px;color:var(--ink-4);letter-spacing:.06em}.card .ttl{font-family:var(--serif-en);font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1.25}.card .ttl.kor{font-family:var(--kor);font-weight:700}.card .meta-row{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px;align-items:center}.badge{display:inline-block;font-family:var(--kor);font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:2px;letter-spacing:.05em;text-transform:uppercase;border:1px solid currentColor}.badge.cat-main{color:var(--coral);background:#5dc2f026}.badge.cat-event{color:var(--steel);background:#b594e826}.badge.cat-side{color:var(--moss);background:#4fcfae26}.badge.cat-affinity{color:var(--gold);background:#f2c67426}.badge.req{color:#ffd93d;background:#ffd93d29}.badge.opt{color:var(--ink);background:#eaf1fa14}.badge.important{color:#ffd93d;background:#ffd93d29}.badge.no-dub,.badge.no-archive{color:var(--ink-3);background:#eaf1fa0f;border-style:dotted}.badge.anniv{color:#ffd93d;background:#ffd93d29}.imp{font-size:11.5px;font-family:var(--kor);color:var(--ink-3);margin-left:auto}.card .annot{font-size:13.5px;color:var(--ink-2);line-height:1.6;border-top:1px dashed var(--line);padding-top:8px;margin-top:6px}.card .annot ul{list-style:none;padding:0}.card .annot li{position:relative;padding-left:14px;margin-bottom:4px}.card .annot li:before{content:"·";position:absolute;left:4px;top:-2px;font-weight:700;color:var(--ink-3)}.card .annot strong{color:var(--ink);font-weight:600}.card .annot em{font-style:normal;color:var(--coral);font-weight:600}.card[data-cat=main]{border-left:6px solid var(--coral)}.card[data-cat=event]{border-left:6px solid var(--steel)}.card[data-cat=side]{border-left:6px solid var(--moss)}.card[data-cat=affinity]{border-left:6px solid var(--gold)}.thumb{--size: 64px;--step: 7px;position:relative;flex:none;width:calc(var(--size) + (var(--layers) - 1) * var(--step));height:calc(var(--size) + (var(--layers) - 1) * var(--step));grid-row:1 / span 2;align-self:center;padding:0;background:none;border:none;border-radius:3px;cursor:zoom-in}.thumb-mini{--size: 32px;--step: 0px}.thumb:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.thumb img{position:absolute;left:calc(var(--i) * var(--step));top:calc((var(--layers) - 1 - var(--i)) * var(--step));z-index:calc(var(--layers) - var(--i));width:var(--size);height:var(--size);object-fit:cover;background:var(--paper);border:1px solid var(--line-strong);border-radius:3px;box-shadow:0 4px 12px #00000073}.thumb img:not(:first-child){filter:brightness(.55) saturate(.8)}.thumb img:first-child{transition:transform .18s ease,border-color .18s ease}.thumb:hover img:first-child{transform:translateY(-2px);border-color:var(--coral)}.card.has-thumb,.group.has-thumb{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px}.note.has-thumb{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-content:start}.note.has-thumb>.tag{justify-self:start;align-self:end}.note.has-thumb>.tag,.note.has-thumb>.ttl{grid-column:2}.note.has-thumb>.body{grid-column:1 / -1;margin-top:6px}.bonus-list li.has-mini{display:flex;align-items:center;gap:10px;padding-left:0;margin-bottom:8px}.bonus-list li.has-mini:before{display:none}.card.has-thumb>.head,.card.has-thumb>.meta-row,.group.has-thumb>.gh,.group.has-thumb>.meta-row{grid-column:2}.card.has-thumb>.head{flex-wrap:nowrap}.card.has-thumb .ttl{min-width:0}.card.has-thumb>.annot,.group.has-thumb>:not(.thumb,.gh,.meta-row){grid-column:1 / -1}.card[data-anniv],.card[data-anniv]:hover{background:radial-gradient(ellipse at 100% 0%,rgba(242,198,116,.3),transparent 60%),var(--paper-2);border-top-color:#f2c674bf;border-right-color:#f2c674bf;border-bottom-color:#f2c674bf;box-shadow:0 4px 16px #00000073,0 0 0 1px #f2c67438 inset,0 0 28px #f2c67433}.group[data-anniv]{background:radial-gradient(ellipse at 100% 0%,rgba(242,198,116,.22),transparent 50%),var(--paper-2);border-color:#f2c674bf;box-shadow:0 0 28px #f2c6742e}.card[data-anniv] .badge.anniv,.group[data-anniv] .badge.anniv{color:#2a1d00;background:#f2c674;border-color:#f2c674;font-weight:700}.card[data-req=opt]{border-style:dashed;background:var(--paper-bright);opacity:.95}.node[data-side=left] .card.left:after,.node[data-side=right] .card.right:after{content:"";position:absolute;top:24px;width:30px;height:0;border-top:1.5px dotted rgba(93,194,240,.56);box-shadow:0 0 6px #5dc2f047}.node[data-side=left] .card.left:after{right:-32px}.node[data-side=right] .card.right:after{left:-32px}.node[data-cat=main] .marker .dot{border-color:var(--coral);background:var(--coral);box-shadow:0 0 16px #5dc2f099,0 0 4px #5dc2f0b8}.node[data-cat=main] .marker .dot:after{background:var(--paper);inset:5px}.node[data-cat=event] .marker .dot{border-color:var(--steel);box-shadow:0 0 12px #b594e870}.node[data-cat=event] .marker .dot:after{background:var(--steel)}.node[data-cat=side] .marker .dot{border-color:var(--moss);box-shadow:0 0 12px #4fcfae70}.node[data-cat=side] .marker .dot:after{background:var(--moss)}.node[data-cat=affinity] .marker .dot{border-color:var(--gold);box-shadow:0 0 12px #f2c67466}.node[data-cat=affinity] .marker .dot:after{background:var(--gold)}.node[data-req=opt] .marker .dot{background:var(--paper)}.node[data-req=opt] .marker .dot:after{background:var(--paper);border:1px dashed currentColor}.group{position:relative;z-index:2;margin:18px 0;grid-column:1 / -1;background:var(--paper-2);border:1px dashed var(--line-strong);border-radius:4px;padding:18px 22px 20px}.group .gh{font-family:var(--kor);font-size:18px;font-weight:700;color:var(--ink);margin-bottom:6px}.group .gh .order{font-family:var(--kor);font-size:12px;color:var(--ink-4);margin-right:8px}.group .gd{font-size:13.5px;color:var(--ink-2);margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:10px}.group .gd em{color:var(--coral);font-style:normal;font-weight:600}.group ul.glist{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.group ul.glist li{font-size:13.5px;color:var(--ink-2);padding:6px 10px;background:var(--paper-2);border:1px solid var(--line);border-radius:2px;transition:background .25s ease,border-color .25s ease,transform .25s ease}.group ul.glist li:hover{background:var(--paper-3);border-color:var(--coral);transform:translateY(-1px)}.group ul.glist li strong{color:var(--ink);font-family:var(--serif-en)}.group ul.glist li .b{font-size:11px;color:var(--ink-3);margin-left:6px;font-family:var(--kor)}.routes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}.route{background:var(--paper-bright);border:1px solid var(--line-strong);border-radius:3px;padding:10px 12px;transition:background .25s ease,border-color .25s ease,transform .25s ease}.route:hover{background:var(--paper-2);border-color:var(--coral);transform:translateY(-1px)}.route .rn{font-family:var(--kor);font-size:11px;color:var(--coral);font-weight:700;letter-spacing:.05em;margin-bottom:4px}.route .rn.rn-best,.route .rn-star{color:var(--gold)}.route .rp{font-family:var(--kor);font-size:13px;color:var(--ink);margin-bottom:4px}.route .rd{font-size:12px;color:var(--ink-3);line-height:1.55}.arc-divider{text-align:center;margin:32px 0;position:relative;z-index:2}.arc-divider span{background:var(--paper-2);border:1px solid var(--line-strong);padding:4px 18px;font-family:var(--kor);font-style:italic;font-size:14px;color:var(--ink-2);border-radius:999px}.timeline-end{text-align:center;margin-top:36px;position:relative;z-index:2}.timeline-end .endcap{display:inline-block;background:var(--paper-2);color:var(--coral);border:1px solid var(--coral);font-family:var(--serif-en);font-style:italic;font-weight:700;padding:8px 24px;border-radius:999px;font-size:14px;letter-spacing:.05em;box-shadow:0 0 24px #5dc2f052,0 0 8px #5dc2f03d}.bonus,.setting-stories{margin-top:56px;padding-top:28px;border-top:1px dashed var(--line-strong)}.bonus h2,.setting-stories h2{font-size:21px;border-bottom:none;padding-bottom:4px}.bonus-lead{font-size:13.5px;color:var(--ink-3);margin:-6px 0 16px}.bonus-list{list-style:none;padding:0;margin:0 0 10px}.bonus-list li{position:relative;padding-left:14px;margin-bottom:4px;font-size:13.5px;color:var(--ink-2);line-height:1.6}.bonus-list li:before{content:"·";position:absolute;left:4px;top:-2px;font-weight:700;color:var(--ink-3)}.bonus-list strong{color:var(--ink);font-weight:600}.bonus-list em{font-style:normal;color:var(--coral);font-weight:600}.rel-nikke{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--ink-2)}.rel-nikke .rl{font-family:var(--kor);font-size:10.5px;color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase;margin-right:8px}.foot{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);text-align:center;font-size:12.5px;color:var(--ink-3);font-family:var(--kor)}.foot a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line)}@media(max-width:820px){body{background-attachment:scroll}.page{padding:32px 16px 56px}.masthead h1{font-size:34px}.masthead .subtitle{font-size:14px}.intro{padding:16px 18px}.intro h2{font-size:19px}.intro ul{grid-template-columns:1fr}.legend{grid-template-columns:repeat(2,1fr)}.legend-importance{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.notes h2{font-size:20px}.notes-grid{grid-template-columns:1fr}.bonus-lead{margin:0 0 14px}.bonus h2,.setting-stories h2{font-size:18px}.timeline-header .tag{font-size:26px}.timeline:before{left:22px}.node{grid-template-columns:44px 1fr}.node .marker{left:22px}.card.left,.card.right{grid-column:2;margin-left:12px;margin-right:0}.node[data-side=left] .card.left:after,.node[data-side=right] .card.right:after{left:-34px;right:auto;width:34px}.card .head .ttl{font-size:17px}.card .meta-row .imp{margin-left:0}.group{padding:14px 18px}.group ul.glist,.routes{grid-template-columns:1fr}}@media(max-width:480px){.thumb{--size: 52px;--step: 5px}.card.has-thumb,.group.has-thumb{column-gap:12px}.tf-panel{padding:4px 12px}.tf-separate{margin-left:0;padding-left:0;border-left:none}.update-line{gap:10px}.update-line-open{display:none}.page{padding:24px 12px 48px}.masthead{padding:24px 0 18px}.masthead h1{font-size:28px}.masthead .subtitle{font-size:13.5px}.masthead .meta{font-size:12px}.intro{padding:14px 16px}.intro h2{font-size:18px;margin-bottom:10px}.intro li{font-size:13px}.legend{grid-template-columns:1fr;gap:10px}.legend-importance{font-size:12.5px}.notes h2{font-size:19px}.note{padding:14px 16px}.note .ttl{font-size:14px}.note .body{font-size:13px}.timeline-header .tag{font-size:22px}.timeline{margin:24px 0}.node{margin:14px 0}.card{padding:14px 14px 12px}.card .head .ttl{font-size:16px}.card .annot{font-size:13px}.group{padding:12px 14px}.group .gh{font-size:16px}.group .gd{font-size:13px}.route{padding:9px 11px}.route .rp{font-size:12.5px}.route .rd{font-size:11.5px}.bonus h2,.setting-stories h2{font-size:17px}.bonus-list li{font-size:13px}.arc-divider span{font-size:12.5px;padding:4px 14px}.theme-switch{top:12px;right:12px;padding:3px}.theme-switch-track{width:52px;height:24px}.theme-switch-knob{width:18px;height:18px}.theme-switch-icon{font-size:12px}.foot{margin-top:40px;font-size:12px}}@media(hover:none){.card:hover,.note:hover,.legend-card:hover,.route:hover,.group ul.glist li:hover{transform:none}}:root[data-theme=light]{--paper: #E3E9EC;--paper-2: #F8FAFB;--paper-3: #EDF3F7;--paper-bright: #EBF0F2;--ink: #13233F;--ink-2: #33445F;--ink-3: #5D6C84;--ink-4: #8995A8;--coral: #0A74B8;--steel: #7444C9;--moss: #0B8A6B;--gold: #B97A06;--warn: #A86A00;--pale: #AAB5C4;--line: rgba(19, 35, 63, .14);--line-strong: rgba(19, 35, 63, .3);--hatch: repeating-linear-gradient(135deg, rgba(19, 35, 63, .055) 0 1px, transparent 1px 7px)}:root[data-theme=light] body{background:var(--paper);background-image:radial-gradient(ellipse at 18% 0%,rgba(10,116,184,.12),transparent 55%),radial-gradient(ellipse at 85% 30%,rgba(116,68,201,.07),transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(11,138,107,.07),transparent 60%),linear-gradient(rgba(19,35,63,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(19,35,63,.045) 1px,transparent 1px),url(/nikke-storyline/assets/bg-survey.svg),url(/nikke-storyline/assets/bg-topo.svg);background-size:100% 100%,100% 100%,100% 100%,64px 64px,64px 64px,640px 640px,720px 720px}:root[data-theme=light] .masthead h1 .accent,:root[data-theme=light] .timeline-header .tag{text-shadow:none}:root[data-theme=light] .intro{box-shadow:0 14px 30px -20px #0a74b873}:root[data-theme=light] .update-line-label{background:#0a74b81f}:root[data-theme=light] .tf-kind[data-kind=anniv]{--kind: #D9A100}:root[data-theme=light] .thumb img{box-shadow:0 4px 10px -2px #13233f59;border-color:var(--line)}:root[data-theme=light] .viewer::backdrop{background:#13233f8c}:root[data-theme=light] .viewer{box-shadow:0 24px 50px -24px #13233f80}:root[data-theme=light] .viewer-logo{filter:drop-shadow(0 0 1px rgba(19,35,63,.85)) drop-shadow(0 1px 2px rgba(19,35,63,.35))}:root[data-theme=light] .tf-panel{box-shadow:0 24px 50px -24px #13233f73}:root[data-theme=light] .update-log{box-shadow:0 24px 50px -24px #13233f80}:root[data-theme=light] .update-log::backdrop{background:#13233f59}:root[data-theme=light] .group ul.glist li{background:var(--paper-bright)}:root[data-theme=light] .timeline:before{background:linear-gradient(to bottom,transparent 0,var(--coral) 18px,var(--steel) 50%,var(--moss) calc(100% - 18px),transparent 100%);-webkit-mask:repeating-linear-gradient(to bottom,#000 0 9px,transparent 9px 15px);mask:repeating-linear-gradient(to bottom,#000 0 9px,transparent 9px 15px);box-shadow:none}:root[data-theme=light] .card{--halo: 10, 116, 184;background:var(--paper-2);border-color:var(--line);border-left-color:rgb(var(--halo));box-shadow:0 1px #13233f0d,0 14px 28px -16px rgba(var(--halo),.55)}:root[data-theme=light] .card[data-cat=event]{--halo: 116, 68, 201}:root[data-theme=light] .card[data-cat=side]{--halo: 11, 138, 107}:root[data-theme=light] .card[data-cat=affinity]{--halo: 185, 122, 6}:root[data-theme=light] .card:hover{background:var(--paper-3);border-color:rgba(var(--halo),.55);border-left-color:rgb(var(--halo));box-shadow:0 1px #13233f0d,0 18px 34px -16px rgba(var(--halo),.7)}:root[data-theme=light] .card[data-req=opt]{background:var(--hatch),var(--paper-bright);border-color:var(--line-strong);border-left-color:rgba(var(--halo),.85);box-shadow:0 10px 22px -18px rgba(var(--halo),.5)}:root[data-theme=light] .card[data-req=opt]:hover{background:var(--hatch),var(--paper-3)}:root[data-theme=light] .card[data-anniv],:root[data-theme=light] .card[data-anniv]:hover{background:radial-gradient(ellipse at 100% 0%,rgba(255,210,63,.24),transparent 60%),var(--paper-2);border-top-color:#b97a068c;border-right-color:#b97a068c;border-bottom-color:#b97a068c;box-shadow:0 0 0 1px #b97a0624 inset,0 14px 28px -15px #b97a0680}:root[data-theme=light] .group[data-anniv]{background:radial-gradient(ellipse at 100% 0%,rgba(255,210,63,.19),transparent 50%),var(--paper-2);border-color:#b97a068c;box-shadow:0 14px 28px -18px #b97a067a}:root[data-theme=light] .card[data-anniv] .badge.anniv,:root[data-theme=light] .group[data-anniv] .badge.anniv{color:#fff;background:#b97a06;border-color:#b97a06}:root[data-theme=light] .node[data-side=left] .card.left:after,:root[data-theme=light] .node[data-side=right] .card.right:after{border-top-color:var(--ink-4);box-shadow:none}:root[data-theme=light] .node .marker .dot{background:var(--paper-2)}:root[data-theme=light] .node[data-cat=main] .marker .dot{background:var(--coral);box-shadow:0 0 0 4px #0a74b82e}:root[data-theme=light] .node[data-cat=main] .marker .dot:after{background:var(--paper-2)}:root[data-theme=light] .node[data-cat=event] .marker .dot{box-shadow:0 0 0 3px #7444c929}:root[data-theme=light] .node[data-cat=side] .marker .dot{box-shadow:0 0 0 3px #0b8a6b29}:root[data-theme=light] .node[data-cat=affinity] .marker .dot{box-shadow:0 0 0 3px #b97a062e}:root[data-theme=light] .node[data-req=opt] .marker .dot{background:var(--paper-bright);box-shadow:none}:root[data-theme=light] .badge.cat-main{background:#0a74b817}:root[data-theme=light] .badge.cat-event{background:#7444c917}:root[data-theme=light] .badge.cat-side{background:#0b8a6b17}:root[data-theme=light] .badge.cat-affinity{background:#b97a061a}:root[data-theme=light] .badge.req,:root[data-theme=light] .badge.important,:root[data-theme=light] .badge.anniv{color:#7a4f00;background:#ffd23f8c;border-color:#a86a0073}:root[data-theme=light] .badge.opt{background:var(--paper-2)}:root[data-theme=light] .badge.no-dub,:root[data-theme=light] .badge.no-archive{background:var(--paper-bright)}:root[data-theme=light] .note .tag{background:#0a74b81a}:root[data-theme=light] .timeline-end .endcap{background:var(--ink);color:var(--paper-2);border-color:var(--ink);box-shadow:0 14px 28px -14px #13233f99}.theme-switch{position:fixed;top:20px;right:20px;z-index:100;background:none;border:none;padding:4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.theme-switch:focus{outline:none}.theme-switch:focus-visible .theme-switch-track{box-shadow:0 0 0 3px #5dc2f059}.theme-switch-track{position:relative;display:inline-block;width:62px;height:28px;background:var(--paper-2);border:1px solid var(--line-strong);border-radius:999px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;vertical-align:middle}.theme-switch:hover .theme-switch-track{border-color:var(--coral)}.theme-switch-icon{position:absolute;top:50%;font-size:13px;line-height:1;color:var(--ink-2);transform:translate(-50%,-50%);transition:color .3s ease,opacity .3s ease;z-index:1;pointer-events:none}.theme-switch-icon.sun{left:25%}.theme-switch-icon.moon{left:75%}.theme-switch-knob{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--coral);transform:translate(-50%,-50%);transition:left .32s cubic-bezier(.4,0,.2,1),background .3s ease,box-shadow .3s ease;pointer-events:none}:root[data-theme=dark] .theme-switch-knob{left:75%;box-shadow:0 0 8px #5dc2f080,0 1px 3px #00000059}:root[data-theme=dark] .theme-switch-icon.sun{opacity:.7}:root[data-theme=dark] .theme-switch-icon.moon{color:var(--paper);opacity:1}:root[data-theme=light] .theme-switch-knob{left:25%;box-shadow:0 1px 3px #00000040}:root[data-theme=light] .theme-switch-icon.sun{color:var(--paper);opacity:1}:root[data-theme=light] .theme-switch-icon.moon{opacity:.7}
