:root{color-scheme:light dark;--bg: #1e1f24;--panel: #2a2c34;--panel-2: #34363f;--border: #3d404b;--text: #e8e8ec;--muted: #9a9ca7;--accent: #5865f2}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);display:flex;flex-direction:column}header{padding:12px 20px;border-bottom:1px solid var(--border)}header h1{margin:0;font-size:18px;font-weight:600}main{flex:1;display:flex;flex-direction:column;padding:16px 20px;gap:12px;min-height:0}#drop-zone{margin:auto;border:2px dashed var(--border);border-radius:12px;padding:48px 32px;text-align:center;color:var(--muted);max-width:480px;transition:border-color .15s,background .15s}#drop-zone.dragover{border-color:var(--accent);background:#5865f21a}#drop-zone p{margin:8px 0}#drop-hint{font-size:12px;opacity:.75}.file-button{display:inline-block;margin-top:8px;padding:8px 18px;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font-weight:500}.file-button input{display:none}#app{flex:1;display:flex;flex-direction:column;min-height:0}#toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px}#toolbar button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px}#toolbar button:hover{background:var(--border)}#stats{color:var(--muted);font-size:13px}#chart-wrap{flex:1;position:relative;min-height:0;border:1px solid var(--border);border-radius:10px;background:var(--panel)}#chart{width:100%;height:100%}#detail-panel{position:fixed;right:16px;top:60px;width:340px;max-height:calc(100vh - 90px);overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0006;padding:16px}#detail-panel h2{margin:0 0 12px;font-size:15px}#detail-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--muted);font-size:20px;cursor:pointer;line-height:1}#detail-close:hover{color:var(--text)}#detail-list{margin:0}#detail-list dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-top:12px}#detail-list dt:first-child{margin-top:0}#detail-list dd{margin:4px 0 0;white-space:pre-wrap;word-break:break-word}#detail-list dd.empty{color:var(--muted);font-style:italic}#detail-list .attachment{display:block}#detail-list img.attachment{max-width:100%;border-radius:6px;margin-top:4px}
