.story-lens{position:absolute;z-index:8;background:#faf4e9f7;border:2px dashed #9d6d91;border-radius:22px;padding:28px;box-shadow:0 15px 40px #42333c16;color:#53434f;animation:story-open .3s ease-out;user-select:none}
.story-lens-head>span{font-size:15px;font-weight:700;letter-spacing:2px;color:#8c5480}.story-lens-head h3{font:28px/1.3 var(--serif);margin:10px 0}.story-lens-head p{font-size:17px;line-height:1.5;margin:8px 0 20px;color:#7d6978}.story-lens-head>button{float:right;padding:8px 15px;border-color:#b6a0ad;color:#835d78;background:#fff9ee}
.story-cast{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-character{min-height:108px;border:1.5px dashed #a87a9b;border-radius:35px;padding:14px 18px;background:#f6eaf2;text-align:left;color:#63455e;overflow-wrap:anywhere}.story-character small{display:block;font:13px/1.4 'Noto Sans KR',sans-serif;color:#926985}.story-character b{display:block;font:600 23px/1.3 var(--serif);margin:4px 0}.story-character>span{display:block;font-size:15px;line-height:1.4}.story-character.portrayal{border-style:solid;border-radius:7px;background:#f1f1e7;color:#53604a}.story-character.portrayal small{color:#727c62}.story-character.motif{background:#f5eddf;border-color:#ad9564;color:#7e6543}.story-relations{display:grid;gap:9px;margin-top:20px}.story-relations>button{position:relative;display:grid;grid-template-columns:95px 1fr;align-items:center;gap:4px 10px;text-align:left;padding:10px 14px;border:1px dashed #b19baa;background:#fffaf2;border-radius:6px;min-height:65px;color:#67475d}.story-relations small{grid-row:1/3;font-size:14px;text-align:center;color:#916e85}.story-relations b{font-size:17px;font-weight:500}.story-relations b span{color:#a46c96;margin:0 6px}.story-relations em{font-size:14px;font-style:normal;color:#8e727f}.story-lens-note{font-size:16px;line-height:1.6;color:#86717f}.story-tether{position:absolute;left:100%;top:50%;overflow:visible;transform:translateY(-50%);pointer-events:none}.story-tether path{fill:none;stroke:#9d6d91;stroke-width:2;stroke-dasharray:6 7}.story-tether text{font:14px 'Noto Sans KR',sans-serif;fill:#946b87;paint-order:stroke;stroke:#f8f1e3;stroke-width:5px}
.story-controls{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.story-controls button{padding:9px 11px;background:#f4eaf1;border-color:#c3a8ba;color:#78506c;font-size:12px}.story-controls button[aria-pressed=false]{background:transparent}.story-badge{display:inline-block;border:1px dashed #b18eaa;color:#8e5a7d;background:#f6edf3;padding:5px 9px;border-radius:20px;font-size:11px;margin:10px 0}.story-inspector-cast{display:grid;grid-template-columns:1fr 1fr;gap:7px}.story-inspector-cast button{background:#f4edf1;border:1px dashed #b69aaf;border-radius:16px;padding:10px;text-align:left;font-size:12px;color:#6f4b64}.story-inspector-cast small{display:block;font-size:9px;margin-bottom:5px;color:#926f86}.story-inspector-cast .portrayal{background:#eef0e7;border-style:solid;border-radius:4px;color:#526347}.story-inspector-relations button{display:block;text-align:left;width:100%;padding:10px;margin:6px 0;border-style:dashed;border-color:#bea8b5;color:#795b6d}.story-inspector-relations small{display:block;margin-top:4px;font-size:10px}.fiction-shelf{position:absolute;left:-3650px;top:110px;width:730px;height:2140px;border:2px dashed #aa849d;border-radius:25px;background:#f4edf077;pointer-events:none;padding:40px;color:#8a5f7c}.fiction-shelf h2{font:38px var(--serif);margin:0 0 15px}.fiction-shelf p{font:22px/1.5 'Noto Sans KR',sans-serif;margin:0}.fiction-shelf span{display:block;font-size:18px;margin-top:12px}.fiction-work .poster-button{border:2px dashed #aa849d!important}.fiction-work .poster-caption:before{content:'가상 조선 · 연대 미지정';display:block;color:#f2d9ed;font-size:12px;line-height:1.5;margin-bottom:4px}#fictionContext{padding:9px 20px;background:#eee2eb;color:#80566f;font-size:12px;line-height:1.6}#fictionContext[hidden]{display:none}#fictionContext button{margin-left:10px;border:0;border-bottom:1px solid #b494a9;border-radius:0;color:#80566f}.fiction-context .time-bar{opacity:.65}#eraNav [data-fiction-shelf]{border-style:dashed;border-color:#b69baf;color:#87617e}#eraNav [data-fiction-shelf][aria-pressed=true]{background:#865f7d;color:#fff5fa}
body.has-story-lens .work-node:not(.story-selected){opacity:.16;pointer-events:none}body.has-story-lens .story-selected{z-index:9;opacity:1}.story-source-note{font-size:11px;line-height:1.7;color:#8f7c83}body.has-story-lens .story-selected .poster-button{outline:3px solid #9d6d91;outline-offset:5px}
@keyframes story-open{from{opacity:0;translate:20px 0}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.story-lens{animation:none}}@media(max-width:600px){#fictionContext{font-size:10px;padding:8px}.story-inspector-cast button{font-size:11px}.story-controls button{font-size:11px}}

.media-title-card{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;text-align:center;padding:15px;background:linear-gradient(135deg,#ece3cb,#f8f0df);color:#6c5c3e}.media-title-card small{font-size:13px}.media-title-card strong{font:34px var(--serif)}.media-title-card em{font-style:normal;font-size:11px;color:#9b8866}.media-no-image{padding:30px 15px;text-align:center;background:#efe6d5;color:#8c7958;font-size:12px}

body.has-story-lens .work-node:not(.story-selected){animation:none;opacity:.12!important}.thumb-empty{display:grid;place-items:center;min-height:70px;background:#ece3d1;color:#8a7456;font-size:11px}.story-character:hover{border-color:#89647e;background:#f2e4ee}.story-relations button:hover{background:#f0e1ec}
