body,html{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif}#__next,body,body>div,html{height:100%}.app{display:flex;height:100vh}.sidebar{width:340px;display:flex;flex-direction:column;border-right:1px solid #ddd;box-sizing:border-box;min-height:0}.sidebar-header{flex:0 0 auto;position:-webkit-sticky;position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e3e3e3;padding:12px 12px 10px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.sidebar-header h1{font-size:18px;margin:0}.lang-btn{flex:0 0 auto;font-size:12px;font-weight:600;padding:4px 10px;border:1px solid #ccc;border-radius:6px;background:#fafafa;color:#333;cursor:pointer}.lang-btn:hover{background:#eef3ff}.count{font-size:12px;color:#444;font-weight:600;margin-bottom:8px}.filters{display:flex;gap:6px}.filters select{flex:1 1;font-size:12px;padding:5px 6px;border:1px solid #ccc;border-radius:6px;background:#fafafa;color:#333}.list{flex:1 1 auto;overflow-y:auto;padding:10px 12px}.list,.main{min-height:0}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.map{flex:1 1;min-height:300px}.card{border:1px solid #e3e3e3;border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:pointer}.card:hover{background:#f6f9ff}.card b{font-size:13px}.card .meta{font-size:12px;color:#555;margin-top:2px}.tag{display:inline-block;font-size:10px;padding:1px 7px;border-radius:9px;color:#fff;margin-right:4px}.empty{font-size:13px;color:#777;padding:12px 4px}.timeline{display:none}@media (max-width:720px){.app,body,html{height:auto}.app{flex-direction:column;min-height:100vh}.sidebar{width:100%;border-right:none;border-bottom:1px solid #ddd}.list{max-height:32vh}.main,.map{flex:none}.map{height:45vh;min-height:45vh}.timeline{display:block;padding:12px 12px 24px;border-top:1px solid #ddd;background:#fff}.tl-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.tl-title{font-size:14px;font-weight:700}.tl-reset{flex:0 0 auto;font-size:11px;padding:3px 9px;border:1px solid #ccc;border-radius:6px;background:#fafafa;color:#333}.tl-reset:disabled{opacity:.4}.tl-axis{position:relative;height:16px;margin-left:38%;width:62%;box-sizing:border-box}.tl-month{position:absolute;top:0;font-size:10px;color:#666;text-align:center;overflow:hidden}.tl-chart{position:relative;touch-action:pan-y}.tl-todaylayer{left:38%;right:0;pointer-events:none;z-index:5}.tl-today,.tl-todaylayer{position:absolute;top:0;bottom:0}.tl-today{width:0;border-left:1px solid #e11d48}.tl-today i{position:absolute;top:-2px;left:3px;font-style:normal;font-size:9px;color:#e11d48;font-weight:700;white-space:nowrap}.tl-gridlayer{left:38%;right:0;pointer-events:none;z-index:0}.tl-grid,.tl-gridlayer{position:absolute;top:0;bottom:0}.tl-grid{width:0;border-left:1px dashed #ddd}.tl-row{display:flex;align-items:center;margin-bottom:5px;position:relative;z-index:1}.tl-name{width:38%;flex:0 0 38%;font-size:10px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:6px;box-sizing:border-box}.tl-track{position:relative;flex:1 1;background:#f4f4f4}.tl-bar,.tl-track{height:10px;border-radius:5px}.tl-bar{position:absolute;top:0;min-width:4px}}