:root{--bg: #f7f7f5;--panel: #ffffff;--border: #e2e1dd;--text: #24292f;--muted: #6b7280;--accent: #0b5cad;--accent-soft: #e7f0fa;--view-badge: #6d5bd0;--view-badge-soft: #efecfb;--table-badge: #1a7f5a;--table-badge-soft: #e6f4ee}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.6}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:24px;flex:none;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar h1{margin:0;padding:12px 0;font-size:16px}.tabs{display:flex;gap:4px}.tab{padding:12px 14px 10px;border:0;border-bottom:2px solid transparent;background:transparent;font:inherit;font-size:14px;color:var(--muted);cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.layout{display:flex;flex:1;min-height:0}.sidebar{width:340px;flex:none;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border)}.sidebar-head{padding:16px 16px 12px;border-bottom:1px solid var(--border)}.subtitle{margin:2px 0 10px;color:var(--muted);font-size:12px}.search{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;font-family:inherit}.search:focus{outline:2px solid var(--accent);outline-offset:-1px}.schema-list{overflow-y:auto;padding:8px 8px 24px}.schema-list section{margin-bottom:12px}.schema-name{margin:10px 8px 0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.schema-comment{margin:2px 8px 6px;font-size:12px;color:var(--muted)}.schema-list ul{list-style:none;margin:0;padding:0}.rel{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;font:inherit;text-align:left;cursor:pointer}.rel:hover{background:var(--bg)}.rel.selected{background:var(--accent-soft)}.rel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.badge{flex:none;padding:1px 7px;border-radius:999px;font-size:11px;line-height:1.5}.badge.table{color:var(--table-badge);background:var(--table-badge-soft)}.badge.view{color:var(--view-badge);background:var(--view-badge-soft)}.badge.partitioned{color:var(--muted);background:var(--bg);border:1px solid var(--border)}.detail{flex:1;overflow-y:auto;padding:28px 36px 48px}.detail-head h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.identity{max-width:760px;margin:0 0 14px;font-size:14.5px;white-space:pre-line}.meta{margin:0 0 20px;padding:10px 14px;max-width:760px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.meta-row{display:flex;gap:12px;padding:3px 0}.meta-row dt{flex:none;width:56px;color:var(--muted)}.meta-row dd{margin:0}.meta a{color:var(--accent);text-decoration:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.meta a:hover{text-decoration:underline}.columns{width:100%;max-width:980px;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:8px;overflow:hidden}.columns th,.columns td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.columns thead th{background:var(--bg);font-size:12px;color:var(--muted)}.columns tbody tr:last-child td{border-bottom:0}.col-name{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.pk{margin-left:6px;padding:0 5px;border-radius:4px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:700}.col-type{white-space:nowrap;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.col-comment{min-width:280px}.preview-card{position:fixed;z-index:10;width:380px;max-height:230px;overflow:hidden;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0000001f;pointer-events:none}.preview-name{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600}.preview-comment{margin:0 0 6px;font-size:12.5px;line-height:1.55;white-space:pre-line}.preview-cols{margin:0;font-size:11.5px}.company-layout{display:flex;flex:1;min-height:0}.company-list{overflow-y:auto;padding:6px 8px 24px}.company-row{display:flex;align-items:baseline;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;font:inherit;text-align:left;cursor:pointer}.company-row:hover{background:var(--bg)}.company-row.selected{background:var(--accent-soft)}.company-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.company-row-ticker{flex:none;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.company{flex:1;min-width:0;overflow-y:auto;padding:24px 28px 48px}.chart-panel{width:480px;flex:none;overflow-y:auto;padding:24px 20px;background:var(--panel);border-left:1px solid var(--border)}.chart-title{margin:0 0 2px;font-size:15px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chart-sub{margin:0 0 10px;font-size:12px;word-break:break-all}.chart-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);font:inherit;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);cursor:pointer}.chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chart-plot{position:relative}.chart-plot svg{display:block;width:100%;height:auto}.chart-plot .grid{stroke:var(--border);stroke-width:1}.chart-plot .tick{fill:var(--muted);font-size:11px}.chart-plot .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-plot .dot{fill:var(--accent);stroke:var(--panel);stroke-width:1.5}.chart-plot .dot.hover{stroke-width:2}.chart-plot .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);padding:3px 8px;background:var(--panel);border:1px solid var(--border);border-radius:6px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;pointer-events:none;box-shadow:0 3px 10px #00000014}.chart-note{margin:8px 0 0;font-size:11.5px}.rows tbody tr.plottable{cursor:pointer}.rows tbody tr.plottable:hover td{background:var(--accent-soft)}.ticker-form{display:flex;gap:8px;max-width:420px;margin-bottom:18px}.ticker-input{flex:1}.ticker-submit{padding:7px 16px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font:inherit;font-size:13px;cursor:pointer}.company-view{max-width:980px}.company-head h2{display:flex;align-items:baseline;gap:12px;margin:0 0 10px;font-size:20px}.company-cik{font-size:12.5px;font-weight:400;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.company-schema{margin-top:22px}.company-schema .schema-name{margin:0 0 8px}.dataset{padding:8px 0 10px;border-bottom:1px solid var(--border)}.dataset-head{display:flex;align-items:center;gap:8px;width:100%;padding:2px 0;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.dataset-head:disabled{cursor:default;opacity:.55}.dataset-arrow{width:14px;flex:none;color:var(--muted)}.dataset-head .rel-name{flex:none}.dataset-latest{margin-left:auto;color:var(--muted);font-size:12.5px}.dataset-comment{margin:2px 0 0 22px;color:var(--muted);font-size:12.5px}.rows-wrap{margin:10px 0 4px 22px}.rows-note{margin:0 0 6px;font-size:12px}.rows-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.rows{border-collapse:collapse;font-size:12.5px;white-space:nowrap}.rows th,.rows td{padding:5px 10px;border-bottom:1px solid var(--border);text-align:left;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.rows thead th{background:var(--bg);font-size:11.5px;color:var(--muted);position:sticky;top:0}.rows tbody tr:last-child td{border-bottom:0}.status{padding:32px;color:var(--muted)}.muted{color:var(--muted)}.error{color:#b42318}
