:root{color-scheme:light;--navy:#332d24;--ink:#343028;--muted:#776f62;--line:#e3ddd2;--surface:#f6f4ef;--teal:#6b593b;--orange:#b9851f;--shadow:0 3px 16px #183c5510}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif}button,select,input{font:inherit}button,select,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;font-weight:600;transition:background .15s,border-color .15s}button:hover{background:#f2eee5;border-color:#bcae93}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b9851f;outline-offset:2px}a{color:var(--teal)}[hidden]{display:none!important}.app-header{padding:20px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#75d7d6;font-size:28px}.eyebrow{margin:0 0 3px;font-size:11px;letter-spacing:.06em;font-weight:650;color:var(--muted)}h1{font-size:23px;letter-spacing:.025em;line-height:1.35;margin:0}h2{font-size:18px;margin:0;font-weight:700}.header-actions{display:flex;align-items:center;gap:10px}.primary-btn{background:var(--teal);color:#fff;border-color:var(--teal);padding:10px 16px}.primary-btn:hover{background:#514327;border-color:#514327}.quiet-btn{padding:8px 12px}.local-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap;margin-right:4px}.local-badge i{width:6px;height:6px;background:#36a18e;border-radius:50%}main{max-width:1920px;margin:auto;padding:18px 24px 14px}.purpose-note{display:flex;gap:22px;align-items:center;margin-bottom:16px;padding:12px 16px;background:#f2eee5;border:1px solid #e2d8c5;border-left:4px solid var(--teal);border-radius:6px}.purpose-note strong{font-size:13px;white-space:nowrap}.purpose-note span{font-size:12px;color:#736650}.workspace{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}.workspace-toolbar{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.tool-modes{display:flex;gap:5px}.mode-btn{padding:8px 12px;border-color:transparent;background:#f3efe7;font-size:12px}.mode-btn.active{background:var(--navy);color:#fff}.view-controls{display:flex;gap:14px;align-items:center;font-size:12px}.compact-label{display:flex;align-items:center;gap:7px;color:var(--muted)}select{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:5px;padding:6px 22px 6px 8px;max-width:100%}.check-label{display:flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;font-size:12px}input[type=checkbox]{accent-color:var(--teal);margin:0;width:14px;height:14px}.draw-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 15px;background:#faf8f4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:45px}.draw-bar>span{font-size:12px;color:var(--muted)}.draft-actions{display:flex;gap:5px}.small-btn{font-size:11px;padding:5px 10px;white-space:nowrap}.map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.map-panel{min-width:0;background:#fff}.panel-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;min-height:56px}.panel-label{display:flex;align-items:center;gap:9px;min-width:0}.panel-number{font-size:11px;color:#8aa2b0;font-weight:750}.panel-label select{font-weight:700;font-size:13px;border-color:transparent;padding-left:0;max-width:280px}.opacity-label{display:flex;gap:7px;align-items:center;font-size:10px;white-space:nowrap;color:var(--muted)}.opacity-label input{width:75px;accent-color:var(--teal)}.opacity-label output{font-variant-numeric:tabular-nums;width:33px;color:var(--ink)}.map-wrap{position:relative}.map{height:59vh;min-height:440px;max-height:820px;background:#e8e5dd}.map.crosshair-mode{cursor:crosshair}.north{position:absolute;z-index:450;top:12px;right:13px;text-align:center;background:#fffffff2;border:1px solid #cad7df;box-shadow:0 1px 5px #34302822;border-radius:6px;width:31px;padding:3px 0;font-size:10px;font-weight:750;pointer-events:none}.north span{display:block;font-size:23px;line-height:23px}.map-corner-label{position:absolute;left:10px;bottom:28px;z-index:450;max-width:85%;padding:3px 7px;background:#fffffff0;color:#38576b;font-size:10px;border-radius:3px;pointer-events:none}.tile-warning{position:absolute;left:10px;right:10px;top:10px;z-index:500;background:#fff6da;padding:7px 10px;font-size:11px;border-radius:5px;border:1px solid #e8d8a9}.coordinate-bar{padding:11px 15px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line)}.coordinate-main{display:flex;align-items:center;gap:13px;flex-wrap:wrap}.coordinate-main>span:first-child{font-size:11px;font-weight:650;color:var(--muted)}#coordinateValue{font:600 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}#selectedHint{font-size:10px;color:#8195a1}.coordinate-actions{display:flex;align-items:center;gap:7px}.text-link{font-size:11px;margin-left:8px;text-decoration:none;white-space:nowrap}.text-link:hover{text-decoration:underline}.details-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(430px,1.15fr);gap:16px;margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:var(--shadow);min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.count-badge,.tag{background:#eee8dc;color:#716044;font-size:11px;font-weight:650;border-radius:5px;padding:4px 9px}.reference-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:#faf8f3;border:1px solid #e7e1d5;border-radius:6px}.field-label{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.field-label small{font-weight:400;font-size:10px;margin-left:8px;color:#8295a1}.reference-row strong{font-size:12px;font-weight:600}.icon-btn{width:25px;height:25px;padding:0;font-size:17px;line-height:22px;color:#6d8390}.ring-toggle{margin:12px 0 15px;color:var(--muted)}.measure-summary{margin-bottom:10px;display:flex;flex-wrap:wrap;gap:6px;padding:9px 11px;background:#fff6e9;border:1px solid #f0dec3;border-radius:6px;font-size:12px}.record-list{max-height:270px;overflow:auto}.empty-state{color:#8a8070;font-size:12px;text-align:center;margin:20px 0 24px;line-height:1.9}.record{display:grid;grid-template-columns:25px minmax(0,1fr) 26px;gap:9px;padding:10px 0;border-top:1px solid #e8e1d6;align-items:start}.record:first-child{border-top:0}.record-symbol{width:24px;height:24px;display:grid;place-items:center;background:#f1eadd;color:var(--teal);border-radius:6px;font-size:16px}.record.polygon .record-symbol{color:#ba702a;background:#fff3e3}.record strong{display:block;font-size:12px;margin-bottom:2px}.record p{margin:0;font-size:11px;color:var(--muted);line-height:1.7}.record .record-focus{all:unset;cursor:pointer;display:block;width:100%}.record .record-focus:hover strong{color:var(--teal)}.storage-note{border-top:1px solid var(--line);padding-top:10px;margin-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8496a2}.text-button{background:none;border:0;color:#82745e;text-decoration:underline;padding:0;font-size:10px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:12px}th,td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #e7e0d5;line-height:1.7;overflow-wrap:anywhere}thead th{background:#f4f0e8;font-size:11px;font-weight:650;color:#6d604a}thead th:first-child{width:95px}tbody th{font-size:11px;font-weight:500;color:var(--muted)}td{color:#463e32}.table-note{font-size:11px;color:#718895;margin:12px 0}.quality-note{display:flex;gap:15px;padding:12px 13px;background:#f7f9fa;border-radius:6px}.quality-note>span{font-size:10px;white-space:nowrap;color:#7b8e99;margin-top:2px}.quality-note p{font-size:11px;color:#607985;margin:0;line-height:1.8}footer{padding:15px 3px 0;font-size:10px;color:#8295a0}footer a{color:#69818f}.footer-right{float:right}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:2000;background:#514327;color:#fff;box-shadow:0 3px 15px #0003;padding:11px 18px;border-radius:8px;font-size:13px;max-width:90vw}.fatal-error{margin:20px;padding:20px;background:#fff1dd;color:#804d1b}.leaflet-control-attribution{font-size:9px!important;background:#ffffffdf!important}.leaflet-control-scale{margin-bottom:5px!important}.leaflet-control-zoom{border:1px solid #c9d5df!important;border-radius:7px!important;overflow:hidden;box-shadow:0 1px 4px #34302822!important}.leaflet-control-zoom a{color:var(--navy)!important}.leaflet-popup-content{font:12px/1.7 -apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;min-width:160px}.sync-cross{width:22px;height:22px;position:relative;filter:drop-shadow(0 0 2px white);pointer-events:none}.sync-cross:before,.sync-cross:after{content:"";position:absolute;background:#b9851f}.sync-cross:before{height:2px;width:22px;top:10px;left:0}.sync-cross:after{width:2px;height:22px;left:10px;top:0}.grid-label{font:10px/1.2 ui-monospace,Consolas,monospace;white-space:nowrap;color:#173b50;background:#ffffffe0;border:1px solid #ffffff80;border-radius:2px;width:max-content!important;padding:2px 3px;pointer-events:none}.reference-label{background:#332d24;color:white;border:1px solid white;border-radius:4px;padding:2px 6px;font-size:10px;white-space:nowrap}.ring-label{background:#ffffffe8;color:#514327;border:1px solid #d2c5ad;font:10px/1.3 ui-monospace,Consolas,monospace;border-radius:3px;padding:1px 4px;white-space:nowrap}.shape-label{background:#ffffffed;color:#935a20;border:1px solid #dfba87;font-size:10px;border-radius:4px;padding:2px 5px;white-space:nowrap}.pin-label{background:#6b593b;color:white;border:1px solid white;border-radius:50%;height:22px;width:22px;text-align:center;line-height:20px;font-size:10px;font-weight:700}.draft-dot-label{background:#fff;color:#8a531f;font-size:9px;white-space:nowrap;border:1px solid #d3bc90;padding:1px 3px;border-radius:3px}@media(max-width:1250px){.app-header{padding:17px 22px}h1{font-size:21px}.local-badge{display:none}.workspace-toolbar{gap:11px}.view-controls{gap:10px}.purpose-note{display:block}.purpose-note span{display:block;margin-top:3px}.panel-controls{flex-wrap:wrap;gap:5px;padding:9px 11px}.panel-label{width:100%}.panel-label select{max-width:100%}.opacity-label{margin-left:24px}.opacity-label input{width:110px}.map{height:56vh}.details-grid{grid-template-columns:minmax(280px,.85fr) minmax(400px,1.15fr)}.coordinate-main{gap:7px}.coordinate-actions .text-link{font-size:10px}}@media(max-width:900px){main{padding:12px}.app-header{padding:14px 17px;align-items:flex-start}.brand-icon{display:none}h1{font-size:20px}.header-actions{gap:5px}.header-actions button{font-size:11px;padding:8px 10px}.eyebrow{font-size:10px}.details-grid{grid-template-columns:1fr}.tool-modes{flex-wrap:wrap}.view-controls{flex-wrap:wrap}.mode-btn{padding:7px 9px}.map{min-height:380px;height:48vh}.coordinate-bar{align-items:flex-start;flex-wrap:wrap}.coordinate-actions{width:100%;justify-content:flex-end}.map-corner-label{max-width:95%;font-size:9px}.draw-bar{align-items:flex-start;flex-wrap:wrap}.draft-actions{margin-left:auto}.footer-right{display:block;float:none;margin-top:4px}}@media(max-width:649px){.app-header{display:block}.header-actions{margin-top:11px;justify-content:flex-end}.map-grid{grid-template-columns:1fr}.map{height:54vh;min-height:340px}.panel-controls{flex-wrap:nowrap}.panel-label{width:auto}.opacity-label{margin-left:0}.opacity-label input{width:60px}.map-panel+.map-panel{border-top:2px solid #abc3cc}.purpose-note strong{white-space:normal}.workspace-toolbar{padding:10px}.tool-modes{display:grid;grid-template-columns:1fr 1fr;width:100%}.mode-btn{font-size:12px}.view-controls{font-size:10px;gap:10px}.check-label{font-size:11px}.coordinate-actions{flex-wrap:wrap;justify-content:flex-start}.card{padding:16px}th,td{padding:9px 7px}thead th:first-child{width:70px}.quality-note{display:block}.quality-note>span{display:block;margin-bottom:4px}.map-corner-label{font-size:10px}.reference-row strong{font-size:11px}.field-label small{margin-left:3px;font-size:9px}}@media print{@page{size:A3 landscape;margin:10mm}body{background:white;font-size:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-header{padding:0 0 10px;border:0}.header-actions,.workspace-toolbar,.draw-bar,.coordinate-actions,.storage-note,.icon-btn,.ring-toggle,.tile-warning,.leaflet-control-zoom{display:none!important}main{padding:0}.purpose-note{padding:7px 10px;margin-bottom:8px}.map-grid{grid-template-columns:1fr 1fr}.map{height:135mm!important;min-height:0;max-height:none}.panel-controls{min-height:40px;padding:7px}.opacity-label{font-size:10px}.opacity-label input{display:none}.panel-label select{appearance:none;border:0}.map-corner-label{bottom:30px}.coordinate-bar{padding:6px 10px}.details-grid{margin-top:10px;gap:10px;grid-template-columns:1fr 1.25fr}.card{padding:10px;break-inside:avoid}.card-heading{margin-bottom:8px}.record-list{max-height:none}.quality-note{padding:7px}.card,.workspace{box-shadow:none}.table-note{margin:7px 0}.record{padding:5px 0}th,td{padding:5px 7px}.reference-row{padding:7px}.record-count{font-size:10px}footer{padding-top:7px}.toast{display:none!important}h1{font-size:19px}h2{font-size:14px}.north{right:10px}.empty-state{margin:8px 0}.panel-label{width:auto}.footer-right{float:right}}

/* Tohoku Drone: official-site charcoal, bronze and gold. */
:root{--navy:#332d24;--ink:#343028;--muted:#776f62;--line:#e3ddd2;--surface:#f6f4ef;--teal:#6b593b;--orange:#b9851f;--shadow:0 4px 22px #51432708}
body{background:#f6f4ef}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
button:hover{background:#f2eee5;border-color:#bcae93}
button:disabled{opacity:.38}
button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #b9851f;outline-offset:3px}
.app-header{border-top:4px solid #6b593b;padding:20px 30px;gap:24px;background:#fffefa}
.brand{gap:24px;min-width:0}
.company-logo{display:block;object-fit:contain;width:218px;height:auto;flex:0 0 auto}
.app-heading{border-left:1px solid #e3ddd2;padding-left:24px;min-width:0}
.app-heading h1{font-size:21px;color:#332d24;letter-spacing:.02em;white-space:nowrap}
.eyebrow{color:#877756;font-weight:600}
.header-actions{flex-shrink:0}
.primary-btn{background:#6b593b;border-color:#6b593b;color:#fffefa}
.primary-btn:hover{background:#514327;border-color:#514327}
.privacy-badge{display:flex;align-items:center;gap:6px;color:#77674e;font-size:11px;white-space:nowrap;margin-right:10px}
.privacy-badge .icon{width:15px;height:15px;flex-basis:15px}
main{max-width:1920px;padding-top:22px}
.welcome-panel{max-width:1100px;display:grid;grid-template-columns:1.2fr 1fr;margin:30px auto 50px;background:#fffefa;border:1px solid #e1d8c8;border-radius:20px;overflow:hidden;box-shadow:0 8px 36px #51432708}
.welcome-copy{padding:48px 24px 28px 56px}
.welcome-kicker{display:flex;align-items:center;gap:8px;font-size:11px;color:#81704e;letter-spacing:.07em;margin-bottom:20px}
.status-dot{width:7px;height:7px;background:#b9851f;border-radius:50%}
.welcome-copy h2{font-size:35px;line-height:1.65;letter-spacing:.045em;color:#332d24;font-weight:750}
.welcome-description{font-size:14px;color:#7c7364;line-height:1.95;margin:19px 0 27px}
.file-picker{display:inline-flex;align-items:center;justify-content:center;gap:10px;position:relative;background:#6b593b;color:#fffefa;font-size:14px;font-weight:650;border-radius:9px;padding:13px 23px;cursor:pointer;box-shadow:0 3px 8px #6b593b14;overflow:hidden}
.file-picker:hover{background:#514327}
.file-picker:focus-within{outline:3px solid #b9851f;outline-offset:4px}
.file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-picker:has(input:disabled){opacity:.45;cursor:wait}
.file-hint{font-size:11px;color:#8a8070;margin:11px 0 0;line-height:1.7}
.load-status{color:#765b30;font-size:12px;line-height:1.7;margin:12px 0 0;min-height:21px;overflow-wrap:anywhere}
.load-status.error{color:#9a3c2d}
.welcome-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:40px 35px;overflow:hidden}
.welcome-visual img{position:relative;z-index:1;width:180px;height:180px;transform:rotate(-5deg);filter:drop-shadow(0 12px 18px #79603912)}
.orbit{position:absolute;border:1px solid #e8dfce;border-radius:50%;pointer-events:none}
.orbit-one{width:280px;height:280px}
.orbit-two{width:365px;height:365px;border-style:dashed;border-color:#eee7da}
.visual-label{position:relative;z-index:1;color:#9b896a;font-size:11px;letter-spacing:.06em;background:#fffefa;padding:5px 10px}
.privacy-summary{grid-column:1/-1;display:flex;align-items:flex-start;gap:11px;border-top:1px solid #e8e0d2;background:#f9f6ef;padding:20px 28px}
.privacy-summary>.icon{margin-top:3px;color:#8a744b}
.privacy-summary strong{font-size:12px;font-weight:650;color:#6c5a39}
.privacy-summary p{font-size:11px;color:#897b65;line-height:1.8;margin:3px 0 0}
.project-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 2px 19px}
.project-bar>div{display:flex;align-items:center;gap:11px;min-width:0}
.project-marker{background:#eee5d3;color:#7e683f;border-radius:10px;width:39px;height:39px;display:grid;place-items:center;flex-shrink:0}
.project-bar h2{font-size:17px;line-height:1.5;color:#4f442f;overflow-wrap:anywhere}
.project-bar button{font-size:12px;flex-shrink:0}
.purpose-note{background:#f1ece1;border:1px solid #e6ddca;border-left:4px solid #b9851f}
.purpose-note span{color:#7a6a50}
.mode-btn.active{background:#6b593b;color:#fffefa}
.mode-btn .icon{width:17px;height:17px;flex-basis:17px}
.external-map-note{font-size:10px;color:#8c7b60;background:#fffefa;margin:0;padding:0 16px 10px;line-height:1.65}
.workspace-toolbar{padding-bottom:9px}
.map{background-color:#eae7df;background-image:linear-gradient(#a5967712 1px,transparent 1px),linear-gradient(90deg,#a5967712 1px,transparent 1px);background-size:24px 24px}
.map-corner-label{color:#61553e;background:#fffef9f2}
.panel-number{color:#b39a68}
.panel-controls{background:#fffefa}
.draw-bar{background:#faf8f3}
.coordinate-bar{background:#fffefa}
.external-link-wrap{display:flex;flex-direction:column;gap:2px;align-items:flex-end}
.external-link-wrap .text-link{display:inline-flex;align-items:center;gap:5px}
.external-link-wrap .icon{width:12px;height:12px;flex-basis:12px}
.external-link-wrap small{font-size:9px;color:#95866e}
.reference-label{background:#514327}
.sync-cross:before,.sync-cross:after{background:#b9851f}
.shape-label{color:#775b2e}
.grid-label{color:#5c4c31}
.tag,.count-badge{background:#f0eadd;color:#87714d}
.reference-row{background:#faf8f3;border-color:#e7dfcf}
.storage-note{color:#8f8068;line-height:1.75}
.empty-state{color:#9a8c75}
.quality-note{background:#f8f5ef}
.quality-note p{color:#82745e}
.quality-note>span{color:#998972}
.table-note{color:#8d7e67}
.leaflet-popup-content{color:#4f442f}
.leaflet-control-zoom a{color:#6b593b!important}
.app-footer{max-width:1920px;margin:22px auto 4px;padding:16px 3px 0;border-top:1px solid #e3ddd2;color:#9a8c75;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;line-height:1.8;font-size:10px}
.app-footer>div:first-child{display:flex;flex-direction:column;gap:3px}
.app-footer strong{font-weight:600;color:#78694f;font-size:11px}
.footer-sources{text-align:right}
.footer-sources span{display:block}
.app-footer a{color:#8d661c}
.confirm-dialog{width:440px;max-width:calc(100vw - 36px);border:1px solid #ddd0b7;border-radius:15px;padding:28px;background:#fffefa;color:#4c412f;box-shadow:0 14px 70px #332d2440}
.confirm-dialog::backdrop{background:#332d2470}
.confirm-dialog h2{font-size:19px;line-height:1.5}
.confirm-dialog p{font-size:13px;color:#89785a;line-height:1.85;margin:12px 0 23px}
.dialog-icon{width:40px;height:40px;background:#f2e8d2;border-radius:10px;display:grid;place-items:center;color:#9b7a38;margin-bottom:16px}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:1380px){.company-logo{width:190px}.app-heading{padding-left:18px}.brand{gap:18px}.app-heading h1{font-size:20px}.privacy-badge{display:none}.app-header{padding:18px 24px}}
@media(max-width:1000px){.welcome-panel{margin:20px auto 35px}.welcome-copy{padding:35px 20px 24px 35px}.welcome-copy h2{font-size:29px}.welcome-visual img{width:155px;height:155px}.orbit-one{width:230px;height:230px}.orbit-two{width:310px;height:310px}.app-heading h1{font-size:18px}.company-logo{width:165px}.app-heading{padding-left:15px}.brand{gap:15px}.header-actions{gap:6px}.header-actions button{padding:9px 10px;font-size:11px}.header-actions .icon{width:15px;height:15px;flex-basis:15px}.view-controls{gap:9px}}
@media(max-width:900px){.app-header{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.brand{flex:1}.app-heading h1{font-size:18px}.app-footer{margin-top:18px}.panel-label select{font-size:12px}.view-controls{gap:10px}.workspace-toolbar{padding:12px}.coordinate-actions{justify-content:flex-end}.panel-controls{flex-wrap:wrap}.panel-label{width:100%}.opacity-label{margin-left:24px}}
@media(max-width:749px){.app-header{padding:16px}.company-logo{width:178px}.brand{width:100%;flex-basis:100%;gap:17px}.app-heading{padding-left:17px}.app-heading h1{font-size:17px}.header-actions{width:100%;justify-content:flex-end;margin:0}.privacy-badge{display:flex;margin-right:auto;font-size:10px}.welcome-panel{grid-template-columns:1fr .65fr}.welcome-copy{padding:30px 12px 25px 28px}.welcome-copy h2{font-size:26px}.welcome-description{font-size:12px}.welcome-visual{padding:25px 12px}.welcome-visual img{width:125px;height:125px}.visual-label{display:none}.orbit-one{width:185px;height:185px}.orbit-two{width:250px;height:250px}.privacy-summary{padding:17px 20px}.file-hint{font-size:10px}.project-bar h2{font-size:15px}.project-bar .quiet-btn{font-size:11px}.external-map-note{font-size:10px}.external-link-wrap small{font-size:8px}}
@media(max-width:649px){.app-heading{border-left:0;padding-left:0}.brand{flex-direction:column;align-items:flex-start;gap:10px}.company-logo{width:180px}.app-heading .eyebrow{display:none}.app-heading h1{font-size:20px}.privacy-badge{font-size:9px}.privacy-badge .icon{display:none}.welcome-panel{grid-template-columns:1fr;margin:10px auto 26px}.welcome-copy{padding:28px 25px 20px}.welcome-copy h2{font-size:27px;line-height:1.6}.welcome-description{font-size:13px}.welcome-kicker{margin-bottom:14px}.welcome-visual{display:none}.welcome-description{margin:16px 0 23px}.file-picker{width:100%}.file-hint{font-size:10px}.privacy-summary{padding:16px 21px}.privacy-summary strong{font-size:11px}.privacy-summary p{font-size:10px}.project-bar{align-items:flex-start}.project-bar h2{font-size:14px}.project-marker{display:none}.project-bar .quiet-btn{padding:7px}.project-bar .quiet-btn .icon{display:none}.panel-controls{flex-wrap:nowrap}.panel-label{width:auto}.opacity-label{margin-left:0}.panel-label select{font-size:12px}.external-link-wrap{align-items:flex-start;margin-top:4px}.external-link-wrap .text-link{margin-left:0}.app-footer{display:block;padding-top:13px}.footer-sources{text-align:left;margin-top:10px}.app-footer>div:first-child{gap:0}.footer-sources span{display:inline;margin-left:6px}.app-footer>div:first-child>span{display:none}.dialog-actions button{font-size:12px}.confirm-dialog{padding:23px}.confirm-dialog h2{font-size:17px}}
@media print{.app-header{padding:0 0 10px;border-top:0}.company-logo{width:180px}.app-heading{padding-left:18px}.app-heading h1{font-size:19px}.privacy-badge,.welcome-panel,.project-bar button,.external-map-note,.confirm-dialog{display:none!important}.project-bar{padding:0 0 10px}.project-bar h2{font-size:16px}.project-marker{display:none}.app-footer{margin-top:10px;padding-top:7px}.app-footer>div:first-child>span{display:none}.panel-label{width:auto}.opacity-label{margin-left:0}.map-grid{grid-template-columns:1fr 1fr}.header-actions{display:none!important}.icon{width:15px;height:15px}.table-note,.quality-note p{color:#77674e}.app-footer{display:flex}.footer-sources{text-align:right}}


/* Readability refinement: important measurements take priority over decoration. */
:root{--ink:#2c2923;--muted:#5d5548;--navy:#332d24}
body{font-size:15px;line-height:1.65;color:var(--ink)}
button,select{font-size:14px;font-weight:650}
select{color:#302a20;border-color:#a29377;min-height:36px}
button:disabled{opacity:1;color:#70685c;background:#efebe3;border-color:#d0c7b6;cursor:default}
button:disabled:hover{background:#efebe3;border-color:#d0c7b6}
.eyebrow,.welcome-kicker,.privacy-badge{font-size:12px;color:#615339;font-weight:650}
.app-heading h1{font-weight:750;color:#29251e}
.project-bar h2{font-size:18px;color:#332d24;font-weight:750}
.project-bar button,.header-actions button{font-size:14px}
.welcome-description{font-size:15px;color:#514a3e}
.file-hint,.visual-label,.privacy-summary p,.load-status{font-size:13px;color:#5d5548}
.privacy-summary strong{font-size:14px;color:#433925}
.load-status.load-error,.load-status.error{color:#9b2e20;font-weight:650}
.purpose-note strong{font-size:14px;color:#332d24}
.purpose-note span{font-size:13px;color:#514631;line-height:1.7}
.mode-btn{font-size:14px;padding:9px 12px;font-weight:700;min-height:40px}
.mode-btn.active{background:#6b593b;border-color:#6b593b;color:#fff}
.view-controls{font-size:13px;flex-wrap:wrap}
.compact-label,.check-label{font-size:13px;color:#514a3d;font-weight:600}
input[type=checkbox]{width:16px;height:16px}
.external-map-note{font-size:12px;color:#62533b;line-height:1.7;padding-bottom:12px}
.draw-bar{padding:10px 15px;gap:14px}
.draw-bar>span{font-size:14px;color:#514a3d;font-weight:550;line-height:1.65}
.small-btn{font-size:13px;min-height:34px;padding:6px 11px}
.panel-label select{font-size:14px;font-weight:750;color:#302a20;min-width:0}
.panel-number{font-size:12px;color:#6b593b;font-weight:750}
.opacity-label{font-size:12px;color:#5d5548;font-weight:600}
.opacity-label output{font-size:13px;font-weight:750;width:42px;color:#332d24}
.coordinate-main>span:first-child{font-size:13px;color:#544a39;font-weight:650}
#coordinateValue{font-size:17px;line-height:1.55;font-weight:750;color:#29251e;font-variant-numeric:tabular-nums}
#selectedHint{font-size:12px;color:#625a4c}
.coordinate-bar{gap:14px;padding:13px 15px;flex-wrap:wrap}
.coordinate-actions{flex-wrap:wrap}
.text-link,.external-link-wrap .text-link{font-size:13px;font-weight:650;color:#725114}
.external-link-wrap small{font-size:11px;color:#625a4c;line-height:1.5}
.card-heading h2{font-size:20px;color:#332d24}
.tag,.count-badge{font-size:12px;font-weight:700;color:#5c492a;background:#f0eadd}
.field-label{font-size:13px;color:#554a38;font-weight:650}
.field-label small{font-size:12px;color:#625a4c}
.reference-row strong{font-size:16px;line-height:1.7;font-weight:750;color:#332d24;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ring-toggle{font-size:13px;color:#514a3d;white-space:normal;line-height:1.65;align-items:flex-start}
.ring-toggle input{flex-shrink:0;margin-top:3px}
.measure-summary{font-size:18px;line-height:1.65;font-weight:750;color:#3d321e;background:#fff3d8;border:1px solid #b38c41;border-left:4px solid #9f7425;padding:12px 14px;font-variant-numeric:tabular-nums}
.record{grid-template-columns:28px minmax(0,1fr) 30px;gap:10px;padding:13px 0}
.record-symbol{width:28px;height:28px;font-size:19px;color:#6b593b;background:#f0eadd}
.record strong{font-size:14px;font-weight:700;color:#4b412f;margin-bottom:4px}
.record p{font-size:18px;line-height:1.65;font-weight:750;color:#29251e;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.record.pin p{font-size:16px}
.record .record-focus:focus-visible{outline:3px solid #8d661c;outline-offset:4px;border-radius:3px}
.icon-btn{width:30px;height:30px;color:#544937;font-size:20px;border-color:#b9ab91}
.empty-state{font-size:14px;color:#625a4c;line-height:1.85}
.storage-note{font-size:12px;color:#625a4c;line-height:1.7;align-items:flex-start}
.text-button{font-size:12px;color:#66502a;min-height:28px;flex-shrink:0}
table{font-size:14px;line-height:1.75}
thead th{font-size:13px;font-weight:750;color:#51432b;background:#f0eadd}
tbody th{font-size:13px;font-weight:650;color:#5d5548}
td{font-size:14px;color:#332d24}
.table-note{font-size:13px;color:#5d5548;line-height:1.7}
.quality-note>span{font-size:12px;font-weight:700;color:#5d5038}
.quality-note p{font-size:13px;color:#5d5548;line-height:1.75}
.map-corner-label{font-size:12px;line-height:1.5;font-weight:600;color:#403624;background:#fff;border:1px solid #b4a488;padding:4px 7px;bottom:42px;max-width:92%;box-shadow:0 1px 4px #29251e20}
.tile-warning{font-size:13px;line-height:1.6;color:#5a4218}
.north{font-size:12px;color:#403624;background:#fff;border-color:#9a896a}
.north span{font-size:25px}
.leaflet-control-scale-line{font-size:14px!important;line-height:1.35!important;font-weight:800!important;font-variant-numeric:tabular-nums;color:#29251e!important;background:#fff!important;border-color:#514327!important;border-width:0 2px 3px!important;padding:3px 6px!important;text-shadow:none!important;border-radius:2px;box-shadow:0 1px 5px #0002}
.leaflet-control-attribution{font-size:11px!important;color:#4f442f!important;background:#fff!important}
.leaflet-control-attribution a{color:#725114}
.grid-label{font-size:12px;line-height:1.35;font-weight:650;color:#403624;background:#fff;border:1px solid #b4a488;padding:2px 4px;box-shadow:0 1px 3px #0002}
.ring-label{font-size:14px;line-height:1.45;font-weight:800;font-variant-numeric:tabular-nums;color:#332d24;background:#fff;border:1.5px solid #7e683f;border-radius:5px;padding:3px 7px;width:max-content!important;min-width:56px;text-align:center;box-shadow:0 1px 5px #0003}
.shape-label{font-size:14px;line-height:1.45;font-weight:800;font-variant-numeric:tabular-nums;color:#332d24;background:#fff;border:1.5px solid #7e683f;border-radius:5px;padding:4px 8px;box-shadow:0 2px 7px #0003}
.reference-label{font-size:13px;line-height:1.45;font-weight:700;color:#fff;background:#514327;border:1px solid #fff;padding:4px 7px;box-shadow:0 1px 5px #0003}
.pin-label{font-size:12px;font-weight:750;color:#fff;background:#6b593b}
.draft-dot-label{font-size:12px;font-weight:750;line-height:1.35;color:#403624;background:#fff;border-color:#7e683f;padding:2px 4px}
.leaflet-popup-content{font-size:14px;line-height:1.8;color:#3e3527}
.leaflet-popup-content small{font-size:12px;color:#5d5548}
.app-footer,.app-footer strong{font-size:12px;color:#625a4c}
.app-footer a{color:#725114}
.confirm-dialog p{font-size:14px;color:#5d5548}
.toast{font-size:14px;line-height:1.7;background:#403624;color:#fff}
@media(max-width:1250px){.workspace-toolbar{align-items:flex-start}.view-controls{width:100%;justify-content:flex-start}.coordinate-actions .text-link{font-size:13px}.header-actions button{font-size:13px}.panel-controls{flex-wrap:wrap}.panel-label{width:100%}.opacity-label{margin-left:24px}}
@media(max-width:900px){.app-header{gap:14px}.app-heading h1{white-space:normal}.header-actions button{font-size:13px}.panel-label select{font-size:13px;max-width:100%;width:100%}.panel-controls{flex-wrap:wrap}.panel-label{width:100%}.opacity-label{margin-left:24px}.mode-btn{font-size:13px;padding:9px 10px}.coordinate-actions{justify-content:flex-start}.reference-row strong{font-size:15px}.quality-note{display:block}.quality-note>span{display:block;margin-bottom:5px}}
@media(max-width:649px){.privacy-badge{font-size:12px;white-space:normal}.header-actions{flex-wrap:wrap}.header-actions button{font-size:13px}.welcome-description{font-size:15px}.file-hint,.privacy-summary p{font-size:13px}.privacy-summary strong{font-size:14px}.project-bar h2{font-size:16px}.project-bar .quiet-btn{font-size:13px}.purpose-note span,.external-map-note{font-size:12px}.view-controls{gap:12px}.compact-label,.check-label{font-size:13px}.compact-label{max-width:100%}.compact-label select{max-width:calc(100vw - 108px);font-size:13px}.draw-bar>span{font-size:13px}.panel-controls{flex-wrap:wrap;gap:7px}.panel-label{width:100%}.opacity-label{margin-left:24px;font-size:12px}.opacity-label input{width:100px}.map-corner-label{font-size:12px;max-width:94%}.coordinate-main{gap:7px}#coordinateValue{font-size:15px;overflow-wrap:anywhere}.external-link-wrap small{font-size:11px}.field-label small{font-size:12px}.record p{font-size:17px}.record.pin p{font-size:15px}.measure-summary{font-size:17px}.storage-note{flex-wrap:wrap}.card{padding:17px}.table-note,.quality-note p{font-size:13px}.app-footer,.app-footer strong{font-size:12px}}
@media print{body{font-size:12px}.project-bar h2{font-size:16px}.purpose-note span{font-size:12px}.map-corner-label{font-size:11px;bottom:40px}.leaflet-control-scale-line{font-size:13px!important}.grid-label{font-size:11px}.ring-label,.shape-label{font-size:13px}.reference-label{font-size:12px}#coordinateValue,.reference-row strong{font-size:14px}.record strong{font-size:12px}.record p{font-size:16px}.record.pin p{font-size:14px}.measure-summary{font-size:16px}.card-heading h2{font-size:16px}table,th,td,thead th,tbody th{font-size:12px}.table-note,.quality-note p{font-size:12px;color:#4f473b}.quality-note>span{font-size:11px}.app-footer,.app-footer strong{font-size:11px}.leaflet-control-attribution{font-size:10px!important}}

