.era-tabs{display:flex;gap:6px;margin:0 0 18px;border-bottom:1px solid #e4deea;padding-bottom:9px}.era-tabs button{padding:10px 17px;border:1px solid transparent;border-radius:7px;font:500 13px var(--sans);color:#8d7c99}.era-tabs button[aria-selected=true]{background:#eee7f4;color:#6c4d83;border-color:#dacee5}.era-tabs button:focus-visible{outline:2px solid #9e82b5;outline-offset:2px}.joseon-explorer{border:1px solid #e4ddea;border-radius:11px;background:#fff;overflow:visible}.joseon-toolbar{display:flex;align-items:center;gap:10px;padding:17px 18px 10px}.joseon-periods{display:flex;gap:5px}.joseon-periods button{border:1px solid #e6dfea;border-radius:6px;padding:8px 14px;color:#8b759a;background:#fff;font-size:12px}.joseon-periods button[aria-selected=true]{background:#806296;color:white;border-color:#806296}.joseon-help{position:relative}.joseon-help>summary{list-style:none;cursor:pointer;border:1px solid #e6dfea;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:#8c759c;font-size:12px}.joseon-help>summary::-webkit-details-marker{display:none}.joseon-help>div{position:absolute;left:0;top:38px;z-index:40;width:340px;padding:16px;border:1px solid #e4dbea;border-radius:9px;background:#fffffff5;box-shadow:0 8px 30px #3b264a15;font-size:11px;line-height:1.8;color:#84718f}.joseon-help p{margin:9px 0 0}.joseon-keyword-toggle{margin-left:auto;font-size:11px;color:#8c7899;display:flex;align-items:center;gap:6px}.joseon-keyword-toggle input{accent-color:#806296}.joseon-search-row{display:flex;gap:8px;padding:0 18px 13px;flex-wrap:wrap}.joseon-search-row .search{background:#fbf9fc;border:1px solid #e5dfea;border-radius:7px;flex:1;min-width:220px;padding:9px 12px;gap:8px}.joseon-search-row input{font-size:12px}.joseon-search-row select,.joseon-search-row>button{border:1px solid #e5dfea;border-radius:6px;padding:8px 10px;font:11px var(--sans);color:#897498;background:#fff}.joseon-caption{display:flex;justify-content:space-between;padding:12px 18px;border-block:1px solid #eee8f3;font-size:10px;color:#9b85aa;gap:12px}.joseon-scroll{position:relative;overflow:auto;max-height:74vh;min-height:470px;border-radius:0 0 9px 9px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d2c3df #faf8fc;cursor:grab}.joseon-scroll.dragging{cursor:grabbing;user-select:none}.joseon-scroll:focus-visible{outline:2px solid #a58bb8;outline-offset:2px}.joseon-board{display:grid;grid-template-columns:repeat(var(--joseon-columns),220px);grid-template-rows:110px minmax(120px,auto) 26px repeat(var(--joseon-rows),88px);gap:9px 14px;position:relative;padding:18px;width:max-content;min-width:100%;isolation:isolate}.joseon-column{background:linear-gradient(#f7f3fa88,#faf8fc40);border-inline:1px solid #f1ebf5;border-radius:8px;z-index:-1;pointer-events:none}.joseon-column:nth-of-type(even){background:linear-gradient(#fbf8f4aa,#faf8fc30)}.joseon-king{margin:0 9px 7px;align-self:start;position:sticky;top:8px;z-index:5;border:1px solid #ded2e8;border-radius:8px;background:#fffefef5;box-shadow:0 3px 8px #38204607;display:grid;gap:5px;text-align:center;padding:12px 8px 10px;min-height:88px}.joseon-king small{font-size:9px;color:#b09dbb}.joseon-king strong{font-size:16px;font-weight:600;color:#73548a}.joseon-king time{font-size:10px;color:#9a83a8}.joseon-king>span{font-size:8px;color:#ad96ba}.joseon-king.active{background:#f2eaf8;border-color:#a98bbf;box-shadow:0 0 0 1px #b39ac755}.joseon-person{margin:2px 9px 4px;border:1px solid color-mix(in srgb,var(--joseon-color),white 68%);border-left:3px solid var(--joseon-color);border-radius:8px;background:color-mix(in srgb,var(--joseon-color),white 95%);padding:11px 12px 7px;text-align:left;position:relative;min-width:0;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s}.joseon-person:hover,.joseon-person:focus-visible,.joseon-person.selected{border-color:var(--joseon-color);box-shadow:0 3px 11px #51315f13;outline:none}.joseon-person-title{display:flex;gap:10px;align-items:center}.joseon-person-title strong{font-size:13px;font-weight:600;color:#65526e}.joseon-person-title small{font-size:8px;color:#a189b0;border:1px solid #e4d9ec;border-radius:10px;padding:2px 5px}.joseon-person-keywords{font-size:9px;color:#9c84ac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.joseon-activity-marks{display:grid;grid-template-columns:repeat(var(--person-span),1fr);gap:14px;align-items:center;margin-top:auto;width:100%}.joseon-activity-mark{display:flex;align-items:center;justify-content:center;gap:5px;font-size:9px;color:#a28aaf;position:relative}.joseon-activity-mark i{width:5px;height:5px;border-radius:50%;background:var(--joseon-color)}.joseon-empty{padding:30px;color:#a08aaa;font-size:12px;text-align:center}.joseon-footnote{padding:11px 18px;font-size:9px;color:#b19cbd;margin:0;border-top:1px solid #eee7f3;line-height:1.7}.joseon-detail{position:fixed;top:82px;right:20px;bottom:20px;width:350px;max-height:calc(100vh - 102px);overflow:auto;background:white;border:1px solid #e1d7e9;border-radius:10px;z-index:45;box-shadow:0 8px 30px #35223d18;padding:0 22px 22px;color:#8b7895}.joseon-detail-heading{position:sticky;top:0;background:white;display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eee6f3;font-size:10px;z-index:2}.joseon-detail-heading button{font-size:30px;color:#a48ab6;min-width:28px}.joseon-detail h2{font-size:25px;color:#6d4d81;margin:20px 0 8px}.joseon-detail-category{font-size:10px;color:#a48ab2}.joseon-detail p{font-size:12px;line-height:1.9}.joseon-detail h3{font-size:12px;color:#826391;margin:23px 0 13px}.joseon-detail ol{padding:0;list-style:none}.joseon-detail li{padding:0 0 16px 13px;border-left:2px solid #e5d9ed}.joseon-detail li strong{font-size:11px;color:#8b6a9e}.joseon-detail a{font-size:10px;color:#a086b1;line-height:1.8;overflow-wrap:anywhere}.joseon-source{display:block;margin:10px 0}.joseon-tags,.joseon-related{display:flex;gap:6px;flex-wrap:wrap}.joseon-tags button,.joseon-related button{font-size:10px;padding:5px 8px;border:1px solid #e6dcec;border-radius:5px;background:#faf7fc;color:#9575a7}.joseon-evidence-note{display:block;font-size:9px;line-height:1.9;color:#b09cbb;border-top:1px solid #eee6f3;padding-top:13px;margin-top:18px}

.joseon-royal-activities{margin:0 9px;min-width:0;align-self:start}
.joseon-royal-activities h3{margin:0 0 8px;font-size:11px;font-weight:500;color:var(--muted,#756d7c)}
.joseon-royal-activities>div,.joseon-royal-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.joseon-royal-keyword{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:4px;min-width:0;min-height:54px;padding:7px 8px;border:1px solid var(--line,#e4deea);border-radius:8px;background:var(--surface,#fff);color:var(--workspace-text,#51495c);text-align:left;cursor:pointer;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.joseon-royal-keyword small{font-size:10px;color:var(--muted,#756d7c);font-variant-numeric:tabular-nums}
.joseon-royal-keyword:hover,.joseon-royal-keyword.is-match,.joseon-royal-keyword.selected{border-color:var(--accent,#48657d);background:var(--accent-tint,#edf1f4)}
.joseon-royal-keyword:focus-visible{outline:2px solid var(--accent,#48657d);outline-offset:2px}
.joseon-person-lane-label{display:flex;align-items:center;gap:9px;margin:0 9px;font-size:12px;font-weight:600;color:var(--workspace-text,#51495c)}
.joseon-person-lane-label span{font-size:11px;font-weight:400;color:var(--muted,#756d7c)}

@media(max-width:800px){.joseon-detail{top:auto;bottom:12px;left:12px;right:12px;width:auto;max-height:50vh}.joseon-scroll{max-height:70vh}.joseon-help>div{position:fixed;left:16px;right:16px;top:180px;width:auto;max-height:65vh;overflow:auto}}
@media(max-width:520px){.era-tabs{margin-bottom:13px}.era-tabs button{padding:9px 12px;font-size:11px}.joseon-toolbar{padding:13px 12px 9px;gap:8px;flex-wrap:wrap}.joseon-periods button{font-size:11px;padding:8px 11px}.joseon-keyword-toggle{font-size:10px}.joseon-search-row{padding:0 12px 12px;gap:6px}.joseon-search-row .search{min-width:100%;flex-basis:100%}.joseon-search-row select{flex:1;min-width:0}.joseon-search-row select,.joseon-search-row>button{font-size:10px}.joseon-caption{font-size:9px;padding:10px 12px;flex-wrap:wrap;gap:6px}.joseon-board{grid-template-columns:repeat(var(--joseon-columns),180px);gap:8px;padding:12px}.joseon-king{margin-inline:7px}.joseon-king strong{font-size:15px}.joseon-person{margin-inline:7px;padding:10px}.joseon-footnote{font-size:8px;padding-inline:12px}}
