:root{color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif}body{margin:0;background:#0f1311;color:#e7eee9}a{color:#7fd1a3}.wrap{max-width:1000px;margin:0 auto;padding:24px}.nav{display:flex;gap:16px;align-items:center;border-bottom:1px solid #243029;padding:12px 24px}.nav .spacer{flex:1}.card{background:#161d19;border:1px solid #243029;border-radius:12px;padding:16px;margin:16px 0}.btn{background:#2f7d52;color:#fff;border:0;border-radius:8px;padding:10px 18px;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #243029}th{color:#9fb3a8;font-weight:600}.muted{color:#9fb3a8}h1,h2{font-weight:650}img.avatar{width:28px;height:28px;border-radius:50%;vertical-align:middle}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#1c241f}.small{font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow:auto;z-index:100}.modal{position:relative;background:#161d19;border:1px solid #243029;border-radius:14px;padding:20px;max-width:960px;width:100%}.modal-close{position:absolute;top:12px;right:12px;background:#243029;color:#e7eee9;border:0;border-radius:8px;width:32px;height:32px;font-size:15px;cursor:pointer}.scan-viewer{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0}.scan-photo{flex:1 1 260px;max-width:360px;max-height:460px;object-fit:contain;border-radius:10px;background:#0f1311}.scan-mesh-wrap{flex:1 1 420px}.scan-mesh{width:100%;height:420px;border-radius:10px;overflow:hidden;background:#14161a}.scan-meas{margin-top:8px}.scan-meas td:last-child{text-align:right;font-variant-numeric:tabular-nums}.btn.small{padding:6px 12px;font-size:13px}.btn.ghost{background:#243029;color:#cfe6d8}.measure-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.measure-out{color:#ffc857;font-variant-numeric:tabular-nums;font-size:14px}.scan-photos{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 260px;align-content:flex-start}.scan-photo-fig{margin:0}.scan-photos .scan-photo{max-width:150px;max-height:220px}.scan-photo-fig figcaption{text-align:center;margin-top:2px}img.scan-photo.clickable{cursor:zoom-in}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:200;display:flex;align-items:center;justify-content:center;overflow:hidden}.lightbox-img{max-width:92vw;max-height:88vh;transform-origin:center center;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:6px}.lightbox-hint{position:absolute;bottom:14px;left:0;right:0;text-align:center}.lightbox-stage{position:relative;display:inline-block;transform-origin:center center}.lightbox-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.lightbox-bar{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;background:#14161ae6;border:1px solid #243029;border-radius:10px;padding:8px 12px;max-width:92vw}.ref-input{width:60px;background:#0f1311;color:#e7eee9;border:1px solid #243029;border-radius:6px;padding:4px 6px}.meas-form{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:12px 0}.meas-form label{display:flex;flex-direction:column;font-size:12px;color:#9fb3a8;gap:3px}.meas-form input{background:#0f1311;color:#e7eee9;border:1px solid #243029;border-radius:6px;padding:6px 8px}.meas-field input{width:70px}.meas-notes{flex:1 1 160px}.meas-notes input{min-width:140px}.angle-tabs{display:flex;gap:8px;margin:10px 0}.overlay-picks{display:flex;gap:16px;margin:10px 0}.overlay-picks label{display:flex;flex-direction:column;font-size:12px;color:#9fb3a8;gap:3px}.overlay-picks select{background:#0f1311;color:#e7eee9;border:1px solid #243029;border-radius:6px;padding:6px 8px}.overlay-stage{position:relative;width:320px;max-width:100%;margin:8px 0;background:#0f1311;border-radius:10px}.overlay-img{width:100%;display:block;border-radius:10px}.overlay-top{position:absolute;top:0;right:0;bottom:0;left:0}.overlay-slider{display:flex;align-items:center;gap:12px;max-width:360px}.overlay-slider input[type=range]{flex:1}.cal-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:8px 0 2px}
