@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{color-scheme:light;--bg:#eef5f9;--panel:#fff;--soft:#e8f3f8;--ink:#1d3c52;--muted:#5c798d;--accent:#087fa8;--line:#d7e5ee;--chart:#009fc0;--nav:#103d56;--highlight:#e4f3fa;--guide:#dc8b36;--radius:11px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 'Noto Sans KR',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}a{color:var(--accent)}button,a,input,select,textarea,summary{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}input,select,textarea{min-width:0;max-width:100%;color:var(--ink);background:var(--panel);border:1px solid #bdd3e0;border-radius:6px}button{line-height:1.4}p{overflow-wrap:break-word}
aside{display:flex;align-items:center;gap:28px;min-height:72px;padding:12px 24px;background:var(--nav);border-bottom:1px solid #184b66}.logo{font:700 28px/1.2 'Noto Sans KR',Arial,sans-serif;letter-spacing:-1px;color:#fff;text-decoration:none;white-space:nowrap}.logo span,aside>small,.sidebottom{display:none}aside nav{display:flex;align-items:center;gap:6px;min-width:0}aside nav button{background:transparent;color:#c7e3ef;padding:11px 14px;white-space:nowrap;font-size:14px;border-radius:7px;min-height:42px}aside nav button.active{background:#285a73;color:#fff}aside nav button:hover{background:#204e68}main{max-width:1800px;margin:auto;padding:0 22px 22px}header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:54px;padding:8px 0;color:var(--muted);font-size:12px}header>div:not(.social-links){font-size:11px;letter-spacing:.8px}header>div>span{margin:0 6px;color:#8ba6b5}#cloudStatus{color:var(--accent);font-size:12px;letter-spacing:0}#cloudStatus.sync-error{color:#ab4d27}#retrySync,.pagination button,.pagejump button,.filterfoot button,.pick-location{background:var(--soft);color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:13px}.owner-auth{font-size:13px;color:var(--accent);text-decoration:none;white-space:nowrap}.owner-auth:hover{text-decoration:underline}.social-links{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.social-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.social-link.youtube-link{color:#e53d49}.social-link.instagram-link{color:#c94e91}.social-link:hover{background:var(--highlight);border-color:#88afc3}.hero,.contours{display:none}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;margin:0 0 16px}.stat{padding:14px 20px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat label{display:block;font-size:14px;color:var(--muted)}.stat strong{display:block;color:var(--ink);font-size:32px;line-height:1.25;font-weight:700;letter-spacing:-.7px;margin-top:5px;font-variant-numeric:tabular-nums}.stat strong small{font-size:14px;font-weight:400;color:var(--accent);margin-left:7px;letter-spacing:0}.stat p{font-size:12px;color:var(--muted);margin:4px 0 0}.sectiontitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}h2{font-size:21px;line-height:1.4;margin:0}h2 span,#count{font-size:14px;font-weight:400;color:var(--muted);margin-left:8px}.muted{font-size:12px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(370px,31%) minmax(0,1fr);gap:16px;align-items:start}.logs,article{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}article{padding:18px}.toolbar{display:grid;gap:8px;padding:14px}.toolbar input,.toolbar select{display:block;width:100%;font-size:14px;padding:9px 10px;min-height:40px}.toolbar input{background:#f4f9fc}.listhead,.row{display:grid;grid-template-columns:minmax(0,1fr) 68px 66px;column-gap:7px;align-items:center;text-align:left}.listhead{padding:10px 14px;background:var(--soft);color:var(--muted);font-size:12px}.row{width:100%;padding:12px 14px;border-top:1px solid var(--line);background:var(--panel);color:var(--ink);border-left:3px solid transparent}.row>span:first-child{min-width:0}.row:hover{background:#f1f8fc}.row.selected{background:var(--highlight);border-left-color:var(--accent)}.row .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.row .sub{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:4px}.row .value{color:var(--accent);font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}.row .value small{font-size:12px}.log-number{display:inline-block;font-size:13px;color:var(--accent);margin-right:5px}.badge,.badge.oceanic{display:inline-block;background:#dceef7;color:#286c89;border-radius:4px;padding:1px 5px;font-size:11px;font-weight:500;vertical-align:middle;margin-left:5px;max-width:100%;overflow-wrap:anywhere}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.pagination button{font-size:13px}.pagejump{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pagejump label{font-size:12px}.pagejump input{width:52px;padding:7px 4px;text-align:center;font-size:14px}.pagejump #goPage{padding:7px 9px}.filterpanel{padding:0 14px 11px;border-top:1px solid var(--line)}.filterpanel summary{cursor:pointer;color:var(--muted);font-size:13px;padding:10px 0}.filtergrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.filtergrid label{min-width:0;font-size:12px;color:var(--muted)}.filtergrid input,.filtergrid select{display:block;width:100%;padding:8px 6px;font-size:13px;margin-top:5px;min-height:38px}.depth-range{display:flex;align-items:center;gap:4px}.depth-range input{width:50%}.filterfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:var(--muted);font-size:12px}.filterhelp{font-size:12px;line-height:1.65;color:var(--muted);margin:8px 0 0}
.eyebrow{font-size:12px;letter-spacing:1.5px;font-weight:600;color:var(--accent)}article>.eyebrow .badge{letter-spacing:0}article h2{font-size:24px;font-weight:700;color:var(--ink);line-height:1.45;margin:7px 0 5px;overflow-wrap:anywhere}.detail-number{font-size:17px;color:var(--accent);white-space:nowrap}.detaildate{font-size:13px;color:var(--muted);margin-bottom:12px}.profile-label{display:block;font-size:13px;color:var(--muted);margin:8px 0}.profile-label select{display:block;width:100%;padding:8px 10px;font-size:14px;margin-top:5px}.detail-visuals{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:16px;align-items:start}.profile-panel,.location-section{min-width:0}.charttitle{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:14px;font-weight:500;color:var(--muted);margin:0 0 8px}.charttitle span{font-size:12px;font-weight:400}.chart{height:240px;position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 58px,#dce8ef 59px,transparent 60px)}.chart svg{display:block;width:100%;height:100%}.chart polyline{stroke:var(--chart)}.chart polygon{fill:var(--chart);opacity:.12}.chart #sampleGuide{stroke:var(--guide)}.axis{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin:6px 0 10px}.axis>span:last-child{text-align:right}.emptychart{height:240px;display:grid;place-content:center;text-align:center;padding:14px;background:#f0f7fb;color:var(--muted);font-size:14px;line-height:1.8;border-radius:7px}.emptychart .save{margin:8px auto 0}.sample-label{display:block;font-size:13px;color:var(--muted);margin:7px 0 5px}.sample-label input[type="range"]{appearance:none;-webkit-appearance:none;box-sizing:content-box;display:block;width:calc(100% + 16px);max-width:none;height:20px;padding:0;border:0;margin:7px -8px;background:transparent;cursor:pointer}.sample-label input[type="range"]::-webkit-slider-runnable-track{height:4px;background:#c6dce7;border-radius:2px}.sample-label input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border:0;border-radius:50%;background:var(--guide)}.sample-label input[type="range"]::-moz-range-track{height:4px;background:#c6dce7;border:0;border-radius:2px}.sample-label input[type="range"]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--guide)}.sample-readout{padding:10px 12px;background:var(--soft);color:#315970;border-left:2px solid var(--guide);border-radius:0 6px 6px 0;font-size:13px;line-height:1.75;margin-bottom:10px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:11px 0}.metrics>div{min-width:0;padding:0 10px;border-right:1px solid #cddfe9}.metrics>div:last-child{border:0}.metrics small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.metrics strong{font-size:20px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.note{display:block;min-width:0;color:var(--muted);font-size:13px}.note:last-child{grid-column:1/-1}.region-origin{font-size:12px;font-weight:400}.note input,.note textarea{display:block;width:100%;font-size:15px;line-height:1.5;padding:9px 10px;margin-top:5px;background:#fbfdfe}.note textarea{min-height:82px;resize:vertical}.save,.primary{display:inline-block;padding:9px 13px;background:var(--accent);color:#fff;border-radius:6px;font-size:14px;font-weight:500;min-height:38px}.save{margin-top:10px}.save:hover,.primary:hover{background:#066c91}.detailfoot{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.75}.detailfoot br{line-height:1.7}
.location-section{margin:0;padding:0;border:0}.maplegend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:7px}.maplegend span,.location-links a,.location-links>span{display:inline-flex;align-items:center;gap:6px}.start-dot,.end-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#16896f}.end-dot{background:#e87532}.unified-map{height:262px;width:100%;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--soft);z-index:0}.location-links{display:grid;gap:5px;font-size:12px;margin:8px 0}.location-links a{color:#216884;text-decoration:none;overflow-wrap:anywhere}.location-links a:hover{text-decoration:underline}.location-links>span{color:var(--muted)}.location-note{font-size:12px;color:var(--muted);line-height:1.65;margin:7px 0}.maplibre-dive-marker{width:30px;height:38px;cursor:pointer}.maplibre-dive-marker .dive-pin{position:absolute;bottom:5px;left:0}.dive-pin{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pin-color);border:2px solid white;box-shadow:0 2px 6px #193c3655;color:transparent;position:relative}.dive-pin:after{content:'';width:8px;height:8px;background:#fff;border-radius:50%;position:absolute;left:9px;top:9px}.maplibregl-popup-content{font:13px/1.6 'Noto Sans KR',sans-serif;color:var(--ink);padding:12px 18px 12px 12px}.maplibregl-ctrl-attrib{font-size:10px!important}.map-unavailable{display:grid;place-content:center;text-align:center;height:100%;padding:12px;font-size:13px;color:var(--muted);line-height:1.8}.map-load-status{position:absolute;left:8px;right:8px;bottom:29px;background:#fffdf1ed;color:#72643f;font-size:12px;padding:7px 9px;border-radius:5px;z-index:2;pointer-events:none}.location-editor{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.location-editor summary{cursor:pointer;font-size:13px;color:var(--accent);font-weight:500}.location-editor p{font-size:12px;line-height:1.65;color:var(--muted);margin:7px 0}.location-editor fieldset{min-width:0;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:6px}.location-editor legend{font-size:13px;color:var(--ink);padding:0 4px}.pick-location{font-size:13px;padding:8px 10px}.pick-location[aria-pressed="true"]{background:#d6edf7;color:#075879;border-color:#59a9c8}.coordinate-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.coordinate-inputs label{font-size:12px;color:var(--muted)}.coordinate-inputs input{display:block;width:100%;font-size:14px;padding:8px 6px;margin-top:4px}.location-actions{display:flex;gap:8px;flex-wrap:wrap}.location-actions .save{font-size:13px;margin-top:3px}.location-original{overflow-wrap:anywhere}.location-editor #locationEditStatus{color:#23725e}.reader-mode .location-editor,.reader-mode #importnav,.reader-mode #exportnav,.reader-mode #settingsnav,.reader-mode #importBtn,.reader-mode #exportBtn,.reader-mode #retrySync,.reader-mode #saveNote{display:none!important}.reader-mode .note input,.reader-mode .note textarea{background:transparent;border-color:transparent;padding-left:0;color:var(--ink);resize:none}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0;margin-top:16px;color:var(--muted);font-size:12px;line-height:1.7}dialog,#settingsDialog{width:min(600px,calc(100% - 28px));max-width:calc(100vw - 28px);max-height:88vh;overflow:auto;padding:24px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--ink);box-shadow:0 20px 80px #183b5430}dialog::backdrop,#settingsDialog::backdrop{background:#17364b66;backdrop-filter:blur(2px)}dialog h2{margin:8px 0;font-size:23px}dialog p{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0}.close{position:absolute;right:12px;top:8px;background:transparent;color:var(--muted);font-size:28px;width:34px;height:34px}.settings-section{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.settings-section h3{font-size:17px;margin:0 0 8px}.settings-section>p{font-size:14px;line-height:1.7}.counter-settings{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0;font-size:14px}.counter-settings input{width:110px;padding:8px 10px;font-size:15px}.counter-settings button{background:var(--accent);color:white;padding:9px 13px;border-radius:6px;font-size:14px}.counter-settings span,#offsetSummary{width:100%;display:block;font-size:13px;line-height:1.6;color:var(--muted)}#visibilityStatus{font-weight:500}#visibilityResult{color:#23725e;min-height:0}.drop{display:block;padding:20px 14px;border:1px dashed #91b7cc;border-radius:8px;text-align:center;background:#f2f8fc;font-size:22px;line-height:1.8;cursor:pointer}.drop strong{font-size:16px}.drop small{font-size:13px}.drop input{display:block;max-width:100%;margin:10px auto 0;font-size:13px}.notice{background:var(--soft);padding:11px 12px;border-radius:6px;font-size:13px!important;color:var(--muted)}dialog>label:not(.drop){display:block;font-size:14px;margin:14px 0}dialog select{display:block;width:100%;padding:9px 10px;font-size:15px;margin-top:5px}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100vw - 28px);background:#174c67;color:white;padding:12px 18px;border-radius:8px;display:none;z-index:20;font-size:14px;line-height:1.6;box-shadow:0 8px 24px #15374922}
@media(max-width:1350px){.workspace{grid-template-columns:minmax(340px,34%) minmax(0,1fr)}.detail-visuals{grid-template-columns:minmax(0,1fr)}.location-section{border-top:1px solid var(--line);padding-top:12px}.unified-map{height:260px}.location-links{grid-template-columns:repeat(2,minmax(0,1fr))}.location-note{max-width:76ch}.row .value{font-size:14px}}
@media(max-width:1000px){main{padding:0 16px 18px}aside{padding:12px 16px;gap:18px}.workspace{grid-template-columns:minmax(300px,36%) minmax(0,1fr);gap:12px}.listhead,.row{grid-template-columns:minmax(0,1fr) 65px}.row>.value:last-child,.listhead>span:last-child{display:none}.row{padding:11px 12px}.row .name{font-size:14px}.row .sub{font-size:12px}.listhead{padding:10px 12px}.filtergrid{grid-template-columns:1fr}.detail-fields{grid-template-columns:1fr}.detail-fields>.note{grid-column:1}.location-links{grid-template-columns:1fr}article{padding:16px}.stats .stat{padding:12px 16px}.stat strong{font-size:30px}aside nav button{padding:10px 11px}header>div:not(.social-links){display:none}}
@media(max-width:720px){aside{flex-wrap:wrap;gap:10px;padding:12px 14px}.logo{font-size:26px}aside nav{width:100%;overflow-x:auto;gap:5px}aside nav button{font-size:14px;flex-shrink:0;padding:10px 11px}main{padding:0 12px 16px}header{gap:8px;min-height:52px;padding:8px 0}#cloudStatus,.owner-auth{font-size:12px}#retrySync{font-size:12px;padding:7px}.social-links{gap:6px}.social-link{width:34px;height:34px}.workspace{grid-template-columns:1fr;gap:14px}.logs{margin-bottom:0}.filtergrid{grid-template-columns:repeat(2,minmax(0,1fr))}.listhead,.row{grid-template-columns:minmax(0,1fr) 70px 68px}.row>.value:last-child,.listhead>span:last-child{display:block}.row .name{font-size:15px}.row .value{font-size:14px}.toolbar{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);padding:12px;gap:8px}.toolbar input,.toolbar select{font-size:14px;padding:9px 7px}.sectiontitle>.muted{display:none}.sectiontitle h2{font-size:20px}.detail-visuals{gap:12px}.detail-fields{gap:10px;margin-top:12px}article{padding:14px}article h2{font-size:22px}.chart,.emptychart{height:225px}.unified-map{height:245px}.stats{margin-bottom:13px}.stat{padding:12px!important}.stat label{font-size:12px}.stat strong{font-size:26px}.stat strong small{font-size:12px;margin-left:4px}.stat p{font-size:12px}.metrics strong{font-size:19px}.metrics>div{padding:0 8px}dialog,#settingsDialog{padding:20px;max-height:88vh}dialog h2{font-size:22px}.settings-section>p,dialog p{font-size:14px}.note input,.note textarea,.coordinate-inputs input,.filtergrid input,.filtergrid select,dialog input,dialog select{font-size:16px}.location-links{grid-template-columns:1fr}.map-load-status{font-size:11px}.counter-settings{margin:10px 0}footer{margin-top:14px;font-size:12px}#toast{font-size:13px}}
@media(max-width:500px){.stats{grid-template-columns:1fr}.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:2px;border-right:0;border-bottom:1px solid var(--line)}.stat label{grid-column:1;font-size:13px}.stat p{grid-column:1;margin:0}.stat strong{grid-column:2;grid-row:1/3;margin:0;font-size:28px}.toolbar{grid-template-columns:1fr}.listhead,.row{grid-template-columns:minmax(0,1fr) 60px 60px;gap:5px}.row{padding:10px}.listhead{padding:10px}.row .name{font-size:14px}.badge{font-size:10px;margin-left:3px}.pagejump label{display:none}.pagination{gap:6px;padding:10px}.pagination button{padding:7px}.pagejump input{width:44px}.pagination #page{font-size:12px}.filterpanel{padding:0 12px 10px}.charttitle span{font-size:12px}.axis{font-size:12px}.note textarea{min-height:78px}.social-links{margin-left:auto}.owner-auth{font-size:12px}#cloudStatus{max-width:100%;overflow-wrap:anywhere}}

/* Mobile list/detail navigation. The desktop keeps both panes. */
.mobile-detail-header,.mobile-detail-nav{display:none}.detail-fold{border:0;margin:0;padding:0}.detail-fold>summary{display:none}
@media(max-width:720px){
 body:not(.mobile-detail) #detail{display:none}
 body.mobile-detail>aside,body.mobile-detail .local-preview-banner,body.mobile-detail main>header,body.mobile-detail .stats,body.mobile-detail .sectiontitle,body.mobile-detail .logs,body.mobile-detail main>footer{display:none!important}
 body.mobile-detail{background:var(--panel)}body.mobile-detail main{padding:calc(58px + env(safe-area-inset-top)) 0 calc(78px + env(safe-area-inset-bottom));max-width:none}
 body.mobile-detail .workspace{display:block}body.mobile-detail #detail{display:block;border:0;border-radius:0;padding:14px 12px}
 body.mobile-detail .mobile-detail-header{position:fixed;display:flex;align-items:center;gap:10px;top:0;left:0;right:0;min-height:58px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:#fffffff5;border-bottom:1px solid var(--line);z-index:9;backdrop-filter:blur(8px)}
 .mobile-detail-header button{background:var(--soft);color:var(--accent);font-size:15px;font-weight:600;padding:10px 13px;border-radius:7px;min-height:42px}
 #mobileDetailPosition{margin-left:auto;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}#mobileDetailLabel{font-size:14px;color:var(--accent);font-weight:600;min-width:42px;text-align:right}
 body.mobile-detail .mobile-detail-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;background:#fffffff5;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:9;backdrop-filter:blur(8px)}
 .mobile-detail-nav button{padding:12px 9px;min-height:46px;border-radius:8px;font-size:15px;font-weight:500;background:var(--accent);color:white}.mobile-detail-nav button:disabled{background:var(--soft);color:var(--muted);opacity:.6}
 .detail-fold{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.detail-fold>summary{display:list-item;cursor:pointer;font-size:14px;font-weight:500;color:var(--accent);padding:5px 0;min-height:34px}.detail-fold .detail-fields{margin-top:9px}.detail-fold .detailfoot{margin-top:8px}.detail-fold .save{margin-top:9px}
 body.mobile-detail #toast{bottom:calc(86px + env(safe-area-inset-bottom))}body.mobile-detail article h2{margin-top:6px}.mobile-detail-nav button:focus-visible,.mobile-detail-header button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
}

.social-link.email-link{color:var(--accent)}

/* The sample slider extends by one thumb width; keep max-width:none so global form limits do not shift its center away from the chart time axis. */
