:root{font-family:"PingFang TC","Microsoft JhengHei",sans-serif;color:#213f38;background:#f4f7f7;font-size:15px}*{box-sizing:border-box}body{margin:0}header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px;background:white;border-bottom:1px solid #c7d8d3}header strong{font-size:20px}header strong span{font-size:15px;font-weight:400;margin-left:14px}a{color:#276b68;text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit}button,select{background:white;color:#284f48;border:1px solid #bed0ca;border-radius:5px;padding:10px 12px;min-height:44px;cursor:pointer}button:hover{background:#e3f0ec}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2e8f91;outline-offset:3px}main{display:grid;grid-template-columns:240px minmax(450px,1fr) 300px;min-height:calc(100vh - 78px)}aside{padding:22px;background:white}h1{font-size:25px;margin:0 0 12px}h2{font-size:17px;margin:20px 0 10px}p,li{line-height:1.8}p{margin:8px 0 18px}label{display:block}.catalog input{width:100%;margin:8px 0 14px;padding:11px;border:1px solid #bed0ca;border-radius:5px}#venues{max-height:42vh;overflow:auto}#venues button,#observations button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e2eae7;border-radius:0;font-size:14px}.small{font-size:12px;color:#627a71}.viewport{min-width:0;padding:16px;background:#eaf1f0}.toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar label{font-size:13px}.toolbar select{margin-left:7px}#stage{position:relative;height:calc(100vh - 227px);min-height:560px;background:#d4e5e9;overflow:hidden;border:1px solid #bed0ca;border-radius:9px}canvas{display:block;touch-action:none;width:100%;height:100%}#loading{position:absolute;top:45%;left:25%;right:25%;text-align:center;background:white;padding:20px;z-index:5}#map-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-label{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;color:#183e35;background:#ffffffdd;border:1px solid #b5c9bf;font-size:11px;padding:2px 5px;border-radius:3px}.camera-tools{position:absolute;right:12px;top:12px;display:grid;gap:6px}.camera-tools button{font-size:12px}.help{position:absolute;left:12px;bottom:38px;background:#ffffffdd;font-size:12px;line-height:1.8;padding:8px 11px;border-radius:4px}.attribution{position:absolute;bottom:0;left:0;right:0;background:#ffffffdd;font-size:11px;padding:5px 10px}#orientation{position:absolute;left:12px;top:12px;background:#ffffffdd;padding:8px;font-size:12px}.limit{font-size:12px;margin:12px 0 0;color:#4b6b63}.inspector{border-left:1px solid #c7d8d3}.inspector img{width:100%;max-height:220px;object-fit:contain;background:#eef3f1}.inspector a{display:block;margin:10px 0;font-size:13px}.tag{background:#e7eee4;font-size:12px;padding:5px 9px;display:inline-block;border-radius:3px}.record-guide{border-top:1px solid #dce5e1;margin-top:25px;padding-top:10px}.record-guide ul{padding-left:18px;font-size:13px}.height-form{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.height-form input{width:90px;padding:8px}.height-form output{width:100%;font-size:12px}#detail h2{margin-top:0}@media(max-width:1200px){main{grid-template-columns:210px 1fr}.inspector{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:28px}.record-guide{margin-top:0;border:0}header strong span{display:none}}@media(max-width:720px){header{padding:12px;flex-wrap:wrap}header strong{font-size:17px}main{display:flex;flex-direction:column}.catalog{padding:16px}#venues{max-height:120px;display:grid;grid-template-columns:1fr 1fr}#observations{display:flex;flex-wrap:wrap}#observations button{width:auto}.catalog h1{font-size:23px}.viewport{padding:10px}#stage{height:65vh;min-height:440px}.inspector{display:block}.toolbar{gap:8px}.toolbar select{font-size:12px}.map-label{font-size:10px}.help{font-size:10px}.camera-tools{gap:3px}.camera-tools button{min-height:36px;padding:5px 8px}.attribution{font-size:9px}}

#observations{max-height:36vh;overflow:auto}
