@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
:root{--bg:#101b23;--panel:#192933;--ink:#e8e8dd;--muted:#91a4ac;--gold:#d6b575;--line:#344a55;--teal:#79b6af;--red:#c98578;--serif:'Noto Serif KR',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px 'Noto Sans KR',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:4px}button:hover{border-color:var(--gold);color:var(--gold)}button:focus-visible,a:focus-visible,#viewport:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}a{color:var(--gold);text-decoration:none}header{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;font:23px var(--serif);letter-spacing:2px;color:var(--ink);gap:12px}.brand>span{background:#97483e;padding:2px 8px;color:#efddc5}.brand small{font:9px sans-serif;letter-spacing:2px;color:var(--muted);margin-left:10px}.scope{color:var(--gold);font-size:11px;letter-spacing:1px}.scope i{display:inline-block;height:1px;width:18px;background:var(--line);vertical-align:middle;margin:0 9px}header>button{border:0;color:var(--muted);font-size:11px}.workspace-head{display:flex;align-items:center;justify-content:space-between;padding:19px 32px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold)}h1{font:500 24px var(--serif);margin:5px 0 0}.layer-controls{display:flex;gap:6px;flex-wrap:wrap}.layer-controls button{font-size:10px;padding:8px 11px;color:var(--muted)}.layer-controls button[aria-pressed=true]{background:#ffffff05;color:var(--ink)}.layer-controls button[aria-pressed=false]{opacity:.45}.layer-controls i{display:inline-block;width:15px;height:2px;vertical-align:middle;margin-right:6px}.family-key{background:#98a7ac}.crown-key{background:var(--gold)}.politics-key{background:var(--red)}.works-key{background:var(--teal)}.canvas-shell{position:relative;margin:0 20px}#viewport{height:calc(100dvh - 298px);min-height:440px;max-height:1000px;border:1px solid var(--line);border-radius:6px;overflow:hidden;position:relative;touch-action:none;cursor:grab;background:radial-gradient(ellipse at 40% 50%,#31505b1c,transparent 70%),radial-gradient(#b9cdcf16 .8px,transparent .8px);background-size:auto,24px 24px;box-shadow:inset 0 0 120px #0002}#viewport.dragging{cursor:grabbing}#world{position:absolute;left:0;top:0;width:2500px;height:1400px;transform-origin:0 0;will-change:transform}#world.animate{transition:transform .65s cubic-bezier(.22,.7,.2,1)}#edges{position:absolute;inset:0;overflow:visible;pointer-events:none}.edge path{fill:none;stroke:#81979f;stroke-width:1.7;opacity:.36}.edge text{font-size:11px;fill:#a2b5bd;paint-order:stroke;stroke:var(--bg);stroke-width:6px;stroke-linejoin:round}.edge.mother path{stroke-dasharray:3 6;opacity:.2}.edge.marriage path{stroke:#aeb6b0;stroke-dasharray:5 3;opacity:.6}.edge.succession path{stroke:var(--gold);stroke-width:3;opacity:.7}.edge.succession text{fill:var(--gold)}.edge.conflict path{stroke:var(--red);stroke-dasharray:7 5;opacity:.55}.edge.conflict text{fill:var(--red)}.edge.alliance path,.edge.work path{stroke:var(--teal);stroke-dasharray:4 6;opacity:.45}.edge.alliance text,.edge.work text{fill:var(--teal)}.edge.relevant path{opacity:.95;stroke-width:3}.edge.relevant.succession path{stroke-dasharray:10 5;animation:flow 12s linear infinite}.edge.dim{opacity:.14}.person-node{position:absolute;width:220px;z-index:2;animation:appear .5s both}.person-main{display:grid;width:220px;height:110px;grid-template-columns:46px minmax(0,1fr);gap:11px;text-align:left;padding:15px 14px;background:linear-gradient(135deg,#223640,#15252f);border:1px solid #4c626d;box-shadow:0 12px 26px #0002;border-radius:5px;color:var(--ink)}.person-node.king .person-main{border-color:#9d845454;background:linear-gradient(125deg,#3f382724,#20313a)}.person-node.selected .person-main{border-color:var(--gold);box-shadow:0 0 0 3px #d6b57517,0 15px 40px #0004}.person-node.relevant .person-main{border-color:#d6b57588}.han{font:22px var(--serif);color:var(--gold);border:1px solid #b3a17d44;display:grid;place-items:center;grid-row:1/4;width:46px;height:68px;background:#d6b57508}.node-copy{min-width:0}.person-main b{font:600 18px var(--serif);display:block;white-space:nowrap;letter-spacing:-.4px}.person-main small{color:var(--muted);font-size:9px;display:block;margin-top:7px;line-height:1.5}.person-main .life{font:10px Georgia,serif;color:#b7c4c8;letter-spacing:1px;margin-top:7px}.expand-branch{display:block;margin:7px auto 0;padding:5px 11px;background:#172b36;box-shadow:0 4px 18px #0003;color:var(--gold);border-color:#6c664854;font-size:10px;min-height:28px}.expand-branch[aria-expanded=true]{border-style:dashed;color:var(--muted)}.work-node{position:absolute;z-index:2;animation:appear .6s both}.poster-button{display:block;width:100%;height:100%;position:relative;overflow:hidden;padding:0;text-align:left;border:1px solid #79b6af80;background:#0b151b;box-shadow:0 15px 40px #0005;border-radius:4px;transition:transform .3s,box-shadow .3s}.poster-button img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.7)}.poster-button:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#071117ed)}.poster-button:hover{transform:translateY(-6px);box-shadow:0 20px 40px #0008}.poster-caption{position:absolute;bottom:12px;left:13px;right:10px;z-index:1}.poster-caption small{color:var(--teal);font-size:9px;display:block}.poster-caption b{font:600 20px var(--serif);display:block;margin-top:5px;color:#f1e7d4}.work-node.relevant .poster-button{border-color:var(--teal);box-shadow:0 0 0 4px #79b6af13,0 15px 40px #0004}.muted-node{opacity:.42}.world-label{position:absolute;font:11px var(--serif);color:var(--gold);letter-spacing:5px;opacity:.5;pointer-events:none}.canvas-title{position:absolute;left:23px;top:21px;pointer-events:none;display:flex;flex-direction:column;gap:8px;padding:0 20px 16px 0;background:linear-gradient(100deg,#101b23e0,transparent)}.canvas-title>span{color:var(--gold);font-size:8px;letter-spacing:2px}.canvas-title b{font:20px var(--serif)}.canvas-title small{font-size:10px;color:var(--muted)}.map-controls{position:absolute;bottom:17px;left:18px;display:flex;align-items:center;padding:5px;background:#12232eeb;border:1px solid var(--line);border-radius:5px;gap:4px;box-shadow:0 10px 30px #0003}.map-controls button{padding:6px 11px;font-size:11px;border:0}.map-controls button:first-child,.map-controls #zoomOut{font-size:18px}.map-controls>span{font-size:9px;color:var(--muted);min-width:36px;text-align:center}.canvas-hint{position:absolute;left:23px;bottom:74px;font-size:9px;color:var(--muted);pointer-events:none;background:#101b2399;padding:4px 0}.minimap{position:absolute;right:18px;bottom:17px;background:#111e28e8;padding:8px;border:1px solid var(--line);border-radius:4px;width:155px;pointer-events:none}.minimap svg{width:100%;height:75px;display:block}.minimap span{display:block;text-align:center;color:var(--muted);font-size:8px;margin-top:5px}#status{position:absolute;top:20px;right:20px;font-size:10px;color:var(--gold);pointer-events:none;background:#13242dcf;padding:6px 10px;border-radius:4px}#status:empty{display:none}#inspector{position:absolute;top:12px;right:12px;width:310px;max-height:calc(100% - 24px);overflow:auto;z-index:5;padding:28px 23px;background:#182a35f5;backdrop-filter:blur(20px);border:1px solid #5d727c;border-radius:5px;box-shadow:-20px 10px 80px #0005;animation:appear .3s both}#closeInspector{position:absolute;right:10px;top:9px;border:0;padding:5px;font-size:17px}.inspector-kicker{font-size:9px;color:var(--gold);letter-spacing:2px}.inspector-name{font:25px var(--serif);margin:13px 0 8px}.inspector-meta{font-size:10px;color:var(--muted);line-height:1.9}.inspector-text{font-size:12px;color:#b6c5cc;line-height:1.95}.inspector-actions{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.inspector-actions button{padding:7px 10px;font-size:10px;border-color:#5b6c64;color:var(--gold)}.inspector-subhead{font-size:10px;color:var(--gold);margin:22px 0 10px;letter-spacing:1px}.connection-list{display:flex;flex-direction:column;gap:7px}.connection-list button{font-size:11px;text-align:left;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;background:#ffffff03}.connection-list small{color:var(--muted);font-size:9px}.inspector-source{font-size:10px;display:inline-block;margin-top:18px}.inspector-poster{width:100%;max-height:240px;object-fit:contain;background:#0c161f;margin:12px 0}.notice{font-size:10px;color:var(--muted);line-height:1.9;padding:11px;border:1px solid var(--line);margin-top:13px}.inspector-thumbs{display:flex;gap:8px}.inspector-thumbs button{width:72px;padding:0;overflow:hidden;font-size:9px}.inspector-thumbs img{display:block;width:100%;height:78px;object-fit:cover}.inspector-thumbs span{display:block;padding:6px 3px}.time-bar{display:flex;align-items:center;gap:16px;margin:19px 32px 10px}.time-bar>button{border:0;color:var(--gold);font-size:20px;padding:8px}.time-heading{width:145px;flex-shrink:0}.time-heading>span{font-size:8px;color:var(--muted);letter-spacing:1px;display:block}.time-heading b{font:30px Georgia,serif;color:var(--gold);display:block;margin:3px 0}.time-heading small{font-size:10px;display:block}.timeline-wrap{flex:1;min-width:0}#eventTicks{display:flex;justify-content:space-between;gap:4px;margin-bottom:9px}#eventTicks button{border:0;padding:2px 3px;text-align:center;font-size:9px;color:var(--muted);line-height:1.6}#eventTicks button span{display:block;font-size:8px}#eventTicks button[aria-pressed=true]{color:var(--gold)}input[type=range]{width:100%;accent-color:var(--gold);height:3px;cursor:ew-resize;display:block}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;margin-top:10px}.footnote{display:flex;justify-content:space-between;gap:20px;padding:8px 32px 12px;font-size:8px;color:var(--muted)}.footnote button{border:0;font-size:9px;flex-shrink:0;color:var(--muted)}#helpText{font-size:11px;line-height:1.9;color:var(--muted);padding:12px 32px;border-top:1px solid var(--line);background:var(--panel)}#helpText b{color:var(--ink);margin-right:15px}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}[hidden]{display:none!important}.zoom-far .person-main small,.zoom-far .person-main .life{display:none}.zoom-far .person-main b{font-size:22px}.zoom-far .person-main{align-items:center}.zoom-far .han{height:60px}.zoom-far .edge text{font-size:14px}@keyframes flow{to{stroke-dashoffset:-120}}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){header{padding:0 20px}.brand small{display:none}.workspace-head{padding:15px 20px;align-items:flex-start}h1{font-size:21px}.layer-controls{max-width:310px;justify-content:flex-end}.layer-controls button{padding:6px 8px;font-size:9px}.canvas-shell{margin:0 12px}#viewport{height:calc(100dvh - 295px)}.time-bar{margin:16px 16px 8px;gap:6px}.time-heading{width:110px}.footnote{padding:6px 20px 12px}.minimap{width:125px}.scope{font-size:9px}}@media(max-width:600px){header{height:60px;padding:0 15px;gap:8px}.brand{font-size:20px;gap:9px}.scope{font-size:8px;letter-spacing:0}.scope i{display:none}.scope{max-width:90px;text-align:center;line-height:1.7}header>button{font-size:9px;max-width:56px}.workspace-head{padding:13px 15px;display:block}.eyebrow{font-size:8px}h1{font-size:22px}.layer-controls{max-width:none;justify-content:flex-start;gap:4px;margin-top:12px}.layer-controls button{font-size:9px;padding:6px 7px}.layer-controls i{width:10px;margin-right:4px}.canvas-shell{margin:0 8px}#viewport{height:calc(100dvh - 345px);min-height:390px}.canvas-title{left:14px;top:14px;gap:6px}.canvas-title b{font-size:16px}.canvas-title small{font-size:8px}.canvas-title>span{font-size:7px;letter-spacing:1px}.canvas-hint{display:none}.map-controls{left:8px;bottom:8px;gap:0;padding:3px}.map-controls button{padding:6px 8px;font-size:9px}.map-controls>span{min-width:30px;font-size:8px}.map-controls button:first-child,.map-controls #zoomOut{font-size:16px}.minimap{right:8px;bottom:57px;width:89px;padding:4px}.minimap svg{height:43px}.minimap span{font-size:6px}#status{top:auto;right:12px;bottom:111px;font-size:8px;max-width:210px}.time-bar{margin:13px 9px 9px;gap:5px}.time-bar>button{padding:5px;font-size:16px}.time-heading{width:75px}.time-heading b{font-size:25px}.time-heading small{font-size:8px}#eventTicks{overflow:auto;justify-content:flex-start;gap:10px;margin-bottom:11px;padding:0 0 3px}#eventTicks button{white-space:nowrap;font-size:8px;flex-shrink:0}#eventTicks button span{font-size:7px}.range-ends{font-size:7px}.footnote{padding:6px 15px 12px;display:block;font-size:7px;line-height:1.8}.footnote button{margin-top:5px;padding:0;font-size:8px}#inspector{top:9px;right:9px;width:calc(100% - 18px);max-height:60%;padding:25px 20px;box-shadow:0 25px 60px #0008}#helpText{padding:12px 15px;font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:600px){#eventTicks{scrollbar-width:none}#eventTicks::-webkit-scrollbar{display:none}}

/* Map gestures must never select text or initiate native image dragging. */
#viewport,#viewport *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#viewport img{-webkit-user-drag:none}#viewport::selection,#viewport *::selection{background:transparent}#inspectorContent{-webkit-user-select:text;user-select:text}.minimap{width:100px}.minimap svg{height:110px}@media(max-width:600px){.minimap{width:62px}.minimap svg{height:70px}}
#viewport{overflow:clip}

/* A vertical reading layout, rather than a rotated family tree. */
#viewport{background:#111f28;background-image:linear-gradient(90deg,#0c171f55,transparent 28%,transparent 72%,#0c171f55);box-shadow:none}
#world{isolation:isolate}.reign-spine{position:absolute;width:2px;background:linear-gradient(transparent,#d6b57544 5%,#d6b57544 90%,transparent);z-index:-1;pointer-events:none}
.map-column-label{position:absolute;color:#7e969f;font-size:11px;letter-spacing:2px;pointer-events:none}.map-column-label:nth-child(2){color:var(--gold)}
.person-main{background:#1b303d;border-color:#395562;box-shadow:0 8px 24px #0002;border-radius:8px}
.person-main b{font-size:16px;letter-spacing:-.5px}.person-main small{font-size:10px;color:#afc0c8}.person-main .life{font-size:10px;color:#afc0c8}
.person-node.king{width:260px}.person-node.king .person-main{width:260px;height:140px;padding:24px 18px;grid-template-columns:49px minmax(0,1fr);gap:14px;background:linear-gradient(120deg,#2c3e40,#20323c);border:1px solid #9e8b615e;box-shadow:0 14px 40px #0003}
.person-node.king .person-main b{font-size:23px;letter-spacing:-.7px}.person-node.king .person-main small{font-size:11px;line-height:1.7;color:#c5ccc4}.person-node.king .person-main .life{color:#c1b28e;font-size:10px}
.person-node.king .han{height:86px;width:49px;display:flex;flex-direction:column;justify-content:center;font-size:23px;border:0;background:transparent;gap:7px}
.person-node.king .han>small{margin:0;font:12px Georgia,serif;letter-spacing:2px;color:var(--gold)}.han{font-size:18px;width:42px;height:63px;border:0;background:#d6b57509;border-radius:3px}
.expand-branch{margin-top:9px;background:#1a3038;border:1px solid #476266;border-radius:20px;padding:6px 13px;font-size:11px;min-height:31px}
.edge path{opacity:.3;stroke-width:1.4}.edge.succession path{opacity:.85;stroke-width:2.5}.edge.relevant path{stroke-width:2;opacity:.8}.edge text{font-size:12px;stroke-width:7px}.edge.succession text{font-size:11px;fill:#c5b183}.edge.work path{stroke-dasharray:3 5;opacity:.4}
.event-marker{position:absolute;width:180px;padding:12px 10px;border-radius:30px;border:1px solid #59634e;background:#192b31;text-align:center;font-size:11px;z-index:2;color:#d7d6c6;box-shadow:0 0 0 12px #111f28}.event-marker small{display:block;color:var(--gold);font:12px Georgia,serif;margin-bottom:5px;letter-spacing:1px}
.poster-button{border-radius:7px;border-color:#526765;box-shadow:0 12px 30px #0004}.poster-button img{filter:saturate(.85)}.poster-caption{bottom:13px}.poster-caption b{font-size:21px}.poster-caption small{font-size:10px;color:#bed6ce}
.canvas-title{left:18px;top:14px;display:flex;flex-direction:row;align-items:center;gap:12px;padding:10px 14px;background:#152730e8;border:1px solid #3c535c;border-radius:30px}.canvas-title>span{font-size:7px;letter-spacing:1px;color:#84999f}.canvas-title b{font:12px 'Noto Sans KR',sans-serif}.canvas-title small{display:none}
#status{max-width:280px;line-height:1.8;font-size:10px;top:68px;right:17px;background:#152730f0;border:1px solid #3c535c;padding:9px 13px}
.workspace-head{padding-top:16px;padding-bottom:16px}h1{font-size:23px}.workspace-head .eyebrow{color:#98acae;font-size:9px}
.minimap{background:#12232ce8;border-color:#3c535c}.minimap span{font-size:7px}.map-controls{border-color:#3c535c;background:#152730ee}.map-controls button{padding:8px 11px}.canvas-hint{color:#a0b2b9}
#inspector{background:#1a2c36f8;border-color:#526976;border-radius:9px}.inspector-name{font-size:27px}.inspector-text{color:#d0dadd;font-size:13px;line-height:2}.inspector-meta{font-size:11px;color:#aabfc8}
@media(max-width:600px){.workspace-head{padding:12px 15px}h1{font-size:21px}.canvas-title{left:9px;right:9px;top:9px;padding:9px 12px;justify-content:space-between}.canvas-title>span{font-size:6px}.canvas-title b{font-size:10px}#status{top:54px;bottom:auto;max-width:180px;font-size:8px;right:9px;padding:6px 9px}.map-controls button{padding:7px 8px}.person-node.king .person-main b{font-size:23px}.minimap{opacity:.75}.footnote{font-size:7px}}

#viewport:focus-visible{outline:none}#viewport.keyboard-focus{outline:2px solid var(--gold);outline-offset:3px}

.canvas-title{display:none}@media(max-width:600px){.person-main b{font-size:19px}.person-main small{font-size:12px}}

/* Keep the complete network visible; use weight and emphasis instead of hiding edges. */
.edge path{stroke-width:1.6;opacity:.48}.edge.mother path{stroke-dasharray:3 6;opacity:.34}.edge.family path{stroke:#93aab5;opacity:.46}.edge.marriage path{stroke:#b6c4bd;opacity:.7}.edge.succession path{stroke-width:3;opacity:.95}.edge.conflict path{stroke:#d9968a;stroke-width:1.8;opacity:.64}.edge.alliance path{opacity:.6}.edge.work path{stroke:var(--teal);opacity:.4;stroke-width:1.5}.edge.dim{opacity:.35}.edge.relevant path{opacity:.95;stroke-width:2.5}.edge.succession.relevant path{stroke-width:3}.edge .quiet-label{display:none}.edge.hover-relevant{opacity:1!important}.edge.hover-relevant path{opacity:1;stroke-width:3}.edge.hover-relevant .quiet-label{display:block}.edge.hover-relevant text{font-size:12px}.edge text{stroke-width:8px}.edge.hover-relevant.succession path{stroke-width:3.5}

.design-comparison{padding:18px 30px 12px;border-bottom:1px solid var(--line);background:#14232c}.comparison-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.comparison-heading>div{display:flex;align-items:center;gap:18px}.comparison-heading span{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.comparison-heading h2{font:17px var(--serif);margin:0}.comparison-heading>button{border:0;font-size:10px;color:var(--muted)}#designPicker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.design-option{display:flex;align-items:center;gap:12px;padding:9px;text-align:left;border-radius:7px;background:#172a35;border:1px solid #36515d}.design-option[aria-pressed=true]{border-color:var(--gold);background:#d6b5750d;box-shadow:0 0 0 1px #d6b57525}.design-mini{width:37px;height:64px;display:block;flex-shrink:0;background:#10202a;border-radius:3px;overflow:hidden}.design-mini svg{width:100%;height:100%;display:block}.preview-lines{fill:none;stroke:#d6b575;stroke-width:12}.preview-king{fill:#d6b575}.preview-person{fill:#789da5}.preview-poster{fill:#789b87}.design-option-copy small{display:block;color:var(--muted);font-size:8px;line-height:1.7}.design-option-copy b{display:block;font:15px var(--serif);margin-top:5px;white-space:nowrap}.mini-tree{background:#e4decf}.mini-tree .preview-king{fill:#69532b}.mini-metro .preview-lines{stroke:#b2a0fd}.mini-gallery{background:#211418}.mini-gallery .preview-poster{fill:#c1855f}.mini-islands{background:#193c32}.mini-islands .preview-person{fill:#93b6a2}#designDescription{font-size:11px;line-height:1.8;color:var(--muted);margin:11px 0 0;max-width:980px}#viewport{height:calc(100dvh - 485px);min-height:470px;max-height:none}.comparison-collapsed #designPicker,.comparison-collapsed #designDescription{display:none}.comparison-collapsed .comparison-heading{margin-bottom:0}.comparison-collapsed #viewport{height:calc(100dvh - 350px)}.flow-ribbon{position:absolute;inset:0;pointer-events:none;z-index:-1}.flow-ribbon path{stroke:#698b8c;stroke-width:160px;opacity:.065;fill:none}.generation-guide{position:absolute;left:50px;border-top:1px dashed #a6a09270;pointer-events:none}.generation-guide span{font:10px sans-serif;letter-spacing:3px;position:absolute;left:0;top:-22px;color:#8d836c}.metro-lane{position:absolute;top:80px;width:5px;background:#96c5e618;z-index:-1}.metro-lane.lane-1{background:#ab9beb18}.metro-label{position:absolute;top:60px;font-size:11px;letter-spacing:2px;color:#97bde5}.gallery-year{position:absolute;font:140px Georgia,serif;color:#c8977212;pointer-events:none;letter-spacing:-4px;z-index:-1}.island-halo{position:absolute;width:540px;height:500px;border-radius:50%;border:1px dashed #8bc3a53b;background:radial-gradient(ellipse,#679c8420,transparent 65%);pointer-events:none;z-index:-1}
body[data-design=river] #viewport{background:radial-gradient(ellipse at 40% 40%,#33545e19,transparent 80%),#101d27}body[data-design=river] .person-main{border-radius:12px;background:#1c303c}body[data-design=river] .person-node.king .person-main{border-radius:15px 4px 15px 4px;background:linear-gradient(130deg,#354448,#1b313c)}body[data-design=river] .edge path{stroke-linecap:round}body[data-design=river] .poster-button{border-radius:9px}
body[data-design=tree]{--bg:#f2eee3;--ink:#383d32;--muted:#7c8172;--line:#d0cbbb;--gold:#8b6c35;--panel:#e6e3d5;--teal:#527963;--red:#a75d4e}body[data-design=tree] .design-comparison{background:#e9e5d8}body[data-design=tree] .design-option{background:#f3f0e8;border-color:#ccc7b7}body[data-design=tree] .design-option[aria-pressed=true]{background:#e8e0ca;border-color:#8b6c35}body[data-design=tree] #viewport{background:#f8f5ec;box-shadow:inset 0 0 80px #9d8c6710}body[data-design=tree] .person-main,body[data-design=tree] .person-node.king .person-main{background:#fffdf6;border-color:#b8b29e;box-shadow:0 7px 20px #73664612;border-radius:1px}body[data-design=tree] .person-node.king .person-main{border-top:4px solid #9a804d}body[data-design=tree] .person-main small,body[data-design=tree] .person-main .life{color:#6d7665}body[data-design=tree] .han{background:#eae4d2;color:#8b6c35}body[data-design=tree] .person-node.king .han>small{color:#8b6c35}body[data-design=tree] .expand-branch{background:#eee8d7;color:#786030;border-color:#beb49c}body[data-design=tree] .edge path{stroke:#8c927f;opacity:.65}body[data-design=tree] .edge.succession path{stroke:#967238}body[data-design=tree] .edge.conflict path{stroke:#ad5b50}body[data-design=tree] .edge text{stroke:#f8f5ec;fill:#786030}body[data-design=tree] .event-marker{background:#eae3d0;color:#5e5f46;border-color:#bbab80;box-shadow:0 0 0 10px #f8f5ec}body[data-design=tree] .map-controls,body[data-design=tree] .minimap,body[data-design=tree] #status{background:#f0ecdf;color:#6f715b;border-color:#c6bea8}body[data-design=tree] #inspector{background:#f5f0e5f8;border-color:#c6bea8}body[data-design=tree] .inspector-text{color:#505e49}body[data-design=tree] .inspector-meta{color:#76816e}body[data-design=tree] .connection-list button{background:#e8e2d4}body[data-design=tree] .canvas-hint{background:#f8f5ecc0;color:#70775f}
body[data-design=metro]{--bg:#111a30;--panel:#1b2845;--ink:#e5effb;--muted:#a2b4d1;--line:#364969;--gold:#b4a2ff;--teal:#70d2d0;--serif:'Noto Sans KR',sans-serif}body[data-design=metro] .design-comparison{background:#17223a}body[data-design=metro] #viewport{background:linear-gradient(#24385f08 1px,transparent 1px),linear-gradient(90deg,#24385f08 1px,transparent 1px),#111b31;background-size:24px 24px}body[data-design=metro] .person-main,body[data-design=metro] .person-node.king .person-main{border-radius:30px;background:#1c2c48;border:2px solid #6a84aa;box-shadow:none}body[data-design=metro] .person-node.king .person-main{border-color:#b4a2ff;background:#2a3151}body[data-design=metro] .person-main b,body[data-design=metro] .person-node.king .person-main b{font-family:'Noto Sans KR',sans-serif;font-weight:600}body[data-design=metro] .han{border-radius:50%;background:#a3bce518;width:46px;height:46px;margin-top:8px}body[data-design=metro] .edge path{stroke-width:3;stroke-linejoin:round;stroke-linecap:round}body[data-design=metro] .edge.succession path{stroke:#b4a2ff;stroke-width:6}body[data-design=metro] .edge.family path{stroke:#7dafe9}body[data-design=metro] .edge.work path{stroke:#70d2d0}body[data-design=metro] .edge.mother path{stroke:#d19ed1}body[data-design=metro] .event-marker{background:#24304c;border-color:#a092dc;box-shadow:0 0 0 9px #111b31;border-radius:8px}body[data-design=metro] .poster-button{border:3px solid #70d2d0;border-radius:12px}body[data-design=metro] .expand-branch{background:#223554;color:#c2d5f0;border-color:#657da6}
body[data-design=gallery]{--bg:#171214;--panel:#291c22;--ink:#efe4da;--muted:#b09c9c;--line:#53393f;--gold:#d19a74;--teal:#ba969c}body[data-design=gallery] .design-comparison{background:#24191e}body[data-design=gallery] #viewport{background:radial-gradient(ellipse at 50% 20%,#94544b13,transparent 70%),#151114}body[data-design=gallery] .person-node.king .person-main{height:140px;background:linear-gradient(110deg,#4f302bc4,#251b20);border:0;border-left:2px solid #c28b6a;border-radius:0;box-shadow:0 15px 30px #0003}body[data-design=gallery] .person-node.king .person-main b{font-size:27px;font-weight:400}body[data-design=gallery] .person-main{border-radius:0;background:#251e24;border-color:#57434b}body[data-design=gallery] .poster-button{border:0;border-radius:0;box-shadow:0 25px 60px #0009}body[data-design=gallery] .poster-caption b{font-size:27px}body[data-design=gallery] .poster-caption small{font-size:11px}body[data-design=gallery] .edge path{opacity:.45;stroke:#ab8889}body[data-design=gallery] .edge.succession path{stroke:#d19a74;stroke-width:2}body[data-design=gallery] .event-marker{border:0;border-bottom:1px solid #b28566;border-radius:0;background:#21171b;box-shadow:0 0 0 10px #151114}body[data-design=gallery] .map-controls,body[data-design=gallery] .minimap{background:#281d24ed;border-color:#53393f}body[data-design=gallery] .expand-branch{background:#322127;border-color:#79544e;color:#d1a589}
body[data-design=islands]{--bg:#101f1e;--panel:#203732;--ink:#e2ebe0;--muted:#9fb9aa;--line:#38594d;--gold:#d6c488;--teal:#88c4a5}body[data-design=islands] .design-comparison{background:#192d28}body[data-design=islands] #viewport{background:radial-gradient(#7fbaa52b .7px,transparent .7px),#10231f;background-size:31px 31px}body[data-design=islands] .person-main{width:160px;height:160px;transform:translate(30px,-25px);display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:50%;gap:6px;padding:16px 9px;background:radial-gradient(ellipse at 30% 20%,#365d4c,#1b342c);border:1px solid #88b49b;box-shadow:0 12px 30px #0004}body[data-design=islands] .person-node.king .person-main{width:220px;height:220px;transform:translate(20px,-40px);display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:50%;padding:15px;background:radial-gradient(ellipse at 30% 20%,#4c6550,#233d32);border:1px solid #c0b980;gap:4px}body[data-design=islands] .person-node.king .han{height:75px;width:50px;gap:2px}body[data-design=islands] .han{background:transparent;height:27px;font-size:17px;width:auto;margin:0}body[data-design=islands] .person-main b{font-size:16px}body[data-design=islands] .person-main .life{display:none}body[data-design=islands] .person-main small{font-size:9px;line-height:1.5}body[data-design=islands] .person-node.king .person-main b{font-size:22px}body[data-design=islands] .person-node.king .person-main small{font-size:10px}body[data-design=islands] .expand-branch{transform:translateY(-25px);background:#233d32;border-color:#77977a;color:#d8d1a8}body[data-design=islands] .edge path{stroke:#a4bda1;stroke-linecap:round;opacity:.4}body[data-design=islands] .edge.succession path{stroke:#d6c488;stroke-width:3}body[data-design=islands] .event-marker{background:#20372d;border-color:#8c9f78;box-shadow:0 0 0 10px #10231f;border-radius:30px}body[data-design=islands] .poster-button{border-radius:25px;border-color:#7fa492}body[data-design=islands] .map-controls,body[data-design=islands] .minimap{background:#183028ed;border-color:#456c55}
@media(max-width:900px){.design-comparison{padding:15px 20px 12px}.design-option{gap:7px;padding:7px}.design-mini{width:28px;height:57px}.design-option-copy b{font-size:12px}.design-option-copy small{font-size:7px}.comparison-heading>div{gap:9px}}@media(max-width:600px){.design-comparison{padding:12px 14px 10px}.comparison-heading>div{display:block}.comparison-heading span{font-size:7px}.comparison-heading h2{font-size:16px;margin-top:5px}#designPicker{display:flex;overflow:auto;scrollbar-width:none;gap:7px}.design-option{min-width:145px;padding:9px}.design-option-copy b{font-size:14px}.design-mini{width:33px;height:60px}#designDescription{font-size:10px;line-height:1.7;min-height:52px}.comparison-heading>button{font-size:9px}#viewport{height:calc(100dvh - 510px);min-height:430px}.comparison-collapsed #viewport{height:calc(100dvh - 380px);min-height:430px}.design-option-copy small{font-size:8px}}
.tree-tools{display:none}body[data-design=tree] .tree-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 2px;color:#6c7366;font-size:12px}.tree-tools>div,.route-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tree-tools button{border:1px solid #c9c8b9;background:#f9f7f0;color:#596251;border-radius:20px;padding:7px 12px;font:inherit;cursor:pointer}.tree-tools button[aria-pressed=true]{background:#344d45;color:#fff;border-color:#344d45}.tree-tools small{flex-basis:100%;min-height:17px}.route-summary{margin:20px 0;padding:14px;background:#eeeadd;border-radius:12px;display:grid;gap:16px}.route-summary b{font-size:12px}.route-summary>div>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:8px;font-size:12px}.route-summary button{background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;cursor:pointer;padding:3px 0;font:inherit}.blood-route{color:#237d70}.royal-route{color:#916720}body[data-design=tree] .edge.trace-blood{opacity:1}body[data-design=tree] .edge.trace-blood>path{stroke:#237d70;stroke-width:4.5;filter:drop-shadow(0 0 5px #237d7033)}body[data-design=tree] .edge.trace-royal{opacity:1}body[data-design=tree] .edge.trace-royal>path{stroke:#b47b20;stroke-width:5;filter:drop-shadow(0 0 5px #b47b2044)}.edge.trace-blood text,.edge.trace-royal text{display:block!important;font-weight:700}body[data-design=tree] .linked-node{box-shadow:0 0 0 3px #448a7866,0 8px 25px #344d4520}body[data-design=tree] .linked-work{outline:4px solid #448a78;outline-offset:6px}.linked-event{box-shadow:inset 0 -3px #448a78!important}.edge.hover-relevant{opacity:1!important}.edge.work.hover-relevant>path{stroke:#258b76!important;stroke-width:4!important}.person-node,.work-node{transition:box-shadow .2s,outline-color .2s}@media(max-width:600px){.tree-tools{padding-inline:12px!important}.route-controls>span{flex-basis:100%}.tree-tools button{padding:7px 10px}.tree-tools small{font-size:11px}}@media(prefers-reduced-motion:reduce){.person-node,.work-node,#world.animate{transition:none!important}}

/* Screen-space names stay readable while the tree itself scales. */
#mapLabels{position:absolute;inset:0;pointer-events:none;z-index:3}
.map-name{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;padding:5px 9px;background:#fffdf6f5;color:#303b30;border:1px solid #b7b19d;border-radius:4px;font:600 14px 'Noto Sans KR',sans-serif;box-shadow:0 2px 7px #51472b18;pointer-events:auto}
.map-name.royal-name{border-top:3px solid #8b6c35;font-weight:700}
body[data-design=tree]{--muted:#596451}
body[data-design=tree] .person-main{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:10px}
body[data-design=tree] .person-node.king .person-main{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:15px 12px}
body[data-design=tree] .person-main .han{width:32px;font-size:20px}
body[data-design=tree] .person-node.king .person-main .han{width:36px}
body[data-design=tree] .person-main .node-copy b{font-size:max(20px,calc(17px / var(--map-zoom,1)));line-height:1.35;letter-spacing:-.7px}
body[data-design=tree] .person-node.king .person-main .node-copy b{font-size:max(23px,calc(19px / var(--map-zoom,1)))}
body[data-design=tree] .person-main .node-copy small{color:#45533f;font-size:max(13px,calc(12px / var(--map-zoom,1)));line-height:1.45;margin-top:5px;letter-spacing:-.3px}
body[data-design=tree] .person-main .node-copy .life{display:none;color:#65502c;font:13px/1.4 'Noto Sans KR',sans-serif;letter-spacing:0;margin-top:5px}
body[data-design=tree] .zoom-detail .person-main .node-copy .life{display:block}
body[data-design=tree] .zoom-medium .person-main .node-copy small{display:none}
body[data-design=tree] .zoom-medium .person-main{align-items:center}
body[data-design=tree] .zoom-far .person-main .node-copy,body[data-design=tree] .zoom-far .person-main .han,body[data-design=tree] .zoom-far .expand-branch{display:none}
body[data-design=tree] .zoom-far .edge text{display:none!important}
body[data-design=tree] .edge text{font-size:max(14px,calc(12px / var(--map-zoom,1)));fill:#665027}
body[data-design=tree] .zoom-medium .edge text{display:none}
body[data-design=tree] .zoom-medium .edge.succession text{display:block}
body[data-design=tree] .event-marker{font-size:max(13px,calc(12px / var(--map-zoom,1)));color:#414a35}
body[data-design=tree] .zoom-far .event-marker{visibility:hidden}
body[data-design=tree] .map-controls{z-index:4}
body[data-design=tree] .map-controls button,body[data-design=tree] .map-controls>span{font-size:12px;color:#45533f}
body[data-design=tree] #eventTicks{overflow:auto;gap:14px;padding-bottom:5px}
body[data-design=tree] #eventTicks button{font-size:13px;color:#55614c;flex-shrink:0;white-space:nowrap;min-height:42px}
body[data-design=tree] #eventTicks button span{font-size:12px}
body[data-design=tree] #eventTicks button[aria-pressed=true]{font-weight:700;color:#77571f}
body[data-design=tree] .layer-controls button,body[data-design=tree] .expand-branch{font-size:12px}
body[data-design=tree] .time-heading small,body[data-design=tree] .range-ends{font-size:12px}
body[data-design=tree] .inspector-meta,body[data-design=tree] .connection-list button{font-size:13px;color:#45533f}
body[data-design=tree] .inspector-text{font-size:14px;line-height:1.9;color:#3f4b38}
body[data-design=tree] .connection-list small,body[data-design=tree] .inspector-subhead,body[data-design=tree] .inspector-source{font-size:12px;color:#65502c}
body[data-design=tree] .inspector-actions button,body[data-design=tree] .notice{font-size:12px}
@media(max-width:600px){body[data-design=tree] .time-heading{width:80px}body[data-design=tree] .range-ends{font-size:10px}body[data-design=tree] .map-controls button{padding:7px}body[data-design=tree] .layer-controls button{font-size:11px}}

body[data-design=tree] .person-main .han{font-size:16px;white-space:nowrap;letter-spacing:-1px}

/* Cards grow with wrapped copy; the han badge occupies one explicit grid cell. */
body[data-design=tree] .person-main,
body[data-design=tree] .person-node.king .person-main{
  grid-template-areas:"badge copy";
  grid-template-rows:auto;
  align-items:center;
  height:auto;
  min-height:110px;
}
body[data-design=tree] .person-node.king .person-main{min-height:140px}
body[data-design=tree] .person-main .han{grid-area:badge;grid-row:auto;align-self:center;max-width:100%}
body[data-design=tree] .person-main .node-copy{grid-area:copy;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:5px}
body[data-design=tree] .person-main .node-copy b,
body[data-design=tree] .person-main .node-copy small,
body[data-design=tree] .person-main .node-copy .life{
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:anywhere;
  min-width:0;
  max-width:100%;
  margin:0;
}
body[data-design=tree] .person-main .node-copy b{font-size:clamp(20px,calc(17px / var(--map-zoom,1)),26px)}
body[data-design=tree] .person-node.king .person-main .node-copy b{font-size:clamp(23px,calc(19px / var(--map-zoom,1)),28px)}
body[data-design=tree] .person-main .node-copy .life{flex-shrink:0}

.mode-bar{padding:20px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#e9e5d8}
.atlas-view-label{display:inline-block;color:#344d45;font-size:15px;letter-spacing:.04em}
.mode-switch{display:flex;gap:5px}.mode-switch button{padding:10px 18px;border-radius:24px;border-color:#b8b8a7;font-size:14px}.mode-switch button[aria-pressed=true]{background:#344d45;color:#fff;border-color:#344d45}.mode-switch small{font-size:11px;margin-left:4px}.mode-bar p{font-size:12px;line-height:1.7;margin:9px 0 0;color:#53604e}
.person-search{position:relative;display:flex;align-items:center;gap:10px}.person-search label{font-size:12px}.person-search input{background:#fffdf6;border:1px solid #b8b8a7;padding:11px 14px;border-radius:6px;font:13px 'Noto Sans KR',sans-serif;color:#344d45;width:240px;max-width:100%}
#searchResults{position:absolute;top:46px;right:0;z-index:20;width:350px;max-width:85vw;max-height:320px;overflow:auto;background:#fffdf6;border:1px solid #b8b8a7;border-radius:6px;box-shadow:0 12px 25px #344d4522;padding:6px}
#searchResults button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e6e3d5;border-radius:0;padding:12px 8px;font-size:13px;line-height:1.6}#searchResults button:hover{background:#e9efdf;color:#344d45}
.detail-options{display:none;flex-basis:100%;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px}.detail-options button{padding:7px 12px;border-radius:20px}.detail-options button[aria-pressed=true]{background:#f8f5ec;border-color:#8b967f}.detail-options button[aria-pressed=false]{opacity:.5}body[data-mode=detail] .detail-options{display:flex}
body[data-design=tree] #viewport{height:calc(100dvh - 360px);min-height:470px}
body[data-mode=detail] #viewport{height:calc(100dvh - 420px)}
body[data-mode=detail] .person-node .expand-branch{font-size:12px;white-space:nowrap}
body[data-design=tree] .tree-tools{padding-inline:32px}
.connection-list small{max-width:58%;text-align:right;line-height:1.6}
@media(max-width:600px){.mode-bar{padding:16px;gap:12px}.person-search{width:100%}.person-search input{flex:1;width:0}.mode-switch button{padding:9px 15px}.mode-bar p{font-size:11px}body[data-design=tree] .tree-tools{padding-inline:15px}body[data-design=tree] #viewport{min-height:430px}.detail-options span{flex-basis:100%}}

#branchNotes{position:absolute;inset:0;pointer-events:none}
.relation-note{position:absolute;width:max(360px,calc(300px / var(--map-zoom,1)));pointer-events:auto;border:1px solid #aeb69e;border-top:4px solid #67876d;border-radius:8px;background:#fffdf5;box-shadow:0 10px 25px #59664a20;padding:17px;z-index:4;animation:appear .45s both;box-sizing:border-box}
.relation-note.summary{border-top-width:2px;background:#efebdb;padding:12px}
.note-heading>small{font-size:12px;color:#617355;display:block;margin-bottom:6px}
.note-heading>b{font:600 max(17px,calc(14px / var(--map-zoom,1)))/1.5 'Noto Sans KR',sans-serif;color:#344d3d;display:block;overflow-wrap:anywhere}
.note-reason{border-left:3px solid #799e7c;padding-left:10px;margin-top:14px}
.note-reason.conflict{border-color:#bd7d69}
.note-reason>b{font-size:max(15px,calc(12px / var(--map-zoom,1)));color:#436947}
.note-reason.conflict>b{color:#964d40}
.note-reason p{font-size:max(15px,calc(13px / var(--map-zoom,1)));line-height:1.65;color:#394c34;margin:5px 0 0;overflow-wrap:anywhere}
.note-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.note-actions button{padding:7px 10px;background:#f0f3e7;border-color:#9cae91;font-size:max(13px,calc(11px / var(--map-zoom,1)));color:#35543c;line-height:1.5}
.note-tags{font-size:max(13px,calc(11px / var(--map-zoom,1)));line-height:1.8;color:#665733;margin-top:5px}
#branchLeaders{position:absolute;top:0;left:0;overflow:visible;pointer-events:none;z-index:1}
#branchLeaders path{stroke:#789574;stroke-width:2;fill:none;opacity:.55}
#branchLeaders path.active{stroke:#4f805b;stroke-width:3;opacity:.95}
.opened-relation{opacity:1!important}.opened-relation path{stroke-width:3!important;opacity:.6!important}
body[data-design=tree] .trail-person .person-main{border-color:#6f8b68;box-shadow:0 0 0 2px #738b6426}
body[data-design=tree] .trail-person .expand-branch{background:#e3ecd9;border-color:#8c9f7c;color:#36553c}
#branchTrail{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 20px 10px;padding:10px 13px;border:1px solid #b9c2a8;border-radius:6px;background:#e9efdf;color:#486044;font-size:12px}
#branchTrail>span:first-child{margin-right:5px;color:#65745b;font-size:11px}#branchTrail button{border:1px solid #abb99a;border-radius:20px;padding:6px 10px;background:#f7f9ef;font-size:12px}#branchTrail button[aria-pressed=true]{background:#3e6347;color:#fff}#branchTrail #foldBranches{margin-left:auto;border-style:dashed}.trail-arrow{color:#8b987c}
@media(max-width:600px){#branchTrail{margin-inline:8px;gap:5px}#branchTrail>span:first-child{flex-basis:100%}#branchTrail #foldBranches{margin-left:0}.relation-note{padding:13px}.note-heading>small{font-size:max(12px,calc(10px / var(--map-zoom,1)))}}
@media(prefers-reduced-motion:reduce){.relation-note{animation:none}}
.edge.opened-relation text{display:none!important}
.has-branches #status{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;white-space:nowrap}

@media(max-width:600px){.has-branches .minimap{display:none}}

#displayOptions{margin:0 20px 12px;border:1px solid #c6c9b7;border-radius:6px;background:#eeebdf}
#displayOptions summary{cursor:pointer;padding:12px 15px;font-size:13px;color:#40553b;min-height:44px}
#displayOptions summary small{font-size:11px;color:#66765c;margin-left:12px}
.settings-content{padding:5px 15px 12px;display:grid;gap:12px}.settings-content .detail-options{flex-basis:auto}.settings-content .tree-tools{padding:0!important}.settings-content .layer-controls{justify-content:flex-start;max-width:none}
#branchPicker{position:absolute;z-index:7;width:320px;max-width:calc(100% - 16px);padding:12px;background:#fffdf5;border:1px solid #98aa89;border-radius:9px;box-shadow:0 12px 30px #354c3433;color:#344d3b}
.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.picker-heading>b{font-size:15px}.picker-heading button{padding:6px 10px;border:0;min-width:36px;min-height:36px}#branchPicker>small{display:block;color:#637459;font-size:11px;line-height:1.6;margin:3px 0 8px}
.picker-list{max-height:230px;overflow:auto;overscroll-behavior:contain;display:grid;gap:5px}.picker-list>button{text-align:left;display:block;padding:9px 11px;background:#f5f6ed;border-color:#d1d8c2;min-height:46px}.picker-list b{font-size:13px;display:block}.picker-list small{font-size:11px;line-height:1.6;display:block;color:#667455;margin-top:3px}.picker-list>button:hover{background:#e5edd9;color:#344d3b}
#branchTrail{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}#branchTrail>span,#branchTrail>button{flex-shrink:0}#branchTrail>button:disabled{opacity:.45;cursor:default}#branchTrail #undoBranch{margin-left:auto}#branchTrail #foldBranches{margin-left:0}
#searchResults button[aria-selected=true]{background:#dfead3;color:#304b37;outline:1px solid #8aa075}
.time-bar>button:disabled{opacity:.3;cursor:default}
.map-controls button{min-width:40px;min-height:40px}.map-controls #zoomIn,.map-controls #zoomOut{font-size:20px!important}
body[data-design=tree] #viewport,body[data-mode=detail] #viewport{height:calc(100dvh - 330px);min-height:470px}
@media(max-width:600px){.mode-bar{padding:12px 15px;gap:9px}.mode-bar p{margin-top:6px;font-size:10px}.mode-bar .mode-switch button{min-height:40px}.person-search input{min-height:42px}.workspace-head{padding:10px 15px!important}.workspace-head h1{font-size:20px}#displayOptions{margin:0 8px 9px}#displayOptions summary small{display:none}.settings-content{padding-inline:10px;gap:10px}.settings-content .layer-controls button,.settings-content .detail-options button,.settings-content .route-controls button{min-height:40px}.settings-content .tree-tools{padding-inline:0!important}#branchTrail{flex-wrap:nowrap;padding:8px;gap:6px}#branchTrail>span:first-child{flex-basis:auto}#branchTrail button{min-height:40px;white-space:nowrap}.map-controls button{min-width:44px;min-height:44px;padding:7px!important;font-size:11px!important}.map-controls{left:6px;bottom:6px;max-width:calc(100% - 12px)}.map-controls>span{min-width:30px}body[data-design=tree] #viewport,body[data-mode=detail] #viewport{min-height:430px;height:calc(100dvh - 300px)}.picker-list>button{min-height:48px}}

#filterStatus{float:right;font-size:11px;border-radius:12px;background:#dce8d1;color:#365c3d;padding:2px 8px}#filterStatus:empty{display:none}

.layout-study{display:flex;align-items:center;gap:16px;padding:10px 24px;border-bottom:1px solid #dedfd4;background:#f6f6ee}.layout-study>div{display:flex;flex-shrink:0;gap:4px;padding:3px;background:#e8eade;border-radius:8px}.layout-study button{border:0;background:transparent;border-radius:5px;padding:8px 12px;color:#687260;font:inherit;font-size:12px;cursor:pointer}.layout-study button[aria-pressed=true]{background:#fff;color:#304b37;box-shadow:0 1px 4px #263f251a;font-weight:700}.layout-study p{font-size:12px;color:#747c6c;margin:0;line-height:1.5}.ordered-lane{position:absolute;top:80px;height:2970px;background:#526e3b06;border-left:1px solid #65755318;border-right:1px solid #65755318;pointer-events:none}.ordered-lane>b{position:absolute;top:-55px;left:0;width:100%;text-align:center;font-size:26px;letter-spacing:3px;color:#6d7c62;font-weight:600}.ordered-lane.royals{background:#74875609}.ordered-row{position:absolute;border-top:1px dashed #71856345;height:0;pointer-events:none}.ordered-row span{position:absolute;left:12px;top:-40px;color:#7c876d;font-size:22px;letter-spacing:1px;background:#f3f4e9;padding:3px 12px}.ordered-lane,.ordered-row{z-index:-1}body[data-layout=ordered] #viewport{background-color:#f3f4e9}
@media(max-width:700px){.layout-study{padding:9px 15px;gap:8px;align-items:flex-start;flex-direction:column}.layout-study p{font-size:10px}.layout-study button{min-height:36px}}

body[data-layout=ordered] .map-name.ordered-name{box-sizing:border-box;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;font-size:12px;line-height:1.25;padding:4px 2px;text-align:center}body[data-layout=ordered] .ordered-lane>b{font-size:max(22px,calc(12px / var(--map-zoom,1)));letter-spacing:0}body[data-layout=ordered] .ordered-row span{font-size:max(20px,calc(10px / var(--map-zoom,1)));left:0;width:340px;box-sizing:border-box;text-align:center;top:calc(-20px / var(--map-zoom,1));letter-spacing:0;padding:2px}

/* Names, short descriptions and relation captions live in screen space. */
body[data-design=tree] .map-name.overview-person{max-width:170px;white-space:normal;box-sizing:border-box;line-height:1.3;padding:6px;word-break:keep-all;overflow-wrap:anywhere;text-align:center;font-size:14px}
.overview-person b{display:block;font:inherit;font-weight:700}.overview-person small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;font-weight:400;line-height:1.35;color:#54614d;margin-top:4px}
body[data-design=tree] .map-name.overview-person.compact{font-size:12px;line-height:1.2;padding:3px 2px}.overview-person.compact small{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px;line-height:1.2;margin-top:3px}
.map-name:focus-visible,.map-relation:focus-visible{outline:2px solid #42664e;outline-offset:3px}
.map-relation{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid #8e9b8244;background:#f5f6edee;border-radius:4px;padding:3px 6px;white-space:nowrap;font:500 11px/1.25 'Noto Sans KR',sans-serif;color:#526249;cursor:pointer;box-shadow:0 1px 3px #43513012}.map-relation.succession{color:#76551e;border-color:#ac8b5366;background:#fff7e4f5}.map-relation.conflict{color:#964c40;border-color:#b6746466;background:#fff2ebf5}.map-relation.alliance{color:#35674f;border-color:#65917b66}
body[data-design=tree] .zoom-far .edge path{vector-effect:non-scaling-stroke;stroke-width:calc(1px / var(--map-zoom,1));opacity:.6}body[data-design=tree] .zoom-far .edge.family path{stroke:#748570;opacity:.65}body[data-design=tree] .zoom-far .edge.mother path{opacity:.38}body[data-design=tree] .zoom-far .edge.succession path{stroke-width:calc(1.8px / var(--map-zoom,1));opacity:.95}body[data-design=tree] .zoom-far .edge.conflict path{stroke-width:calc(1.2px / var(--map-zoom,1));opacity:.75}body[data-design=tree] .zoom-far .edge.work path{opacity:.35}body[data-design=tree] .edge.peek-related{opacity:1!important}body[data-design=tree] .edge.peek-related path{opacity:1!important;stroke-width:calc(2px / var(--map-zoom,1));vector-effect:non-scaling-stroke}
body[data-design=tree] .zoom-medium .person-main .node-copy small{display:block;font-size:clamp(15px,calc(12px / var(--map-zoom,1)),20px)}body[data-design=tree] .zoom-medium .edge.relevant text{display:block}
#mapPeek{position:absolute;z-index:10;width:300px;max-width:calc(100% - 16px);box-sizing:border-box;border:1px solid #9aab8f;border-radius:8px;background:#fffdf5;padding:18px;box-shadow:0 12px 40px #293b2433;color:#35432e;cursor:auto;user-select:text}#mapPeek[hidden]{display:none}#mapPeek>b{display:block;font-size:16px;line-height:1.5;padding-right:20px}#mapPeek>small{display:block;color:#7a6132;font-size:12px;margin-top:5px}#mapPeek p{font-size:13px;line-height:1.8;margin:10px 0 14px}#mapPeek>div{display:flex;flex-wrap:wrap;gap:6px}#mapPeek button{border:1px solid #c5ccba;background:#edf1e4;border-radius:4px;padding:8px;font-size:12px;color:#3e593a;cursor:pointer}#mapPeek .peek-close{position:absolute;top:8px;right:8px;border:0;background:transparent;padding:6px;font-size:16px}

body[data-design=tree]{--bg:#f5efe1;--panel:#eee7d7;--ink:#343c2f;--gold:#8d6033;--line:#cec4ac;background-color:#f5efe1;background-image:radial-gradient(#9475480b .7px,transparent .8px);background-size:5px 5px}
body[data-design=tree] header{border-bottom:1px solid #ae937c55;background:#f7f1e6e8}body[data-design=tree] .brand>span{background:#984e40;border-radius:2px;box-shadow:inset 0 0 0 2px #f6e8d263;transform:rotate(-3deg);font-family:var(--serif)}
body[data-design=tree] .mode-bar{background:#eeeadde8;border-color:#d3c9b4}body[data-design=tree] .mode-switch button[aria-pressed=true]{background:#3d5749;box-shadow:0 2px 8px #273e2717}
body[data-design=tree] .workspace-head{position:relative;isolation:isolate;min-height:178px;padding:24px 32px!important;overflow:hidden;border-bottom:1px solid #cbb89475;align-items:center;background:#efe8d7}
.workspace-head>div:not(.era-paintings){position:relative;z-index:1}.workspace-head h1{font-size:30px!important;letter-spacing:2px;color:#35432e}.workspace-head .eyebrow{font-size:9px;letter-spacing:2px;color:#8b643a}.era-paintings{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.era-paintings img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 57%;opacity:0;transition:opacity 1.1s ease}.era-paintings img.current{opacity:1}.era-paintings:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f3ecdd 0%,#f3ecddf5 21%,#f3ecdd95 43%,#f3ecdd00 69%)}
.era-heading{display:flex;flex-direction:column;gap:5px;margin:15px 0 0}.era-heading>span{font:10px 'Noto Sans KR',sans-serif;letter-spacing:1px;color:#88633e}.era-heading>b{font:500 16px var(--serif);color:#4b513a}.era-scroll-note{display:block;margin-top:10px;font-size:10px;color:#787e69}
body[data-design=tree] .canvas-shell{margin-top:12px}body[data-design=tree] #viewport{background-color:#f7f3e9;border-color:#c6b99a;border-radius:2px;box-shadow:inset 0 0 70px #7c704b0c,0 3px 13px #594a3010}
#eraBackdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:#f7f3e9}#eraBackdrop img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 62%;opacity:0;filter:saturate(.6);transition:opacity 1.1s ease}#eraBackdrop img.current{opacity:.14}#eraBackdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f3e970,#f7f3e99c 30%,#f7f3e987 70%,#f7f3e940)}#world{z-index:1}#mapLabels{z-index:3}
body[data-design=tree] .ordered-lane{background:#657a4605;border-color:#8b8b5922}body[data-design=tree] .ordered-lane.royals{background:#fff9e320}body[data-design=tree] .ordered-row span{background:#f4efdfc7;color:#7d7156}body[data-design=tree] .ordered-lane>b{color:#68745d;font-family:var(--serif)}body[data-design=tree] .person-main,body[data-design=tree] .map-name{background:#fffdf5f5;box-shadow:0 3px 9px #62512e16}body[data-design=tree] .royal-name{border-top-color:#966438}.map-relation{background:#faf5e9f5}
body[data-design=tree] #displayOptions{background:#eee7d7b5;border-color:#d1c4aa;border-radius:2px}.settings-content .layout-study{padding:0;border:0;background:transparent;flex-wrap:wrap;gap:8px}.settings-content .layout-study p{display:none}.settings-content .layout-study>div{background:#dddcc9}.settings-content .layout-study button{font-size:11px;padding:6px 10px}
.history-art{margin:15px 0 18px;position:relative;overflow:hidden;border-radius:2px;border:1px solid #b7a17d60;background:#e9dfcc}.history-art img{display:block;width:100%;height:154px;object-fit:cover;object-position:center 62%}.history-art figcaption{display:block;font:11px/1.55 var(--serif);padding:7px 9px;color:#66563e;background:#f5edde}.history-art figcaption span{display:block;font:9px/1.6 'Noto Sans KR',sans-serif;color:#8a806c;margin-top:2px}#mapPeek .history-art{margin:10px -4px 12px}#mapPeek .history-art img{height:112px}#mapPeek .history-art figcaption{font-size:10px;padding:5px 7px}#mapPeek .history-art figcaption span{display:inline;margin-left:5px;font-size:8px}#mapPeek{max-height:calc(100% - 68px);overflow:auto;overscroll-behavior:contain;background:#fffaf0;box-shadow:0 12px 40px #4d3d2830;border-color:#b9a482}body[data-design=tree] #inspector{background:#fbf6eaf8;border-color:#b8a481;border-radius:2px;box-shadow:-10px 8px 50px #54412230}body[data-design=tree] .inspector-name{color:#3d4936}
@media(max-width:600px){body[data-design=tree] .workspace-head{min-height:157px;padding:17px 16px!important}.workspace-head h1{font-size:25px!important}.era-paintings img{object-position:65% 58%}.era-paintings:after{background:linear-gradient(90deg,#f3ecddf5,#f3ecdda6 38%,#f3ecdd00 90%)}.era-heading{margin-top:10px}.era-heading>b{font-size:14px}.era-scroll-note{font-size:9px;max-width:180px;line-height:1.5}.workspace-head .eyebrow{font-size:8px}.history-art img{height:145px}#mapPeek .history-art img{height:96px}#mapPeek .history-art figcaption span{display:block;margin:0}}
@media(prefers-reduced-motion:reduce){.era-paintings img,#eraBackdrop img{transition:none}}

.period-navigation{padding:10px 20px 12px;background:#efe9dbbd;border-bottom:1px solid #cfc3aa}#eraNav{display:flex;gap:5px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}#eraNav button{flex:1;min-width:104px;white-space:nowrap;padding:8px 9px;font-size:12px;border:1px solid #c8c5af;background:#faf6eb;color:#5b634e;border-radius:3px}#eraNav small{display:block;font-size:9px;letter-spacing:.5px;color:#8e7a57;margin-bottom:4px}#eraNav button[aria-pressed=true]{background:#405a47;color:#fff9e8;border-color:#405a47}#eraNav button[aria-pressed=true] small{color:#dfd6b5}.history-jumps{display:flex;gap:8px;margin-top:6px}.history-jumps label{flex:1}.history-jumps select{width:100%;padding:8px 30px 8px 10px;font:12px 'Noto Sans KR',sans-serif;color:#536046;background:#fbf8ed;border:1px solid #c9c2ac;border-radius:3px;min-height:37px}
body[data-design=tree] .dynasty-overview .map-name.overview-person{font:600 11px/1.2 'Noto Sans KR',sans-serif;white-space:nowrap;padding:3px 5px}body[data-design=tree] .dynasty-overview .overview-person small{display:none}body[data-design=tree] .dynasty-overview .person-main{opacity:.25}body[data-design=tree] .edge.adoption path{stroke:#8a6ca4;stroke-dasharray:8 6;opacity:.8}body[data-design=tree] .edge.descent path{stroke:#6c8095;stroke-dasharray:2 8;opacity:.7}body[data-design=tree] .edge.kinship path{stroke:#87986f;stroke-dasharray:6 5}.map-relation.adoption{color:#77548c;background:#f5ecf9}.map-relation.descent{color:#516b83}.edge.adoption text{fill:#77548c}.edge.descent text{fill:#516b83}.history-art figcaption{font-family:'Noto Sans KR',sans-serif}
body[data-design=tree] .scope{font-size:10px}body[data-design=tree] .zoom-far .event-marker{visibility:visible;font-size:max(15px,calc(10px / var(--map-zoom,1)));padding:15px;width:210px;min-height:100px}body[data-design=tree] .dynasty-overview .event-marker{visibility:hidden}body[data-design=tree] .poster-caption small{font-size:10px}.poster-button img{object-fit:cover}.work-node .poster-caption{background:linear-gradient(transparent,#263b2de8)}.route-summary>div>div{max-height:170px;overflow:auto}.route-summary .blood-route:after{content:'보라 점선: 양계 · 점으로 이어진 후손선: 중간 세대 생략';display:block;font-size:10px;line-height:1.7;color:#7c6982;margin-top:8px}
@media(max-width:600px){.period-navigation{padding:8px}#eraNav button{font-size:11px;min-width:98px;min-height:48px}#eraNav small{font-size:9px}.history-jumps select{font-size:11px;min-height:40px}.scope{max-width:120px!important}.scope i{display:none}.workspace-head{min-height:140px!important}#displayOptions{margin-top:7px}.history-jumps{gap:5px}}

body[data-design=tree] .zoom-far .event-marker{visibility:hidden}.map-event{position:absolute;transform:translate(-50%,-50%);width:98px;pointer-events:auto;border:1px solid #b7a27a88;background:#f8f1e3ed;border-radius:3px;padding:5px 6px;color:#6d5b38;box-shadow:0 2px 5px #735c2912;font:11px/1.35 'Noto Sans KR',sans-serif}.map-event small{font:10px Georgia,serif;display:block;color:#9a7541;margin-bottom:2px}.map-event b{font-weight:500;display:block}#status{top:auto;right:auto;left:12px;bottom:65px;max-width:calc(100% - 140px);font-size:10px;line-height:1.5;padding:6px 10px;pointer-events:none;opacity:.85}

.global-king{position:absolute;transform:translate(-50%,-50%);width:142px;display:grid;grid-template-columns:20px 1fr 34px;gap:5px;align-items:center;padding:3px 6px;border:1px solid #a99a7b85;border-radius:3px;background:#fff9ecf5;pointer-events:auto;color:#4b573e;font:11px/1.3 'Noto Sans KR',sans-serif;box-shadow:0 1px 4px #63513615}.global-king small{font:10px Georgia,serif;color:#9a6e37}.global-king b{font-weight:600}.global-king em{font:10px Georgia,serif;color:#8d7753}.global-leaders{position:absolute;inset:0;pointer-events:none;overflow:visible}.global-leaders path{fill:none;stroke:#8d8b6a;stroke-width:.7;opacity:.45}body[data-design=tree] .dynasty-overview .edge:not(.succession) path{opacity:.16;stroke-width:calc(.6px / var(--map-zoom,1))}@media(max-width:600px){.global-king{width:126px;font-size:10px;grid-template-columns:18px 1fr 28px;gap:2px}.global-king em{font-size:9px}}
#world{will-change:auto}#world.animate{transition:none}body[data-design=tree] .ordered-lane{background:transparent!important;border:0}body[data-design=tree] .dynasty-overview .ordered-row,body[data-design=tree] .dynasty-overview .ordered-lane{visibility:hidden}

.global-king{height:20px;padding:2px 6px}

.history-jumps label{min-width:0}@media(max-width:600px){.history-jumps{flex-wrap:wrap}.history-jumps label{flex:1 1 40%}.history-jumps label:last-child{flex-basis:100%}}

.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}

.family-node-action{display:block;width:100%;border:0;border-top:1px solid #507c6c;background:#19332f;color:#dfedda;padding:8px 6px;font:600 13px inherit;cursor:pointer}.family-node-action:hover{background:#2d5044}.family-summary{margin:18px 0;padding:17px;border:1px solid #668274;border-radius:10px;background:#1c322eee}.family-summary small,.family-summary b,.family-summary span{display:block}.family-summary small{font-size:11px;color:#b4c6b4}.family-summary b{font-size:20px;margin:8px 0}.family-summary span{font-size:14px;color:#dbd7bd}.family-summary p{font-size:13px;line-height:1.7;color:#c6d1c7}.family-summary a{font-size:12px;color:#d0bf90}.family-summary button,.family-panel-tools button,.family-filter button,#familyToolbar button{border:1px solid #647a6c;border-radius:6px;background:#243d35;color:#f0eadb;padding:9px;cursor:pointer}.family-summary button{width:100%;margin-top:12px}.family-panel-tools,.family-filter{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.family-filter button[aria-pressed=true]{background:#c5b687;color:#182b27}.family-panel-list{display:grid;gap:8px}.family-panel-list button{display:grid;gap:6px;text-align:left;border:1px solid #53675b;border-radius:8px;padding:13px;background:#1c2d2a;color:#e9e5d7;cursor:pointer}.family-panel-list b{font-size:18px}.family-panel-list small,.family-panel-list span{font-size:12px;color:#bdcbbb}.family-panel-list em,.family-panel-list i{font-size:12px;line-height:1.65;font-style:normal;color:#c8c3ae}.family-disputes{font-size:13px;line-height:1.7;margin:20px 0;color:#d6c8a9}.family-sources a{display:block;margin:12px 0;overflow-wrap:anywhere}.family-map{position:absolute;box-sizing:border-box;padding:28px;background:#192e2af7;border:2px solid #849a78;border-radius:18px;color:#eeeadb;z-index:5;box-shadow:0 20px 80px #0005;user-select:none}.family-parent-tether{position:absolute;left:-240px;top:0;overflow:visible;pointer-events:none}.family-parent-tether path{fill:none;stroke:#b4c496;stroke-width:3}.family-parent-tether text{fill:#dce5ce;font-size:19px}.family-map-head{height:126px;border-bottom:1px solid #596f5a;margin-bottom:18px}.family-map-head small{font-size:14px;color:#c1cbb1}.family-map-head h3{font-size:29px;line-height:1.3;margin:8px 0}.family-map-head p{font-size:17px;margin:7px 0}.family-map-head span{font-size:13px;color:#bec9b6}.family-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative}.family-child{box-sizing:border-box;height:132px;min-width:0;text-align:left;display:flex;flex-direction:column;gap:6px;padding:13px;background:#294139;border:1px solid #68836c;border-radius:9px;color:#f0eddf;cursor:pointer;overflow:hidden}.family-child.female{background:#3a3832;border-color:#948169}.family-child.selected{outline:3px solid #e4ca8c}.family-child b{font-size:21px;line-height:1.25;overflow-wrap:anywhere}.family-child small{font-size:13px;color:#d1caaa}.family-child span{font-size:14px;color:#d0d8c7}.family-child em{font-size:12px;line-height:1.35;font-style:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.family-map-foot{font-size:13px;color:#c9cfb9;margin-top:17px;line-height:1.5}#familyToolbar{position:absolute;top:10px;left:10px;right:340px;z-index:12;display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px;background:#152c29f5;border:1px solid #667d66;border-radius:10px}#familyToolbar[hidden]{display:none}#familyToolbar b{font-size:13px;margin-right:auto;color:#e7e7d5}#familyToolbar button{font-size:12px;padding:7px}#viewport:has(#familyMap) .canvas-title{display:none}@media(max-width:600px){#familyToolbar{right:10px;padding:7px;gap:4px}#familyToolbar b{width:100%;font-size:12px}#familyToolbar button{padding:5px;font-size:11px}.family-panel-tools button{font-size:12px}}

body[data-design=tree] #inspector .family-summary>b,body[data-design=tree] #inspector .family-panel-list b{color:#f0eadb}body[data-design=tree] #inspector .family-summary p{color:#c6d1c7}body[data-design=tree] #inspector .family-summary button,body[data-design=tree] #inspector .family-panel-tools button,body[data-design=tree] #inspector .family-filter button{color:#f0eadb;background:#243d35}body[data-design=tree] #inspector .family-filter button[aria-pressed=true]{color:#182b27;background:#c5b687}

@media(max-width:600px){.canvas-shell:has(#inspector:not([hidden])) #familyToolbar{display:none}}

.changes-key{background:#8f7750}.change-card{position:absolute;z-index:2;box-sizing:border-box;border:1px solid #aa9978;border-left:4px solid #9a794c;border-radius:3px;background:#fffaf0;box-shadow:0 5px 14px #554a2c16;overflow:hidden;color:#3d4836}.change-card .change-head{border:0;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;width:100%;height:166px;box-sizing:border-box;padding:15px 18px 12px;text-align:left;color:#3d4836;position:relative;overflow:hidden}.change-head svg{position:absolute;right:12px;bottom:13px;width:55px;height:55px;opacity:.18;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.change-head small{font-size:13px;color:#8a6d43;line-height:1.35;padding-right:28px}.change-head b{font:600 21px/1.4 var(--serif);margin:7px 0 6px;max-width:100%;overflow-wrap:anywhere}.change-head>span:not(.change-stamp){font-size:14px;line-height:1.5;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:25px}.change-head em{font-style:normal;font-size:11px;line-height:1.5;margin-top:auto;color:#7a7f6c}.change-stamp{position:absolute;right:12px;top:13px;width:24px;height:24px;border:1px solid #a34f3e;color:#a34f3e;display:grid;place-items:center;font:15px var(--serif);transform:rotate(-4deg)}.change-card.life{border-left-color:#6c8968}.change-card.knowledge{border-left-color:#688896}.change-card.culture{border-left-color:#9e6d64}.change-card.infrastructure{border-left-color:#9d8b60}.change-card.expanded{border:2px solid #547450;z-index:4;box-shadow:0 10px 24px #37472b26}.change-expanded{padding:0 17px 15px;border-top:1px dashed #c8bca2}.change-expanded p{font-size:15px;line-height:1.75;margin:13px 0 11px;color:#45543b}.change-expanded button{padding:6px 8px;font-size:12px;border-color:#a4b39b;background:#edf0e5;color:#40593b;margin:0 4px 4px 0}.change-card:focus-within{outline:2px solid #739068;outline-offset:3px}.change-connection{outline:2px solid #89985c;outline-offset:5px}.map-change{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:155px;border:1px solid #ac9b77;border-left:3px solid #8d7751;background:#fff9ebf7;border-radius:3px;color:#3c4a33;box-shadow:0 2px 6px #3d3c2522;display:flex;flex-direction:column;gap:3px;text-align:left;padding:6px 8px;cursor:pointer}.map-change small{font-size:10px;color:#887044}.map-change b{font-size:12px;line-height:1.35}.map-change span{font-size:10px;line-height:1.4;color:#68705a}.map-change.selected{border-color:#4d7145;background:#edf2e3}#viewport.zoom-far .change-card{opacity:.32}#viewport.zoom-far .change-card.expanded{opacity:1}#viewport.zoom-far .change-card.expanded .change-head{opacity:.35}.change-panel-graphic{display:flex;align-items:center;gap:15px;background:#ece8d7;border:1px solid #c6bb9f;padding:18px;margin:16px 0;color:#596b43}.change-panel-graphic svg{width:65px;min-width:65px;height:65px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.change-panel-graphic b{font:500 18px/1.65 var(--serif)}.change-panel-actions{display:flex;flex-wrap:wrap;gap:6px}.change-panel-actions button{font-size:12px;padding:8px;border-color:#b2b79d;background:#f1f0df;color:#4b6140}.person-changes{margin:18px 0;border:1px solid #b8b99e;padding:13px;background:#f5f1e2}.person-changes h3,.change-series h3{font-size:14px;line-height:1.5;margin:0 0 11px;color:#596643}.person-changes h3 small{color:#9a7a43;margin-left:6px}.person-changes button,.change-series button{display:flex;flex-direction:column;text-align:left;gap:5px;width:100%;border:0;border-top:1px solid #d2cab3;border-radius:0;padding:10px 0;color:#405036}.person-changes button b,.change-series button b{font-size:14px;color:#405036!important}.person-changes button small,.change-series button small{font-size:11px;color:#947342}.person-changes button span{font-size:12px;line-height:1.6;color:#737a62}.change-series{padding:14px;background:#f0eddc;margin:20px 0}.change-series button[aria-current=step]{border-left:3px solid #6b8359;padding-left:9px;background:#e6ead6}.change-contributor{padding:10px;border-bottom:1px solid #d3ccb5;font-size:14px}.change-contributor small{display:block;color:#86836b;font-size:11px;line-height:1.7;margin-top:4px}@media(max-width:600px){.history-jumps label:last-child{flex-basis:40%}.change-panel-graphic{padding:12px}.change-panel-graphic svg{width:48px;min-width:48px;height:48px}.change-panel-graphic b{font-size:16px}}

.change-card.selected{border:2px solid #59744f;box-shadow:0 0 0 3px #718e5330;z-index:2}.change-card.selected .change-head{height:164px}.change-head[aria-pressed=true] em{color:#4d6d40;font-weight:700}.zoom-far .change-head{visibility:hidden}.zoom-far .change-card{opacity:.2!important}.map-change.selected{outline:2px solid #6e8555;outline-offset:2px}
.inspector-toolbar{position:sticky;top:-20px;display:flex;align-items:center;gap:8px;z-index:12;background:#fbf6ea;margin:-12px -4px 12px;padding:5px 0 7px;border-bottom:1px solid #d8cfb8}.inspector-toolbar #closeInspector{position:static;margin-left:auto;padding:5px 8px;min-width:36px;min-height:36px;line-height:1}.inspector-toolbar #backInspector{padding:7px 9px;border-color:#b8bba0;color:#4a5e3d;background:#f3efdf;font-size:12px;min-height:36px}.inspector-toolbar [hidden]{display:none}.inspector-name:focus{outline:none}#inspector{overscroll-behavior:contain;scrollbar-gutter:stable}
.inspector-thumbs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.inspector-thumbs button{width:100%!important;min-width:0;text-align:left}.inspector-thumbs img{height:100px!important}.inspector-thumbs span{font-size:11px;line-height:1.45;overflow-wrap:anywhere}.family-list-disclosure,.family-coverage,.person-route-details{margin:16px 0;border:1px solid #c5c6ad;border-radius:4px;background:#f4f0e2;padding:11px}.family-list-disclosure summary,.family-coverage summary,.person-route-details summary{cursor:pointer;font-size:13px;line-height:1.7;color:#465e3b}.family-list-disclosure[open] summary{margin-bottom:12px}.family-coverage p{font-size:13px;line-height:1.8;color:#657051}.family-panel-status{font-size:15px;line-height:1.8;color:#49613e}.canvas-shell:has(#inspector:not([hidden])) #familyToolbar{display:none}.person-route-details .route-summary{margin-bottom:0}.history-jumps .jump-label{display:block;font-size:10px;color:#79785f;margin:0 0 4px 2px}body[data-layout=ordered] #spreadToggle{display:none}
.story-source-note{margin-bottom:20px}#mapPeek{overscroll-behavior:contain}.family-panel-tools button,.story-controls button{line-height:1.6}.family-map-head span{color:#d2d9c9}
@media(max-width:600px){body[data-design=tree] .workspace-head{min-height:100px!important;padding:12px 16px!important}.workspace-head h1{font-size:22px!important}.era-heading{margin-top:7px}.era-heading>b{font-size:13px}.era-scroll-note{display:none}.era-heading>span{font-size:9px}#inspector{top:auto!important;bottom:8px;max-height:48%;width:calc(100% - 16px);right:8px;padding:20px 16px}.inspector-toolbar{top:-20px;margin-top:-14px}.inspector-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.inspector-thumbs img{height:85px!important}.history-jumps .jump-label{font-size:10px}.history-jumps select{font-size:10px}}

#inspector:has(#backInspector:not([hidden])) [data-story-back]{display:none}.inspector-thumbs button:focus-visible{outline:2px solid #58714b;outline-offset:2px}

.change-panel-icon{float:right;width:43px;height:43px;color:#758366;margin:0 0 8px 12px;opacity:.7}.change-panel-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.change-panel-icon+.inspector-text{clear:none}.family-node-status{display:block;font-size:12px;padding:8px;color:#7b8068;border-top:1px solid #c7c7ac;text-align:center;background:#f0eddc}body.has-story-lens .work-node:not(.story-selected){opacity:.5;pointer-events:auto}

.permanent-group{font-size:11px;color:#75816b;padding:7px 9px;border:1px dashed #b7c1a8;border-radius:20px}.permanent-group+button{margin-left:3px}

/* Every inspector shares a flush, opaque sticky header. */
body[data-design=tree] #inspector{padding:0;isolation:isolate}
body[data-design=tree] #inspector>.inspector-toolbar{position:sticky;top:0;margin:0;padding:8px 14px;background:#fbf6ea;border-bottom:1px solid #d8cfb8;z-index:12}
body[data-design=tree] #inspectorContent{padding:16px 20px 24px}

.change-card .change-head{padding:12px 12px 10px 115px;isolation:isolate}
.change-head .change-art-thumb{position:absolute;inset:0 auto 0 0;width:101px;height:100%;object-fit:cover;object-position:center;background:#e7e1d0;border-right:1px solid #c7bda7;pointer-events:none;z-index:-1}
.change-head .change-stamp,.change-head>svg{display:none}
.change-head small{padding-right:0;font-size:11px;line-height:1.35}
.change-head b{font-size:19px;line-height:1.32;margin:7px 0 6px;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere}
.change-head>span:not(.change-stamp){font-size:12px;line-height:1.5;padding-right:0;-webkit-line-clamp:2}
.change-head em{font-size:10px;padding-top:4px}
.change-head:hover .change-art-thumb{filter:saturate(1.1)}
.change-art-figure{margin:16px 0 20px;border:1px solid #c8bda4;background:#f3edde;border-radius:3px;overflow:hidden}
.change-art-original{display:block;position:relative;background:#e8e0cc;color:#fdf9eb}
.change-art-original img{display:block;width:100%;height:auto;max-height:245px;min-height:150px;object-fit:contain;box-sizing:border-box}
.change-art-original>span{position:absolute;right:8px;bottom:8px;background:#2d3a2dd9;color:#fff9ea;font-size:10px;padding:5px 7px;border-radius:2px}
.change-art-original:focus-visible{outline:3px solid #59794f;outline-offset:-3px}
.change-art-figure figcaption{padding:10px 12px;color:#5c6650;line-height:1.6;font-size:11px}
.change-art-figure figcaption strong{display:block;font-size:13px;font-weight:500;margin:4px 0}
.art-kind{display:inline-block;font-size:10px;letter-spacing:.03em;color:#59704e}
.art-kind.generated{color:#93613e}
.art-kind.commemorative{color:#956a48}
.change-art-figure figcaption p{margin:5px 0;font-size:11px;line-height:1.7;color:#77745f}
.change-art-figure details{border-top:1px solid #d6cdb7;padding-top:7px;margin-top:7px}
.change-art-figure summary{cursor:pointer;font-size:11px;color:#6e755d}
.change-art-figure details span,.change-art-figure details a{display:block;margin-top:5px;font-size:10px;line-height:1.7;overflow-wrap:anywhere}
.change-art-figure details a{color:#526d43;text-decoration:underline;text-underline-offset:3px}
.map-change.has-art{padding-left:48px;min-height:57px;overflow:hidden}
.map-change .change-art-mini{position:absolute;left:0;top:0;width:40px;height:100%;object-fit:cover;border-right:1px solid #c5b89d;pointer-events:none}
.map-change.has-art span{display:none}
@media(max-width:600px){.change-art-original img{max-height:190px;min-height:110px}.change-art-figure{margin:12px 0}.change-art-figure figcaption{padding:8px 10px}}

.change-art-tag{position:absolute;bottom:7px;left:6px;max-width:88px;padding:3px 5px;background:#faf6e6eb;color:#4d6043;border:1px solid #bfbda7;font:normal 9px/1.3 var(--sans,sans-serif);pointer-events:none}

#historyImageViewer{position:fixed;inset:0;width:min(1050px,92vw);max-width:92vw;max-height:92vh;box-sizing:border-box;overflow:auto;border:1px solid #b2a789;background:#f6efdf;color:#394c34;padding:20px;border-radius:5px;overscroll-behavior:contain;box-shadow:0 25px 80px #1d271d66}
#historyImageViewer::backdrop{background:#1d281edb;backdrop-filter:blur(4px)}
.art-viewer-close{display:block;margin-left:auto;padding:8px 12px;border:1px solid #b7b298;background:#f4efdf;color:#405638;cursor:pointer}
.art-viewer-content h2{font:500 21px/1.5 var(--serif);margin:4px 0 15px}
.art-viewer-content img{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;background:#e9e0cc}
.art-viewer-content p{font-size:12px;line-height:1.7;margin:10px 0 0;color:#657057}
@media(max-width:600px){#historyImageViewer{padding:14px;max-height:94vh}.art-viewer-content h2{font-size:17px}}

/* The image replaces the old hanja badge; card coordinates stay unchanged. */
body[data-design=tree] .person-main,body[data-design=tree] .person-node.king .person-main{grid-template-columns:54px minmax(0,1fr)}
body[data-design=tree] .person-main .han,body[data-design=tree] .person-node.king .person-main .han{position:relative;width:54px;height:78px;border:0;overflow:hidden;background:#e3dbc6;border-radius:2px}
.person-art-thumb{display:block;width:54px;height:78px;object-fit:cover;object-position:center 28%;border:1px solid #b3a88d;pointer-events:none}
body[data-design=tree] .person-main .han>small{position:absolute;left:3px;bottom:3px;z-index:1;margin:0;padding:2px 4px;font:10px/1.2 Georgia,serif;color:#3f5236;background:#faf5e5e8;border-radius:2px}
body[data-design=tree] .event-marker{position:absolute;padding-left:62px;min-height:88px;overflow:hidden}
.event-marker .event-art-thumb{position:absolute;left:0;top:0;width:50px;height:100%;object-fit:cover;border-right:1px solid #c0b69c;pointer-events:none}
.map-event:has(.event-art-thumb){padding-left:34px;min-height:45px;width:130px;overflow:hidden}
.map-event .event-art-thumb{position:absolute;left:0;top:0;width:28px;height:100%;object-fit:cover;border-right:1px solid #c3baa1;pointer-events:none}
body[data-layout=ordered] .map-name.with-portrait{padding-left:37px;min-height:47px;text-align:left}
.map-name .person-art-thumb{position:absolute;left:2px;top:2px;width:30px;height:calc(100% - 4px);object-fit:cover;border:0;border-radius:2px;pointer-events:none}
body[data-design=tree] .zoom-far .person-main .han{display:none}

.family-child:has(.family-art-thumb){position:relative;padding-left:75px}
.family-art-thumb{position:absolute;left:10px;top:12px;width:54px;height:80px;object-fit:cover;border:1px solid #b4b195;border-radius:2px;pointer-events:none}
.family-art-label{position:absolute;left:11px;top:76px;width:52px;text-align:center;background:#f5efdfed;color:#637450;font:normal 8px/1.5 sans-serif;pointer-events:none}
.family-panel-list button:has(.family-art-thumb){position:relative;min-height:112px;padding-left:76px}

.person-main .han:has(img)::after{content:'자료';position:absolute;right:2px;bottom:3px;background:#fbf5e5e8;color:#4c6044;padding:2px 3px;font:8px/1.2 sans-serif;border-radius:1px;pointer-events:none}
.person-main .han:has(img[data-kind=generated])::after{content:'상상 초상';color:#895d3b}
.person-main .han:has(img[data-kind=place])::after{content:'유적'}
.event-marker:has(img)::after{content:'자료';position:absolute;left:4px;bottom:5px;background:#fbf5e5e8;color:#53664b;padding:2px 4px;font:8px/1.2 sans-serif;pointer-events:none}
.event-marker:has(img[data-kind=generated])::after{content:'AI 재구성';color:#895d3b;left:2px;padding:2px}
.event-marker:has(img[data-kind=place])::after{content:'유적'}

/* Portraits retain their original aspect ratio in the inspector. */
.portrait-art-figure .change-art-original img{height:300px;min-height:220px;max-height:340px;object-fit:contain}
#historyImageViewer.portrait-viewer{width:min(680px,92vw)}
.person-main .han:has(img[data-representation=historical-portrait])::after{content:'초상'}
.person-main .han:has(img[data-representation=posthumous-portrait])::after{content:'후대'}
.person-main .han:has(img[data-representation=photograph])::after{content:'사진'}
@media(max-width:600px){.portrait-art-figure .change-art-original img{height:160px;min-height:140px;max-height:180px}}

/* Refinement of the original atlas: coordinates and graph structure are unchanged. */
body[data-design=tree] .person-node,body[data-design=tree] .person-node.king{width:250px}
body[data-design=tree] .person-main,body[data-design=tree] .person-node.king .person-main{width:250px;height:148px;min-height:148px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px;align-items:center;text-align:left}
body[data-design=tree] .person-main .han,body[data-design=tree] .person-node.king .person-main .han{width:76px;height:104px;display:block;position:relative;border:0;overflow:hidden}
body[data-design=tree] .person-main .person-art-thumb{width:76px;height:104px;object-fit:cover;display:block}
body[data-design=tree] .person-main .node-copy{min-width:0}body[data-design=tree] .person-main .node-copy b,body[data-design=tree] .person-node.king .person-main .node-copy b{font-size:18px;line-height:1.35;white-space:normal;word-break:keep-all}
body[data-design=tree] .person-main .node-copy small{font-size:12px;line-height:1.5;white-space:normal;max-height:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* Medium zoom enlarges role text: let complete lines determine the card height. */
body[data-design=tree] .zoom-medium .person-main,body[data-design=tree] .zoom-medium .person-node.king .person-main{height:auto;min-height:148px}
body[data-design=tree] .zoom-medium .person-main .node-copy{flex-shrink:0}
body[data-design=tree] .zoom-medium .person-main .node-copy small{display:block;overflow:visible;max-height:none;flex-shrink:0;-webkit-line-clamp:unset}
body[data-design=tree] .person-main .node-copy .life{font-size:10px;line-height:1.4;display:block;white-space:normal}
body[data-design=tree] .zoom-far .person-node,body[data-design=tree] .zoom-far .event-marker,body[data-design=tree] .zoom-far .change-card{visibility:hidden!important;pointer-events:none}
body[data-design=tree] .zoom-far #edges .edge-label{display:none!important}
body[data-design=tree] #mapLabels .balance-person{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px;background:#fbf8ee;border:1px solid #c4bea9;border-radius:3px;box-shadow:0 1px 3px #3a432013;overflow:hidden;user-select:none;color:#314331}
body[data-design=tree] #mapLabels .balance-person.balance-royal{border-top:2px solid #9b733d;background:#fbf3df}body[data-design=tree] #mapLabels .balance-person.balance-selected{outline:2px solid #6c815b;outline-offset:1px}
body[data-design=tree] #mapLabels .balance-person .person-art-thumb{position:static;display:block!important;width:calc(var(--balance-face)*.76);height:var(--balance-face);object-fit:cover;flex-shrink:0;border-radius:1px}
body[data-design=tree] #mapLabels .balance-person b{display:block;max-width:100%;font-size:var(--balance-name);line-height:1.1;text-align:center;white-space:normal;word-break:keep-all;font-weight:650}
body[data-design=tree] #viewport{overflow:clip}
body[data-design=tree] #balanceZoom{background:#faf6e9;color:#4b5940;border:1px solid #b8bea8;border-radius:3px;font:inherit;font-size:11px;max-width:88px;padding:4px}
body[data-design=tree] .workspace-head{min-height:124px!important;padding-top:16px!important;padding-bottom:16px!important}body[data-design=tree] .workspace-head .era-scroll-note{display:none}
body[data-design=tree] #inspector .portrait-art-figure{display:grid;grid-template-columns:108px minmax(0,1fr);margin:12px 0}
body[data-design=tree] #inspector .portrait-art-figure .change-art-original img{width:108px;height:148px;min-height:148px;max-height:148px;object-fit:cover}body[data-design=tree] #inspector .portrait-art-figure figcaption{padding:8px}body[data-design=tree] #inspector .portrait-art-figure figcaption p{font-size:10px}
/* Zoom reveals persistent information; no hover is needed to read it. */
body[data-design=tree] .person-main .node-detail{display:none}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .life{display:block}
body[data-design=tree] #viewport:not(.zoom-far) .expand-branch{display:none}
body[data-design=tree] .zoom-detail .person-main,body[data-design=tree] .zoom-detail .person-node.king .person-main{height:180px;min-height:180px;grid-template-rows:104px 1fr;gap:4px 10px;padding:10px}
body[data-design=tree] .zoom-detail .person-main .han{grid-area:auto;grid-column:1;grid-row:1}
body[data-design=tree] .zoom-detail .person-main .node-copy{grid-area:auto;grid-column:2;grid-row:1;gap:3px;overflow:hidden;max-height:104px}
body[data-design=tree] .zoom-detail .person-main .node-detail{display:-webkit-box;grid-column:1/-1;grid-row:2;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:48px;font:12px/16px 'Noto Sans KR',sans-serif;color:#46513f;text-align:left;word-break:keep-all}
body[data-design=tree] .zoom-detail .family-node-action,body[data-design=tree] .zoom-detail .family-node-status{min-height:24px;padding:4px 6px;margin-top:4px;font-size:11px;line-height:16px}
body[data-design=tree] #viewport:not(.zoom-far):not(.zoom-medium) #edges .edge text{display:none!important}
body[data-design=tree] .poster-button:hover{transform:none}
/* Family browsing stays in one dialog with a persistent local close/back bar. */
#familyDialog{width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;overflow:auto;overscroll-behavior:contain;background:#f9f5e9;color:#344332;border:1px solid #a8b394;border-radius:12px;box-shadow:0 20px 80px #1c302d55}
#familyDialog::backdrop{background:#15292370;backdrop-filter:blur(2px)}
#familyDialog .family-dialog-toolbar{position:sticky;top:0;z-index:10;height:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:#faf7ed;border-bottom:1px solid #c6cbb6}
#familyDialogContext{font-size:11px;color:#68745d}#familyDialogTitle{font:600 23px/1.35 var(--serif);margin:5px 0 0;color:#35482e}
.family-dialog-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.family-dialog-actions button{min-height:40px;padding:8px 12px;background:#eef0e1;border:1px solid #a7b398;border-radius:5px;color:#3c5436;font-size:12px}.family-dialog-actions [hidden]{display:none}
#familyDialog #familyWorld{position:static;padding:18px 20px;width:auto;height:auto;transform:none}
#familyDialog .family-map{position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#344332}
#familyDialog .family-parent-tether{display:none}#familyDialog .family-map-head{height:auto;margin:0 0 15px;padding:0 0 12px;border-color:#c8ceba}#familyDialog .family-map-head small,#familyDialog .family-map-head h3{display:none}#familyDialog .family-map-head p{font-size:14px;margin:0 0 6px;color:#42583a}#familyDialog .family-map-head span,#familyDialog .family-map-foot{color:#67745b;font-size:12px}
.family-dialog-filters{display:flex;gap:7px;margin-bottom:15px}.family-dialog-filters button{padding:7px 15px;border-color:#b6c0a6;color:#4d6043;background:#f4f3e7}.family-dialog-filters button[aria-pressed=true]{background:#526c49;color:#fffdf0;border-color:#526c49}
#familyDialog .family-map-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#familyDialog .family-child{height:155px}#familyDialog #familyWorld>.inspector-kicker,#familyDialog #familyWorld>.inspector-name{display:none}#familyDialog .inspector-text{color:#42533c}#familyDialog .portrait-art-figure{max-width:620px}#familyDialog .portrait-art-figure .change-art-original img{max-height:300px;object-fit:contain}#familyDialog .family-map-foot{margin-bottom:8px}
.art-viewer-close{position:sticky;top:0;z-index:5;box-shadow:0 2px 8px #23351b20}.relation-note{position:absolute}.note-close{position:absolute;right:10px;top:10px;min-width:30px;min-height:30px;font-size:max(13px,calc(11px / var(--map-zoom,1)));padding:4px 7px;border:1px solid #a7b59b;background:#f8f5e9;color:#426039;z-index:1}.relation-note .note-heading{padding-right:42px}
@media(max-width:700px){#familyDialog{width:calc(100vw - 16px);max-height:calc(100dvh - 20px)}#familyDialog .family-dialog-toolbar{padding:12px;gap:8px;align-items:flex-start}#familyDialogTitle{font-size:19px}.family-dialog-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.family-dialog-actions button{font-size:11px;padding:7px 9px}#familyDialog #familyWorld{padding:14px 12px}#familyDialog .family-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#familyDialog .family-child{height:165px}#familyDialog .family-child b{font-size:17px}#familyDialog .family-child small,#familyDialog .family-child span{font-size:11px}}
@media(max-width:420px){#familyDialog .family-map-grid{grid-template-columns:1fr}#familyDialog .family-child{height:140px}}
/* Open explanations sit above screen-space labels, so labels cannot cover their controls. */
body[data-design=tree] #world:has(.relation-note){z-index:4}
body[data-design=tree] .note-close{min-width:max(30px,calc(32px / var(--map-zoom,1)));min-height:max(30px,calc(32px / var(--map-zoom,1)));font-size:max(14px,calc(13px / var(--map-zoom,1)));padding:4px}
body[data-design=tree] .relation-note .note-heading{padding-right:max(42px,calc(44px / var(--map-zoom,1)))}
.family-dialog-coverage{margin-top:18px;padding:13px 15px;border:1px solid #ccd2be;border-radius:7px;font-size:12px;color:#58664d;line-height:1.7}.family-dialog-coverage summary{cursor:pointer;font-weight:600}.family-dialog-coverage a{color:#5b6c3f;display:block;margin:8px 0}.family-dialog-coverage p{margin:10px 0}

/* Family cards share person records and leave space for a readable life preview. */
#familyDialog .family-child{height:auto;min-height:194px;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto auto 1fr;gap:5px 10px;align-content:start;padding:13px}
#familyDialog .family-child .family-art-thumb{position:static;grid-column:1;grid-row:1/4;width:64px;height:88px;object-fit:cover}
#familyDialog .family-child .family-art-label{position:static;grid-column:1;grid-row:4;align-self:start;font-size:9px;text-align:center;padding:3px 0;max-width:64px}
#familyDialog .family-child>small,#familyDialog .family-child>b,#familyDialog .family-child>span{grid-column:2;min-width:0;padding:0;line-height:1.45}
#familyDialog .family-child>b{font-size:18px;color:#fff4db}
#familyDialog .family-child .family-biography-preview{grid-column:1/-1;grid-row:5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.65;max-height:none;margin:3px 0 0;color:#dce5d8;padding:8px 0 0;border-top:1px solid #d5dfca33}
#familyDialog .family-canonical{background:#e9eedc;border:1px solid #bdc9ad;border-radius:6px;padding:10px 12px;font-size:13px;color:#415b35;line-height:1.6}
#familyDialog .family-life{margin:18px 0;max-width:680px}#familyDialog .family-life h3{font-size:17px;margin:0 0 9px;color:#354f2c}#familyDialog .family-life .inspector-text{font-size:15px;line-height:1.9}#familyDialog .family-record-note{font-size:12px;line-height:1.7;color:#68725e}

body[data-design=tree] .person-life{border-top:1px solid #bbc4ad;margin:20px 0;padding-top:18px;text-align:left;color:#3d5037}
body[data-design=tree] .person-life h3{font:600 19px/1.4 var(--serif);margin:0 0 18px;color:#344c2b}
body[data-design=tree] .person-life h4{font:600 15px/1.5 var(--serif);margin:18px 0 7px;color:#3e5833}
body[data-design=tree] .person-life p{font:14px/1.9 'Noto Sans KR',sans-serif;margin:0 0 12px;word-break:keep-all;overflow-wrap:anywhere;color:#43523c}
body[data-design=tree] .person-life .person-life-source{display:block;font-size:12px;line-height:1.7;margin:16px 0 0;color:#52653f}
#familyDialog .person-life{max-width:680px}#familyDialog .person-life p{font-size:15px}

/* Biological mother links remain legible, including in the compact-card range. */
body[data-design=tree] #edges .edge.mother path{stroke:#537d77;stroke-dasharray:5 4;opacity:.68}
body[data-design=tree] .zoom-far #edges .edge.mother path{stroke-width:calc(1px / var(--map-zoom,1));opacity:.68}
body[data-design=tree] #edges .edge.mother.relevant path,body[data-design=tree] #edges .edge.mother.hover-relevant path{opacity:1;stroke:#356a60;stroke-width:2.7}
body[data-design=tree] .zoom-far #edges .edge.mother.relevant path,body[data-design=tree] .zoom-far #edges .edge.mother.hover-relevant path{opacity:1;stroke-width:calc(1.6px / var(--map-zoom,1))}
body[data-design=tree] .map-relation.mother{color:#365e57;border-color:#6c999477;background:#f0f7ef}

/* Keep text legible at the map scales used to recognize portraits. */
body[data-design=tree] #viewport:not(.zoom-far) .person-node{width:280px;margin-left:-15px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main{width:280px;height:auto;min-height:148px;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto;gap:8px 10px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy{max-height:none;overflow:visible;gap:4px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy b{font-size:clamp(18px,calc(22px / var(--map-zoom,1)),32px);line-height:1.25;letter-spacing:-.5px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy small{font-size:clamp(12px,calc(14px / var(--map-zoom,1)),21px);line-height:1.45;max-height:none;display:block;overflow:visible;-webkit-line-clamp:unset}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy .life{font-size:clamp(10px,calc(11px / var(--map-zoom,1)),16px);line-height:1.4;color:#4d543e}
body[data-design=tree] .zoom-detail .person-main .node-detail{font-size:clamp(12px,calc(14px / var(--map-zoom,1)),20px);line-height:1.5;max-height:4.5em}
body[data-design=tree] #viewport:not(.zoom-far) .family-node-action,body[data-design=tree] #viewport:not(.zoom-far) .family-node-status{font-size:clamp(11px,calc(12px / var(--map-zoom,1)),18px);line-height:1.4}

/* Event cards use the same measured footprint as achievement cards. */
body[data-design=tree] .historical-event-card{box-sizing:border-box;width:330px;height:166px;min-height:166px;padding:10px 14px 10px 100px;border:1px solid #b7a58a;border-left:4px solid #a8664e;border-radius:3px;background:#fff8ec;box-shadow:0 5px 14px #554a2c16;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:#494c3a;font-size:14px;line-height:1.45;overflow:hidden}
body[data-design=tree] .historical-event-card .event-art-thumb{width:85px;height:100%;object-fit:cover;border-right:1px solid #c0b69c}
body[data-design=tree] .historical-event-card small{margin:0;font:12px/1.4 var(--sans,sans-serif);letter-spacing:0;color:#946247}
.historical-event-card>b{font:600 21px/1.3 var(--serif);overflow-wrap:anywhere}
.historical-event-card>span{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.historical-event-card>em{font:normal 11px/1.4 var(--sans,sans-serif);color:#7c7965;margin-top:auto}
.historical-event-card:focus-visible{outline:3px solid #738b65;outline-offset:3px}

.record-reading{margin:22px 0 26px;border-top:1px solid #c9c3af;color:#46513f}
.record-reading section{margin:22px 0}
.record-reading h3{font:600 17px/1.5 var(--serif);color:#536248;margin:0 0 10px;display:flex;align-items:center;gap:9px}
.record-reading h3::before{content:'';width:4px;height:16px;background:#9e855d;flex-shrink:0}
.record-reading p{font-size:15px;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 12px}
.record-lead{padding:12px 14px;border-left:3px solid #a58b61;background:#ebe5d64d;font-size:15px;line-height:1.8}
.record-sources{margin:24px 0 18px;padding:14px 0;border-top:1px solid #c9c3af}
.record-sources h3{font-size:13px;color:#69755d;margin:0 0 8px}
.record-sources .inspector-source{display:block;font-size:12px;line-height:1.7;margin:7px 0;overflow-wrap:anywhere}
/* Keep the illustration available while making room for the longer reading. */
#inspector:has(.record-reading) .change-art-figure{display:grid;grid-template-columns:86px minmax(0,1fr);margin:14px 0 18px}
#inspector:has(.record-reading) .change-art-original{align-self:start}
#inspector:has(.record-reading) .change-art-original img{height:130px;min-height:0;max-height:130px;width:100%;object-fit:contain}
#inspector:has(.record-reading) .change-art-original>span{font-size:9px;right:2px;bottom:3px;padding:3px}
#inspector:has(.record-reading) .change-art-figure figcaption{padding:8px 10px}
#inspector:has(.record-reading) .change-art-figure figcaption strong{font-size:12px;line-height:1.6}

#recordConnections{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:1}
.record-link path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.record-link-halo{stroke:#fffdf2;stroke-width:6px;opacity:.9}
.record-link-stroke{stroke:#467c70;stroke-width:2.5px}
.record-link.period .record-link-stroke{stroke:#a67e37;stroke-dasharray:7 5}
.record-link circle{fill:#467c70;stroke:#fff9e9;stroke-width:2px;vector-effect:non-scaling-stroke}
.record-link.period circle{fill:#a67e37}
body[data-design=tree] .historical-event-card.record-selected{outline:3px solid #467c70;outline-offset:4px;background:#f1f5e8}
.person-node.change-connection{outline:3px solid #467c70;outline-offset:5px}
.balance-person.record-person-connected{outline:2px solid #467c70;outline-offset:2px;background:#edf3e7!important}
.ordered-lane.records{border-left:2px solid #9d8c6055;background:#a7966408}
.record-map-navigation{position:absolute;top:18px;right:20px;display:flex;gap:4px;z-index:3;background:#f8f5e9ec;border:1px solid #b7bca6;border-radius:4px;padding:3px}
.record-map-navigation button{font-size:12px;padding:7px 9px;color:#526748;border:0;background:transparent}
.record-map-navigation button:hover{background:#e4ead9}
.record-map-navigation button:focus-visible{outline:2px solid #467c70}
.record-link-guide{font-size:12px;line-height:1.7;color:#617157;display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 18px}
.record-link-guide span::before{content:'';display:inline-block;width:22px;border-top:2px solid #467c70;margin:0 6px 3px 0}
.record-link-guide span:first-child::before{border-color:#a67e37;border-top-style:dashed}
.has-record-selection #status{top:64px;max-width:330px}
@media(max-width:600px){.record-map-navigation{top:65px;right:10px}.record-map-navigation button{font-size:10px;padding:6px}.has-record-selection #status{top:auto}}

.change-card .change-head{gap:3px}
.change-card .change-head b{margin:2px 0;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}
.change-card .change-head em{flex-shrink:0;padding-top:0;min-height:14px}
.map-change:not(.has-art){padding:6px;box-sizing:border-box;min-height:48px}

.map-change:not(.has-art){padding:4px 5px;min-height:0;gap:2px}
.map-change:not(.has-art) small{font-size:9px;line-height:1.1}
.map-change:not(.has-art) b{font-size:11px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#viewport.zoom-record-overview .map-change:not(.has-art) b{-webkit-line-clamp:1;font-size:10px}
.map-event.record-selected{outline:2px solid #467c70;outline-offset:2px;background:#edf3e7}

.record-map-navigation{flex-wrap:wrap;max-width:240px}
.record-map-legend{display:none;flex-basis:100%;font-size:10px;color:#66745b;padding:4px 7px;white-space:nowrap}
.has-record-selection .record-map-legend{display:block}
.record-map-legend i{display:inline-block;width:16px;border-top:2px solid #467c70;margin:0 4px 3px 5px}
.record-map-legend i:first-child{border-top-style:dashed;border-color:#a67e37}

.time-heading #activeYear.period-label{font-size:18px;line-height:1.4;letter-spacing:-.5px}

.person-name-context{padding:11px 13px;margin:12px 0 16px;border-left:3px solid #7b8d63;background:#edf0e2;color:#42563a;font-size:13px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}.person-name-context>b{display:block;font-size:11px;color:#6b7c5c;margin-bottom:3px}

/* One content hierarchy at every zoom: identity → role → relationships → life → context. */
body[data-design=tree] #mapLabels .balance-person{display:block;height:auto;min-height:0;padding:4px;overflow:hidden;text-align:left}
body[data-design=tree] #mapLabels .balance-person .depth-identity{display:flex;gap:5px;align-items:center;min-width:0}
body[data-design=tree] #mapLabels .balance-person .person-art-thumb{width:calc(var(--depth-face)*.72);height:var(--depth-face);min-height:0;max-height:none;margin:0;flex-shrink:0}
body[data-design=tree] #mapLabels .balance-person .depth-copy{min-width:0;flex:1}
body[data-design=tree] #mapLabels .balance-person b{font-family:var(--serif);font-weight:600;letter-spacing:-.4px;font-size:var(--depth-title);line-height:1.25;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;overflow-wrap:anywhere}
#viewport .depth-role{display:block;font-size:var(--depth-role,14px);line-height:1.35;color:#68735b;margin-top:3px;white-space:normal;word-break:keep-all}
#viewport .depth-related{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--depth-text,11px);line-height:1.35;color:#4d6550;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
#viewport .balance-person .depth-related{border-top:1px solid #c4cbb5;margin-top:4px;padding-top:3px;font-size:clamp(9px,calc(var(--map-zoom,1)*22px),12px)}
body[data-design=tree] #viewport:not(.zoom-far) .person-main{display:grid;grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:5px 10px;padding:10px;min-height:0;height:auto;overflow:hidden;width:280px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .han{grid-column:1;grid-row:1;width:68px;height:90px;min-height:0;position:relative}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .person-art-thumb{width:68px;height:90px;object-fit:cover}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy{grid-column:2;grid-row:1;min-width:0;max-height:none;overflow:visible;gap:3px}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy b{font-size:clamp(22px,calc(22px / var(--map-zoom,1)),32px);line-height:1.25}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-copy small{font-size:clamp(14px,calc(14px / var(--map-zoom,1)),20px);line-height:1.35;overflow:visible;max-height:none;display:block}
body[data-design=tree] #viewport:not(.zoom-far) .node-relation{grid-column:1/-1;grid-row:2;display:block;border-top:1px solid #c5ccb6;padding-top:5px;font-size:clamp(12px,calc(12px / var(--map-zoom,1)),17px);line-height:1.35;white-space:normal;color:#526749}
body[data-design=tree] #viewport:not(.zoom-far) .node-life{grid-column:1/-1;grid-row:3;display:block;font-size:clamp(11px,calc(11px / var(--map-zoom,1)),16px);line-height:1.35;color:#72775f}
body[data-design=tree] #viewport:not(.zoom-far) .person-main .node-detail{grid-column:1/-1;grid-row:4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:none;font:16px/1.4 'Noto Sans KR',sans-serif;color:#46513f;text-align:left;word-break:keep-all;margin:0;padding:0}
body[data-design=tree] #viewport[data-depth="100"] .person-main .node-detail{-webkit-line-clamp:3;font-size:14px;line-height:1.4}
body[data-design=tree] #viewport:not(.zoom-far) .family-node-action,body[data-design=tree] #viewport:not(.zoom-far) .family-node-status{font-size:clamp(11px,calc(11px / var(--map-zoom,1)),15px);line-height:1.3;padding:4px 6px;min-height:0;margin-top:2px}
/* Record layout reserves this footprint at every zoom, so expanded text never overlaps. */
#viewport .depth-record{--depth-face:60px;--depth-title:20px;--depth-role:13px;--depth-text:13px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:9px!important;text-align:left;color:#3d4e37;background:#fffaf0;overflow:hidden;font-family:var(--sans,sans-serif);font-size:13px;line-height:1.4;isolation:auto;border-radius:3px}
#viewport .change-card .depth-record{width:100%;height:100%!important;border:0;visibility:visible}
#viewport .historical-event-card.depth-record{width:330px;min-height:244px;border-radius:3px;box-shadow:0 5px 14px #554a2c16}
#viewport .depth-record>.depth-identity{display:flex;flex-direction:row;align-items:center;gap:8px;flex-shrink:0;max-width:none;padding:0;overflow:hidden;-webkit-line-clamp:unset}
#viewport .depth-record .depth-identity>img{position:static!important;inset:auto!important;display:block;width:var(--depth-face)!important;height:calc(var(--depth-face)*1.4)!important;object-fit:cover;flex-shrink:0;border:0;border-radius:2px;margin:0;z-index:auto;max-width:none;min-height:0}
#viewport .depth-record .change-art-tag{display:none}
#viewport .depth-record .depth-copy{display:block;min-width:0;flex:1}
#viewport .depth-record small{display:block;padding:0;margin:0 0 2px;letter-spacing:0;font-size:clamp(9px,calc(var(--map-zoom,1)*12px),12px);line-height:1.3;color:#897442}
#viewport .depth-record b{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font:600 var(--depth-title)/1.25 var(--serif,serif);margin:0;padding:0;max-width:none;word-break:keep-all;overflow-wrap:anywhere}
#viewport .depth-record>.depth-related{padding-top:5px;margin:0;border-top:1px solid #c4ccb6;font-size:var(--depth-text);line-height:1.35;flex-shrink:0;max-width:none}
#viewport .depth-record>.depth-summary,#viewport .depth-record>.depth-meaning{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:var(--depth-text);line-height:1.4;white-space:normal;word-break:keep-all;margin:0;padding:0;max-width:none}
#viewport .depth-record>.depth-meaning{font-size:12px;color:#76795f;-webkit-line-clamp:3}
#viewport .depth-record-overlay{position:absolute;pointer-events:auto;transform:none;z-index:2;border:1px solid #b7b99f;border-left:3px solid #9a8253;box-shadow:0 2px 7px #51493012;gap:3px;padding:5px!important}
#viewport .depth-record-overlay .depth-identity{gap:5px}
#viewport .depth-record-overlay .depth-related{padding-top:3px}
#viewport .depth-record-overlay.selected,#viewport .depth-record-overlay.record-selected{outline:2px solid #467c70;outline-offset:2px;background:#f0f4e7}
#viewport[data-depth="70"] .depth-record{--depth-title:24px;--depth-role:16px;--depth-text:16px}
#viewport[data-depth="30"] .depth-role{display:none!important}
#viewport[data-depth="30"] .depth-related,#viewport[data-depth="40"] .depth-related{display:none!important}
#viewport[data-depth="30"] .depth-summary,#viewport[data-depth="40"] .depth-summary,#viewport[data-depth="50"] .depth-summary{display:none!important}
#viewport:not([data-depth="100"]) .depth-meaning{display:none!important}
#viewport.depth-tiny .depth-record-overlay img{display:none!important}
#viewport.depth-tiny .depth-record-overlay b{font-size:8px;-webkit-line-clamp:1}
#viewport.depth-tiny .depth-record-overlay small{font-size:7px}
#viewport.depth-tiny .depth-record-overlay{padding:2px!important}
@media(prefers-reduced-motion:no-preference){#viewport .node-copy,#viewport .depth-copy{transition:color .15s}}

#viewport.zoom-far #world .depth-record{visibility:hidden!important;pointer-events:none}

#viewport .depth-record>.depth-meaning{-webkit-line-clamp:2}
#viewport[data-depth="70"] .depth-record>.depth-summary{-webkit-line-clamp:2}
#viewport .depth-record-overlay{min-height:0;transform:translateY(-50%)}
body[data-design=tree] #viewport[data-depth="70"] .person-main .node-detail{-webkit-line-clamp:1}
body[data-design=tree] #viewport[data-depth="70"] .node-life{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Keep the person tree spatially stable while using a mobile reading scale. */
#viewport .balance-person .depth-dates,#viewport .balance-person .depth-summary{display:none}
@media(max-width:600px){
 body[data-design=tree] #viewport{height:calc(100dvh - 110px);min-height:540px}
 body[data-design=tree] #viewport.mobile-map .balance-person b{font-size:clamp(6px,var(--depth-title),18px);letter-spacing:-.3px}
 body[data-design=tree] #viewport.mobile-map[data-depth="70"] .balance-person b,
 body[data-design=tree] #viewport.mobile-map[data-depth="100"] .balance-person b{font-size:max(12px,var(--depth-title))}
 #viewport.mobile-map .balance-person .depth-role{margin-top:2px;font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #viewport.mobile-map .balance-person .depth-related{font-size:10px;line-height:12px;-webkit-line-clamp:1;padding-top:2px;margin-top:2px}
 #viewport.mobile-map[data-depth="70"] .balance-person .depth-summary,
 #viewport.mobile-map[data-depth="100"] .balance-person .depth-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;font:11px/1.2 'Noto Sans KR',sans-serif;margin-top:3px;word-break:keep-all;color:#46513f;text-align:left}
 #viewport.mobile-map[data-depth="100"] .balance-person .depth-summary{-webkit-line-clamp:2}
 #viewport.mobile-map[data-depth="100"] .balance-person .depth-dates{display:block;font:10px/1.2 'Noto Sans KR',sans-serif;color:#72775f;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #viewport.mobile-map .depth-record-overlay>.depth-related,
 #viewport.mobile-map .depth-record-overlay>.depth-summary{-webkit-line-clamp:1}
 #viewport.mobile-map .depth-record-overlay>.depth-meaning{display:none!important}
 #viewport.mobile-map[data-depth="70"] .depth-record-overlay b{-webkit-line-clamp:1}
 body[data-design=tree] #inspector{position:fixed;top:auto!important;bottom:0;left:0;right:0;width:100%;max-height:45dvh;border-radius:16px 16px 0 0;background:#fbf6ea;box-shadow:0 -8px 30px #28322424;z-index:50}
 body[data-design=tree] #inspector>.inspector-toolbar{padding:10px 14px;border-radius:16px 16px 0 0}
 #inspector .inspector-toolbar button{min-height:40px;min-width:40px}
 body[data-design=tree] #inspectorContent{padding:12px 18px 28px}
 body[data-design=tree] .minimap{display:none}
 .map-controls #home{display:none}
 .map-controls{padding:3px;gap:0}
 .map-controls #balanceZoom{max-width:88px;min-height:40px}
}

/* Selected story connections retain their screen thickness at every map scale. */
#workConnections{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:1}
.selected-work-link path{fill:none;vector-effect:none;stroke-linejoin:round;stroke-linecap:round}
.work-link-halo{stroke:#fffbed;stroke-width:calc(10px / var(--map-zoom,1));opacity:.96}
.work-link-stroke{stroke:#247b69;stroke-width:calc(5px / var(--map-zoom,1));opacity:1}
.selected-work-link.background .work-link-stroke{stroke:#9c6d24;stroke-dasharray:calc(10px / var(--map-zoom,1)) calc(7px / var(--map-zoom,1))}
.selected-work-link.motif .work-link-stroke{stroke:#896181;stroke-dasharray:calc(2px / var(--map-zoom,1)) calc(7px / var(--map-zoom,1))}
.selected-work-link circle{fill:#247b69;stroke:#fffbed;stroke-width:calc(2px / var(--map-zoom,1));r:calc(4px / var(--map-zoom,1))}
.selected-work-link.background circle{fill:#9c6d24}.selected-work-link.motif circle{fill:#896181}
body.has-work-selection #edges .edge.work{opacity:.13}
body.has-work-selection #nodes .person-node.work-person-connected{outline:3px solid #247b69;outline-offset:5px}
#mapLabels .balance-person.work-person-connected{outline:3px solid #247b69;outline-offset:2px;background:#edf5e8!important}
.work-reading section{margin:21px 0}.work-reading h3{font-size:14px;color:#52674b;margin:0 0 9px;line-height:1.5}
.work-reading p{font-size:14px;line-height:1.9;margin:0;word-break:keep-all;overflow-wrap:anywhere;color:#4d5845}
.work-reading .work-caveat{padding:12px;border-left:2px solid #b3a28a;background:#eee8da;font-size:12px}
.work-history-connections{display:grid;gap:8px;margin:10px 0 18px}
.work-history-connections button{display:block;width:100%;text-align:left;padding:12px;background:#eff3e7;border:1px solid #b8c6aa;border-left:4px solid #247b69;line-height:1.7;white-space:normal}
.work-history-connections button.background{border-left-color:#9c6d24;background:#f5eee0}.work-history-connections button.motif{border-left-color:#896181;background:#f1e8ef}
.work-history-connections b{display:block;font-size:14px;color:#3e5947}.work-history-connections small{display:block;font-size:11px;color:#75816b;margin:4px 0}.work-history-connections span{display:block;font-size:12px;color:#56634f}
.work-line-key{display:flex;gap:8px 14px;flex-wrap:wrap;font-size:11px;line-height:1.7;color:#69745e;margin:10px 0}
.work-line-key span:before{content:'';display:inline-block;width:22px;border-top:3px solid #247b69;margin:0 6px 3px 0}.work-line-key .background:before{border-color:#9c6d24;border-top-style:dashed}.work-line-key .motif:before{border-color:#896181;border-top-style:dotted}
.work-questions{padding-left:18px;font-size:13px;line-height:1.85;color:#52614b}.work-questions li{margin-bottom:8px}
.work-reading-sources{margin-top:22px;border-top:1px solid #d6d4bf;padding-top:14px}.work-reading-sources a{display:block;font-size:11px;line-height:1.8;margin-bottom:7px;overflow-wrap:anywhere}
@media(max-width:600px){.work-reading p{font-size:14px;line-height:1.85}.work-history-connections button{min-height:48px}}

@media(max-width:600px){
 #world .mobile-offscreen{visibility:hidden!important;pointer-events:none!important}
 #viewport{contain:layout paint}
 body[data-design=tree] #inspector{backdrop-filter:none;-webkit-backdrop-filter:none}
 #world .person-node,#world .work-node{animation:none}
 #edges .edge.trace-blood>path,#edges .edge.trace-royal>path{filter:none}
}

/* Search shares the existing illustrated heading instead of adding a toolbar. */
body[data-design=tree] .workspace-head{display:flex!important;overflow:visible;z-index:25;gap:16px}
.workspace-head .era-paintings{border-radius:inherit}
.workspace-head>.person-search{flex:0 1 280px;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:5px}
.workspace-head .person-search label{font-size:11px;color:#536046}
.workspace-head .person-search input{width:100%;min-height:40px;padding:9px 12px;background:#fffdf6f5}
.workspace-head #searchResults{top:100%;margin-top:5px;right:0;width:360px;max-width:min(85vw,360px);z-index:40}
@media(max-width:600px){
 body[data-design=tree] .workspace-head{gap:10px;flex-wrap:nowrap;flex-direction:row;align-items:center}
 .workspace-head>div:not(.era-paintings):not(.person-search){min-width:0;flex:1}
 .workspace-head>.person-search{flex:0 0 46%;width:46%}
 .workspace-head .person-search input{width:100%;font-size:12px;padding:9px 8px;min-height:42px}
 .workspace-head .eyebrow{letter-spacing:.6px}
 .workspace-head h1{letter-spacing:0}
 .workspace-head .era-heading>b{font-size:12px;line-height:1.5}
}

.search-intro{margin:18px 32px 28px;padding-top:18px;border-top:1px solid #cfc3aa;color:#59634f;max-width:1080px;line-height:1.9}
.search-intro h2{font:600 17px var(--serif);color:#3e5140;margin:0 0 8px}
.search-intro p{font-size:12px;margin:6px 0 12px}
.search-intro summary{font-size:12px;cursor:pointer;color:#536348}
.search-intro h3{font-size:13px;margin:18px 0 5px}
@media(max-width:600px){.search-intro{margin:16px 16px 24px}.search-intro h2{font-size:16px}}

.inspector-size-controls{display:none}
@media(max-width:600px){
 body[data-design=tree] #inspector{max-height:var(--inspector-height,45dvh);overflow-anchor:none;padding-bottom:env(safe-area-inset-bottom,0px)}
 body[data-design=tree] #inspector[data-inspector-height="65"],body[data-design=tree] #inspector[data-inspector-height="85"]{height:var(--inspector-height);max-height:var(--inspector-height)}
 #inspector>.inspector-toolbar .inspector-size-controls{display:flex;gap:5px;margin-left:auto;flex-shrink:0}
 #inspector>.inspector-toolbar #closeInspector{margin-left:0;flex-shrink:0}
 .inspector-size-controls button{font-size:20px;line-height:1;background:#f3efdf;border:1px solid #b8bba0;color:#405b41;border-radius:5px}
 .inspector-size-controls button:disabled{opacity:.35;cursor:default}
 #inspector>.inspector-toolbar{gap:5px}
}

.person-story{margin:28px 0;padding:24px 0;border-top:1px solid #d9cbb4;border-bottom:1px solid #d9cbb4;overflow-wrap:anywhere}
.person-story-label{display:block;color:#866741;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:10px}
.person-story h3{font:600 19px/1.4 var(--serif);color:#344c2b;margin:0 0 18px}
.person-story-period{font-size:12px;line-height:1.6;color:#776b59;margin-bottom:20px}
.person-story p{font:14px/1.9 'Noto Sans KR',sans-serif;color:#43523c;margin:0 0 12px;word-break:keep-all}
.person-story p:last-child{margin-bottom:0}
#familyDialog .person-story{max-width:680px}#familyDialog .person-story p{font-size:15px}
@media(max-width:700px){.person-story{margin:24px 0;padding:22px 0}}
.detail-keyword{font:inherit!important;color:#385d4c!important;text-decoration:underline!important;text-decoration-color:#8ba393!important;text-decoration-thickness:1px;text-underline-offset:3px;border:0;border-radius:2px}
.detail-keyword:hover{color:#704a2e!important;text-decoration-color:currentColor!important;background:#d8e1cf66}
.detail-keyword:focus-visible{outline:2px solid #58714b;outline-offset:3px}

/* Match the screen-space emphasis of selected drama connections at every zoom. */
body[data-design=tree] #edges .edge.selected-connection{opacity:1!important;--selected-link:#247b69}
body[data-design=tree] #edges .edge.selected-connection.succession{--selected-link:#a86f18}
body[data-design=tree] #edges .edge.selected-connection.marriage{--selected-link:#806251}
body[data-design=tree] #edges .edge.selected-connection.conflict{--selected-link:#b2473e}
body[data-design=tree] #edges .edge.selected-connection.adoption{--selected-link:#80608d}
body[data-design=tree] #edges .edge.selected-connection>path{fill:none;vector-effect:none!important;stroke-linecap:round;stroke-linejoin:round;filter:none!important;opacity:1!important}
body[data-design=tree] #edges .edge.selected-connection>path.selection-link-stroke{stroke:var(--selected-link)!important;stroke-width:calc(5px / var(--map-zoom,1))!important}
body[data-design=tree] #edges .edge.selected-connection.conflict>path.selection-link-stroke,body[data-design=tree] #edges .edge.selected-connection.adoption>path.selection-link-stroke{stroke-dasharray:calc(10px / var(--map-zoom,1)) calc(7px / var(--map-zoom,1))}
body[data-design=tree] #edges .edge.selected-connection>path.selection-link-halo{stroke:#fffbed!important;stroke-width:calc(10px / var(--map-zoom,1))!important;stroke-dasharray:none!important;opacity:.96!important;marker-end:none}
body[data-design=tree] #edges .edge.selected-connection text{fill:var(--selected-link);font-weight:700;opacity:1;paint-order:stroke;stroke:#fffbed;stroke-width:4px;stroke-linejoin:round}
#recordConnections .record-link path{vector-effect:none;stroke-linejoin:round}
#recordConnections .record-link-halo{stroke:#fffbed;stroke-width:calc(10px / var(--map-zoom,1));opacity:.96}
#recordConnections .record-link-stroke{stroke:#247b69;stroke-width:calc(5px / var(--map-zoom,1));opacity:1}
#recordConnections .record-link.period .record-link-stroke{stroke:#a86f18;stroke-dasharray:calc(10px / var(--map-zoom,1)) calc(7px / var(--map-zoom,1))}
#recordConnections .record-link circle{fill:#247b69;stroke:#fffbed;stroke-width:calc(2px / var(--map-zoom,1));vector-effect:none;r:calc(4px / var(--map-zoom,1))}
#recordConnections .record-link.period circle{fill:#a86f18}

/* Meaning stays stable across selection, labels, posters and the legend. */
#viewport{--selection-weight:clamp(2px,calc(9px * var(--display-zoom,1)),5px)}
#edges .edge{--relation-color:#27766b}
#edges .edge.marriage{--relation-color:#a25178}
#edges .edge.succession{--relation-color:#a86f18}
#edges .edge.alliance{--relation-color:#386eac}
#edges .edge.conflict{--relation-color:#b7443d}
#edges .edge.adoption{--relation-color:#786b8b}
#edges .edge.work{--relation-color:#86509b}
body[data-design=tree] #edges .edge.selected-connection{--selected-link:var(--relation-color)!important}
body[data-design=tree] #edges .edge>path.selection-link-stroke{stroke:var(--relation-color)!important}
body[data-design=tree] #edges .edge.selected-connection>path.selection-link-stroke{stroke-width:calc(var(--selection-weight) / var(--map-zoom,1))!important}
body[data-design=tree] #edges .edge.selected-connection>path.selection-link-halo{stroke-width:calc((var(--selection-weight) + 3px) / var(--map-zoom,1))!important;opacity:.88!important}
body[data-design=tree] #edges .edge.work>path.selection-link-stroke{stroke-dasharray:calc(9px / var(--map-zoom,1)) calc(6px / var(--map-zoom,1))}
body[data-design=tree] #edges .edge.work.selected-connection>path.selection-link-stroke{stroke-width:calc(var(--selection-weight) * .78 / var(--map-zoom,1))!important;opacity:.85!important}
body.has-person-selection #edges .edge:not(.selected-connection){opacity:.12!important}
body.has-work-selection #edges .edge:not(.work),body.has-record-selection #edges .edge{opacity:.17!important}
#workConnections .work-link-stroke{stroke:#86509b!important;stroke-width:calc(var(--selection-weight) / var(--map-zoom,1));stroke-dasharray:calc(10px / var(--map-zoom,1)) calc(5px / var(--map-zoom,1))}
#workConnections .background .work-link-stroke{stroke-dasharray:calc(5px / var(--map-zoom,1)) calc(5px / var(--map-zoom,1))}
#workConnections .motif .work-link-stroke{stroke-dasharray:calc(1px / var(--map-zoom,1)) calc(6px / var(--map-zoom,1))}
#workConnections .work-link-halo{stroke-width:calc((var(--selection-weight) + 3px) / var(--map-zoom,1));opacity:.88}
#workConnections .selected-work-link circle{fill:#86509b!important;r:calc(3px / var(--map-zoom,1))}
body.has-work-selection #nodes .person-node.work-person-connected,#mapLabels .balance-person.work-person-connected{outline-color:#86509b;background-color:#f5edf7!important}
.work-line-key span:before{border-color:#86509b!important;border-top-style:dashed}.work-line-key .motif:before{border-top-style:dotted}
.work-history-connections button{border-left-color:#86509b!important}.work-history-connections button b{color:#714280}
#recordConnections .record-link-stroke{stroke:#b16b2c;stroke-width:calc(var(--selection-weight) / var(--map-zoom,1))}
#recordConnections .record-link-halo{stroke-width:calc((var(--selection-weight) + 3px) / var(--map-zoom,1));opacity:.88}
#recordConnections .record-link circle{fill:#b16b2c;r:calc(3px / var(--map-zoom,1))}
.person-node.change-connection,.balance-person.record-person-connected{outline-color:#b16b2c!important}
.record-link-guide span::before,.record-map-legend .record-key{border-color:#b16b2c}
.record-map-legend[data-selection-kind]:not([data-selection-kind=""]){display:block;max-width:280px;white-space:normal;line-height:2}
.record-map-legend .blood-key{border-color:#27766b!important;border-top-style:solid!important}
.record-map-legend .marriage-key{border-color:#a25178!important;border-top-style:solid!important}
.record-map-legend .crown-key{border-color:#a86f18!important;border-top-style:solid!important}
.record-map-legend .alliance-key{border-color:#386eac!important;border-top-style:solid!important}
.record-map-legend .conflict-key{border-color:#b7443d!important;border-top-style:dashed!important}
.record-map-legend .media-key{border-color:#86509b!important;border-top-style:dashed!important}
.record-map-legend .period-key{border-color:#a86f18!important;border-top-style:dashed!important}
.map-relation.marriage{color:#8e4166}.map-relation.alliance{color:#386eac}.map-relation.conflict{color:#b7443d}
#edges .edge.politics{--relation-color:#386eac}
.map-relation.politics{color:#386eac}
.record-map-legend .relation-key-item{display:inline-flex;align-items:center;white-space:nowrap;margin-right:9px;vertical-align:middle}
.record-map-legend .relation-key-item i{flex:none;margin-left:0}

.seo-entry{display:flex;flex-wrap:wrap;gap:8px 22px;padding:9px 32px;background:#eee8d9;border-bottom:1px solid #d6ccb6;font-size:12px;line-height:1.7}.seo-entry a{color:#405f49;text-decoration:underline;text-underline-offset:3px}.article-meta{font-size:12px;color:#747360}.share-tools{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:20px}.share-tools button,#correction-form button{font:inherit;font-size:13px;background:#355340;color:#fffaf0;border:0;border-radius:4px;padding:9px 14px;cursor:pointer}.share-tools [role=status]{font-size:12px;color:#67745d}.relation-figure{margin:34px 0;padding:16px;background:#eee9dc;border:1px solid #d6ccb6;border-radius:7px}.relation-figure img{display:block;width:100%;height:auto}.relation-figure figcaption,.image-credit{font-size:12px;color:#6c715f;margin:10px 0}.relation-figure>a:last-of-type{font-size:13px}.guide-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guide-cards li{padding:22px;border:1px solid #d6ccb6;border-radius:6px;background:#fffcf5}.guide-cards a{font-size:18px;font-weight:600;line-height:1.65;display:block}.guide-cards p{font-size:14px;line-height:1.85;margin:12px 0 0;color:#636c59}.history-notice{padding:22px;background:#eee6d7;border-left:3px solid #98744a;margin:36px 0}.history-notice h2{font-size:18px;margin-bottom:10px}.history-notice p{font-size:14px}.reading-timeline{list-style:none;padding:0}.reading-timeline li{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #ded5c3}.reading-timeline time{color:#8e493e;font-weight:600}.connection-reasons{list-style:none;padding:0}.connection-reasons li{border-bottom:1px solid #ded5c3;padding-bottom:12px}.source-inline{font-size:12px;color:#71745f}.seo-related{padding:22px;background:#efe9da;border-radius:5px}.seo-related h2{font-size:20px}.seo-related ul{margin-bottom:0}footer nav{display:flex;gap:12px 24px;flex-wrap:wrap}#correction-form{display:grid;gap:10px}#correction-form label{font-size:14px;font-weight:600}#correction-form input,#correction-form textarea{width:100%;border:1px solid #b9b8a3;border-radius:4px;background:#fffdf7;color:#324538;font:inherit;padding:10px}#correction-form button{justify-self:start}.form-note{font-size:12px;color:#71745f}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #8e493e;outline-offset:3px}@media(max-width:600px){.seo-entry{padding:10px 16px;gap:6px 15px;font-size:11px}.guide-cards{grid-template-columns:1fr}.guide-cards li{padding:18px}.guide-cards a{font-size:17px}.relation-figure{margin:25px 0;padding:6px}.relation-figure figcaption,.image-credit{padding:0 6px}.reading-timeline li{grid-template-columns:52px minmax(0,1fr)}.seo-related{padding:18px}}
