:root{--gold:#d89f1f;--ink:#2c2923;--line:#dfd9cd;--muted:#766f60}*{box-sizing:border-box}body{margin:0;font:13px/1.55 Arial,sans-serif;background:#f4f1eb;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:inherit}button:hover{border-color:#c99b40;background:#fff7e4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}header{background:#000;border-bottom:3px solid var(--gold);display:flex;align-items:center;gap:24px;padding:0 26px;height:100px;color:#efd28b}header img{width:160px;height:90px;object-fit:cover}header strong{font-size:12px;letter-spacing:1.5px}header small{display:block;font-size:8px;color:#bdae8b;letter-spacing:1px;margin-top:6px}header nav{margin-left:auto;display:flex;gap:18px}a{color:#8d6619}header a{color:#ebcb80;font-size:11px;text-decoration:none}.notice{padding:9px 26px;background:#fff1cf;color:#725b29;font-size:10px}.notice b{margin-left:8px}main{max-width:1900px;margin:auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:20px}.viewer{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;align-self:start}.viewer-head{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:10px}.eyebrow{font-size:8px;color:#917447;letter-spacing:1.5px;font-weight:bold}h1{font-size:22px;letter-spacing:-.5px;margin:6px 0 0}.view-controls{display:flex;gap:5px}.view-controls button{font-size:10px;padding:8px 10px}.scope-strip{display:flex;gap:7px;padding:10px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f6f0}.scope-strip button{display:flex;gap:8px;align-items:center;padding:6px 12px}.scope-strip button>b{font-size:18px}.scope-strip button>span{font-size:9px}.scope-strip button.active{background:#30291b;color:#f7d98b;border-color:#30291b}.scope-strip select{margin-left:auto;max-width:220px;font-size:10px;border:1px solid var(--line);border-radius:5px;background:white;padding:8px}#stage{height:620px;position:relative;background:radial-gradient(ellipse at 50% 45%,#f6f4ed,#dddcd2);overflow:hidden}#model{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;line-height:1.2;pointer-events:none;font-weight:bold}.label.floor{font-size:10px;color:#3f372a;background:#ffffffed;border:1px solid #d3c4a2;padding:5px 8px;border-radius:5px;box-shadow:0 2px 7px #0001}.label.camera{font-size:8px;color:white;border-radius:3px;padding:2px 4px;box-shadow:0 1px 3px #0002}.label.selected{font-size:10px;border:2px solid #222;z-index:4}.stage-badge{position:absolute;top:15px;left:16px;background:#fffffff0;padding:7px 10px;border:1px solid var(--line);border-radius:5px;font-size:8px;letter-spacing:1px;pointer-events:none}.stage-badge i{display:inline-block;width:5px;height:5px;background:#9e7622;border-radius:50%;margin-right:6px}.stage-tools{position:absolute;right:13px;top:15px;display:flex;flex-direction:column;gap:5px}.stage-tools button{font-size:18px;line-height:1;padding:8px 10px}.stage-help{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:9px;color:#6a6252;background:#ffffffe0;padding:5px 9px;border-radius:4px;white-space:nowrap;pointer-events:none}.model-options{display:flex;gap:18px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);font-size:10px}.model-options label{display:flex;gap:5px;align-items:center}.model-options input{accent-color:#9b7727}.caption{font-size:10px;line-height:1.65;padding:0 18px 14px;color:var(--muted)}.counts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#faf8f3}.counts>div{padding:15px;border-right:1px solid var(--line)}.counts b{font-size:25px;display:inline-block;margin-left:7px}.counts span{display:block;font-size:9px;color:var(--muted)}.counts i{width:7px;height:7px;border-radius:50%;display:inline-block}.red{background:#cb4848}.blue{background:#2b719d}.gold{background:#c48d24}.green{background:#2b7e69}aside{display:flex;flex-direction:column;gap:16px}.inspector,.register,.basis{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.inspector{border-top:3px solid var(--gold)}.inspector h2{font-size:17px;line-height:1.4;margin:10px 0}.inspector p{font-size:11px;line-height:1.8;color:var(--muted)}.inspector .flag{background:#fff0cf;border-radius:5px;padding:10px;color:#856122}#cameraNav{display:flex;gap:7px;margin-top:12px}#cameraNav button{font-size:10px;flex:1}.register{padding:16px}.register-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.register-title b{font-size:9px;font-weight:normal;color:var(--muted)}.register input{border:1px solid var(--line);padding:10px;border-radius:6px;width:100%;font-size:11px}#cameraList{max-height:320px;overflow:auto;margin:10px 0}#cameraList button{border:0;border-bottom:1px solid #e9e3d8;border-radius:0;width:100%;padding:9px 4px;display:flex;gap:9px;text-align:left;align-items:flex-start;background:white}#cameraList button.active{background:#fff2d5}#cameraList b{font-size:10px;white-space:nowrap;min-width:48px}#cameraList span{font-size:10px;color:#776b56}#export{font-size:10px;width:100%}.basis{font-size:10px;color:var(--muted);line-height:1.8}.basis b{color:var(--ink);font-size:11px}.basis a{font-size:10px}footer{background:#15130e;color:#b5a786;padding:20px 26px;font-size:10px}#error{background:white;position:absolute;inset:25% 10%;padding:20px;height:max-content}dialog{max-width:600px;width:calc(100% - 30px);border:0;border-radius:10px;padding:22px;color:var(--ink)}dialog::backdrop{background:#211b1388;backdrop-filter:blur(3px)}.dialog-head{display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:2px solid var(--gold);margin-bottom:15px;padding-bottom:12px}.dialog-head h2{font-size:18px;margin:0}.dialog-head button{border:0;font-size:23px;padding:3px 10px}#dialogBody{font-size:12px;line-height:1.8}body.expanded .viewer{position:fixed;inset:8px;z-index:20;display:flex;flex-direction:column}body.expanded #stage{flex:1;min-height:0}body.expanded .caption,body.expanded .counts{display:none}
@media(min-width:1550px){#stage{height:720px}}@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 270px;padding:18px;gap:15px}.scope-strip{flex-wrap:wrap}.scope-strip select{flex:1;max-width:none}#stage{height:590px}.viewer-head{padding:15px}h1{font-size:19px}.viewer-head .view-controls button{font-size:9px;padding:7px 8px}.model-options{gap:8px 15px}}@media(max-width:760px){header{padding:0 12px;height:84px;gap:8px}header img{width:120px;height:76px}header strong{font-size:10px;letter-spacing:.5px}header small{font-size:7px;letter-spacing:.4px}header nav{display:none}.notice{padding:8px 13px;font-size:9px}.notice b{display:block;margin-left:0}main{display:flex;flex-direction:column;padding:12px;gap:15px}.viewer{width:100%}.viewer-head{display:block;padding:13px}.viewer-head h1{font-size:19px}.view-controls{margin-top:10px}.view-controls button{flex:1}.scope-strip{padding:8px;gap:5px}.scope-strip button{flex:1;padding:6px 8px;gap:6px}.scope-strip button b{font-size:19px}.scope-strip button span{font-size:8px}.scope-strip select{margin:3px 0 0;width:100%;flex-basis:100%;padding:9px}#stage{height:500px}.stage-badge{font-size:7px;top:10px;left:10px}.stage-help{font-size:8px;max-width:95%;white-space:normal;text-align:center}.stage-tools{top:43px;right:8px}.model-options{font-size:9px;padding:11px;gap:8px 12px}.caption{padding:0 12px 12px;font-size:9px}.counts>div{padding:10px 6px}.counts b{font-size:22px}.counts span{font-size:8px}.counts i{width:5px;height:5px}.label.floor{font-size:8px;padding:4px 6px}.label.camera{font-size:7px}.label.selected{font-size:9px}aside{width:100%}.register{order:-1}#cameraList{max-height:250px}.inspector{padding:16px}.basis{padding:15px}footer{font-size:9px;padding:15px}}

[hidden]{display:none!important}
