.story-player{--rd-font: "Noto Sans KR", system-ui, sans-serif;--rd-size: 18px;--rd-lh: 1.8;--rd-box-alpha: .75;--rd-box-width: 760px;--band-ink: #f4f5f8;--band-shade: #070912;--band-accent: #5ce6ff;--band-on-accent: #0a2530;--band-on-ink: #141621;--rs-width: 22rem;--band-fade: 5rem;--band-pad-bottom: 1rem;--band-h: calc(var(--band-fade) + var(--rd-size) * (1.62 + 3 * var(--rd-lh)) + .8rem + 1px + var(--band-pad-bottom));position:relative;height:calc(100dvh - var(--navbar-height, 3.5rem));-webkit-user-select:none;user-select:none;color:var(--band-ink);line-height:1.5}.story-player .viewer-container{position:absolute;inset:0;overflow:hidden}.story-chrome{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem 2.75rem;background:linear-gradient(to bottom,color-mix(in srgb,var(--band-shade) 72%,transparent) 0%,color-mix(in srgb,var(--band-shade) 38%,transparent) 55%,transparent 100%);font-family:Noto Sans KR,system-ui,sans-serif;pointer-events:none}.chrome-left,.chrome-right{display:flex;align-items:center;gap:.5rem;min-width:0;pointer-events:auto}.chrome-icon{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;border:0;background:none;color:var(--band-ink);border-radius:var(--radius-sm);cursor:pointer}.story-chrome svg,.band-nav svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chrome-title{margin:0;font-size:1.02rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px var(--overlay-80)}.chrome-progress{font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums;opacity:.9;white-space:nowrap;text-shadow:0 1px 3px var(--overlay-80)}.chrome-read{color:var(--band-accent);font-weight:700}.chrome-btn{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--highlight-medium);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--band-shade) 50%,transparent);backdrop-filter:blur(6px);color:var(--band-ink);font:600 1rem/1 Noto Sans KR,system-ui,sans-serif;letter-spacing:-.02em;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.chrome-btn:hover{background:color-mix(in srgb,var(--band-shade) 78%,transparent);border-color:var(--band-ink)}.chrome-btn--toggle[aria-pressed=true]{background:var(--band-accent);border-color:var(--band-accent);color:var(--band-on-accent)}.chrome-btn:focus-visible,.chrome-icon:focus-visible,.band-arrow:focus-visible,.up-next-btn:focus-visible,.bgm-play:focus-visible,.bgm-pop input:focus-visible{outline:2px solid var(--band-accent);outline-offset:2px}.chrome-right,.bgm-btn{position:relative}.bgm-eq{position:absolute;right:.3rem;bottom:.3rem;display:none;align-items:flex-end;gap:1px;height:.55rem}.bgm-eq i{width:2px;height:40%;border-radius:1px;background:var(--band-accent);animation:bgm-eq .9s ease-in-out infinite alternate}.bgm-eq i:nth-child(2){animation-delay:-.3s}.bgm-eq i:nth-child(3){animation-delay:-.6s}.bgm-ctl.playing .bgm-eq{display:flex}.bgm-ctl.playing .bgm-note{color:var(--band-accent)}.bgm-pop{position:absolute;top:calc(100% + .5rem);right:0;z-index:1;display:none;gap:.6rem;width:min(16rem,calc(100vw - 2rem));padding:.7rem .8rem;border:1px solid var(--highlight-medium);border-radius:var(--radius-md);background:color-mix(in srgb,var(--band-shade) 88%,transparent);backdrop-filter:blur(10px);font-size:.8rem}.bgm-ctl.open .bgm-pop{display:grid}.bgm-ctl.open .bgm-btn{border-color:var(--band-ink)}.bgm-pop-track{display:flex;align-items:center;gap:.6rem;min-width:0}.bgm-play{display:inline-grid;place-items:center;flex-shrink:0;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-sm);background:var(--band-ink);color:var(--band-on-ink);cursor:pointer}.bgm-play svg{width:1.1rem;height:1.1rem}.bgm-play .bgm-play-icon{fill:currentColor}.bgm-play .bgm-pause-icon,.bgm-ctl.playing .bgm-play .bgm-play-icon{display:none}.bgm-ctl.playing .bgm-play .bgm-pause-icon{display:block}.bgm-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bgm-pop-vol{display:grid;grid-template-columns:auto 1fr 2.5rem;align-items:center;gap:.5rem}.bgm-pop-vol svg{width:1rem;height:1rem}.bgm-pop-vol input{width:100%;margin:0;accent-color:var(--band-accent)}.bgm-pop-vol output{font-variant-numeric:tabular-nums;text-align:right;opacity:.85}@keyframes bgm-eq{0%{height:25%}to{height:100%}}.dialogue-band{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:center;align-items:flex-start;gap:1rem;padding:var(--band-fade) 7% var(--band-pad-bottom);background:linear-gradient(to bottom,transparent 0,color-mix(in srgb,var(--band-shade) calc(var(--rd-box-alpha) * 22%),transparent) calc(var(--band-fade) * .35),color-mix(in srgb,var(--band-shade) calc(var(--rd-box-alpha) * 62%),transparent) calc(var(--band-fade) * .7),color-mix(in srgb,var(--band-shade) calc(var(--rd-box-alpha) * 92%),transparent) calc(var(--band-fade) - .25rem),color-mix(in srgb,var(--band-shade) calc(var(--rd-box-alpha) * 100%),transparent) 100%)}.dialogue-band .dialogue-content{flex:1;min-width:0;max-width:var(--rd-box-width);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:.75rem;font-family:var(--rd-font);text-shadow:0 1px 2px var(--overlay-80)}.dialogue-content>.actor-name,.dialogue-content>.branch-end{grid-column:1 / -1}.dialogue-band.has-portrait:not(.has-mini-portrait){padding-left:39%}.actor-name{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--highlight-medium);font-size:calc(var(--rd-size) * 1.08);font-weight:700}.actor-faction-tag{color:var(--band-accent);font-size:.72em;font-weight:500}.dialogue-text{margin:0;font-size:var(--rd-size);line-height:var(--rd-lh);text-wrap:pretty;min-height:calc(var(--rd-size) * var(--rd-lh) * 3)}.dialogue-band.can-continue .dialogue-text:after{content:"▼" / "";display:inline-block;margin-left:.4em;font-family:Noto Sans KR,system-ui,sans-serif;font-size:.6em;vertical-align:.15em;color:var(--band-accent);animation:band-blink 1.1s steps(2,start) infinite}.story-player[data-typing="1"] .dialogue-text:after{visibility:hidden}.band-portrait{position:absolute;left:2%;bottom:0;width:37%;pointer-events:none}.band-portrait img{display:block;width:100%;height:auto}.band-portrait.is-mini{position:static;width:3.5rem;flex-shrink:0;margin-top:.25rem;border:1px solid var(--highlight-medium);border-radius:var(--radius-sm);overflow:hidden}.band-portrait.portrait-noise img{filter:brightness(.75) contrast(1.15) saturate(.9);animation:hologramFlicker .1s infinite}.band-nav{align-self:end;display:flex;gap:.4rem}.band-arrow{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--highlight-medium);border-radius:var(--radius-sm);background:var(--highlight-soft);color:var(--band-ink);cursor:pointer;transition:background-color .15s ease}.band-arrow:hover:not(:disabled){background:var(--highlight-medium)}.band-arrow:disabled{opacity:.3;cursor:default}.auto-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--band-accent);transform:scaleX(0);transform-origin:left}.dialogue-band.is-counting .auto-progress{animation:band-fill var(--auto-ms, 4s) linear forwards}.branch-end{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem;font-family:Noto Sans KR,system-ui,sans-serif;font-size:.85rem}@keyframes band-blink{to{opacity:0}}@keyframes band-fill{to{transform:scaleX(1)}}.options-box{position:absolute;left:50%;bottom:calc(var(--band-h) - var(--band-fade) + 1rem);translate:-50% 0;z-index:4;display:flex;flex-direction:column;gap:.6rem;width:min(90%,36rem)}.option-button{width:100%;padding:.8rem 1.25rem;border:1px solid var(--highlight-medium);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--band-shade) 82%,transparent);color:var(--band-ink);font:inherit;font-family:var(--rd-font);cursor:pointer}.option-button:hover{background:color-mix(in srgb,var(--band-shade) 95%,transparent);border-color:var(--band-accent)}.info-screen{position:absolute;inset:0;z-index:5;display:flex;justify-content:center;align-items:center;padding:2rem;pointer-events:none}#info-screen-text{--sequence-base-size: 1.35rem;display:flex;flex-direction:column;gap:.5rem;max-width:80%;max-height:70vh;margin:0;padding:1.25rem 1.75rem;overflow-y:auto;border-radius:var(--radius-md);background:var(--overlay-heavy);color:var(--band-ink);font-family:var(--rd-font);font-size:var(--sequence-base-size);font-weight:600;text-align:center;pointer-events:auto}#info-screen-text .sequence-line{display:block;font-size:calc(var(--sequence-base-size) * var(--sequence-scale, 1));white-space:pre-line;word-break:break-word}.up-next{position:absolute;right:2.4%;bottom:calc(var(--band-h) - var(--band-fade) + .75rem);z-index:5;display:grid;gap:.45rem;width:min(22rem,92%);padding:.9rem 1rem 1.05rem;overflow:hidden;border:1px solid var(--highlight-medium);border-radius:var(--radius-md);background:color-mix(in srgb,var(--band-shade) 86%,transparent);backdrop-filter:blur(10px);font-family:Noto Sans KR,system-ui,sans-serif}.up-next-head{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem}.up-next-label{opacity:.75}.up-next-count{color:var(--band-accent);font-family:IBM Plex Mono,ui-monospace,monospace}.up-next-title{margin:0;font-weight:700}.up-next-read{margin:0;color:var(--band-accent);font-size:.75rem}.up-next-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}.up-next-btn{padding:.45rem .9rem;border:1px solid var(--highlight-medium);border-radius:var(--radius-sm);background:var(--highlight-soft);color:var(--band-ink);font:500 .82rem/1.2 Noto Sans KR,system-ui,sans-serif;cursor:pointer}.up-next-btn--primary{border-color:var(--band-ink);background:var(--band-ink);color:var(--band-on-ink)}.up-next-btn--ghost{border-color:transparent;background:none;opacity:.8}.up-next-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--band-accent);transform:scaleX(0);transform-origin:left}.up-next.is-counting .up-next-bar{animation:up-next-drain 8s linear forwards}@keyframes up-next-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ui-restore-hint{position:absolute;left:50%;bottom:1.5rem;translate:-50% 0;z-index:6;margin:0;padding:.45rem .85rem;border-radius:var(--radius-sm);background:var(--overlay-heavy);font-size:.8rem;opacity:0;pointer-events:none;transition:opacity .25s ease}.story-chrome,.dialogue-band,.options-box,.up-next{transition:opacity .25s ease,visibility .25s}.story-player[data-ui=hidden] :is(.story-chrome,.dialogue-band,.options-box,.up-next){opacity:0;visibility:hidden;pointer-events:none}.story-player[data-ui=hidden] .ui-restore-hint{opacity:1}@media(min-width:769px){.story-player:has(.reader-settings.open) .dialogue-band{padding-right:calc(var(--rs-width) + 2%)}}@media(max-width:768px){.story-player{--rd-size: 16px;--band-fade: 4rem;--band-pad-bottom: max(1rem, env(safe-area-inset-bottom))}.chrome-title,.chrome-progress{display:none}.dialogue-band{padding-inline:6%}.dialogue-band.has-portrait:not(.has-mini-portrait){padding-left:6%}.band-portrait{left:-6%;bottom:80%;width:82%}.up-next{top:4rem;bottom:auto;left:4%;right:4%;width:auto}}@media(prefers-reduced-motion:reduce){.dialogue-band.can-continue .dialogue-text:after,.bgm-eq i{animation:none}.dialogue-band.is-counting .auto-progress,.up-next.is-counting .up-next-bar{animation:none;transform:scaleX(.6)}.story-chrome,.dialogue-band,.options-box,.up-next,.ui-restore-hint,.painting-layer.glide{transition:none}}.reader-settings{--drawer-top: var(--navbar-height, 3.5rem);--drawer-height: calc(100dvh - var(--navbar-height, 3.5rem));--drawer-width: var(--rs-width);--drawer-bg: var(--bg-color);color:var(--text-primary);line-height:1.5;padding:1rem 1.1rem 1.25rem;gap:.85rem;user-select:none}.rs-grab{display:none}.rs-head{display:flex;justify-content:space-between;align-items:center}.rs-title{margin:0;font-size:1.05rem}.rs-close{border:0;background:none;color:var(--accent-blue);font:inherit;font-weight:600;cursor:pointer}.rs-label{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--text-secondary)}.rs-preview{display:grid;gap:.35rem;padding:.8rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary, var(--card-bg))}.rs-preview-line{margin:0;font-family:var(--rd-font);font-size:var(--rd-size);line-height:var(--rd-lh)}.rs-body{display:grid;align-content:start;gap:1.1rem;overflow:auto}.rs-section{display:grid;gap:.85rem}.rs-section+.rs-section{padding-top:1.1rem;border-top:1px solid var(--border-color)}.rs-section-title{margin:0;font-size:.92rem;font-weight:700;color:var(--text-primary)}.rs-row{display:grid;gap:.4rem}.rs-seg{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.rs-seg button{flex:1;padding:.45rem .5rem;border:0;background:none;color:var(--text-primary);font-size:.85rem;cursor:pointer}.rs-seg button+button{border-left:1px solid var(--border-color)}.rs-seg button[aria-pressed=true]{background:var(--accent-blue);color:#fff}.rs-stepper{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm)}.rs-stepper button{padding:.45rem;border:0;background:none;color:var(--text-primary);cursor:pointer}.rs-stepper output{padding-inline:.75rem;font-variant-numeric:tabular-nums;font-size:.9rem}.reader-settings input[type=range]{width:100%;accent-color:var(--accent-blue)}.reader-settings input[type=range]:disabled{opacity:.35}.reader-settings :focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}@media(max-width:768px){.rs-grab{display:block;justify-self:center;width:2.6rem;height:.3rem;border-radius:var(--radius-sm);background:var(--border-color)}.rs-preview,.rs-desktop-only{display:none}}:is(.grid-card,[class*=-card]) .card-checkbox{position:absolute;top:.35rem;right:.35rem;width:1.75rem;height:1.75rem;background-color:#00000073;border:1.5px dashed rgba(255,255,255,.55);border-radius:50%;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,border-style .18s ease,transform .1s ease;z-index:10;display:flex;align-items:center;justify-content:center;backdrop-filter:saturate(120%) blur(2px)}:is(.grid-card,[class*=-card]) .card-checkbox:after{content:"✔";color:#ffffff8c;font-size:.95rem;font-weight:700;line-height:1;transition:color .18s ease,opacity .18s ease,transform .15s ease;opacity:.45}:is(.grid-card,[class*=-card]) .card-checkbox:hover{background-color:#000000a6;border-color:var(--highlight-90);border-style:solid}:is(.grid-card,[class*=-card]) .card-checkbox:hover:after{opacity:.9;color:#fffffff2}:is(.grid-card,[class*=-card]) .card-checkbox:active{transform:scale(.92)}:is(.grid-card,[class*=-card]) .card-checkbox.completed{background-color:var(--accent-color);border-color:var(--accent-color);border-style:solid;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color) 35%,transparent),0 2px 6px #00000059}:is(.grid-card,[class*=-card]) .card-checkbox.completed:after{color:#fff;opacity:1;font-size:1rem}:is(.grid-card,[class*=-card]).completed-card{opacity:.6}:is(.grid-card,[class*=-card]).completed-card:hover{opacity:1}.read-count{position:absolute;right:.4rem;bottom:.4rem;padding:.1rem .45rem;border-radius:var(--radius-sm);background:var(--overlay-heavy);color:#fff;font-size:.72rem;font-variant-numeric:tabular-nums}.read-count.is-complete{background:var(--accent-blue)}:root{--bg-color: #f4f7fa;--text-color: #333333;--header-bg: rgba(255, 255, 255, .85);--card-bg: #ffffff;--dialogue-bg: rgba(255, 255, 255, .9);--border-color: #d1d9e6;--input-bg: #ffffff;--accent-color: #007bff;--subtitle-color: #555555;--shadow-color: rgba(44, 62, 80, .15)}body.dark-mode{--bg-color: #121212;--text-color: #e0e0e0;--header-bg: rgba(28, 28, 28, .9);--card-bg: rgba(30, 30, 30, .85);--dialogue-bg: rgba(28, 28, 28, .9);--border-color: #444444;--input-bg: #2a2a2a;--accent-color: #4dabf7;--subtitle-color: #aaaaaa;--shadow-color: rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-color);color:var(--text-color);line-height:1.6;transition:background-color .3s,color .3s}.theme-toggle{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s;position:relative}.theme-toggle:hover{background-color:var(--border-color)}.theme-icon-sun,.theme-icon-moon{font-size:1.5rem;color:var(--text-color);transition:opacity .3s}.error-container{position:fixed;top:4.375rem;left:50%;transform:translate(-50%);background-color:var(--danger-color);color:#fff;padding:1rem 2rem;border-radius:.5rem;z-index:var(--z-modal);box-shadow:0 4px 15px var(--overlay-medium)}.flavor-text-box{position:fixed;bottom:6rem;left:50%;transform:translate(-50%);z-index:10;background-color:color-mix(in srgb,var(--card-bg) 85%,transparent);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border:1px solid color-mix(in srgb,var(--border-color) 60%,transparent);border-radius:1.5rem;padding:.65rem 1.5rem;width:fit-content;max-width:calc(100% - 2rem);text-align:center;box-shadow:0 .25rem 1rem var(--overlay-15),0 0 0 1px color-mix(in srgb,var(--accent-color) 20%,transparent);animation:floatInOut 5.6s ease .3s both}@keyframes floatInOut{0%{opacity:0;transform:translate(-50%) translateY(1rem)}5%{opacity:1;transform:translate(-50%) translateY(0)}90%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(1rem)}}.flavor-text-box p{margin:0;font-size:.85rem;font-weight:600;color:var(--text-color);letter-spacing:.01em}.flavor-text-box p:before{content:"🎵";margin-right:.5rem}@media(max-width:480px){.flavor-text-box{bottom:5rem;padding:.55rem 1rem;border-radius:1.25rem}.flavor-text-box p{font-size:.75rem}}.viewer-header{background-color:var(--header-bg);backdrop-filter:blur(10px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:999;border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-color)}.header-title{font-size:1.5rem;font-weight:700;margin:0 1rem}.search-container{flex-grow:1;margin:0 2rem;max-width:25rem}#search-bar{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border-color);background-color:var(--input-bg);color:var(--text-color);font-size:1rem}.story-grid-container{--grid-min: 17.5rem;--grid-gap: var(--spacing-lg);padding:2rem;max-width:100rem;margin:0 auto}.skeleton-card{pointer-events:none;cursor:default}.skeleton-card:hover{transform:none;box-shadow:0 4px 15px var(--shadow-color)}.skeleton-thumbnail,.skeleton-title,.skeleton-subtitle{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-color) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-title,.skeleton-subtitle{height:1.2rem;border-radius:4px;margin-bottom:.5rem}.skeleton-title{width:70%;height:1.4rem}.skeleton-subtitle{width:90%}.grid-card{background-color:var(--card-bg);border-radius:.75rem;overflow:hidden;box-shadow:0 4px 15px var(--shadow-color);transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column;position:relative;will-change:transform,box-shadow}.grid-card:hover{transform:translateY(var(--card-lift));box-shadow:var(--card-hover-shadow)}.grid-card:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}.grid-card.highlighted-card{border:2px solid var(--accent-color);box-shadow:0 6px 25px color-mix(in srgb,var(--accent-color) 50%,transparent);transform:translateY(-5px) scale(1.02)}.grid-card.highlighted-card:after{content:"다음 회차보기";position:absolute;top:1rem;right:-2.2rem;background-color:var(--accent-color);color:#fff;padding:.2rem 2.5rem;font-size:.8rem;font-weight:700;text-align:center;transform:rotate(45deg);box-shadow:0 2px 5px var(--overlay-medium);white-space:nowrap}.grid-card.world-story-link{border:2px dashed var(--accent-color);box-shadow:0 6px 18px color-mix(in srgb,var(--accent-color) 35%,transparent)}.card-thumbnail{width:100%;height:10rem;background-color:#ccc;background-size:cover;background-position:center}.card-thumbnail.is-placeholder{background-color:#34495e}.card-content{padding:1rem;flex-grow:1}.card-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;word-break:keep-all}.card-subtitle{font-size:.9rem;color:var(--subtitle-color)}.story-stage{position:absolute;inset:0;overflow:hidden;container-type:size;background:#000;z-index:0;pointer-events:none}.story-stage-canvas{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh * 16 / 9));aspect-ratio:16 / 9;translate:-50% -50%}.story-background{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transition:background-image .5s ease-in-out;will-change:background-image}.painting-layer{position:absolute;left:50%;top:50%;width:min(100%,calc(100cqw * 1920 / var(--need, 1920)));aspect-ratio:16 / 9;translate:-50% -50%}.painting-layer.glide{transition:width .35s ease}.painting-container{position:absolute;left:calc(var(--pl, 0) * 1%);top:calc(var(--pt, 0) * 1%);width:calc(var(--pw, 0) * 1%);height:calc(var(--ph, 0) * 1%)}.painting-container[data-dir="-1"] .painting-image-wrapper{transform:scaleX(-1)}.painting-image-wrapper{position:relative;width:100%;height:100%;line-height:0}.painting-base{display:block;width:100%;height:100%}.painting-container.painting-noise .painting-image-wrapper{position:relative}.painting-container.painting-noise .painting-base{animation:hologramFlicker .1s infinite;filter:brightness(.75) contrast(1.15) saturate(.9);opacity:.85}.painting-container.painting-noise:before{content:"";position:absolute;inset:0;z-index:10;background:repeating-linear-gradient(0deg,transparent 0px,transparent 1px,var(--overlay-strong) 1px,var(--overlay-strong) 2px),repeating-linear-gradient(0deg,transparent 0px,transparent 4px,rgba(100,200,255,.06) 4px,rgba(100,200,255,.06) 8px);pointer-events:none;animation:scanlineScroll .3s linear infinite}.painting-container.painting-noise:after{content:"";position:absolute;inset:0;z-index:11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.12;pointer-events:none;mix-blend-mode:overlay;animation:noiseFlicker .05s steps(2) infinite}.painting-container.painting-noise .painting-image-wrapper:before{content:"";position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,rgba(0,180,255,.12) 0%,transparent 25%,transparent 75%,rgba(0,180,255,.15) 100%);pointer-events:none}.painting-container.painting-noise .painting-image-wrapper:after{content:"";position:absolute;inset:0;z-index:6;background:linear-gradient(transparent 0%,transparent 15%,rgba(0,255,255,.25) 15%,rgba(0,255,255,.25) 17%,transparent 17%,transparent 100%),linear-gradient(transparent 0%,transparent 45%,var(--highlight-medium) 45%,var(--highlight-medium) 46%,transparent 46%,transparent 100%),linear-gradient(transparent 0%,transparent 62%,rgba(0,255,200,.2) 62%,rgba(0,255,200,.2) 64%,transparent 64%,transparent 100%),linear-gradient(transparent 0%,transparent 78%,rgba(255,100,200,.15) 78%,rgba(255,100,200,.15) 80%,transparent 80%,transparent 100%),linear-gradient(transparent 0%,transparent 33%,rgba(100,255,150,.18) 33%,rgba(100,255,150,.18) 34%,transparent 34%,transparent 100%);pointer-events:none;animation:glitchBars 1.5s steps(1) infinite}@keyframes hologramFlicker{0%,to{opacity:.85}50%{opacity:.8}25%,75%{opacity:.83}}@keyframes scanlineScroll{0%{background-position:0 0}to{background-position:0 8px}}@keyframes noiseFlicker{0%{opacity:.08}to{opacity:.15}}@keyframes glitchBars{0%,to{opacity:.7}10%,30%,50%,70%,90%{opacity:1}15%,35%,55%,75%,95%{opacity:0}20%,40%,60%,80%{opacity:.5}}.painting-container{--painting-opacity: 1;opacity:var(--painting-opacity);transition:opacity var(--painting-fade-duration, .3s) ease-out}@keyframes paintingEnter{0%{opacity:0}to{opacity:1}}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--overlay-intense);z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;backdrop-filter:blur(5px)}.modal-content{background-color:var(--card-bg);padding:2rem;border-radius:.75rem;max-width:50rem;width:90%;max-height:85vh;display:flex;flex-direction:column;position:relative;box-shadow:0 10px 30px var(--overlay-strong)}#summary-modal-content h2{font-size:1.8rem;color:var(--accent-color);margin-bottom:1rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem}#summary-modal-content h3{font-size:1.4rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--text-color)}#summary-modal-content p{line-height:1.7;margin-bottom:1rem}#summary-modal-content ul{list-style-type:none;padding-left:0}#summary-modal-content li{background-color:var(--bg-color);border-left:4px solid var(--accent-color);padding:.75rem 1rem;margin-bottom:.5rem;border-radius:4px}.close-modal-btn{position:absolute;top:.5rem;right:.5rem}.full-script-content,#summary-modal-content{overflow-y:auto;padding-right:1rem}.full-script-content p{margin-bottom:1rem}.full-script-content strong,#summary-modal-content strong{color:var(--accent-color);margin-right:.5em}.script-modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2.5rem .75rem 0;margin-bottom:1rem;border-bottom:2px solid var(--border-color)}.script-modal-title{font-size:1.2rem;margin:0;color:var(--text-color);overflow-wrap:anywhere}#copy-script-btn{display:flex;align-items:center;gap:.4em;flex-shrink:0}.transcript-section-title{font-size:1.05rem;color:var(--accent-color);border-bottom:1px solid var(--border-color);padding-bottom:.4rem;margin:1.75rem 0 1rem}.transcript-section:first-child .transcript-section-title{margin-top:0}.full-script-content .transcript-say{white-space:pre-line}.full-script-content .transcript-narration{font-style:italic;opacity:.85}.full-script-content .transcript-scene{text-align:center;opacity:.75;margin:1.25rem 0}.full-script-content .transcript-choice{color:var(--accent-color)}.full-script-content .transcript-missing{font-style:italic;opacity:.6}.fade-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000;z-index:calc(var(--z-max) - 1);opacity:0;pointer-events:none;transition:opacity .5s ease-in-out;will-change:opacity}.fade-overlay.visible{opacity:1}.shake{--shake-x: 10px;--shake-y: 0px;--shake-duration: .44s;--shake-iterations: 1;animation:story-shake-dynamic var(--shake-duration) ease-in-out var(--shake-iterations) both}.dialog-shake{--dialog-shake-x: 10px;--dialog-shake-duration: .1s;--dialog-shake-iterations: 1;animation:story-dialog-shake var(--dialog-shake-duration) ease-in-out var(--dialog-shake-iterations) both}@keyframes story-dialog-shake{0%{transform:translate(0)}25%{transform:translate(var(--dialog-shake-x))}50%{transform:translate(0)}75%{transform:translate(calc(var(--dialog-shake-x) * -1))}to{transform:translate(0)}}.painting-shake{--painting-shake-x: 0px;--painting-shake-y: 0px;--painting-shake-duration: .15s;--painting-shake-iterations: 2;animation:story-painting-shake var(--painting-shake-duration) ease-in-out var(--painting-shake-iterations) both}@keyframes story-painting-shake{0%{transform:translate(0)}25%{transform:translate(var(--painting-shake-x),var(--painting-shake-y))}50%{transform:translate(0)}75%{transform:translate(calc(var(--painting-shake-x) * -1),calc(var(--painting-shake-y) * -1))}to{transform:translate(0)}}.flash{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#fff;z-index:var(--z-max);pointer-events:none;opacity:0}.flash.flash-black{background-color:#000}.story-flash-overlay{position:fixed;inset:0;z-index:calc(var(--z-max) - 1);pointer-events:none;opacity:0;background-color:#000}.story-flashn-overlay{position:fixed;inset:0;z-index:calc(var(--z-max) - 2);pointer-events:none;opacity:0;background-color:#fff0}.story-oldphoto-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;background-color:#9e94245c}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes story-shake-dynamic{0%,to{transform:translateZ(0)}15%,85%{transform:translate3d(calc(var(--shake-x) * -.12),calc(var(--shake-y) * -.12),0)}30%,70%{transform:translate3d(calc(var(--shake-x) * .25),calc(var(--shake-y) * .25),0)}45%{transform:translate3d(calc(var(--shake-x) * -.25),calc(var(--shake-y) * -.25),0)}60%{transform:translate3d(calc(var(--shake-x) * .12),calc(var(--shake-y) * .12),0)}}@keyframes flash-anim{0%{opacity:1}to{opacity:0}}@keyframes wave{0%,to{height:4px}50%{height:1.25rem}}@media(max-width:600px){.viewer-header{flex-wrap:wrap;justify-content:center;padding:.75rem 1rem;gap:.75rem}.header-title{width:100%;text-align:center;font-size:1.3rem;order:1;margin:0 0 .5rem}.viewer-header .nav-button{order:2}.search-container{order:3;flex-grow:1;min-width:7.5rem;margin:0}}
