@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#050b10;--ink:#eaf3f7;--muted:#8c9faa;--line:#b8d4ec20;--accent:#aadff5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,'Noto Sans KR',sans-serif;font-size:13px;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a6e4fa;outline-offset:3px}[hidden]{display:none!important}.topbar{position:fixed;z-index:10;top:0;height:74px;left:0;right:0;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#050b10b8;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:flex;gap:11px;align-items:center;font-size:12px;font-weight:800}.brand>b{font-size:31px;letter-spacing:-5px;margin-right:3px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:3px;font-weight:500}.topbar nav{display:flex;align-items:center;gap:32px;color:#a4b3bc;font-size:12px}.topbar nav a[aria-current]{color:#e8f8ff}.topbar nav a[aria-current]:after{content:'';display:block;height:2px;background:#9ad9f2;transform:translateY(25px)}#explorer-toggle{display:none;background:none}main{height:100svh;min-height:480px;position:relative}#knowledge-canvas{position:absolute;inset:74px 0 0;width:100%;height:calc(100% - 74px);touch-action:none;cursor:grab;outline-offset:-3px}#knowledge-canvas.dragging{cursor:grabbing}#explorer{position:absolute;left:24px;top:99px;bottom:90px;width:296px;padding:25px 22px 19px;background:linear-gradient(145deg,#10202be8,#08121bee);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(22px);display:flex;flex-direction:column;box-shadow:0 20px 80px #0002}.eyebrow{font-size:8px;letter-spacing:1.65px;color:#adc4d1;display:flex;gap:8px;align-items:center}.signal{width:5px;height:5px;border-radius:50%;background:#bce5f8;box-shadow:0 0 12px #99dfff}h1{font-size:27px;line-height:1.45;letter-spacing:-1.4px;font-weight:500;margin:21px 0 10px}h1 span{color:#91adbe}.intro{font-size:10px;color:#8ca5b4;line-height:1.9;margin:0 0 25px}.field-label,.detail-label{font-size:9px;color:#8fa6b5;letter-spacing:.4px;display:block;margin-bottom:9px}select{width:100%;padding:12px;border:1px solid #55748650;border-radius:6px;background:#0b1922;color:#e4eff5;font-size:12px}.stats{display:flex;gap:17px;font-size:9px;color:#8ca5b5;margin:15px 0 22px}.stats strong{font-size:16px;color:#e3f4ff;font-weight:500;margin-right:4px}.search{position:relative;display:flex;align-items:center}.search>span{position:absolute;left:10px;font-size:24px;color:#9db7c8}.search input{min-width:0;width:100%;background:#ffffff06;border:1px solid #57728470;color:var(--ink);padding:12px 30px 12px 35px;border-radius:6px;font-size:10px}.search kbd{position:absolute;right:12px;font-size:9px;color:#7c96a6}.section-caption{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;color:#a0b7c5;font-size:9px}.section-caption button{font-size:9px;background:none;color:#829aa9;padding:0}.section-caption button[aria-pressed=true]{color:#c5ecff}#communities{display:flex;gap:6px;flex-wrap:wrap;overflow:auto;max-height:140px;flex-shrink:0;padding:3px}.community{display:flex;align-items:center;gap:6px;background:#ffffff05;border:1px solid #6b8eaa30;border-radius:5px;padding:7px 8px;font-size:9px;text-align:left;line-height:1.4;max-width:100%}.community i,.node-option i{display:block;width:5px;height:5px;border-radius:50%;flex-shrink:0;background:var(--star);box-shadow:0 0 7px var(--star)}.community[aria-pressed=true]{background:#c2e8ff12;border-color:#a1c3d280}.community:hover{background:#a2cfef15}#node-list{overflow:auto;flex:1;min-height:65px;scrollbar-width:thin;scrollbar-color:#536e8155 transparent}.node-option{width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:11px 5px;background:transparent;color:#b6c9d5;border-bottom:1px solid #9dbddf12;font-size:10px;line-height:1.5}.node-option span{flex:1}.node-option small{font-size:8px;color:#708a9c}.node-option:hover,.node-option[aria-pressed=true]{color:white;background:#b9dbff0b}.empty{font-size:11px;color:#8ca5b5;padding:15px 0;line-height:1.7}.original-link{font-size:9px;color:#809dad;display:block;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.original-link:hover{color:var(--accent)}.scene-heading{position:absolute;top:112px;left:355px;pointer-events:none}.scene-heading>span{font-size:8px;color:#688595;letter-spacing:2px}.scene-heading p{font-size:11px;color:#b9d0dc;margin-top:12px}.scene-footer{position:absolute;left:355px;right:26px;bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.scene-footer>p{color:#7894a4;font-size:9px;letter-spacing:.3px}.controls{display:flex;align-items:center;border:1px solid var(--line);padding:5px;background:#0b1924dc;backdrop-filter:blur(20px);border-radius:8px;gap:3px}.controls button{background:transparent;border-radius:5px;font-size:10px;padding:10px;color:#bfd0db;white-space:nowrap}.controls button:hover,.controls button[aria-pressed=true]{background:#99c7e01a;color:white}#replay,#zoom-out,#zoom-in{font-size:18px;line-height:15px}#tooltip{position:absolute;pointer-events:none;background:#0d1c29ed;border:1px solid #b2dfff50;padding:9px 12px;border-radius:6px;font-size:11px;z-index:6;max-width:250px;line-height:1.5;box-shadow:0 7px 30px #0008}#detail{position:absolute;top:99px;right:24px;bottom:90px;width:304px;z-index:5;padding:27px 23px;background:linear-gradient(150deg,#142633f2,#09141eee);border:1px solid #a5cbe73d;border-radius:14px;backdrop-filter:blur(24px);overflow:auto;scrollbar-width:thin;box-shadow:0 20px 90px #0006}#detail-close{position:absolute;right:15px;top:13px;background:none;font-size:23px;color:#9bb5c6}#detail-community{font-size:9px;color:#a4c6d9;margin-top:26px;line-height:1.6}h2{font-size:24px;font-weight:500;line-height:1.5;letter-spacing:-.7px;margin:12px 0}#detail-summary{font-size:11px;color:#a1b8c5;line-height:1.8;margin:15px 0 27px}#detail-source{font-size:10px;line-height:1.7;color:#aabecb;overflow-wrap:anywhere;background:#0002;padding:12px;border-radius:5px}#detail-original{display:inline-block;font-size:10px;color:#c5eaff;margin:8px 0 17px}.relations-heading{border-top:1px solid var(--line);padding-top:23px;margin-top:7px;display:flex;justify-content:space-between}.relationship-help{font-size:9px;color:#7994a5;line-height:1.7}.relation{width:100%;text-align:left;background:#bddfff06;border:1px solid #badcff18;margin-top:9px;padding:12px;border-radius:6px;color:#d0e0e9;font-size:11px;line-height:1.6}.relation:hover{background:#aad7f016}.relation small{display:block;color:#82a4b9;font-size:9px;margin-bottom:5px}.relation .confidence{font-size:8px;color:#b0a894;margin-top:6px}.relation .confidence.extracted{color:#799b9c}#load-error{position:absolute;top:45%;left:38%;padding:25px;background:#152636;border:1px solid #7699ad;border-radius:8px;z-index:11}#load-error button{background:#d1e8f4;color:#07121c;padding:9px;margin-left:14px}.detail-open .scene-heading{max-width:calc(100% - 710px)}
@media(max-height:820px) and (min-width:901px){#explorer{padding-top:19px}h1{font-size:23px;margin-top:16px}.intro{margin-bottom:16px}.stats{margin:12px 0 14px}.section-caption{margin-top:16px}#communities{max-height:85px}}
@media(max-width:1100px){.scene-footer>p{display:none}.scene-footer{justify-content:flex-end}.topbar{padding:0 24px}.scene-heading{left:342px}#detail{width:275px;right:15px}.detail-open .scene-heading{display:none}}
@media(max-width:760px){.topbar{height:64px;padding:0 18px}.topbar nav{gap:15px;font-size:10px}.topbar nav a:first-child{display:none}.topbar nav a[aria-current]:after{transform:translateY(21px)}.brand{font-size:10px}.brand>b{font-size:27px}.brand small{font-size:6px}#explorer-toggle{display:block;font-size:10px;padding:9px;border:1px solid var(--line);border-radius:5px}#knowledge-canvas{top:64px;height:calc(100% - 64px)}#explorer{display:none;z-index:8;top:78px;bottom:80px;left:12px;width:min(310px,calc(100% - 24px));padding:20px;background:#0d1d29f5}body.explorer-open #explorer{display:flex}.scene-heading{left:22px;top:93px}.scene-heading>span{font-size:7px}.scene-heading p{font-size:10px}.scene-footer{left:12px;right:12px;bottom:18px;justify-content:center}.controls{max-width:100%;gap:1px}.controls button{font-size:9px;padding:9px 8px}#replay,#zoom-out,#zoom-in{font-size:17px}#detail{top:auto;left:12px;right:12px;bottom:80px;width:auto;max-height:46svh;padding:21px;z-index:7;background:#0e202ef5}#detail-community{margin-top:18px}h2{font-size:20px}.detail-open .scene-heading{display:block;max-width:none}.detail-open .scene-heading p{display:none}#load-error{left:20px;right:20px;font-size:11px}.intro{margin-bottom:15px}#communities{max-height:100px}#tooltip{max-width:180px}.relationship-help{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#detail-original{display:block;text-align:center;background:#bfe5f0;color:#0b1c27;border-radius:7px;padding:12px 10px;font-weight:600}.detail-preview{display:block;position:relative;margin:4px 0 22px;border:1px solid #a7d8ee33;border-radius:8px;overflow:hidden}.detail-preview img{display:block;width:100%;max-height:170px;object-fit:cover;object-position:top}.detail-preview>span{display:block;font-size:9px;padding:9px;background:#162d3e;color:#bcd6e5}#detail-summary{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
