*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f6fa;color:#1f2937}
header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#0f2a4a;color:#fff;flex-wrap:wrap}
header a{color:#cfe1ff;text-decoration:none;font-size:14px}header h1{font-size:16px;margin:0 6px 0 0}
#tabs{display:flex;gap:4px;overflow-x:auto;padding:6px 8px;background:#e6ebf3;border-bottom:1px solid #cdd5e1}
#tabs button{white-space:nowrap;border:1px solid #b8c3d4;background:#fff;border-radius:16px;padding:5px 12px;font-size:13px;cursor:pointer}
#tabs button.on{background:#2a6fdb;color:#fff;border-color:#2a6fdb}
#bar{display:flex;gap:4px;flex-wrap:wrap;padding:6px 8px;background:#fff;border-bottom:1px solid #dde3ec}
#bar button,#bar select{border:1px solid #c9d2df;background:#f8fafc;border-radius:6px;padding:6px 9px;font-size:13px;cursor:pointer;min-height:34px}
#bar button:hover{background:#eaf1fd}#bar .sep{width:1px;background:#dde3ec;margin:0 3px}
#bar .sw{width:26px;padding:0;border-radius:50%}
#wrap{position:absolute;left:0;right:0;bottom:0;overflow:hidden;touch-action:none}
svg#cv{width:100%;height:100%;display:block;background:#fbfcfe;cursor:grab;user-select:none;-webkit-user-select:none}
#hint{position:absolute;left:8px;bottom:8px;font-size:12px;color:#64748b;background:#ffffffd0;padding:4px 8px;border-radius:6px;pointer-events:none}
#ed{position:absolute;display:none;z-index:5;background:#fff;border:2px solid #2a6fdb;border-radius:8px;padding:6px;box-shadow:0 6px 20px #0003}
#ed textarea{width:240px;height:80px;font:14px system-ui}#ed div{display:flex;gap:6px;margin-top:4px;justify-content:flex-end}
.home{max-width:820px;margin:0 auto;padding:20px}.home a.card{display:block;background:#fff;border:1px solid #dde3ec;border-radius:12px;padding:16px;margin:12px 0;text-decoration:none;color:#1f2937;box-shadow:0 1px 3px #0001}
.home a.card b{font-size:18px;color:#0f2a4a}.home a.card span{display:block;color:#64748b;font-size:14px;margin-top:4px}
@media print{header,#tabs,#bar,#hint{display:none!important}#wrap{position:static;height:100vh}}
@media (max-width:640px){header h1{font-size:14px}header span{display:none}#bar{gap:3px;padding:4px}#bar button,#bar select{padding:3px 6px;font-size:12px;min-height:30px}#bar .sw{width:22px;min-height:22px;height:22px}#bar .sep{display:none}#hint{font-size:10px}#tabs button{font-size:12px;padding:4px 9px}}
