.obs-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.obs-overlay.obs-marking{pointer-events:auto;cursor:crosshair;outline:2px solid #c3f777;outline-offset:-2px;background:#c3f77708;touch-action:manipulation}
.obs-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:25px;height:25px;border:2px solid #fff;border-radius:50%;background:#beee68;color:#1c2812;font-size:13px;box-shadow:0 2px 10px #0009;z-index:3}
.obs-draft-pin{background:#f5c764;color:#211b0e;font-weight:700}.obs-hot{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:radial-gradient(circle,#ffdf72 0,#ff9353aa 33%,#ff4c4300 75%);filter:blur(2px);z-index:1}
.obs-panel{padding:16px 20px 20px;background:#181c20;border-top:1px solid #30363a}.obs-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.obs-heading strong{font-size:13px;color:#e7f2dc}.obs-heading span,.obs-explain,.obs-status,.obs-heat-info{color:#a9b6ad;font-size:11px;line-height:1.7}.obs-explain{margin:7px 0}.obs-status{color:#c3f777;min-height:1em}.obs-form{display:grid;gap:10px;padding:12px;margin:12px 0;border:1px solid #3c4d36;border-radius:9px;background:#20281e}.obs-form[hidden]{display:none}.obs-form>b{color:#dcebd0}.obs-form label:not(.obs-consent){display:grid;gap:6px;color:#c8d2c7}.obs-form input[type=text]{width:100%;padding:10px;border:1px solid #53604f;border-radius:6px;background:#131814;color:#f2f5f1}.obs-consent{display:flex;gap:8px;align-items:flex-start;color:#c3ccc1;font-size:11px}.obs-consent input{flex:none;accent-color:#bbed76;margin-top:3px}.obs-actions{display:flex;gap:10px;flex-wrap:wrap}.obs-actions button,.obs-delete,.obs-seek,.obs-start{min-height:40px}.obs-list>b{display:block;margin:14px 0 4px;color:#e0eadc}.obs-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #333b34}.obs-note{overflow-wrap:anywhere;color:#e2e9df;font-size:12px}.obs-note small{color:#9cad9a;font-size:10px}.obs-seek,.obs-delete{border:1px solid #415043;border-radius:6px;padding:5px 9px;background:#252d25;color:#c6ec9d;font-size:11px}.obs-heat-info{margin-top:12px;padding-top:10px;border-top:1px solid #313b32}
@media(max-width:760px){.obs-panel{padding:14px 15px}.obs-heading{align-items:flex-start}.obs-row{gap:7px}.obs-seek,.obs-delete{font-size:11px}.obs-hot{width:34px;height:34px}}
